qstbak/Questionable/Questionable.Navigation/WarpRecordingService.cs
2026-08-17 20:27:25 +10:00

1555 lines
75 KiB
C#

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<string>(-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<string>(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<string>(-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<string>(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<string>(-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<string>(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<string>(-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<string>(-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<string>(-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<string>(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<ushort>.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? (-1119467530) : (-1119467524));
break;
case 0:
num = ((!EqualityComparer<uint?>.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<uint?>.Default.Equals(SeenDuringMsqId, other.SeenDuringMsqId);
case 2:
return true;
case 12:
num = ((!EqualityComparer<uint>.Default.Equals(WarpRowId, other.WarpRowId)) ? (-1119467530) : (-1119467533));
break;
case 5:
num = ((!EqualityComparer<Vector3>.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<ushort>.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? (-1119467530) : (-1119467536));
break;
case 9:
num = ((!EqualityComparer<Vector3>.Default.Equals(DestPosition, other.DestPosition)) ? (-1119467530) : (-1119467521));
break;
case 6:
num = ((!EqualityComparer<string>.Default.Equals(WarpName, other.WarpName)) ? (-1119467530) : (-1119467531));
break;
}
}
}
bool IEquatable<WarpCapture>.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<string>(-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<string>(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<string>(-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<string>(-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<string>(-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<string>(-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<string>.Default.Equals(ItemName, other.ItemName)) ? (-1255912677) : (-1255912678));
break;
case 7:
num = (((object)other == null) ? (-1255912677) : (-1255912680));
break;
case 2:
num = ((!EqualityComparer<ushort>.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? (-1255912677) : (-1255912679));
break;
case 6:
num = ((!EqualityComparer<uint>.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<Vector3>.Default.Equals(DestPosition, other.DestPosition);
}
}
}
bool IEquatable<TicketCapture>.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<WarpRecordingService> _logger;
private readonly Hook<ProcessEventPlayDelegate>? _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<uint, int> _ticketInventoryCounts = new Dictionary<uint, int>();
[CompilerGenerated]
private Action<WarpCapture>? m_WarpCaptured;
[CompilerGenerated]
private Action<TicketCapture>? 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<WarpCapture>? WarpCaptured
{
[CompilerGenerated]
add
{
Action<WarpCapture> 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<WarpCapture> action2 = action;
Action<WarpCapture> value2 = (Action<WarpCapture>)_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<WarpCapture> 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<WarpCapture> action2 = action;
Action<WarpCapture> value2 = (Action<WarpCapture>)_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<TicketCapture>? TicketCaptured
{
[CompilerGenerated]
add
{
Action<TicketCapture> 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<TicketCapture> action2 = action;
Action<TicketCapture> value2 = (Action<TicketCapture>)_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<TicketCapture> 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<TicketCapture> action2 = action;
Action<TicketCapture> value2 = (Action<TicketCapture>)_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<WarpRecordingService> 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<string>(-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<string>(-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<ProcessEventPlayDelegate>((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<string>(-1894559427), Array.Empty<object>());
}
_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<string>(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<string>(-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<string>(-1700222417), new object[3] { ticketCapture.ItemName, ticketCapture.ItemId, ticketCapture.DestTerritoryId });
ClearTicket();
Action<TicketCapture>? 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<Warp>().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<string>(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<string>(-1117596149), Array.Empty<object>());
}
}
[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<string>(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<string>(-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<string>(-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<string>(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<string>(-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<string>(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<string>(-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<TeleportTicketService.ScannedTicket> 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<string>(-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<string>(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<string>(-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<EventFramework*, GameObject*, FFXIVClientStructs.FFXIV.Client.Game.Event.EventId, short, ulong, uint*, byte, void> _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<TeleportTicketService.ScannedTicket> _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;
}
}