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; using Dalamud.Plugin; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Event; using FFXIVClientStructs.FFXIV.Client.Game.Object; using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model.Questing; using SmartNav.Data; namespace Questionable.Navigation; internal sealed class WarpRecordingService : IDisposable { private unsafe delegate void ProcessEventPlayDelegate(EventFramework* self, GameObject* gameObject, FFXIVClientStructs.FFXIV.Client.Game.Event.EventId eventId, short scene, ulong sceneFlags, uint* sceneData, byte sceneDataCount); private enum EWarpPhase { None, Armed, DialogOpen, AwaitingTransit, InTransit, 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); } } [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; } } private const float JumpDistance = 40f; private static readonly TimeSpan CancelGrace = TimeSpan.FromSeconds(3L); private static readonly TimeSpan JumpSettle = TimeSpan.FromSeconds(1L); private static readonly TimeSpan ArmedTimeout = TimeSpan.FromSeconds(120L); private static readonly TimeSpan TicketTimeout = TimeSpan.FromSeconds(30L); private readonly IClientState _clientState; private readonly IObjectTable _objectTable; private readonly ITargetManager _targetManager; private readonly ICondition _condition; private readonly IFramework _framework; private readonly IDataManager _dataManager; private readonly Configuration _configuration; private readonly QuestFunctions _questFunctions; private readonly TeleportTicketService _teleportTicketService; private readonly ILogger _logger; private readonly Hook? _processEventPlayHook; private EWarpPhase _warpPhase; private uint _warpRowId; private string _warpName = string.Empty; private uint? _npcDataId; private ushort _sourceTerritory; private Vector3 _sourcePosition; private uint? _seenMsqId; private DateTime _armedAt; private DateTime _awaitTransitSince; private DateTime _jumpDetectedAt; private uint _lastPlayerTerritory; private Vector3? _lastPlayerPosition; private readonly bool _devEnvironmentGate; private uint? _ticketItemId; private string _ticketItemName = string.Empty; private bool _ticketSeenLoading; private DateTime _ticketArmedAt; 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) { 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; } } } public string? PendingWarpName { get { int num = (IsWarpPending ? 1811343042 : 1811343041); while (true) { 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; } } } public bool IsTicketPending => _ticketItemId.HasValue; public uint? PendingTicketItemId => _ticketItemId; public string? PendingTicketItemName { get { int num = (_ticketItemId.HasValue ? 2020031708 : 2020031709); while (true) { 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; } } } public bool CaptureAvailable => _devEnvironmentGate; private bool AutoCaptureEnabled { get { int num = ((!_devEnvironmentGate) ? 1865787301 : 1865787302); while (true) { 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; } } } 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? 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; } } } } } [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; _objectTable = objectTable; _targetManager = targetManager; _condition = condition; _framework = framework; _dataManager = dataManager; _configuration = configuration; _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))); 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) }); } 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.Enable(); } catch (Exception ex) { _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()); } _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); } [MethodImpl(MethodImplOptions.NoInlining)] public void ArmManual(uint warpRowId, string? warpName, uint npcDataId, ushort sourceTerritory, Vector3 sourcePosition) { int num = (_devEnvironmentGate ? 973810328 : 973810329); while (true) { 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; } } public bool CaptureWarpDestNow() { int num = ((_warpPhase != EWarpPhase.None) ? 1254314250 : 1254314251); IGameObject gameObject = default(IGameObject); while (true) { 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; } } } [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)); } [MethodImpl(MethodImplOptions.NoInlining)] public bool CaptureTicketDestNow() { int num = (_ticketItemId.HasValue ? 1733996203 : 1733996202); IGameObject gameObject = default(IGameObject); while (true) { 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 true; } public void DismissTicket() { ClearTicket(); } 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); _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) { 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)) { 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; } 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; sourcePosition = gameObject->Position; num = 993725433; break; } } } catch (Exception ex) { _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()); } } [MethodImpl(MethodImplOptions.NoInlining)] private void Arm(uint warpRowId, string warpName, uint? npcDataId, ushort sourceTerritory, Vector3 sourcePosition) { _warpPhase = EWarpPhase.Armed; _warpRowId = warpRowId; _warpName = warpName; _npcDataId = npcDataId; _sourceTerritory = sourceTerritory; _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 }); } 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) { 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); } } [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) { int num2 = num; int num3 = 1067159346; int num4 = num2; int num5; switch ((num4 | num3) - (num4 & num3)) { 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); } } [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 }); } [MethodImpl(MethodImplOptions.NoInlining)] private bool TryDetectJump(IGameObject? player, DateTime now) { int num = ((player == null) ? (-816594066) : (-816594069)); while (true) { 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; } } } [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 }); ResetWarp(null); this.WarpCaptured?.Invoke(warpCapture); } [MethodImpl(MethodImplOptions.NoInlining)] private void ResetWarp(string? reason) { int num = ((reason == null) ? (-171802818) : (-171802817)); while (true) { 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; } } } [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) { int num2 = num; int num3 = -925651819; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { 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; } } } } } } 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)) { 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 }); 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 }); ClearTicket(); } } private void ClearTicket() { _ticketItemId = null; _ticketItemName = string.Empty; _ticketSeenLoading = false; } private uint? CurrentMsqQuestId() { QuestId questId = _questFunctions.GetMainScenarioQuest().Item1.CurrentQuest as QuestId; int num = (((object)questId != null) ? (-37158078) : (-37158079)); while (true) { 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; } } 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; } }