muffin v7.5.6

This commit is contained in:
alydev 2026-08-17 20:27:25 +10:00
parent 6266f9e6b7
commit addf2d530f
619 changed files with 264792 additions and 446022 deletions

View file

@ -1,3 +1,5 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
@ -11,40 +13,158 @@ internal sealed class ArtisanIpc
private readonly ICallGateSubscriber<ushort, int, object> _craftItem;
private readonly ICallGateSubscriber<bool> _isBusy;
private readonly ICallGateSubscriber<bool> _getEnduranceStatus;
private readonly ICallGateSubscriber<bool, object> _setEnduranceStatus;
private readonly ICallGateSubscriber<bool> _getStopRequest;
private readonly ICallGateSubscriber<bool, object> _setStopRequest;
[MethodImpl(MethodImplOptions.NoInlining)]
public ArtisanIpc(IDalamudPluginInterface pluginInterface, ILogger<ArtisanIpc> logger)
{
_logger = logger;
_craftItem = pluginInterface.GetIpcSubscriber<ushort, int, object>("Artisan.CraftItem");
_getEnduranceStatus = pluginInterface.GetIpcSubscriber<bool>("Artisan.GetEnduranceStatus");
_craftItem = pluginInterface.GetIpcSubscriber<ushort, int, object>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_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>(47202474));
_isBusy = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_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>(625666467));
_getEnduranceStatus = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_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>(-1864578961));
_setEnduranceStatus = pluginInterface.GetIpcSubscriber<bool, object>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(70125506));
_getStopRequest = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(-642335670));
_setStopRequest = pluginInterface.GetIpcSubscriber<bool, object>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_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>(-653283353));
}
public bool CraftItem(ushort recipeId, int quantity)
public bool IsAvailable()
{
try
{
_logger.LogInformation("Attempting to craft {Quantity} items with recipe {RecipeId} with Artisan", quantity, recipeId);
_craftItem.InvokeAction(recipeId, quantity);
_isBusy.InvokeFunc();
return true;
}
catch (IpcError exception)
catch (IpcError)
{
_logger.LogError(exception, "Unable to craft items");
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool IsBusy()
{
try
{
return _isBusy.InvokeFunc();
}
catch (IpcError ipcError)
{
_200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1209801229), Array.Empty<object>());
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool IsCrafting()
{
try
{
return _getEnduranceStatus.InvokeFunc();
int num = (_isBusy.InvokeFunc() ? 2072853802 : 2072853801);
int result;
while (true)
{
int num2 = num;
int num3 = 2072853800;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
default:
continue;
case 0:
goto IL_0050;
case 1:
result = (_getEnduranceStatus.InvokeFunc() ? 1 : 0);
break;
case 2:
result = 1;
break;
}
break;
IL_0050:
num = 2072853801;
}
return (byte)result != 0;
}
catch (IpcError exception)
catch (IpcError ipcError)
{
_logger.LogError(exception, "Unable to check for Artisan endurance status");
_200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2004423705), Array.Empty<object>());
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool CraftItem(ushort recipeId, int quantity)
{
try
{
_206E_206F_202D_200E_202D_202D_202A_202E_200C_202C_202E_200E_202C_206A_206A_200D_206E_206A_202C_200C_200E_206D_206F_202E_202A_206A_200E_200D_200E_206A_200D_206E_200C_200D_206B_206B_202E_200F_200D_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(453183658), new object[2] { quantity, recipeId });
_craftItem.InvokeAction(recipeId, quantity);
return true;
}
catch (IpcError ipcError)
{
_200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-764787723), Array.Empty<object>());
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void SetEnduranceStatus(bool enabled)
{
try
{
_setEnduranceStatus.InvokeAction(enabled);
}
catch (IpcError ipcError)
{
_200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(789373689), Array.Empty<object>());
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool GetStopRequest()
{
try
{
return _getStopRequest.InvokeFunc();
}
catch (IpcError ipcError)
{
_200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1603998774), Array.Empty<object>());
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void SetStopRequest(bool stop)
{
try
{
_setStopRequest.InvokeAction(stop);
}
catch (IpcError ipcError)
{
_200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1609057736), Array.Empty<object>());
}
}
static void _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static void _206E_206F_202D_200E_202D_202D_202A_202E_200C_202C_202E_200E_202C_206A_206A_200D_206E_206A_202C_200C_200E_206D_206F_202E_202A_206A_200E_200D_200E_206A_200D_206E_200C_200D_206B_206B_202E_200F_200D_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}

View file

@ -1,4 +1,5 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
@ -25,10 +26,14 @@ internal sealed class AutoDutyIpc
private readonly ICallGateSubscriber<uint, bool> _contentHasPath;
private readonly ICallGateSubscriber<string, string> _getConfig;
private readonly ICallGateSubscriber<string, string, object> _setConfig;
private readonly ICallGateSubscriber<uint, int, bool, object> _run;
private readonly ICallGateSubscriber<bool, object> _start;
private readonly ICallGateSubscriber<bool> _isStopped;
private readonly ICallGateSubscriber<object> _stop;
@ -39,43 +44,111 @@ internal sealed class AutoDutyIpc
public const int MinimumLevelForLevelingMode = 15;
[MethodImpl(MethodImplOptions.NoInlining)]
public AutoDutyIpc(IDalamudPluginInterface pluginInterface, Configuration configuration, TerritoryData territoryData, ILogger<AutoDutyIpc> logger)
{
_configuration = configuration;
_territoryData = territoryData;
_logger = logger;
_contentHasPath = pluginInterface.GetIpcSubscriber<uint, bool>("AutoDuty.ContentHasPath");
_setConfig = pluginInterface.GetIpcSubscriber<string, string, object>("AutoDuty.SetConfig");
_run = pluginInterface.GetIpcSubscriber<uint, int, bool, object>("AutoDuty.Run");
_isStopped = pluginInterface.GetIpcSubscriber<bool>("AutoDuty.IsStopped");
_stop = pluginInterface.GetIpcSubscriber<object>("AutoDuty.Stop");
_contentHasPath = pluginInterface.GetIpcSubscriber<uint, bool>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(669378037));
_getConfig = pluginInterface.GetIpcSubscriber<string, string>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(778701164));
_setConfig = pluginInterface.GetIpcSubscriber<string, string, object>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(930976644));
_run = pluginInterface.GetIpcSubscriber<uint, int, bool, object>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(-715592448));
_start = pluginInterface.GetIpcSubscriber<bool, object>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_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>(586700200));
_isStopped = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(200621634));
_stop = pluginInterface.GetIpcSubscriber<object>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(787984803));
_loggedContentHasPathQueryWarning = false;
_loggedLevelingModeWarning = false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool ManagesRotationPluginState()
{
try
{
return _206A_200D_200D_206E_202C_200E_200F_202C_200C_200F_206E_200E_206B_206D_200B_202A_202E_202D_206F_206D_200C_200B_206A_206C_200E_206B_206F_206D_202E_206D_206B_200F_202E_202E_202A_202C_202E_200C_202C_206A_202E(_getConfig.InvokeFunc(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(656009989)), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(251886879), StringComparison.OrdinalIgnoreCase);
}
catch (IpcError)
{
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool ManagesBossModAiSettings()
{
try
{
return _206A_200D_200D_206E_202C_200E_200F_202C_200C_200F_206E_200E_206B_206D_200B_202A_202E_202D_206F_206D_200C_200B_206A_206C_200E_206B_206F_206D_202E_206D_206B_200F_202E_202E_202A_202C_202E_200C_202C_206A_202E(_getConfig.InvokeFunc(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1652223721)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-536004571), StringComparison.OrdinalIgnoreCase);
}
catch (IpcError)
{
return false;
}
}
public bool IsConfiguredToRunContent(DutyOptions? dutyOptions)
{
if (dutyOptions == null || dutyOptions.ContentFinderConditionId == 0)
int num = ((dutyOptions == null) ? (-925211757) : (-925211760));
uint num7 = default(uint);
DutyEntry value = default(DutyEntry);
while (true)
{
return false;
int num2 = num;
int num3 = -925211759;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
return false;
case 1:
num = ((_202E_206E_206B_200F_202E_200B_200D_200D_206F_202B_202D_202C_200C_206E_200F_206F_202B_200F_200B_206A_206A_200C_206F_200E_200B_200F_200C_206E_206C_202E_202D_200F_200C_206D_206E_202D_202A_200D_200D_202E_202E(dutyOptions) != 0) ? (-925211750) : (-925211757));
break;
case 3:
return HasPath(num7);
case 14:
if (value.Enabled)
{
num = -925211758;
break;
}
goto case 0;
case 5:
num = ((!_configuration.Duties.WhitelistedDutyCfcIds.Contains(num7)) ? (-925211754) : (-925211749));
break;
case 0:
num = -925211751;
break;
case 6:
return true;
case 9:
num = -925211760;
break;
case 13:
return false;
case 2:
return false;
case 7:
num = ((!DutyRegistry.Duties.TryGetValue(num7, out value)) ? (-925211759) : (-925211745));
break;
case 8:
return false;
case 10:
{
num = ((!_territoryData.TryGetContentFinderCondition(num7, out TerritoryData.ContentFinderConditionData _)) ? (-925211754) : (-925211753));
break;
}
case 12:
num7 = _202E_206E_206B_200F_202E_200B_200D_200D_206F_202B_202D_202C_200C_206E_200F_206F_202B_200F_200B_206A_206A_200C_206F_200E_200B_200F_200C_206E_206C_202E_202D_200F_200C_206D_206E_202D_202A_200D_200D_202E_202E(dutyOptions);
num = ((!_configuration.Duties.BlacklistedDutyCfcIds.Contains(num7)) ? (-925211756) : (-925211748));
break;
case 11:
num = (_configuration.Duties.RunInstancedContentWithAutoDuty ? (-925211747) : (-925211755));
break;
}
}
if (!_configuration.Duties.RunInstancedContentWithAutoDuty)
{
return false;
}
if (_configuration.Duties.BlacklistedDutyCfcIds.Contains(dutyOptions.ContentFinderConditionId))
{
return false;
}
if (_configuration.Duties.WhitelistedDutyCfcIds.Contains(dutyOptions.ContentFinderConditionId) && _territoryData.TryGetContentFinderCondition(dutyOptions.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData _))
{
return true;
}
if (dutyOptions.Enabled)
{
return HasPath(dutyOptions.ContentFinderConditionId);
}
return false;
}
public bool IsConfiguredToRunLevelingMode()
@ -83,96 +156,238 @@ internal sealed class AutoDutyIpc
return _configuration.Duties.RunLevelingModeWhenUnderleveled;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool IsConfiguredToRunLevelingMode(int currentPlayerLevel)
{
if (!_configuration.Duties.RunLevelingModeWhenUnderleveled)
int num = (_configuration.Duties.RunLevelingModeWhenUnderleveled ? 1846348049 : 1846348050);
while (true)
{
return false;
int num2 = num;
int num3 = 1846348051;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = ((currentPlayerLevel >= 15) ? 1846348055 : 1846348051);
break;
case 0:
_206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1066385664), new object[2] { currentPlayerLevel, 15 });
return false;
case 3:
num = 1846348050;
break;
case 1:
return false;
case 4:
return true;
}
}
if (currentPlayerLevel < 15)
{
return false;
}
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool HasPath(uint cfcId)
{
if (!_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData))
int num = (_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData) ? (-1822320114) : (-1822320115));
while (true)
{
return false;
}
try
{
return _contentHasPath.InvokeFunc(contentFinderConditionData.TerritoryId);
}
catch (IpcError ipcError)
{
if (!_loggedContentHasPathQueryWarning)
int num2 = num;
int num3 = -1822320113;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
_logger.LogWarning("Unable to query AutoDuty for path in territory {TerritoryType}: {Message}", contentFinderConditionData.TerritoryId, ipcError.Message);
_loggedContentHasPathQueryWarning = true;
case 0:
goto IL_0054;
case 2:
return false;
case 1:
try
{
return _contentHasPath.InvokeFunc(contentFinderConditionData.TerritoryId);
}
catch (IpcError ipcError)
{
num = (_loggedContentHasPathQueryWarning ? 1942042922 : 1942042921);
while (true)
{
int num5 = num;
num3 = 1942042923;
num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1942042921;
break;
case 2:
_206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(63973339), new object[2]
{
contentFinderConditionData.TerritoryId,
_202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError)
});
_loggedContentHasPathQueryWarning = true;
num = 1942042922;
break;
case 1:
return false;
}
}
}
}
return false;
continue;
IL_0054:
num = -1822320115;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void StartInstance(uint cfcId, DutyMode dutyMode)
{
if (!_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData))
int num = (_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData) ? (-1305610251) : (-1305610252));
string arg = default(string);
while (true)
{
throw new TaskException($"Unknown ContentFinderConditionId {cfcId}");
}
try
{
_setConfig.InvokeAction("leveling", "None");
_setConfig.InvokeAction("Unsynced", $"{dutyMode == DutyMode.UnsyncRegular}");
ICallGateSubscriber<string, string, object> setConfig = _setConfig;
setConfig.InvokeAction("dutyModeEnum", dutyMode switch
int num2 = num;
int num3 = -1305610251;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
DutyMode.Support => "Support",
DutyMode.UnsyncRegular => "Regular",
_ => throw new ArgumentOutOfRangeException("dutyMode", dutyMode, null),
});
_run.InvokeAction(contentFinderConditionData.TerritoryId, 1, !_configuration.Advanced.DisableAutoDutyBareMode);
}
catch (IpcError ipcError)
{
throw new TaskException("Unable to run content with AutoDuty: " + ipcError.Message, ipcError);
case 2:
goto IL_0057;
case 1:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(33, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1265777789));
defaultInterpolatedStringHandler.AppendFormatted(cfcId);
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 0:
try
{
_206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-95990036), new object[1] { cfcId });
_setConfig.InvokeAction(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1128026998), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(474422561));
_setConfig.InvokeAction(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-135408714), $"{dutyMode == DutyMode.UnsyncRegular}");
ICallGateSubscriber<string, string, object> setConfig = _setConfig;
num = ((dutyMode == DutyMode.Support) ? (-858161534) : (-858161535));
while (true)
{
int num5 = num;
num3 = -858161529;
num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = -858161535;
break;
case 5:
arg = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(831199868);
num = -858161531;
break;
case 1:
num = -858161529;
break;
case 3:
arg = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-669754596);
num = -858161531;
break;
case 6:
num = ((dutyMode == DutyMode.UnsyncRegular) ? (-858161532) : (-858161530));
break;
case 0:
throw _202B_202C_206C_206A_206F_206E_200D_202C_206A_202C_206A_200B_206F_200C_202E_202C_202B_206D_202E_206C_206B_200B_206A_202E_206D_206E_202B_202D_206C_200C_206E_206F_202D_202C_202C_206B_202A_200E_200E_200F_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(428627433), (object)dutyMode, (string)null);
case 2:
setConfig.InvokeAction(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(508209007), arg);
_run.InvokeAction(contentFinderConditionData.TerritoryId, 1, !_configuration.Advanced.DisableAutoDutyBareMode);
return;
}
}
}
catch (IpcError ipcError)
{
throw new TaskException(_202B_200E_206A_200C_206C_206B_202B_200F_200B_202B_202C_206F_202D_206D_200E_206C_206D_206C_206F_202D_200C_206F_200F_200F_206C_200E_206A_202B_202C_200E_206A_202E_206F_200C_206C_202A_200B_200E_206D_202C_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1617899895), _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError)), ipcError);
}
}
continue;
IL_0057:
num = -1305610252;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool StartLevelingMode()
{
try
{
if (!IsStopped())
int num = (IsStopped() ? 1638080603 : 1638080602);
while (true)
{
_logger.LogDebug("AutoDuty is already running, not starting leveling mode again");
return true;
int num2 = num;
int num3 = 1638080603;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_004c;
case 1:
_206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(294195478), Array.Empty<object>());
return true;
case 0:
_206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-451238822), Array.Empty<object>());
_setConfig.InvokeAction(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1303258245), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-482605368));
_setConfig.InvokeAction(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1814589717), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-426031024));
_start.InvokeAction(arg1: true);
return true;
}
continue;
IL_004c:
num = 1638080602;
}
_logger.LogInformation("Starting AutoDuty Leveling mode (Support) - AutoDuty will select the best dungeon");
_setConfig.InvokeAction("leveling", "Support");
_run.InvokeAction(0u, 1, !_configuration.Advanced.DisableAutoDutyBareMode);
return true;
}
catch (IpcError ipcError)
{
if (!_loggedLevelingModeWarning)
int num = (_loggedLevelingModeWarning ? (-312465232) : (-312465229));
while (true)
{
_logger.LogWarning("Unable to start AutoDuty Leveling mode: {Message}", ipcError.Message);
_loggedLevelingModeWarning = true;
int num5 = num;
int num3 = -312465231;
int num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -312465229;
break;
case 2:
_206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1771489609), new object[1] { _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError) });
_loggedLevelingModeWarning = true;
num = -312465232;
break;
case 1:
return false;
}
}
return false;
}
catch (Exception exception)
catch (Exception ex)
{
if (!_loggedLevelingModeWarning)
int num = (_loggedLevelingModeWarning ? (-1904773867) : (-1904773868));
while (true)
{
_logger.LogWarning(exception, "Unable to start AutoDuty Leveling mode");
_loggedLevelingModeWarning = true;
int num6 = num;
int num3 = -1904773867;
int num4 = num6;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -1904773868;
break;
case 1:
_206A_200E_200F_206D_206C_200E_202D_200D_206B_206B_206E_202E_200C_206C_200F_202D_206D_202E_200C_200E_200C_206B_206E_202E_200F_202A_206C_200D_202A_200C_202A_206A_206C_202A_200B_200C_206D_202C_202A_200D_202E((ILogger)_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1702682282), Array.Empty<object>());
_loggedLevelingModeWarning = true;
num = -1904773867;
break;
case 0:
return false;
}
}
return false;
}
}
@ -188,36 +403,66 @@ internal sealed class AutoDutyIpc
}
}
public void DisableLevelingMode()
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Stop()
{
try
{
_logger.LogInformation("Disabling AutoDuty leveling mode");
_setConfig.InvokeAction("leveling", "None");
}
catch (IpcError ipcError)
{
_logger.LogWarning("Unable to disable AutoDuty leveling mode: {Message}", ipcError.Message);
}
}
public void Stop()
{
try
{
_logger.LogInformation("Calling AutoDuty.Stop");
_206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1093041537), Array.Empty<object>());
try
{
_setConfig.InvokeAction("leveling", "None");
_setConfig.InvokeAction(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1128026998), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(474422561));
}
catch (IpcError)
{
}
_stop.InvokeAction();
return true;
}
catch (IpcError ipcError2)
{
throw new TaskException("Unable to stop AutoDuty: " + ipcError2.Message, ipcError2);
_206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1903796332), new object[1] { _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError2) });
return false;
}
}
static bool _206A_200D_200D_206E_202C_200E_200F_202C_200C_200F_206E_200E_206B_206D_200B_202A_202E_202D_206F_206D_200C_200B_206A_206C_200E_206B_206F_206D_202E_206D_206B_200F_202E_202E_202A_202C_202E_200C_202C_206A_202E(string P_0, string P_1, StringComparison P_2)
{
return string.Equals(P_0, P_1, P_2);
}
static uint _202E_206E_206B_200F_202E_200B_200D_200D_206F_202B_202D_202C_200C_206E_200F_206F_202B_200F_200B_206A_206A_200C_206F_200E_200B_200F_200C_206E_206C_202E_202D_200F_200C_206D_206E_202D_202A_200D_200D_202E_202E(DutyOptions P_0)
{
return P_0.ContentFinderConditionId;
}
static void _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static string _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E(Exception P_0)
{
return P_0.Message;
}
static void _206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static ArgumentOutOfRangeException _202B_202C_206C_206A_206F_206E_200D_202C_206A_202C_206A_200B_206F_200C_202E_202C_202B_206D_202E_206C_206B_200B_206A_202E_206D_206E_202B_202D_206C_200C_206E_206F_202D_202C_202C_206B_202A_200E_200E_200F_202E(string P_0, object P_1, string P_2)
{
return new ArgumentOutOfRangeException(P_0, P_1, P_2);
}
static string _202B_200E_206A_200C_206C_206B_202B_200F_200B_202B_202C_206F_202D_206D_200E_206C_206D_206C_206F_202D_200C_206F_200F_200F_206C_200E_206A_202B_202C_200E_206A_202E_206F_200C_206C_202A_200B_200E_206D_202C_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static void _206A_200E_200F_206D_206C_200E_202D_200D_206B_206B_206E_202E_200C_206C_200F_202D_206D_202E_200C_200E_200C_206B_206E_202E_200F_202A_206C_200D_202A_200C_202A_206A_206C_202A_200B_200C_206D_202C_202A_200D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogWarning(P_1, P_2, P_3);
}
}

View file

@ -0,0 +1,152 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
using Microsoft.Extensions.Logging;
namespace Questionable.External;
internal sealed class AutoHookIpc
{
private readonly ILogger<AutoHookIpc> _logger;
private readonly ICallGateSubscriber<bool> _getPluginState;
private readonly ICallGateSubscriber<bool, object> _setPluginState;
private readonly ICallGateSubscriber<bool> _getAutoStartFishing;
private readonly ICallGateSubscriber<bool, object> _setAutoStartFishing;
private readonly ICallGateSubscriber<uint, bool> _swapBaitById;
private readonly ICallGateSubscriber<string, object> _createAndSelectAnonymousPreset;
private readonly ICallGateSubscriber<object> _deleteAllAnonymousPresets;
[MethodImpl(MethodImplOptions.NoInlining)]
public AutoHookIpc(IDalamudPluginInterface pluginInterface, ILogger<AutoHookIpc> logger)
{
_logger = logger;
_getPluginState = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(-1163699998));
_setPluginState = pluginInterface.GetIpcSubscriber<bool, object>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_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>(-981353761));
_getAutoStartFishing = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_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>(723530020));
_setAutoStartFishing = pluginInterface.GetIpcSubscriber<bool, object>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(960202505));
_swapBaitById = pluginInterface.GetIpcSubscriber<uint, bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(1702658080));
_createAndSelectAnonymousPreset = pluginInterface.GetIpcSubscriber<string, object>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(390173512));
_deleteAllAnonymousPresets = pluginInterface.GetIpcSubscriber<object>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(-472019215));
}
public bool IsAvailable()
{
try
{
_getPluginState.InvokeFunc();
return true;
}
catch (IpcError)
{
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool GetPluginState()
{
try
{
return _getPluginState.InvokeFunc();
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(944880881), Array.Empty<object>());
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void SetPluginState(bool enabled)
{
try
{
_setPluginState.InvokeAction(enabled);
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1416285307), Array.Empty<object>());
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool GetAutoStartFishing()
{
try
{
return _getAutoStartFishing.InvokeFunc();
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-795018389), Array.Empty<object>());
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void SetAutoStartFishing(bool enabled)
{
try
{
_setAutoStartFishing.InvokeAction(enabled);
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1390121576), Array.Empty<object>());
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool SwapBaitById(uint baitId)
{
try
{
return _swapBaitById.InvokeFunc(baitId);
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2110450433), new object[1] { baitId });
return false;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void CreateAndSelectAnonymousPreset(string compressedPreset)
{
try
{
_createAndSelectAnonymousPreset.InvokeAction(compressedPreset);
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1997912851), Array.Empty<object>());
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void DeleteAllAnonymousPresets()
{
try
{
_deleteAllAnonymousPresets.InvokeAction();
}
catch (IpcError ipcError)
{
_200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1325301918), Array.Empty<object>());
}
}
static void _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
}

View file

@ -1,11 +1,10 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
using Dalamud.Plugin.Services;
using LLib.External;
using Microsoft.Extensions.Logging;
using Questionable.Controller;
using Questionable.Data;
@ -14,13 +13,23 @@ namespace Questionable.External;
internal sealed class AutomatonIpc : IDisposable
{
private static readonly ImmutableHashSet<string> ConflictingTweaks = new HashSet<string>
internal static readonly ImmutableHashSet<string> ConflictingTweaks = new HashSet<string>
{
"DateWithDestiny", "AutoFollow", "ClickToMove", "AutoPillion", "AutoInvite", "AutoBusy", "FateToolKit", "AutoQueue", "EnhancedDutyStartEnd", "EnhancedLoginLogout",
"GettingTooAttached", "RetrieveMateria"
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_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>(455881545),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1927304316),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(157982794),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(482045276),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-42215246),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(644875872),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1345044293),
global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(67389204),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1780504317),
global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-227677374),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(296780267),
global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1211232634)
}.ToImmutableHashSet();
private const string AutoSnipeTweak = "AutoSnipeQuests";
internal const string AutoSnipeTweak = "AutoSnipeQuests";
private readonly Configuration _configuration;
@ -30,124 +39,232 @@ internal sealed class AutomatonIpc : IDisposable
private readonly SeasonalDutyController _seasonalDutyController;
private readonly CustomDeliveryController _customDeliveryController;
private readonly TerritoryData _territoryData;
private readonly IClientState _clientState;
private readonly IFramework _framework;
private readonly PluginFeaturePauser _pauser;
private readonly ILogger<AutomatonIpc> _logger;
private readonly ICallGateSubscriber<string, bool> _isTweakEnabled;
private readonly ICallGateSubscriber<string, bool, object?> _setTweakState;
private HashSet<string>? _pausedTweaks;
private bool _wasFateRunning;
public AutomatonIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<AutomatonIpc> logger)
[MethodImpl(MethodImplOptions.NoInlining)]
public AutomatonIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<AutomatonIpc> logger)
{
_configuration = configuration;
_questController = questController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_customDeliveryController = customDeliveryController;
_territoryData = territoryData;
_clientState = clientState;
_framework = framework;
_logger = logger;
_isTweakEnabled = pluginInterface.GetIpcSubscriber<string, bool>("Automaton.IsTweakEnabled");
_setTweakState = pluginInterface.GetIpcSubscriber<string, bool, object>("Automaton.SetTweakState");
_pauser = _202A_202E_206A_206E_206C_206E_206D_206C_200F_202A_202E_202A_200C_206D_206D_200F_206C_202E_200B_206F_202E_206C_202B_202D_202C_202A_206A_202E_200B_200C_202C_206B_200B_202B_206C_200C_202A_206F_202C_202C_202E(pluginInterface, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1188512438), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1582374739), (ILogger)logger);
_questController.AutomationTypeChanged += OnAutomationTypeChanged;
_framework.Update += OnFrameworkUpdate;
_202E_200F_200F_200B_206A_200C_202A_206F_202B_200E_206B_200B_200D_200C_206D_202C_200E_202D_200E_200D_202E_202E_206E_202C_206A_200D_206F_206C_200D_200B_206B_200E_202B_200B_202C_202A_206C_206C_202B_206B_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
}
private void OnAutomationTypeChanged(object sender, QuestController.EAutomationType automationType)
{
if (automationType != QuestController.EAutomationType.Manual && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
int num = ((automationType == QuestController.EAutomationType.Manual) ? 1465244874 : 1465244872);
while (true)
{
Task.Run((Action)DisableConflictingTweaks);
}
else if (!_fateController.IsRunning && !_seasonalDutyController.IsRunning)
{
Task.Run((Action)RestoreConflictingTweaks);
int num2 = num;
int num3 = 1465244874;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
num = (_seasonalDutyController.IsRunning ? 1465244876 : 1465244873);
break;
case 2:
num = (_territoryData.IsDutyInstance(_200B_202B_202B_202C_200E_202D_200E_202A_206E_200E_206C_202A_206E_200F_200D_202B_202B_200D_202A_200D_206A_202C_200C_206D_202E_202C_202B_206C_202C_206B_202B_206A_202E_202B_206E_200E_206E_200F_206C_202C_202E(_clientState)) ? 1465244874 : 1465244878);
break;
case 5:
num = 1465244872;
break;
case 6:
return;
case 7:
InvokeGuarded(delegate
{
_202E_200B_200B_206D_202E_202B_202E_200E_206C_202A_206E_202B_202C_202A_200E_202E_200D_202D_206F_202D_200F_202D_202E_206E_200B_200E_202B_200C_202D_202E_200B_200E_200C_202B_206F_200F_206F_206D_206C_206F_202E(_pauser);
});
num = 1465244876;
break;
case 3:
num = (_customDeliveryController.IsRunning ? 1465244876 : 1465244877);
break;
case 0:
num = (_fateController.IsRunning ? 1465244876 : 1465244875);
break;
case 4:
InvokeGuarded(DisableConflictingTweaks);
return;
}
}
}
private void OnFrameworkUpdate(IFramework framework)
{
bool flag = _fateController.IsRunning || _seasonalDutyController.IsRunning;
if (flag != _wasFateRunning)
int num = (_fateController.IsRunning ? 767145126 : 767145129);
bool flag = default(bool);
while (true)
{
_wasFateRunning = flag;
if (flag && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
int num2 = num;
int num3 = 767145123;
int num4 = num2;
int num5;
switch ((num4 | num3) - (num4 & num3))
{
Task.Run((Action)DisableConflictingTweaks);
}
else if (_questController.AutomationType == QuestController.EAutomationType.Manual)
{
Task.Run((Action)RestoreConflictingTweaks);
case 0:
num = 767145129;
break;
case 1:
InvokeGuarded(delegate
{
_202E_200B_200B_206D_202E_202B_202E_200E_206C_202A_206E_202B_202C_202A_200E_202E_200D_202D_206F_202D_200F_202D_202E_206E_200B_200E_202B_200C_202D_202E_200B_200E_200C_202B_206F_200F_206F_206D_206C_206F_202E(_pauser);
});
num = 767145130;
break;
case 7:
num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? 767145130 : 767145122);
break;
case 6:
InvokeGuarded(DisableConflictingTweaks);
return;
case 8:
num5 = (_customDeliveryController.IsRunning ? 1 : 0);
goto IL_013c;
case 3:
_wasFateRunning = flag;
num = ((!flag) ? 767145124 : 767145127);
break;
case 4:
num = (_territoryData.IsDutyInstance(_200B_202B_202B_202C_200E_202D_200E_202A_206E_200E_206C_202A_206E_200F_200D_202B_202B_200D_202A_200D_206A_202C_200C_206D_202E_202C_202B_206C_202C_206B_202B_206A_202E_202B_206E_200E_206E_200F_206C_202C_202E(_clientState)) ? 767145124 : 767145125);
break;
case 5:
num5 = 1;
goto IL_013c;
case 9:
return;
case 10:
num = (_seasonalDutyController.IsRunning ? 767145126 : 767145131);
break;
case 2:
return;
IL_013c:
flag = (byte)num5 != 0;
num = ((flag != _wasFateRunning) ? 767145120 : 767145121);
break;
}
}
}
private void DisableConflictingTweaks()
{
if (_pausedTweaks != null)
{
return;
}
_pausedTweaks = new HashSet<string>();
foreach (string conflictingTweak in ConflictingTweaks)
{
TryDisableTweak(conflictingTweak);
}
if (_configuration.General.AutoSnipe)
{
TryDisableTweak("AutoSnipeQuests");
}
}
private void TryDisableTweak(string tweak)
[MethodImpl(MethodImplOptions.NoInlining)]
private void InvokeGuarded(Action action)
{
try
{
if (_isTweakEnabled.InvokeFunc(tweak))
{
_setTweakState.InvokeAction(tweak, arg2: false);
_pausedTweaks.Add(tweak);
_logger.LogInformation("Paused Automaton tweak: {Tweak}", tweak);
}
action();
}
catch (IpcError)
catch (Exception ex)
{
_206A_202D_200F_206E_206D_206C_202B_202B_202E_206D_206E_200D_202C_202E_200E_206C_206D_200D_206E_200F_206D_206C_200D_206B_202A_202E_206C_202D_200C_206D_202D_206B_200B_202E_202D_202A_202B_206C_202C_200E_202E((ILogger)_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1444366568), Array.Empty<object>());
}
}
private void RestoreConflictingTweaks()
[MethodImpl(MethodImplOptions.NoInlining)]
private void DisableConflictingTweaks()
{
if (_pausedTweaks == null)
int num = (_configuration.General.AutoSnipe ? (-1792713468) : (-1792713465));
ImmutableHashSet<string> immutableHashSet;
while (true)
{
return;
}
foreach (string pausedTweak in _pausedTweaks)
{
try
{
_setTweakState.InvokeAction(pausedTweak, arg2: true);
_logger.LogInformation("Restored Automaton tweak: {Tweak}", pausedTweak);
}
catch (IpcError)
int num2 = num;
int num3 = -1792713467;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
default:
continue;
case 1:
immutableHashSet = ConflictingTweaks.Add(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(899890205));
break;
case 2:
immutableHashSet = ConflictingTweaks;
break;
case 0:
goto IL_009e;
}
break;
IL_009e:
num = -1792713465;
}
_pausedTweaks = null;
ImmutableHashSet<string> immutableHashSet2 = immutableHashSet;
_206C_202B_200C_206A_200C_206B_206F_202C_200F_202B_206C_206F_206D_200C_200F_202D_202E_200B_206D_202E_206E_200E_200E_202E_202E_206D_200D_200B_202B_200E_200C_206E_206A_206E_202B_200C_206E_206A_200F_202E_202E(_pauser, (IEnumerable<string>)immutableHashSet2.Except(_configuration.Advanced.AutomatonTweakExclusions));
}
public void Dispose()
{
_framework.Update -= OnFrameworkUpdate;
_206D_200C_202A_206D_202A_202E_202A_200E_206F_206B_202A_200B_200E_206A_206C_206F_206D_202A_200E_206A_206A_206B_202A_202B_206D_206E_202C_200F_206C_202D_202E_206F_202A_202C_202A_206F_200E_202C_200F_202C_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
_questController.AutomationTypeChanged -= OnAutomationTypeChanged;
RestoreConflictingTweaks();
_202D_202A_200C_206A_200C_206F_200C_200C_202C_202D_200B_206F_206A_202A_200C_200F_206C_202A_202D_206E_206E_206C_206D_200E_202E_206A_206F_200D_202D_200C_202B_202E_200D_200D_206B_202C_206B_202A_202B_206C_202E(_pauser);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static PluginFeaturePauser _202A_202E_206A_206E_206C_206E_206D_206C_200F_202A_202E_202A_200C_206D_206D_200F_206C_202E_200B_206F_202E_206C_202B_202D_202C_202A_206A_202E_200B_200C_202C_206B_200B_202B_206C_200C_202A_206F_202C_202C_202E(IDalamudPluginInterface P_0, string P_1, string P_2, ILogger P_3)
{
return new PluginFeaturePauser(P_0, P_1, P_2, P_3);
}
static void _202E_200F_200F_200B_206A_200C_202A_206F_202B_200E_206B_200B_200D_200C_206D_202C_200E_202D_200E_200D_202E_202E_206E_202C_206A_200D_206F_206C_200D_200B_206B_200E_202B_200B_202C_202A_206C_206C_202B_206B_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update += P_1;
}
static uint _200B_202B_202B_202C_200E_202D_200E_202A_206E_200E_206C_202A_206E_200F_200D_202B_202B_200D_202A_200D_206A_202C_200C_206D_202E_202C_202B_206C_202C_206B_202B_206A_202E_202B_206E_200E_206E_200F_206C_202C_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static void _206A_202D_200F_206E_206D_206C_202B_202B_202E_206D_206E_200D_202C_202E_200E_206C_206D_200D_206E_200F_206D_206C_200D_206B_202A_202E_206C_202D_200C_206D_202D_206B_200B_202E_202D_202A_202B_206C_202C_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static void _206C_202B_200C_206A_200C_206B_206F_202C_200F_202B_206C_206F_206D_200C_200F_202D_202E_200B_206D_202E_206E_200E_200E_202E_202E_206D_200D_200B_202B_200E_200C_206E_206A_206E_202B_200C_206E_206A_200F_202E_202E(PluginFeaturePauser P_0, IEnumerable<string> P_1)
{
P_0.Disable(P_1);
}
static void _206D_200C_202A_206D_202A_202E_202A_200E_206F_206B_202A_200B_200E_206A_206C_206F_206D_202A_200E_206A_206A_206B_202A_202B_206D_206E_202C_200F_206C_202D_202E_206F_202A_202C_202A_206F_200E_202C_200F_202C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
static void _202D_202A_200C_206A_200C_206F_200C_200C_202C_202D_200B_206F_206A_202A_200C_200F_206C_202A_202D_206E_206E_206C_206D_200E_202E_206A_206F_200D_202D_200C_202B_202E_200D_200D_206B_202C_206B_202A_202B_206C_202E(PluginFeaturePauser P_0)
{
P_0.Dispose();
}
static void _202E_200B_200B_206D_202E_202B_202E_200E_206C_202A_206E_202B_202C_202A_200E_202E_200D_202D_206F_202D_200F_202D_202E_206E_200B_200E_202B_200C_202D_202E_200B_200E_200C_202B_206F_200F_206F_206D_206C_206F_202E(PluginFeaturePauser P_0)
{
P_0.Restore();
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,149 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.External;
internal sealed record MoveCommand(List<Vector3> Waypoints, bool Fly, float ArrivalTolerance)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200F_206E_202E_206A_206B_200B_202A_206C_206B_206F_202A_200C_200B_202D_200D_202B_202A_200B_202C_206C_206C_206A_206B_200F_202C_200E_202A_206F_202D_202D_206A_202A_202C_202C_202E_206F_206B_200B_202C_202E(typeof(MoveCommand).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206D_206D_200B_200E_200D_202E_202E_202E_206B_206E_200B_202A_200F_200F_200C_200D_200B_206D_202D_202B_202D_200B_202E_206F_206A_206D_202C_200B_202B_206A_202C_202A_202D_202E_206F_206B_200D_200C_206A_206E_202E();
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(697223660));
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(stringBuilder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(698284764));
int num = ((!PrintMembers(stringBuilder)) ? (-53230513) : (-53230514));
while (true)
{
int num2 = num;
int num3 = -53230513;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
_202B_206E_206F_200D_200C_200D_206E_206E_200C_202C_200C_202C_200C_206D_200D_200D_206D_206A_200B_206D_206F_206E_200C_206A_206D_206C_206C_206E_202C_206D_202E_206B_200E_206A_206B_206A_200B_200E_200E_202E(stringBuilder, '}');
return _206A_202A_200B_206D_202C_202E_202E_206A_206C_202D_200B_200B_200C_200F_206E_200B_202E_202D_206B_200E_206A_202B_206C_202A_200E_200D_206A_200F_200C_206A_206E_206F_200B_206E_206C_200B_206D_202B_206A_206C_202E((object)stringBuilder);
case 1:
_202B_206E_206F_200D_200C_200D_206E_206E_200C_202C_200C_202C_200C_206D_200D_200D_206D_206A_200B_206D_206F_206E_200C_206A_206D_206C_206C_206E_202C_206D_202E_206B_200E_206A_206B_206A_200B_200E_200E_202E(stringBuilder, ' ');
num = -53230513;
break;
case 2:
num = -53230514;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202D_200B_206A_202D_206B_200C_202C_206B_206D_202B_202B_200C_206A_206E_206B_202A_202E_202E_202A_202B_202E_202B_200B_206A_200C_206E_206C_202B_206B_206E_202C_206D_202E_202C_200D_202C_206C_206F_200E_202A_202E();
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(376475816));
_202D_202C_202A_206E_202C_200C_200E_200B_206C_200B_202C_200E_202A_202A_206F_202E_206A_202A_200D_206E_202B_206E_200C_206C_200E_206D_200D_200E_202A_200C_202E_202C_206D_206B_200D_206B_202D_202E_202B_202B_202E(builder, (object)Waypoints);
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1335211848));
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, Fly.ToString());
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-918953903));
_202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, ArrivalTolerance.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(MoveCommand? other)
{
int num = (((object)this == other) ? 1439359497 : 1439359501);
while (true)
{
int num2 = num;
int num3 = 1439359498;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 6:
num = 1439359501;
break;
case 5:
num = ((!_202A_202C_200C_202E_206C_200B_206F_202A_202E_200B_202A_200D_206E_200D_206C_202C_200B_202E_206B_206F_206B_202D_200F_202E_202E_202E_202A_200B_206E_200D_200C_206E_202D_202E_202C_202E_206E_202A_200E_200E_202E(EqualityContract, other.EqualityContract)) ? 1439359502 : 1439359496);
break;
case 2:
num = ((!EqualityComparer<List<Vector3>>.Default.Equals(Waypoints, other.Waypoints)) ? 1439359502 : 1439359498);
break;
case 3:
return true;
case 7:
num = (((object)other == null) ? 1439359502 : 1439359503);
break;
case 4:
return false;
case 0:
num = ((!EqualityComparer<bool>.Default.Equals(Fly, other.Fly)) ? 1439359502 : 1439359499);
break;
case 1:
return EqualityComparer<float>.Default.Equals(ArrivalTolerance, other.ArrivalTolerance);
}
}
}
bool IEquatable<MoveCommand>.Equals(MoveCommand? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200F_206E_202E_206A_206B_200B_202A_206C_206B_206F_202A_200C_200B_202D_200D_202B_202A_200B_202C_206C_206C_206A_206B_200F_202C_200E_202A_206F_202D_202D_206A_202A_202C_202C_202E_206F_206B_200B_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _206D_206D_200B_200E_200D_202E_202E_202E_206B_206E_200B_202A_200F_200F_200C_200D_200B_206D_202D_202B_202D_200B_202E_206F_206A_206D_202C_200B_202B_206A_202C_202A_202D_202E_206F_206B_200D_200C_206A_206E_202E()
{
return new StringBuilder();
}
static StringBuilder _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202B_206E_206F_200D_200C_200D_206E_206E_200C_202C_200C_202C_200C_206D_200D_200D_206D_206A_200B_206D_206F_206E_200C_206A_206D_206C_206C_206E_202C_206D_202E_206B_200E_206A_206B_206A_200B_200E_200E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206A_202A_200B_206D_202C_202E_202E_206A_206C_202D_200B_200B_200C_200F_206E_200B_202E_202D_206B_200E_206A_202B_206C_202A_200E_200D_206A_200F_200C_206A_206E_206F_200B_206E_206C_200B_206D_202B_206A_206C_202E(object P_0)
{
return P_0.ToString();
}
static void _202D_200B_206A_202D_206B_200C_202C_206B_206D_202B_202B_200C_206A_206E_206B_202A_202E_202E_202A_202B_202E_202B_200B_206A_200C_206E_206C_202B_206B_206E_202C_206D_202E_202C_200D_202C_206C_206F_200E_202A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202D_202C_202A_206E_202C_200C_200E_200B_206C_200B_202C_200E_202A_202A_206F_202E_206A_202A_200D_206E_202B_206E_200C_206C_200E_206D_200D_200E_202A_200C_202E_202C_206D_206B_200D_206B_202D_202E_202B_202B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202A_202C_200C_202E_206C_200B_206F_202A_202E_200B_202A_200D_206E_200D_206C_202C_200B_202E_206B_206F_206B_202D_200F_202E_202E_202E_202A_200B_206E_200D_200C_206E_202D_202E_202C_202E_206E_202A_200E_200E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,152 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.External;
internal sealed record NavPathfindResult(List<Vector3> Waypoints, bool HasPartialInfo, bool IsPartial, float EndDistance)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202E_200C_202B_200E_200E_200B_200B_206D_202E_202D_206C_206B_200E_206A_200E_202E_206A_206A_206A_202E_206C_202D_202E_206E_200B_200C_200E_206E_202A_206E_206F_202D_206D_202B_202D_206D_200B_200D_200B_202D_202E(typeof(NavPathfindResult).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202E_206D_206E_202C_206F_202D_202A_200E_202B_206E_202D_202E_206E_206E_202D_202A_206F_206C_202B_202A_200F_206B_206C_202A_202E_200F_200C_202A_202C_200C_206B_202C_202D_202C_200B_202B_206B_202D_202C_200C_202E();
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-598170801));
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? 490901911 : 490901908);
while (true)
{
int num2 = num;
int num3 = 490901909;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 490901908;
break;
case 2:
_206A_202C_200D_202D_200B_206F_202E_206E_206E_206C_202D_206F_202C_200B_200D_202E_202E_206E_200E_206F_202A_206E_202A_202E_200F_202C_200C_206F_206E_206B_202B_206B_202B_200C_202E_200B_202C_202C_202E_200D_202E(stringBuilder, '}');
return _206F_206D_206C_200F_200C_202A_200D_200B_206A_200D_200B_202C_200C_206E_202B_200F_200C_200D_206D_202D_200C_202B_202D_202E_200F_200D_200D_202D_202B_206E_202D_200E_206B_200E_202A_200B_206C_200F_200F_200D_202E((object)stringBuilder);
case 1:
_206A_202C_200D_202D_200B_206F_202E_206E_206E_206C_202D_206F_202C_200B_200D_202E_202E_206E_200E_206F_202A_206E_202A_202E_200F_202C_200C_206F_206E_206B_202B_206B_202B_200C_202E_200B_202C_202C_202E_200D_202E(stringBuilder, ' ');
num = 490901911;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_202A_206B_200B_200F_200C_200F_206D_206F_206A_202A_206A_206A_206C_200F_200B_206A_206B_202A_206A_200B_200C_206F_200C_202A_206E_202A_202D_202C_206E_206B_206A_200D_200B_206A_206C_206D_206A_206A_202A_202E();
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(110603509));
_202E_206B_200E_206B_200B_206C_206D_206F_202E_206E_206B_206C_200E_202A_206A_200C_206F_200C_200E_200F_200D_202B_200F_200C_206E_202E_202C_202C_200C_206E_202D_200D_200C_200C_206C_206C_200E_200B_206A_202C_202E(builder, (object)Waypoints);
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1493861964));
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, HasPartialInfo.ToString());
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(164596793));
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, IsPartial.ToString());
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2102577067));
_202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, EndDistance.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(NavPathfindResult? other)
{
int num = (((object)this == other) ? 790411185 : 790411191);
while (true)
{
int num2 = num;
int num3 = 790411189;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 790411191;
break;
case 7:
return EqualityComparer<float>.Default.Equals(EndDistance, other.EndDistance);
case 2:
num = (((object)other == null) ? 790411187 : 790411184);
break;
case 6:
return false;
case 4:
return true;
case 3:
num = ((!EqualityComparer<bool>.Default.Equals(IsPartial, other.IsPartial)) ? 790411187 : 790411186);
break;
case 5:
num = ((!_206B_206C_200D_202B_202C_200B_200C_202D_206C_200E_206D_202D_200E_202A_200E_200D_206A_202D_200F_206A_202C_206F_206B_202C_200E_202A_202C_206D_202A_206C_206C_200B_202D_206C_200D_206F_206B_206D_202D_206E_202E(EqualityContract, other.EqualityContract)) ? 790411187 : 790411188);
break;
case 1:
num = ((!EqualityComparer<List<Vector3>>.Default.Equals(Waypoints, other.Waypoints)) ? 790411187 : 790411197);
break;
case 8:
num = ((!EqualityComparer<bool>.Default.Equals(HasPartialInfo, other.HasPartialInfo)) ? 790411187 : 790411190);
break;
}
}
}
bool IEquatable<NavPathfindResult>.Equals(NavPathfindResult? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202E_200C_202B_200E_200E_200B_200B_206D_202E_202D_206C_206B_200E_206A_200E_202E_206A_206A_206A_202E_206C_202D_202E_206E_200B_200C_200E_206E_202A_206E_206F_202D_206D_202B_202D_206D_200B_200D_200B_202D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202E_206D_206E_202C_206F_202D_202A_200E_202B_206E_202D_202E_206E_206E_202D_202A_206F_206C_202B_202A_200F_206B_206C_202A_202E_200F_200C_202A_202C_200C_206B_202C_202D_202C_200B_202B_206B_202D_202C_200C_202E()
{
return new StringBuilder();
}
static StringBuilder _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206A_202C_200D_202D_200B_206F_202E_206E_206E_206C_202D_206F_202C_200B_200D_202E_202E_206E_200E_206F_202A_206E_202A_202E_200F_202C_200C_206F_206E_206B_202B_206B_202B_200C_202E_200B_202C_202C_202E_200D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206F_206D_206C_200F_200C_202A_200D_200B_206A_200D_200B_202C_200C_206E_202B_200F_200C_200D_206D_202D_200C_202B_202D_202E_200F_200D_200D_202D_202B_206E_202D_200E_206B_200E_202A_200B_206C_200F_200F_200D_202E(object P_0)
{
return P_0.ToString();
}
static void _200B_202A_206B_200B_200F_200C_200F_206D_206F_206A_202A_206A_206A_206C_200F_200B_206A_206B_202A_206A_200B_200C_206F_200C_202A_206E_202A_202D_202C_206E_206B_206A_200D_200B_206A_206C_206D_206A_206A_202A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202E_206B_200E_206B_200B_206C_206D_206F_202E_206E_206B_206C_200E_202A_206A_200C_206F_200C_200E_200F_200D_202B_200F_200C_206E_202E_202C_202C_200C_206E_202D_200D_200C_200C_206C_206C_200E_200B_206A_202C_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206B_206C_200D_202B_202C_200B_200C_202D_206C_200E_206D_202D_200E_202A_200E_200D_206A_202D_200F_206A_202C_206F_206B_202C_200E_202A_202C_206D_202A_206C_206C_200B_202D_206C_200D_206F_206B_206D_202D_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,156 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.External;
internal sealed record NavStatus(bool Ready, string State, int TilesBuilt, int TilesTotal, uint TerritoryId)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206E_202E_200F_206E_202E_206B_200E_202C_202B_202A_206E_200E_200C_206A_202E_206D_206E_206D_206A_200F_200F_202E_202A_200D_200C_206D_206C_206A_206A_202C_206C_200F_202A_200C_206E_200D_206E_206E_206E_206A_202E(typeof(NavStatus).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200B_202E_202E_200D_202E_206E_206E_202E_202D_200B_206D_206B_206A_206A_206D_200B_202E_206B_200F_200B_202E_206F_202E_206B_202C_202A_202E_202B_202D_202D_206F_202C_202B_202B_206B_206E_206B_202C_200C_206A_202E();
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1175225057));
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(556540328));
int num = ((!PrintMembers(stringBuilder)) ? (-847279882) : (-847279883));
while (true)
{
int num2 = num;
int num3 = -847279881;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -847279883;
break;
case 1:
_206D_206A_200B_202D_206E_206B_200F_206C_206C_206C_206B_202E_200D_206C_202B_206A_206A_202C_206E_202E_202B_202E_200C_200E_202C_202D_202A_200D_202D_206E_202C_202D_206B_200E_202A_200D_200C_200B_202D_206E_202E(stringBuilder, '}');
return _202E_202A_202E_206A_206F_202A_206C_200D_206E_202D_206C_206D_202D_206D_200C_206F_200E_202D_202A_202C_202C_202D_202E_206B_200C_200E_206C_202B_200E_202C_206C_200D_200C_200D_202A_200C_202A_206F_202D_206E_202E((object)stringBuilder);
case 2:
_206D_206A_200B_202D_206E_206B_200F_206C_206C_206C_206B_202E_200D_206C_202B_206A_206A_202C_206E_202E_202B_202E_200C_200E_202C_202D_202A_200D_202D_206E_202C_202D_206B_200E_202A_200D_200C_200B_202D_206E_202E(stringBuilder, ' ');
num = -847279882;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206D_202E_200B_200D_200D_202D_206B_202D_202D_206C_206C_200D_200C_200B_206E_206B_202C_206C_202C_206C_200E_202E_206B_202E_206A_200C_202D_206A_202D_206E_202E_200F_202A_206B_202E_202B_200C_202B_200C_202D_202E();
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2002356091));
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, Ready.ToString());
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1574005385));
_206D_200E_206D_202C_200F_202A_202B_202E_202A_206D_206B_202C_202A_202D_206A_200E_206A_206D_206F_200D_200C_202E_200D_206C_206D_200F_206A_200B_202E_206F_206A_206A_206F_206B_202B_200C_200B_206A_206F_206A_202E(builder, (object)State);
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(96629540));
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, TilesBuilt.ToString());
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(57838909));
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, TilesTotal.ToString());
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(647715754));
_206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, TerritoryId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(NavStatus? other)
{
int num = (((object)this == other) ? 1329501790 : 1329501785);
while (true)
{
int num2 = num;
int num3 = 1329501787;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 8:
num = ((!EqualityComparer<int>.Default.Equals(TilesTotal, other.TilesTotal)) ? 1329501788 : 1329501787);
break;
case 7:
return false;
case 0:
return EqualityComparer<uint>.Default.Equals(TerritoryId, other.TerritoryId);
case 1:
num = ((!_202A_200D_206D_200C_202A_200B_206A_206B_200D_202B_202C_200D_200E_206C_202A_202A_202E_202C_200F_200E_206F_202D_200D_202C_206B_206C_200E_206C_206E_200D_202B_200E_200C_200F_202B_206E_202B_202A_202A_206D_202E(EqualityContract, other.EqualityContract)) ? 1329501788 : 1329501789);
break;
case 5:
return true;
case 9:
num = ((!EqualityComparer<int>.Default.Equals(TilesBuilt, other.TilesBuilt)) ? 1329501788 : 1329501779);
break;
case 4:
num = 1329501785;
break;
case 6:
num = ((!EqualityComparer<bool>.Default.Equals(Ready, other.Ready)) ? 1329501788 : 1329501784);
break;
case 3:
num = ((!EqualityComparer<string>.Default.Equals(State, other.State)) ? 1329501788 : 1329501778);
break;
case 2:
num = (((object)other == null) ? 1329501788 : 1329501786);
break;
}
}
}
bool IEquatable<NavStatus>.Equals(NavStatus? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206E_202E_200F_206E_202E_206B_200E_202C_202B_202A_206E_200E_200C_206A_202E_206D_206E_206D_206A_200F_200F_202E_202A_200D_200C_206D_206C_206A_206A_202C_206C_200F_202A_200C_206E_200D_206E_206E_206E_206A_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _200B_202E_202E_200D_202E_206E_206E_202E_202D_200B_206D_206B_206A_206A_206D_200B_202E_206B_200F_200B_202E_206F_202E_206B_202C_202A_202E_202B_202D_202D_206F_202C_202B_202B_206B_206E_206B_202C_200C_206A_202E()
{
return new StringBuilder();
}
static StringBuilder _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206D_206A_200B_202D_206E_206B_200F_206C_206C_206C_206B_202E_200D_206C_202B_206A_206A_202C_206E_202E_202B_202E_200C_200E_202C_202D_202A_200D_202D_206E_202C_202D_206B_200E_202A_200D_200C_200B_202D_206E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202E_202A_202E_206A_206F_202A_206C_200D_206E_202D_206C_206D_202D_206D_200C_206F_200E_202D_202A_202C_202C_202D_202E_206B_200C_200E_206C_202B_200E_202C_206C_200D_200C_200D_202A_200C_202A_206F_202D_206E_202E(object P_0)
{
return P_0.ToString();
}
static void _206D_202E_200B_200D_200D_202D_206B_202D_202D_206C_206C_200D_200C_200B_206E_206B_202C_206C_202C_206C_200E_202E_206B_202E_206A_200C_202D_206A_202D_206E_202E_200F_202A_206B_202E_202B_200C_202B_200C_202D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206D_200E_206D_202C_200F_202A_202B_202E_202A_206D_206B_202C_202A_202D_206A_200E_206A_206D_206F_200D_200C_202E_200D_206C_206D_200F_206A_200B_202E_206F_206A_206A_206F_206B_202B_200C_200B_206A_206F_206A_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202A_200D_206D_200C_202A_200B_206A_206B_200D_202B_202C_200D_200E_206C_202A_202A_202E_202C_200F_200E_206F_202D_200D_202C_206B_206C_200E_206C_206E_200D_202B_200E_200C_200F_202B_206E_202B_202A_202A_206D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,10 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
using Dalamud.Plugin.Services;
using LLib.External;
using Microsoft.Extensions.Logging;
using Questionable.Controller;
using Questionable.Data;
@ -14,14 +13,35 @@ namespace Questionable.External;
internal sealed class PandorasBoxIpc : IDisposable
{
private static readonly ImmutableHashSet<string> ConflictingFeatures = new HashSet<string>
internal static readonly ImmutableHashSet<string> ConflictingFeatures = new HashSet<string>
{
"Auto-Collect", "Auto-Cordial", "Auto-Meditation", "Auto-Motif (Out of Combat)", "Auto-Mount After Combat", "Auto-Mount after Gathering", "Auto-Mount on Zone Change", "Auto-Peleton", "Auto-Prospect/Triangulate", "Auto-Sprint in Sanctuaries",
"Auto-Summon Chocobo", "Auto-Summon Fairy/Carbuncle", "Auto-Tank Stance", "Action Combat Targeting", "Auto-interact with Gathering Nodes", "FATE Targeting Mode", "Auto-Teleport to Map Coords", "Auto-select Turn-ins", "Auto-Equip Recommended Gear", "Auto-Sync FATEs",
"Pandora Quick Gather", "Switch Gatherers Automatically"
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_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>(1616111798),
global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1357410567),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1401269692),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1855030583),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1419570559),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(149571058),
global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(918765153),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(324148354),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1441534502),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1342775702),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(917802614),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-923476706),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1001272448),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1171663763),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(213726178),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1137319472),
global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1873399642),
global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1676513025),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-53557543),
global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1318853520),
global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1902156422),
global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-2045136826),
global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(603380574),
global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-941639504)
}.ToImmutableHashSet();
private const string AutoActiveTimeManeuverFeature = "Auto Active Time Maneuver";
internal const string AutoActiveTimeManeuverFeature = "Auto Active Time Maneuver";
private readonly Configuration _configuration;
@ -31,124 +51,230 @@ internal sealed class PandorasBoxIpc : IDisposable
private readonly SeasonalDutyController _seasonalDutyController;
private readonly CustomDeliveryController _customDeliveryController;
private readonly TerritoryData _territoryData;
private readonly IClientState _clientState;
private readonly IFramework _framework;
private readonly PluginFeaturePauser _pauser;
private readonly ILogger<PandorasBoxIpc> _logger;
private readonly ICallGateSubscriber<string, bool?> _getFeatureEnabled;
private readonly ICallGateSubscriber<string, bool, object?> _setFeatureEnabled;
private HashSet<string>? _pausedFeatures;
private bool _wasFateRunning;
public PandorasBoxIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<PandorasBoxIpc> logger)
[MethodImpl(MethodImplOptions.NoInlining)]
public PandorasBoxIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<PandorasBoxIpc> logger)
{
_configuration = configuration;
_questController = questController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_customDeliveryController = customDeliveryController;
_territoryData = territoryData;
_clientState = clientState;
_framework = framework;
_logger = logger;
_getFeatureEnabled = pluginInterface.GetIpcSubscriber<string, bool?>("PandorasBox.GetFeatureEnabled");
_setFeatureEnabled = pluginInterface.GetIpcSubscriber<string, bool, object>("PandorasBox.SetFeatureEnabled");
_pauser = _202D_202B_202E_200B_206D_200B_206E_206F_206A_202A_200B_206B_206C_206B_206F_206D_200C_200D_206E_202A_200C_200D_202A_202A_200B_200D_200C_200C_206C_206F_202C_202B_200D_206A_206F_200C_206A_202C_200F_206C_202E(pluginInterface, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1668439260), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-816671911), (ILogger)logger);
_questController.AutomationTypeChanged += OnAutomationTypeChanged;
_framework.Update += OnFrameworkUpdate;
_206B_206D_202C_206A_202A_200B_202D_200D_202E_200D_206E_202B_200E_200E_206D_206C_202E_200C_202C_202E_206E_206A_200F_206D_206D_200C_206C_206B_200F_206C_200B_200C_200F_206A_200C_202A_200F_200D_200C_202A_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
}
private void OnAutomationTypeChanged(object sender, QuestController.EAutomationType automationType)
{
if (automationType != QuestController.EAutomationType.Manual && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
int num = ((automationType == QuestController.EAutomationType.Manual) ? (-1872452755) : (-1872452756));
while (true)
{
Task.Run((Action)DisableConflictingFeatures);
}
else if (!_fateController.IsRunning && !_seasonalDutyController.IsRunning)
{
Task.Run((Action)RestoreConflictingFeatures);
int num2 = num;
int num3 = -1872452753;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
num = -1872452756;
break;
case 2:
num = (_fateController.IsRunning ? (-1872452754) : (-1872452760));
break;
case 5:
InvokeGuarded(DisableConflictingFeatures);
return;
case 7:
num = (_seasonalDutyController.IsRunning ? (-1872452754) : (-1872452757));
break;
case 1:
return;
case 4:
num = (_customDeliveryController.IsRunning ? (-1872452754) : (-1872452753));
break;
case 0:
InvokeGuarded(delegate
{
_206D_206C_200B_202A_200F_206B_202E_200B_200F_200D_200F_202C_206B_206D_202B_202E_206E_200B_200E_206D_202B_206B_206C_200C_202A_206A_202C_200C_200D_202C_206D_200D_202C_206C_206C_206F_202C_202D_200D_202B_202E(_pauser);
});
num = -1872452754;
break;
case 3:
num = (_territoryData.IsDutyInstance(_200E_202A_200D_200B_200E_206D_202B_206C_200E_206E_202A_206C_202E_206A_202B_206E_200D_200B_206D_206F_206B_200E_206D_206F_202B_202B_202E_206C_202C_206D_206E_206B_200F_206A_200D_202E_200D_200D_202E_200F_202E(_clientState)) ? (-1872452755) : (-1872452758));
break;
}
}
}
private void OnFrameworkUpdate(IFramework framework)
{
bool flag = _fateController.IsRunning || _seasonalDutyController.IsRunning;
if (flag != _wasFateRunning)
int num = (_fateController.IsRunning ? (-793436018) : (-793436032));
bool flag = default(bool);
while (true)
{
_wasFateRunning = flag;
if (flag && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
int num2 = num;
int num3 = -793436025;
int num4 = num2;
int num5;
switch ((num4 | num3) - (num4 & num3))
{
Task.Run((Action)DisableConflictingFeatures);
}
else if (_questController.AutomationType == QuestController.EAutomationType.Manual)
{
Task.Run((Action)RestoreConflictingFeatures);
case 0:
return;
case 9:
num5 = 1;
goto IL_006d;
case 6:
num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? (-793436019) : (-793436027));
break;
case 1:
InvokeGuarded(DisableConflictingFeatures);
return;
case 5:
num = -793436032;
break;
case 10:
return;
case 3:
num = (_territoryData.IsDutyInstance(_200E_202A_200D_200B_200E_206D_202B_206C_200E_206E_202A_206C_202E_206A_202B_206E_200D_200B_206D_206F_206B_200E_206D_206F_202B_202B_202E_206C_202C_206D_206E_206B_200F_206A_200D_202E_200D_200D_202E_200F_202E(_clientState)) ? (-793436031) : (-793436026));
break;
case 2:
InvokeGuarded(delegate
{
_206D_206C_200B_202A_200F_206B_202E_200B_200F_200D_200F_202C_206B_206D_202B_202E_206E_200B_200E_206D_202B_206B_206C_200C_202A_206A_202C_200C_200D_202C_206D_200D_202C_206C_206C_206F_202C_202D_200D_202B_202E(_pauser);
});
num = -793436019;
break;
case 8:
num5 = (_customDeliveryController.IsRunning ? 1 : 0);
goto IL_006d;
case 4:
_wasFateRunning = flag;
num = ((!flag) ? (-793436031) : (-793436028));
break;
case 7:
{
num = (_seasonalDutyController.IsRunning ? (-793436018) : (-793436017));
break;
}
IL_006d:
flag = (byte)num5 != 0;
num = ((flag != _wasFateRunning) ? (-793436029) : (-793436025));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void InvokeGuarded(Action action)
{
try
{
action();
}
catch (Exception ex)
{
_206D_202E_202B_202D_202A_200D_200E_200F_202D_202A_206B_202E_200C_206A_202B_200E_206E_200B_202C_202E_206E_200E_202A_206E_206C_200F_200F_206A_200D_200D_202A_200B_206E_200C_206F_200F_200E_200D_206E_202E_202E((ILogger)_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-818958467), Array.Empty<object>());
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void DisableConflictingFeatures()
{
int num = (_configuration.General.AutoSolveQte ? 851339859 : 851339856);
ImmutableHashSet<string> immutableHashSet;
while (true)
{
int num2 = num;
int num3 = 851339857;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
default:
continue;
case 2:
immutableHashSet = ConflictingFeatures.Add(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1787972166));
break;
case 1:
immutableHashSet = ConflictingFeatures;
break;
case 0:
goto IL_009c;
}
break;
IL_009c:
num = 851339856;
}
ImmutableHashSet<string> immutableHashSet2 = immutableHashSet;
_206A_200F_206A_200D_206B_200D_202B_202E_202E_206A_202D_202B_200B_202A_200C_202E_200E_202C_206E_206B_200F_202E_202B_206E_206F_200F_200C_202D_206E_200D_202D_202B_206F_206C_202C_202B_206F_200C_206B_206B_202E(_pauser, (IEnumerable<string>)immutableHashSet2.Except(_configuration.Advanced.PandoraFeatureExclusions));
}
public void Dispose()
{
_framework.Update -= OnFrameworkUpdate;
_200C_202A_200E_200E_206A_202C_202B_206F_202A_206C_200F_200F_200B_202C_206C_200F_206A_202B_200F_200E_206C_206B_206C_206F_206F_202C_200D_202D_202E_202A_202C_202D_202C_206D_200E_200B_202D_206F_202C_202E_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
_questController.AutomationTypeChanged -= OnAutomationTypeChanged;
RestoreConflictingFeatures();
_200E_206E_200B_206C_206E_206C_206E_202C_206F_202E_206D_200B_200C_206B_202B_200E_200C_200E_206A_202C_202C_200D_206C_200B_206F_206E_200C_206D_202E_202E_200E_200E_206E_200D_202D_206D_202B_200D_202B_202A_202E(_pauser);
}
private void DisableConflictingFeatures()
void IDisposable.Dispose()
{
if (_pausedFeatures != null)
{
return;
}
_pausedFeatures = new HashSet<string>();
foreach (string conflictingFeature in ConflictingFeatures)
{
TryDisableFeature(conflictingFeature);
}
if (_configuration.General.AutoSolveQte)
{
TryDisableFeature("Auto Active Time Maneuver");
}
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
private void TryDisableFeature(string feature)
static PluginFeaturePauser _202D_202B_202E_200B_206D_200B_206E_206F_206A_202A_200B_206B_206C_206B_206F_206D_200C_200D_206E_202A_200C_200D_202A_202A_200B_200D_200C_200C_206C_206F_202C_202B_200D_206A_206F_200C_206A_202C_200F_206C_202E(IDalamudPluginInterface P_0, string P_1, string P_2, ILogger P_3)
{
try
{
if (_getFeatureEnabled.InvokeFunc(feature) == true)
{
_setFeatureEnabled.InvokeAction(feature, arg2: false);
_pausedFeatures.Add(feature);
_logger.LogInformation("Paused Pandora's Box feature: {Feature}", feature);
}
}
catch (IpcError)
{
}
return new PluginFeaturePauser(P_0, P_1, P_2, P_3);
}
private void RestoreConflictingFeatures()
static void _206B_206D_202C_206A_202A_200B_202D_200D_202E_200D_206E_202B_200E_200E_206D_206C_202E_200C_202C_202E_206E_206A_200F_206D_206D_200C_206C_206B_200F_206C_200B_200C_200F_206A_200C_202A_200F_200D_200C_202A_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
if (_pausedFeatures == null)
{
return;
}
foreach (string pausedFeature in _pausedFeatures)
{
try
{
_setFeatureEnabled.InvokeAction(pausedFeature, arg2: true);
_logger.LogInformation("Restored Pandora's Box feature: {Feature}", pausedFeature);
}
catch (IpcError)
{
}
}
_pausedFeatures = null;
P_0.Update += P_1;
}
static uint _200E_202A_200D_200B_200E_206D_202B_206C_200E_206E_202A_206C_202E_206A_202B_206E_200D_200B_206D_206F_206B_200E_206D_206F_202B_202B_202E_206C_202C_206D_206E_206B_200F_206A_200D_202E_200D_200D_202E_200F_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static void _206D_202E_202B_202D_202A_200D_200E_200F_202D_202A_206B_202E_200C_206A_202B_200E_206E_200B_202C_202E_206E_200E_202A_206E_206C_200F_200F_206A_200D_200D_202A_200B_206E_200C_206F_200F_200E_200D_206E_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static void _206A_200F_206A_200D_206B_200D_202B_202E_202E_206A_202D_202B_200B_202A_200C_202E_200E_202C_206E_206B_200F_202E_202B_206E_206F_200F_200C_202D_206E_200D_202D_202B_206F_206C_202C_202B_206F_200C_206B_206B_202E(PluginFeaturePauser P_0, IEnumerable<string> P_1)
{
P_0.Disable(P_1);
}
static void _200C_202A_200E_200E_206A_202C_202B_206F_202A_206C_200F_200F_200B_202C_206C_200F_206A_202B_200F_200E_206C_206B_206C_206F_206F_202C_200D_202D_202E_202A_202C_202D_202C_206D_200E_200B_202D_206F_202C_202E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
static void _200E_206E_200B_206C_206E_206C_206E_202C_206F_202E_206D_200B_200C_206B_202B_200E_200C_200E_206A_202C_202C_200D_206C_200B_206F_206E_200C_206D_202E_202E_200E_200E_206E_200D_202D_206D_202B_200D_202B_202A_202E(PluginFeaturePauser P_0)
{
P_0.Dispose();
}
static void _206D_206C_200B_202A_200F_206B_202E_200B_200F_200D_200F_202C_206B_206D_202B_202E_206E_200B_200E_206D_202B_206B_206C_200C_202A_206A_202C_200C_200D_202C_206D_200D_202C_206C_206C_206F_202C_202D_200D_202B_202E(PluginFeaturePauser P_0)
{
P_0.Restore();
}
}

View file

@ -0,0 +1,147 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.External;
internal sealed record PathfindQuery(Vector3 From, Vector3 To, bool Fly, float Tolerance)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_200C_200B_200D_200B_206F_206F_206F_202C_200D_200B_206D_206D_200C_200E_202D_200B_202C_202D_206D_202E_200F_200E_200C_200D_202E_206A_200C_202C_206C_202E_206C_202C_206B_206F_200E_200E_202D_206F_202D_202E(typeof(PathfindQuery).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202A_206C_206E_200C_202E_202A_200E_206A_206B_200D_202D_202B_206F_202D_202E_202D_202A_206D_202E_202B_200D_202A_206D_206E_202C_200B_200D_206A_200B_206F_200D_206F_202C_206E_200D_200C_206B_206C_200C_200F_202E();
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-545098859));
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1344697862));
int num = ((!PrintMembers(stringBuilder)) ? 1387886851 : 1387886850);
while (true)
{
int num2 = num;
int num3 = 1387886851;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
_202A_202B_202D_202E_200D_202A_202B_206A_206F_206D_202D_202C_206F_206F_206E_202B_202D_206A_206F_200F_202A_200B_206C_200F_202C_202A_202B_206D_206F_200C_206D_206C_202C_200E_206C_202D_200C_206A_206F_202B_202E(stringBuilder, '}');
return _206C_202D_202B_200D_200E_200C_202C_202A_206F_202A_200C_206B_200E_206D_206E_206A_206F_206F_206E_206C_202E_200E_206E_206E_206A_202E_200D_206C_202D_200C_206A_202B_206E_200E_206B_206C_206B_206D_206F_200F_202E((object)stringBuilder);
case 1:
_202A_202B_202D_202E_200D_202A_202B_206A_206F_206D_202D_202C_206F_206F_206E_202B_202D_206A_206F_200F_202A_200B_206C_200F_202C_202A_202B_206D_206F_200C_206D_206C_202C_200E_206C_202D_200C_206A_206F_202B_202E(stringBuilder, ' ');
num = 1387886851;
break;
case 2:
num = 1387886850;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206A_206C_200E_206B_202E_200E_202E_206B_206B_202B_202E_200D_202A_202B_206E_206E_200F_206B_202A_202D_200D_202B_206E_200F_206A_202B_206B_206E_202E_206B_206C_200D_206A_206F_202B_200F_202B_202B_202C_202E();
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1869557730));
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, From.ToString());
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2060111796));
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, To.ToString());
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1534687079));
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, Fly.ToString());
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1260288266));
_206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, Tolerance.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(PathfindQuery? other)
{
int num = (((object)this == other) ? 1954014884 : 1954014889);
while (true)
{
int num2 = num;
int num3 = 1954014892;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((!EqualityComparer<bool>.Default.Equals(Fly, other.Fly)) ? 1954014894 : 1954014892);
break;
case 7:
num = ((!EqualityComparer<Vector3>.Default.Equals(From, other.From)) ? 1954014894 : 1954014893);
break;
case 5:
num = (((object)other == null) ? 1954014894 : 1954014890);
break;
case 6:
num = ((!_200D_206F_202A_200E_206F_206B_200D_202E_206D_200F_206C_200D_206C_202B_206D_206F_200B_200B_200D_200E_206C_206D_202B_200D_202E_206A_200C_200F_202E_202D_202C_206F_200C_206F_206C_206B_206C_200C_206F_206E_202E(EqualityContract, other.EqualityContract)) ? 1954014894 : 1954014891);
break;
case 8:
return true;
case 1:
num = ((!EqualityComparer<Vector3>.Default.Equals(To, other.To)) ? 1954014894 : 1954014888);
break;
case 0:
return EqualityComparer<float>.Default.Equals(Tolerance, other.Tolerance);
case 2:
return false;
case 3:
num = 1954014889;
break;
}
}
}
bool IEquatable<PathfindQuery>.Equals(PathfindQuery? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_200C_200B_200D_200B_206F_206F_206F_202C_200D_200B_206D_206D_200C_200E_202D_200B_202C_202D_206D_202E_200F_200E_200C_200D_202E_206A_200C_202C_206C_202E_206C_202C_206B_206F_200E_200E_202D_206F_202D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202A_206C_206E_200C_202E_202A_200E_206A_206B_200D_202D_202B_206F_202D_202E_202D_202A_206D_202E_202B_200D_202A_206D_206E_202C_200B_200D_206A_200B_206F_200D_206F_202C_206E_200D_200C_206B_206C_200C_200F_202E()
{
return new StringBuilder();
}
static StringBuilder _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202A_202B_202D_202E_200D_202A_202B_206A_206F_206D_202D_202C_206F_206F_206E_202B_202D_206A_206F_200F_202A_200B_206C_200F_202C_202A_202B_206D_206F_200C_206D_206C_202C_200E_206C_202D_200C_206A_206F_202B_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206C_202D_202B_200D_200E_200C_202C_202A_206F_202A_200C_206B_200E_206D_206E_206A_206F_206F_206E_206C_202E_200E_206E_206E_206A_202E_200D_206C_202D_200C_206A_202B_206E_200E_206B_206C_206B_206D_206F_200F_202E(object P_0)
{
return P_0.ToString();
}
static void _206A_206C_200E_206B_202E_200E_202E_206B_206B_202B_202E_200D_202A_202B_206E_206E_200F_206B_202A_202D_200D_202B_206E_200F_206A_202B_206B_206E_202E_206B_206C_200D_206A_206F_202B_200F_202B_202B_202C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _200D_206F_202A_200E_206F_206B_200D_202E_206D_200F_206C_200D_206C_202B_206D_206F_200B_200B_200D_200E_206C_206D_202B_200D_202E_206A_200C_200F_202E_202D_202C_206F_200C_206F_206C_206B_206C_200C_206F_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,152 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.External;
internal sealed record PathfindResult(List<Vector3> Waypoints, bool IsPartial, string PartialReason, float EndDistance)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206C_202A_206F_202D_202D_206E_202C_200E_200C_202E_200C_206B_202B_202B_206A_206D_206A_202D_206D_206C_202C_206B_202D_202D_200D_206C_202A_200F_202C_206D_206D_200B_206C_206E_202C_206E_206E_206E_206B_206E_202E(typeof(PathfindResult).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202D_206F_202B_202D_202C_202A_206A_206D_202B_206A_206C_200F_200C_202D_200C_200E_206F_206C_206D_206C_206D_200F_202A_206E_206F_202C_202C_206B_206F_202B_206A_200F_206C_202D_206A_200B_206A_202B_200F_200C_202E();
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1943456613));
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(556540328));
int num = ((!PrintMembers(stringBuilder)) ? (-2114676598) : (-2114676599));
while (true)
{
int num2 = num;
int num3 = -2114676600;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -2114676599;
break;
case 1:
_206D_206C_206B_206D_206A_200B_202C_202C_200F_202C_206F_206E_200D_200C_206B_206B_200B_200C_206D_200C_202E_206B_206B_206E_200F_200F_202A_206C_200D_206A_200E_200E_200D_202D_200C_206B_206B_206C_200E_206D_202E(stringBuilder, ' ');
num = -2114676598;
break;
case 2:
_206D_206C_206B_206D_206A_200B_202C_202C_200F_202C_206F_206E_200D_200C_206B_206B_200B_200C_206D_200C_202E_206B_206B_206E_200F_200F_202A_206C_200D_206A_200E_200E_200D_202D_200C_206B_206B_206C_200E_206D_202E(stringBuilder, '}');
return _202B_202B_202C_200F_202E_200B_200B_200D_200D_200C_202D_200F_202A_202A_200F_200E_202A_206A_200C_200E_202C_200E_206B_200D_206B_206C_206F_202E_202C_206E_200E_200B_200D_200F_202E_206A_200B_206C_200F_202D_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202A_206D_206B_206B_202A_202D_202D_200F_202C_200B_206B_206C_202A_200D_206B_202C_206E_200B_206C_202D_202C_200C_202C_200B_206A_206B_202B_200C_202C_200D_200E_206C_202E_200E_202E_206C_202C_202E_206D_202E();
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-677874438));
_200B_200D_206C_200D_202D_200C_206D_200B_206B_202A_206D_206C_200D_200D_202D_206C_206F_202B_200D_200F_200D_202E_206B_202C_206D_202C_206C_202D_200B_202D_206D_200F_206F_200F_200B_206C_206F_200F_202E_206E_202E(builder, (object)Waypoints);
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-779972961));
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, IsPartial.ToString());
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1363935452));
_200B_200D_206C_200D_202D_200C_206D_200B_206B_202A_206D_206C_200D_200D_202D_206C_206F_202B_200D_200F_200D_202E_206B_202C_206D_202C_206C_202D_200B_202D_206D_200F_206F_200F_200B_206C_206F_200F_202E_206E_202E(builder, (object)PartialReason);
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-243342175));
_206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, EndDistance.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(PathfindResult? other)
{
int num = (((object)this == other) ? (-28872494) : (-28872490));
while (true)
{
int num2 = num;
int num3 = -28872494;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
return false;
case 3:
num = ((!EqualityComparer<bool>.Default.Equals(IsPartial, other.IsPartial)) ? (-28872492) : (-28872486));
break;
case 7:
num = ((!_202A_206F_206F_202A_202C_202D_202C_200D_202E_202D_200E_200B_206C_200D_202D_202A_200C_200F_202A_200D_200E_202E_206A_206D_200D_200C_206D_206E_202C_206B_202C_206D_202A_206A_206F_206F_206C_206B_206E_202E_202E(EqualityContract, other.EqualityContract)) ? (-28872492) : (-28872493));
break;
case 5:
num = -28872490;
break;
case 8:
num = ((!EqualityComparer<string>.Default.Equals(PartialReason, other.PartialReason)) ? (-28872492) : (-28872496));
break;
case 4:
num = (((object)other == null) ? (-28872492) : (-28872491));
break;
case 1:
num = ((!EqualityComparer<List<Vector3>>.Default.Equals(Waypoints, other.Waypoints)) ? (-28872492) : (-28872495));
break;
case 0:
return true;
case 2:
return EqualityComparer<float>.Default.Equals(EndDistance, other.EndDistance);
}
}
}
bool IEquatable<PathfindResult>.Equals(PathfindResult? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206C_202A_206F_202D_202D_206E_202C_200E_200C_202E_200C_206B_202B_202B_206A_206D_206A_202D_206D_206C_202C_206B_202D_202D_200D_206C_202A_200F_202C_206D_206D_200B_206C_206E_202C_206E_206E_206E_206B_206E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202D_206F_202B_202D_202C_202A_206A_206D_202B_206A_206C_200F_200C_202D_200C_200E_206F_206C_206D_206C_206D_200F_202A_206E_206F_202C_202C_206B_206F_202B_206A_200F_206C_202D_206A_200B_206A_202B_200F_200C_202E()
{
return new StringBuilder();
}
static StringBuilder _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206D_206C_206B_206D_206A_200B_202C_202C_200F_202C_206F_206E_200D_200C_206B_206B_200B_200C_206D_200C_202E_206B_206B_206E_200F_200F_202A_206C_200D_206A_200E_200E_200D_202D_200C_206B_206B_206C_200E_206D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202B_202B_202C_200F_202E_200B_200B_200D_200D_200C_202D_200F_202A_202A_200F_200E_202A_206A_200C_200E_202C_200E_206B_200D_206B_206C_206F_202E_202C_206E_200E_200B_200D_200F_202E_206A_200B_206C_200F_202D_202E(object P_0)
{
return P_0.ToString();
}
static void _202A_206D_206B_206B_202A_202D_202D_200F_202C_200B_206B_206C_202A_200D_206B_202C_206E_200B_206C_202D_202C_200C_202C_200B_206A_206B_202B_200C_202C_200D_200E_206C_202E_200E_202E_206C_202C_202E_206D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200B_200D_206C_200D_202D_200C_206D_200B_206B_202A_206D_206C_200D_200D_202D_206C_206F_202B_200D_200F_200D_202E_206B_202C_206D_202C_206C_202D_200B_202D_206D_200F_206F_200F_200B_206C_206F_200F_202E_206E_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202A_206F_206F_202A_202C_202D_202C_200D_202E_202D_200E_200B_206C_200D_202D_202A_200C_200F_202A_200D_200E_202E_206A_206D_200D_200C_206D_206E_202C_206B_202C_206D_202A_206A_206F_206F_206C_206B_206E_202E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,11 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
using Questionable.Controller;
namespace Questionable.External;
@ -32,16 +35,24 @@ internal sealed class TextAdvanceIpc : IDisposable
private bool _isExternalControlActivated;
private long _ipcRetryAfter;
private bool _lastCinemaModeState;
private bool _lastInCutsceneState;
private bool _lastSuppressRequestState;
private readonly QuestController _questController;
private readonly FateController _fateController;
private readonly SeasonalDutyController _seasonalDutyController;
private readonly AttunementController _attunementController;
private readonly CustomDeliveryController _customDeliveryController;
private readonly Configuration _configuration;
private readonly ICondition _condition;
@ -56,80 +67,215 @@ internal sealed class TextAdvanceIpc : IDisposable
private readonly string _pluginName;
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, Configuration configuration, ICondition condition)
private readonly ILogger<TextAdvanceIpc> _logger;
[MethodImpl(MethodImplOptions.NoInlining)]
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, CustomDeliveryController customDeliveryController, Configuration configuration, ICondition condition, ILogger<TextAdvanceIpc> logger)
{
_framework = framework;
_questController = questController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_attunementController = attunementController;
_customDeliveryController = customDeliveryController;
_configuration = configuration;
_condition = condition;
_isInExternalControl = pluginInterface.GetIpcSubscriber<bool>("TextAdvance.IsInExternalControl");
_enableExternalControl = pluginInterface.GetIpcSubscriber<string, ExternalTerritoryConfig, bool>("TextAdvance.EnableExternalControl");
_disableExternalControl = pluginInterface.GetIpcSubscriber<string, bool>("TextAdvance.DisableExternalControl");
_pluginName = pluginInterface.InternalName;
_framework.Update += OnUpdate;
_logger = logger;
_isInExternalControl = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(-67666831));
_enableExternalControl = pluginInterface.GetIpcSubscriber<string, ExternalTerritoryConfig, bool>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(-228954423));
_disableExternalControl = pluginInterface.GetIpcSubscriber<string, bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(-324739652));
_pluginName = _202E_200E_200D_200F_206B_200E_200B_206E_200D_206F_202B_200C_200D_200D_206C_206F_202D_200B_202B_206A_202A_206A_202B_206A_200D_202A_206E_200E_206D_200F_206B_206A_206D_206F_200D_206A_202C_200C_202A_206D_202E(pluginInterface);
_202C_206B_206B_206D_200B_200F_206D_202D_206E_206F_202E_202C_200E_206D_206C_200C_202C_200D_206E_200D_202D_202C_200C_202C_206A_200D_206C_200D_206E_202D_202A_200E_206B_202A_206B_200E_206C_206F_206F_202D_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
_framework.Update -= OnUpdate;
_200B_200C_202D_206D_202B_206C_200B_206C_200C_200D_202C_202D_200D_202E_206C_206C_200F_200B_202B_202A_206C_206E_200D_206E_206A_202E_206D_202E_202B_200F_200F_202C_202B_200D_206B_202A_206D_202D_202C_206E_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate);
if (_isExternalControlActivated)
{
_disableExternalControl.InvokeFunc(_pluginName);
try
{
_disableExternalControl.InvokeFunc(_pluginName);
}
catch (IpcError ipcError)
{
_202A_200F_202C_202B_206C_202C_200D_206A_206D_202C_200D_202E_202E_206B_202D_202B_206B_202B_206A_206A_202E_200E_200E_202B_202B_206A_206A_202E_202D_206C_206A_200E_200B_202B_206C_200F_206F_202E_200B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(1974302231), Array.Empty<object>());
}
}
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void OnUpdate(IFramework framework)
{
bool flag = _questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual || _fateController.IsRunning || _seasonalDutyController.IsRunning;
if (!_configuration.General.ConfigureTextAdvance || !flag)
int num = ((_202B_202E_206D_202D_206E_200C_200B_200B_200C_206A_200B_200E_202A_200F_202B_200B_206E_206B_202E_206D_200E_200B_206E_206C_206F_202E_200F_206C_206F_200B_206F_206D_200F_200E_200C_200C_206A_206E_206A_202A_202E() >= _ipcRetryAfter) ? 1976969313 : 1976969312);
while (true)
{
if (_isExternalControlActivated && (_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc()))
int num2 = num;
int num3 = 1976969313;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_isExternalControlActivated = false;
}
return;
}
bool cinemaMode = _configuration.General.CinemaMode;
bool flag2 = _condition[ConditionFlag.OccupiedInCutSceneEvent] || _condition[ConditionFlag.WatchingCutscene] || _condition[ConditionFlag.WatchingCutscene78];
bool flag3 = cinemaMode != _lastCinemaModeState || (cinemaMode && flag2 != _lastInCutsceneState);
if (!_isExternalControlActivated)
{
if (!_isInExternalControl.InvokeFunc())
{
ExternalTerritoryConfig arg = CreateExternalTerritoryConfig(cinemaMode, flag2);
if (_enableExternalControl.InvokeFunc(_pluginName, arg))
case 2:
goto IL_004d;
case 1:
return;
case 0:
try
{
_isExternalControlActivated = true;
_lastCinemaModeState = cinemaMode;
_lastInCutsceneState = flag2;
OnUpdateInner();
return;
}
catch (IpcError ipcError)
{
_202A_200F_202C_202B_206C_202C_200D_206A_206D_202C_200D_202E_202E_206B_202D_202B_206B_202B_206A_206A_202E_200E_200E_202B_202B_206A_206A_202E_202D_206C_206A_200E_200B_202B_206C_200F_206F_202E_200B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1033634384), Array.Empty<object>());
_ipcRetryAfter = _202B_202E_206D_202D_206E_200C_200B_200B_200C_206A_200B_200E_202A_200F_202B_200B_206E_206B_202E_206D_200E_200B_206E_206C_206F_202E_200F_206C_206F_200B_206F_206D_200F_200E_200C_200C_206A_206E_206A_202A_202E() + 30000;
return;
}
}
}
else if (flag3)
{
ExternalTerritoryConfig arg2 = CreateExternalTerritoryConfig(cinemaMode, flag2);
_enableExternalControl.InvokeFunc(_pluginName, arg2);
_lastCinemaModeState = cinemaMode;
_lastInCutsceneState = flag2;
continue;
IL_004d:
num = 1976969312;
}
}
private static ExternalTerritoryConfig CreateExternalTerritoryConfig(bool cinemaMode, bool inCutscene)
private void OnUpdateInner()
{
bool flag = cinemaMode && inCutscene;
//Discarded unreachable code: IL_0182
int num = (_questController.IsRunning ? (-758359221) : (-758359219));
bool flag = default(bool);
while (true)
{
int num2 = num;
int num3 = -758359224;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
int num7;
switch (num5 - (num6 + num6))
{
case 2:
if (!_isExternalControlActivated)
{
return;
}
goto case 5;
case 5:
num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? (-758359221) : (-758359220));
break;
case 8:
num7 = (_customDeliveryController.IsRunning ? 1 : 0);
goto IL_011a;
case 1:
num = (_seasonalDutyController.IsRunning ? (-758359221) : (-758359218));
break;
case 0:
num = -758359219;
break;
case 4:
num = (_fateController.IsRunning ? (-758359221) : (-758359223));
break;
case 3:
num7 = 1;
goto IL_011a;
case 6:
num = (_attunementController.IsRunning ? (-758359221) : (-758359232));
break;
case 7:
{
if (!flag)
{
num = -758359222;
break;
}
bool cinemaMode = _configuration.General.CinemaMode;
bool flag2 = _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(_condition, ConditionFlag.OccupiedInCutSceneEvent) || _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(_condition, ConditionFlag.WatchingCutscene) || _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(_condition, ConditionFlag.WatchingCutscene78);
bool flag3 = _customDeliveryController.IsRunning && !_questController.IsRunning && _questController.AutomationType == QuestController.EAutomationType.Manual && !_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_attunementController.IsRunning;
bool flag4 = cinemaMode != _lastCinemaModeState || (cinemaMode && flag2 != _lastInCutsceneState) || flag3 != _lastSuppressRequestState;
if (!_isExternalControlActivated)
{
if (!_isInExternalControl.InvokeFunc())
{
ExternalTerritoryConfig arg = CreateExternalTerritoryConfig(cinemaMode, flag2, flag3);
if (_enableExternalControl.InvokeFunc(_pluginName, arg))
{
_isExternalControlActivated = true;
_lastCinemaModeState = cinemaMode;
_lastInCutsceneState = flag2;
_lastSuppressRequestState = flag3;
}
}
}
else if (flag4)
{
ExternalTerritoryConfig arg2 = CreateExternalTerritoryConfig(cinemaMode, flag2, flag3);
_enableExternalControl.InvokeFunc(_pluginName, arg2);
_lastCinemaModeState = cinemaMode;
_lastInCutsceneState = flag2;
_lastSuppressRequestState = flag3;
}
return;
}
IL_011a:
flag = (byte)num7 != 0;
num = ((!_configuration.General.ConfigureTextAdvance) ? (-758359222) : (-758359217));
break;
}
}
}
private static ExternalTerritoryConfig CreateExternalTerritoryConfig(bool cinemaMode, bool inCutscene, bool suppressRequestHandling)
{
bool flag = (byte)((uint)((cinemaMode ? 1 : 0) + (inCutscene ? 1 : 0)) - ((cinemaMode || inCutscene) ? 1u : 0u)) != 0;
return new ExternalTerritoryConfig
{
EnableQuestAccept = true,
EnableQuestComplete = true,
EnableRewardPick = true,
EnableRequestHandin = true,
EnableRequestHandin = !suppressRequestHandling,
EnableCutsceneEsc = !cinemaMode,
EnableCutsceneSkipConfirm = !cinemaMode,
EnableTalkSkip = !flag,
EnableRequestFill = true,
EnableRequestFill = !suppressRequestHandling,
EnableAutoInteract = false
};
}
static string _202E_200E_200D_200F_206B_200E_200B_206E_200D_206F_202B_200C_200D_200D_206C_206F_202D_200B_202B_206A_202A_206A_202B_206A_200D_202A_206E_200E_206D_200F_206B_206A_206D_206F_200D_206A_202C_200C_202A_206D_202E(IDalamudPluginInterface P_0)
{
return P_0.InternalName;
}
static void _202C_206B_206B_206D_200B_200F_206D_202D_206E_206F_202E_202C_200E_206D_206C_200C_202C_200D_206E_200D_202D_202C_200C_202C_206A_200D_206C_200D_206E_202D_202A_200E_206B_202A_206B_200E_206C_206F_206F_202D_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update += P_1;
}
static void _200B_200C_202D_206D_202B_206C_200B_206C_200C_200D_202C_202D_200D_202E_206C_206C_200F_200B_202B_202A_206C_206E_200D_206E_206A_202E_206D_202E_202B_200F_200F_202C_202B_200D_206B_202A_206D_202D_202C_206E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
static void _202A_200F_202C_202B_206C_202C_200D_206A_206D_202C_200D_202E_202E_206B_202D_202B_206B_202B_206A_206A_202E_200E_200E_202B_202B_206A_206A_202E_202D_206C_206A_200E_200B_202B_206C_200F_206F_202E_200B_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogDebug(P_1, P_2, P_3);
}
static long _202B_202E_206D_202D_206E_200C_200B_200B_200C_206A_200B_200E_202A_200F_202B_200B_206E_206B_202E_206D_200E_200B_206E_206C_206F_202E_200F_206C_206F_200B_206F_206D_200F_200E_200C_200C_206A_206E_206A_202A_202E()
{
return Environment.TickCount64;
}
static bool _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
}

View file

@ -0,0 +1,359 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
namespace Questionable.External;
internal sealed class WigglyNavAvailability : IDisposable
{
private const int SupportedMajorVersion = 1;
private const string WigglyNavInternalName = "WigglyNav";
private const long ReprobeIntervalMs = 5000L;
private readonly IDalamudPluginInterface _pluginInterface;
private readonly WigglyNavIpc _wigglyNavIpc;
private readonly IFramework _framework;
private readonly ILogger<WigglyNavAvailability> _logger;
private readonly object _verdictLock = _206B_206F_202A_202D_200B_202E_206F_200F_206E_206E_200C_202E_206B_200B_202B_202A_206A_202A_200C_200B_200B_206E_206C_200B_206C_200F_206B_206B_202C_200C_206A_206F_202C_200F_206D_206B_202A_200C_206C_202E();
private volatile bool _isCompatible;
private long _lastProbeTicks;
[CompilerGenerated]
private Action? m_CompatibilityChanged;
public bool IsCompatible => _isCompatible;
public event Action? CompatibilityChanged
{
[CompilerGenerated]
add
{
Action action = this.m_CompatibilityChanged;
int num = 1991447574;
while (true)
{
int num2 = num;
int num3 = 1991447575;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 1991447574;
break;
case 1:
{
Action action2 = action;
Action value2 = (Action)_206F_202D_202C_206D_200D_200D_206A_202A_200E_202A_206C_206C_206C_202C_206E_202E_202A_202B_202C_202C_202D_202C_200B_206C_206F_202B_200E_206E_202D_206A_200D_200C_202E_206C_206E_200F_202D_206B_200B_202B_202E((Delegate)action2, (Delegate)value);
action = Interlocked.CompareExchange(ref this.m_CompatibilityChanged, value2, action2);
num = (((object)action != action2) ? 1991447574 : 1991447575);
break;
}
case 0:
return;
}
}
}
[CompilerGenerated]
remove
{
Action action = this.m_CompatibilityChanged;
int num = -280781093;
while (true)
{
int num2 = num;
int num3 = -280781094;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -280781093;
break;
case 2:
return;
case 1:
{
Action action2 = action;
Action value2 = (Action)_202C_200B_206A_206E_206D_202D_206B_206E_206C_206A_200F_200C_200B_206B_206C_206F_200D_200E_202A_202E_202E_206C_206F_200F_202D_206E_200C_206F_202E_206E_202A_200C_200E_202B_200C_200E_202B_202D_206F_200C_202E((Delegate)action2, (Delegate)value);
action = Interlocked.CompareExchange(ref this.m_CompatibilityChanged, value2, action2);
num = (((object)action != action2) ? (-280781093) : (-280781096));
break;
}
}
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public WigglyNavAvailability(IDalamudPluginInterface pluginInterface, WigglyNavIpc wigglyNavIpc, IFramework framework, ILogger<WigglyNavAvailability> logger)
{
_pluginInterface = pluginInterface;
_wigglyNavIpc = wigglyNavIpc;
_framework = framework;
_logger = logger;
TryRefreshVerdict(respectThrottle: false);
_206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(65257321), new object[1] { DescribeVerdict(_isCompatible) });
_206B_202D_200B_202C_200F_202D_202D_202B_206B_200F_200C_202B_200F_202E_202D_206A_202D_206F_202E_200B_206B_202C_200F_202C_206A_200B_202C_202A_206F_202E_200D_200D_206B_202D_200F_206A_200E_202B_200E_206E_202E(_pluginInterface, (IDalamudPluginInterface.ActivePluginsChangedDelegate)OnActivePluginsChanged);
_200B_206F_206C_202B_206B_200B_200B_202B_202D_206F_206E_200F_202D_206E_206B_202B_206F_202D_206E_206C_202A_206C_206F_200D_202E_202B_206F_202B_200B_200F_206B_200B_206C_202A_200D_200F_202E_206F_200C_206A_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
}
public void Dispose()
{
_200D_206B_200F_206F_200B_206F_200D_202B_200C_202B_200D_202B_200C_206C_200D_202B_200C_202A_202C_200F_202A_202A_200C_200C_206A_202E_202B_206F_202A_206D_202A_202A_202A_206F_200E_206D_206B_202C_200B_206B_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
_200E_200C_202C_200B_202C_200F_206B_202C_202D_202D_200D_206C_206C_202C_200B_200D_206E_206E_206B_206D_202B_200D_200B_200C_206F_202E_200D_200C_202B_206B_202A_200E_206D_200C_202C_206D_200D_200C_202E_206B_202E(_pluginInterface, (IDalamudPluginInterface.ActivePluginsChangedDelegate)OnActivePluginsChanged);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void OnActivePluginsChanged(IActivePluginsChangedEventArgs args)
{
int num = (_200D_202D_202C_200E_206A_200E_202B_206A_206A_202B_200F_202B_206E_206D_206C_206B_206A_200C_206B_200E_200F_206D_206B_202A_206E_202D_206A_202E_202E_202A_206B_200E_200B_206A_206A_200F_206E_206C_206D_206C_202E(args).Contains(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1385994134)) ? (-92936946) : (-92936947));
while (true)
{
int num2 = num;
int num3 = -92936946;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -92936947;
break;
case 3:
return;
case 1:
_206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1087087773), new object[2]
{
DescribeVerdict(_isCompatible),
_202B_206B_200B_202C_202B_206D_206C_206E_206E_206D_202B_200E_202B_200E_206E_206E_200B_206D_202E_206E_200C_202E_206C_200D_202C_200F_200F_206D_200E_202B_200C_202C_206E_202C_202C_206B_200F_206C_206F_206B_202E(args)
});
this.CompatibilityChanged?.Invoke();
return;
case 4:
return;
case 0:
num = (TryRefreshVerdict(respectThrottle: false) ? (-92936945) : (-92936950));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void OnFrameworkUpdate(IFramework framework)
{
int num = ((!_isCompatible) ? (-1065706762) : (-1065706763));
while (true)
{
int num2 = num;
int num3 = -1065706764;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return;
case 1:
return;
case 0:
_206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1036219173), new object[1] { DescribeVerdict(_isCompatible) });
this.CompatibilityChanged?.Invoke();
return;
case 2:
num = (TryRefreshVerdict(respectThrottle: true) ? (-1065706764) : (-1065706768));
break;
case 3:
num = -1065706763;
break;
}
}
}
private bool TryRefreshVerdict(bool respectThrottle)
{
object verdictLock = _verdictLock;
bool flag = false;
try
{
_202D_206B_202A_206F_202C_202E_202C_200F_202C_200F_202A_206F_202E_206D_206C_206F_202E_206F_206B_200D_202B_202E_200C_202A_200B_200E_202E_202A_206E_206E_202B_200F_200C_206E_200C_202A_200B_202E_202A_202C_202E(verdictLock, ref flag);
long num = _200D_206F_206B_202C_206E_206F_206B_206E_200B_200D_202D_202E_202E_202A_200C_200E_200D_206A_202C_200F_202C_202B_202C_202D_200B_202A_202B_200F_206D_206D_206F_206D_202A_202A_206A_206E_206A_202D_206B_202C_202E();
int num2 = ((!respectThrottle) ? 1824469596 : 1824469599);
(int, int)? tuple = default((int, int)?);
bool flag2 = default(bool);
while (true)
{
int num3 = num2;
int num4 = 1824469594;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
int num8;
switch (num6 - (num7 + num7))
{
case 7:
return false;
case 1:
num8 = 0;
goto IL_008c;
case 3:
num2 = 1824469599;
break;
case 5:
{
long lastProbeTicks = _lastProbeTicks;
long num9 = num;
num2 = ((~(~num9 + lastProbeTicks) >= 5000) ? 1824469596 : 1824469592);
break;
}
case 6:
_lastProbeTicks = num;
tuple = _wigglyNavIpc.TryGetApiVersion();
num2 = ((!tuple.HasValue) ? 1824469595 : 1824469598);
break;
case 4:
num8 = ((tuple.GetValueOrDefault().Item1 == 1) ? 1 : 0);
goto IL_008c;
case 2:
return false;
case 0:
{
_isCompatible = flag2;
return true;
}
IL_008c:
flag2 = (byte)num8 != 0;
num2 = ((flag2 != _isCompatible) ? 1824469594 : 1824469597);
break;
}
}
}
finally
{
int num2 = ((!flag) ? (-176733866) : (-176733867));
while (true)
{
int num10 = num2;
int num4 = -176733865;
int num5 = num10;
switch ((num5 | num4) - (num5 & num4))
{
case 0:
num2 = -176733867;
break;
case 1:
goto end_IL_018f;
case 2:
_206E_202E_206D_202A_200B_206A_206D_206B_206C_202A_206A_200D_200F_200D_202E_200D_206D_202E_200B_202D_200B_206C_206D_206F_200E_200B_200F_202D_202E_202A_202B_200B_202E_206A_206F_200E_200E_200C_206E_202E(verdictLock);
num2 = -176733866;
break;
}
continue;
end_IL_018f:
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static string DescribeVerdict(bool isCompatible)
{
int num = (isCompatible ? (-1280870548) : (-1280870547));
while (true)
{
int num2 = num;
int num3 = -1280870548;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0041;
case 0:
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(2037209373);
case 1:
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(424588411);
}
continue;
IL_0041:
num = -1280870547;
}
}
static object _206B_206F_202A_202D_200B_202E_206F_200F_206E_206E_200C_202E_206B_200B_202B_202A_206A_202A_200C_200B_200B_206E_206C_200B_206C_200F_206B_206B_202C_200C_206A_206F_202C_200F_206D_206B_202A_200C_206C_202E()
{
return new object();
}
static void _206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _206B_202D_200B_202C_200F_202D_202D_202B_206B_200F_200C_202B_200F_202E_202D_206A_202D_206F_202E_200B_206B_202C_200F_202C_206A_200B_202C_202A_206F_202E_200D_200D_206B_202D_200F_206A_200E_202B_200E_206E_202E(IDalamudPluginInterface P_0, IDalamudPluginInterface.ActivePluginsChangedDelegate P_1)
{
P_0.ActivePluginsChanged += P_1;
}
static void _200B_206F_206C_202B_206B_200B_200B_202B_202D_206F_206E_200F_202D_206E_206B_202B_206F_202D_206E_206C_202A_206C_206F_200D_202E_202B_206F_202B_200B_200F_206B_200B_206C_202A_200D_200F_202E_206F_200C_206A_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update += P_1;
}
static Delegate _206F_202D_202C_206D_200D_200D_206A_202A_200E_202A_206C_206C_206C_202C_206E_202E_202A_202B_202C_202C_202D_202C_200B_206C_206F_202B_200E_206E_202D_206A_200D_200C_202E_206C_206E_200F_202D_206B_200B_202B_202E(Delegate P_0, Delegate P_1)
{
return Delegate.Combine(P_0, P_1);
}
static Delegate _202C_200B_206A_206E_206D_202D_206B_206E_206C_206A_200F_200C_200B_206B_206C_206F_200D_200E_202A_202E_202E_206C_206F_200F_202D_206E_200C_206F_202E_206E_202A_200C_200E_202B_200C_200E_202B_202D_206F_200C_202E(Delegate P_0, Delegate P_1)
{
return Delegate.Remove(P_0, P_1);
}
static void _200D_206B_200F_206F_200B_206F_200D_202B_200C_202B_200D_202B_200C_206C_200D_202B_200C_202A_202C_200F_202A_202A_200C_200C_206A_202E_202B_206F_202A_206D_202A_202A_202A_206F_200E_206D_206B_202C_200B_206B_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
static void _200E_200C_202C_200B_202C_200F_206B_202C_202D_202D_200D_206C_206C_202C_200B_200D_206E_206E_206B_206D_202B_200D_200B_200C_206F_202E_200D_200C_202B_206B_202A_200E_206D_200C_202C_206D_200D_200C_202E_206B_202E(IDalamudPluginInterface P_0, IDalamudPluginInterface.ActivePluginsChangedDelegate P_1)
{
P_0.ActivePluginsChanged -= P_1;
}
static IEnumerable<string> _200D_202D_202C_200E_206A_200E_202B_206A_206A_202B_200F_202B_206E_206D_206C_206B_206A_200C_206B_200E_200F_206D_206B_202A_206E_202D_206A_202E_202E_202A_206B_200E_200B_206A_206A_200F_206E_206C_206D_206C_202E(IActivePluginsChangedEventArgs P_0)
{
return P_0.AffectedInternalNames;
}
static PluginListInvalidationKind _202B_206B_200B_202C_202B_206D_206C_206E_206E_206D_202B_200E_202B_200E_206E_206E_200B_206D_202E_206E_200C_202E_206C_200D_202C_200F_200F_206D_200E_202B_200C_202C_206E_202C_202C_206B_200F_206C_206F_206B_202E(IActivePluginsChangedEventArgs P_0)
{
return P_0.Kind;
}
static void _202D_206B_202A_206F_202C_202E_202C_200F_202C_200F_202A_206F_202E_206D_206C_206F_202E_206F_206B_200D_202B_202E_200C_202A_200B_200E_202E_202A_206E_206E_202B_200F_200C_206E_200C_202A_200B_202E_202A_202C_202E(object P_0, ref bool P_1)
{
Monitor.Enter(P_0, ref P_1);
}
static long _200D_206F_206B_202C_206E_206F_206B_206E_200B_200D_202D_202E_202E_202A_200C_200E_200D_206A_202C_200F_202C_202B_202C_202D_200B_202A_202B_200F_206D_206D_206F_206D_202A_202A_206A_206E_206A_202D_206B_202C_202E()
{
return Environment.TickCount64;
}
static void _206E_202E_206D_202A_200B_206A_206D_206B_206C_202A_206A_200D_200F_200D_202E_200D_206D_202E_200B_202D_200B_206C_206D_206F_200E_200B_200F_202D_202E_202A_202B_200B_202E_206A_206F_200E_200E_200C_206E_202E(object P_0)
{
Monitor.Exit(P_0);
}
}

View file

@ -0,0 +1,626 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
namespace Questionable.External;
internal sealed class WigglyNavIpc
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass26_0
{
public WigglyNavIpc _003C_003E4__this;
public CancellationToken cancellationToken;
public PathfindQuery query;
internal Task<string>? _003CPathfind_003Eb__0()
{
return _003C_003E4__this._pathfind.InvokeFunc(query, cancellationToken);
}
}
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass31_0
{
public WigglyNavIpc _003C_003E4__this;
public Vector3 position;
public float halfExtentXZ;
public float halfExtentY;
internal Vector3? _003CFindNearestMeshPoint_003Eb__0()
{
return _003C_003E4__this._nearestPoint.InvokeFunc(position, _202B_206C_200C_200E_200F_202E_202E_200F_206A_200D_200E_202B_206B_202A_200D_200B_202A_202C_202E_202C_206F_206B_200F_206B_200E_200B_200F_206D_200E_200C_206B_200B_206B_200F_200E_200B_202A_202B_202D_202E_202E(halfExtentXZ, halfExtentY));
}
static float _202B_206C_200C_200E_200F_202E_202E_200F_206A_200D_200E_202B_206B_202A_200D_200B_202A_202C_202E_202C_206F_206B_200F_206B_200E_200B_200F_206D_200E_200C_206B_200B_206B_200F_200E_200B_202A_202B_202D_202E_202E(float P_0, float P_1)
{
return MathF.Max(P_0, P_1);
}
}
[StructLayout(LayoutKind.Auto)]
[CompilerGenerated]
private struct _003CPathfind_003Ed__26 : IAsyncStateMachine
{
public int _003C_003E1__state;
public AsyncTaskMethodBuilder<PathfindResult> _003C_003Et__builder;
public WigglyNavIpc _003C_003E4__this;
public CancellationToken cancellationToken;
public Vector3 from;
public Vector3 to;
public bool fly;
public float tolerance;
private ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter _003C_003Eu__1;
[MethodImpl(MethodImplOptions.NoInlining)]
private void MoveNext()
{
int num = _003C_003E1__state;
WigglyNavIpc wigglyNavIpc = _003C_003E4__this;
PathfindResult result2;
try
{
int num2 = ((num == 0) ? (-1011094235) : (-1011094234));
_003C_003Ec__DisplayClass26_0 _003C_003Ec__DisplayClass26_ = default(_003C_003Ec__DisplayClass26_0);
ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter awaiter = default(ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter);
Task<string> task = default(Task<string>);
while (true)
{
int num3 = num2;
int num4 = -1011094236;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 0:
num2 = -1011094234;
break;
case 2:
_003C_003Ec__DisplayClass26_ = new _003C_003Ec__DisplayClass26_0
{
_003C_003E4__this = _003C_003E4__this,
cancellationToken = cancellationToken
};
_200F_206C_206B_202E_202C_206F_202C_206A_206F_206C_206D_200E_206E_206A_202B_200B_206D_206D_206F_206E_200C_202B_202B_200F_206F_200B_202A_206D_206D_206E_206A_200B_206B_200D_202C_206F_200F_200E_200C_202D_202E(ref wigglyNavIpc._outstandingPathfinds);
num2 = -1011094235;
break;
case 1:
try
{
num2 = ((num == 0) ? 1011479215 : 1011479213);
while (true)
{
int num8 = num2;
num4 = 1011479211;
num5 = num8;
int num9 = num5 + num4;
int num10 = num5 & num4;
switch (num9 - (num10 + num10))
{
case 4:
awaiter = _003C_003Eu__1;
_003C_003Eu__1 = default(ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter);
num = (_003C_003E1__state = -1);
num2 = 1011479208;
break;
case 6:
_003C_003Ec__DisplayClass26_.query = new PathfindQuery(from, to, fly, tolerance);
task = Guarded(_003C_003Ec__DisplayClass26_._003CPathfind_003Eb__0);
num2 = ((task != null) ? 1011479209 : 1011479210);
break;
case 1:
_200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)wigglyNavIpc._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(433157232), Array.Empty<object>());
result2 = EmptyPathfindResult();
goto end_IL_00bb;
case 5:
num2 = 1011479213;
break;
case 2:
awaiter = task.ConfigureAwait(continueOnCapturedContext: false).GetAwaiter();
num2 = (awaiter.IsCompleted ? 1011479208 : 1011479211);
break;
case 0:
num = (_003C_003E1__state = 0);
_003C_003Eu__1 = awaiter;
_003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this);
return;
case 3:
{
string result = awaiter.GetResult();
try
{
PathfindResult pathfindResult = JsonConvert.DeserializeObject<PathfindResult>(result);
num2 = (((object)pathfindResult == null) ? 1753402747 : 1753402745);
while (true)
{
int num11 = num2;
num4 = 1753402744;
num5 = num11;
switch ((num5 | num4) - (num5 & num4))
{
case 0:
num2 = 1753402745;
break;
case 1:
num2 = ((pathfindResult.Waypoints != null) ? 1753402746 : 1753402747);
break;
case 3:
_200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)wigglyNavIpc._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1821206779), Array.Empty<object>());
result2 = EmptyPathfindResult();
goto end_IL_024d;
case 2:
result2 = pathfindResult;
goto end_IL_024d;
}
continue;
end_IL_024d:
break;
}
}
catch (JsonException ex)
{
_206B_200D_200C_206C_200B_202B_202D_200B_206E_206F_200F_200D_206A_206B_200E_206B_200D_200C_206D_200F_200E_206B_200F_202A_200E_200E_206C_200D_206C_206B_206A_206F_206F_206B_206F_200B_206E_206F_200F_206F_202E((ILogger)wigglyNavIpc._logger, (Exception)ex, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1517525166), Array.Empty<object>());
result2 = EmptyPathfindResult();
}
goto end_IL_00bb;
}
}
continue;
end_IL_00bb:
break;
}
}
finally
{
num2 = ((num >= 0) ? (-420000776) : (-420000773));
while (true)
{
int num12 = num2;
num4 = -420000774;
num5 = num12;
switch ((num5 | num4) - (num5 & num4))
{
case 0:
num2 = -420000773;
break;
case 2:
goto end_IL_032e;
case 1:
_200C_200C_202A_200C_200F_206D_206A_206B_206D_202E_200E_200D_200E_206F_202B_202C_200F_202A_202D_206C_202A_206D_202B_200D_202C_206C_200E_202C_200B_200C_202B_200E_200F_202C_206F_202D_202A_200C_206B_206B_202E(ref wigglyNavIpc._outstandingPathfinds);
num2 = -420000776;
break;
}
continue;
end_IL_032e:
break;
}
}
goto end_IL_002c;
}
continue;
end_IL_002c:
break;
}
}
catch (Exception exception)
{
_003C_003E1__state = -2;
_003C_003Et__builder.SetException(exception);
return;
}
_003C_003E1__state = -2;
_003C_003Et__builder.SetResult(result2);
}
void IAsyncStateMachine.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
this.MoveNext();
}
[DebuggerHidden]
private void SetStateMachine(IAsyncStateMachine stateMachine)
{
_003C_003Et__builder.SetStateMachine(stateMachine);
}
void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine)
{
//ILSpy generated this explicit interface implementation from .override directive in SetStateMachine
this.SetStateMachine(stateMachine);
}
static int _200F_206C_206B_202E_202C_206F_202C_206A_206F_206C_206D_200E_206E_206A_202B_200B_206D_206D_206F_206E_200C_202B_202B_200F_206F_200B_202A_206D_206D_206E_206A_200B_206B_200D_202C_206F_200F_200E_200C_202D_202E(ref int P_0)
{
return Interlocked.Increment(ref P_0);
}
static void _200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static void _206B_200D_200C_206C_200B_202B_202D_200B_206E_206F_200F_200D_206A_206B_200E_206B_200D_200C_206D_200F_200E_206B_200F_202A_200E_200E_206C_200D_206C_206B_206A_206F_206F_206B_206F_200B_206E_206F_200F_206F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogWarning(P_1, P_2, P_3);
}
static int _200C_200C_202A_200C_200F_206D_206A_206B_206D_202E_200E_200D_200E_206F_202B_202C_200F_202A_202D_206C_202A_206D_202B_200D_202C_206C_200E_202C_200B_200C_202B_200E_200F_202C_206F_202D_202A_200C_206B_206B_202E(ref int P_0)
{
return Interlocked.Decrement(ref P_0);
}
}
private readonly ILogger<WigglyNavIpc> _logger;
private readonly ICallGateSubscriber<(int, int)> _apiVersion;
private readonly ICallGateSubscriber<NavStatus> _status;
private readonly ICallGateSubscriber<bool> _rebuild;
private readonly ICallGateSubscriber<PathfindQuery, CancellationToken, Task<string>> _pathfind;
private readonly ICallGateSubscriber<MoveCommand, bool> _move;
private readonly ICallGateSubscriber<object> _stop;
private readonly ICallGateSubscriber<bool> _isRunning;
private readonly ICallGateSubscriber<List<Vector3>> _waypoints;
private readonly ICallGateSubscriber<Vector3, float, bool, Vector3?> _floorPoint;
private readonly ICallGateSubscriber<Vector3, float, Vector3?> _nearestPoint;
private int _outstandingPathfinds;
public bool IsNavmeshAvailable => TryGetApiVersion().HasValue;
public bool IsReady
{
get
{
NavStatus status = GetStatus();
int num = (((object)status == null) ? (-1445089980) : (-1445089979));
while (true)
{
int num2 = num;
int num3 = -1445089980;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0048;
case 0:
return false;
case 1:
return status.Ready;
}
continue;
IL_0048:
num = -1445089979;
}
}
}
public bool IsPathRunning => Guarded(() => _isRunning.InvokeFunc(), fallback: false);
public bool IsPathfindInProgress => _200B_200F_200B_202C_200F_202B_202E_206F_200F_202C_206B_200D_206D_202B_202E_206D_202A_202D_206F_202E_206D_202E_200F_202D_206C_202A_206D_200F_206F_206F_202C_202B_202C_200C_202B_202C_202E_206B_206B_206A_202E(ref _outstandingPathfinds) > 0;
public int NumQueuedPathfindRequests => _202C_202D_202B_202E_206B_200B_206F_206B_206F_200D_206F_202B_202E_202C_200C_200B_202D_202A_206B_206D_206D_206E_202E_206B_206B_206C_206E_200F_202B_202D_202D_202E_206D_200F_202C_202D_202B_206D_202A_206C_202E(0, _200B_200F_200B_202C_200F_202B_202E_206F_200F_202C_206B_200D_206D_202B_202E_206D_202A_202D_206F_202E_206D_202E_200F_202D_206C_202A_206D_200F_206F_206F_202C_202B_202C_200C_202B_202C_202E_206B_206B_206A_202E(ref _outstandingPathfinds) - 1);
[MethodImpl(MethodImplOptions.NoInlining)]
public WigglyNavIpc(IDalamudPluginInterface pluginInterface, ILogger<WigglyNavIpc> logger)
{
_logger = logger;
_apiVersion = pluginInterface.GetIpcSubscriber<(int, int)>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-210373295));
_status = pluginInterface.GetIpcSubscriber<NavStatus>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_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>(-1180852660));
_rebuild = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(-1824704594));
_pathfind = pluginInterface.GetIpcSubscriber<PathfindQuery, CancellationToken, Task<string>>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(-1256767723));
_move = pluginInterface.GetIpcSubscriber<MoveCommand, bool>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(-2010421691));
_stop = pluginInterface.GetIpcSubscriber<object>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(1146720717));
_isRunning = pluginInterface.GetIpcSubscriber<bool>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_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>(-2133174746));
_waypoints = pluginInterface.GetIpcSubscriber<List<Vector3>>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_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>(206019124));
_floorPoint = pluginInterface.GetIpcSubscriber<Vector3, float, bool, Vector3?>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_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>(1729999483));
_nearestPoint = pluginInterface.GetIpcSubscriber<Vector3, float, Vector3?>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_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>(-229973248));
}
private static T Guarded<T>(Func<T> invoke, T fallback = default(T))
{
try
{
return invoke();
}
catch (IpcError)
{
return fallback;
}
}
public (int Major, int Minor)? TryGetApiVersion()
{
return Guarded((Func<(int, int)?>)(() => _apiVersion.InvokeFunc()), ((int, int)?)null);
}
public int GetBuildProgress()
{
NavStatus status = GetStatus();
int num = ((!(status == null)) ? (-1561729010) : (-1561729012));
while (true)
{
int num2 = num;
int num3 = -1561729009;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return _200E_200C_202A_206A_202D_206A_200B_200B_200D_206D_202A_206A_202D_202B_206D_200E_202C_202B_206E_206C_200F_202A_206A_202A_206A_200C_206C_206B_202D_202D_206D_202C_200E_206F_206E_200C_206D_202A_206C_202A_202E(status.TilesBuilt * 100 / status.TilesTotal, 0, 100);
case 0:
return 100;
case 1:
num = ((status.TilesTotal <= 0) ? (-1561729014) : (-1561729013));
break;
case 6:
num = -1561729012;
break;
case 2:
return 0;
case 5:
num = (status.Ready ? (-1561729009) : (-1561729011));
break;
case 3:
return 0;
}
}
}
public async Task<PathfindResult> Pathfind(Vector3 from, Vector3 to, bool fly, float tolerance, CancellationToken cancellationToken)
{
int num = -1011094234;
_003C_003Ec__DisplayClass26_0 _003C_003Ec__DisplayClass26_ = default(_003C_003Ec__DisplayClass26_0);
ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter);
ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter);
Task<string> task = default(Task<string>);
while (true)
{
int num2 = num;
int num3 = -1011094236;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1011094234;
break;
case 2:
_003C_003Ec__DisplayClass26_ = new _003C_003Ec__DisplayClass26_0();
_003C_003Ec__DisplayClass26_._003C_003E4__this = this;
_003C_003Ec__DisplayClass26_.cancellationToken = cancellationToken;
_003CPathfind_003Ed__26._200F_206C_206B_202E_202C_206F_202C_206A_206F_206C_206D_200E_206E_206A_202B_200B_206D_206D_206F_206E_200C_202B_202B_200F_206F_200B_202A_206D_206D_206E_206A_200B_206B_200D_202C_206F_200F_200E_200C_202D_202E(ref _outstandingPathfinds);
num = -1011094235;
break;
case 1:
try
{
num = 1011479213;
while (true)
{
int num7 = num;
num3 = 1011479211;
num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 4:
configuredTaskAwaiter = configuredTaskAwaiter2;
configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable<string>.ConfiguredTaskAwaiter);
num = 1011479208;
break;
case 6:
_003C_003Ec__DisplayClass26_.query = new PathfindQuery(from, to, fly, tolerance);
task = Guarded(_003C_003Ec__DisplayClass26_._003CPathfind_003Eb__0);
num = ((task != null) ? 1011479209 : 1011479210);
break;
case 1:
_003CPathfind_003Ed__26._200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(433157232), Array.Empty<object>());
return EmptyPathfindResult();
case 5:
num = 1011479213;
break;
case 2:
configuredTaskAwaiter = task.ConfigureAwait(continueOnCapturedContext: false).GetAwaiter();
num = (configuredTaskAwaiter.IsCompleted ? 1011479208 : 1011479211);
break;
case 0:
await configuredTaskAwaiter;
num = 1011479215;
break;
case 3:
{
string result = configuredTaskAwaiter.GetResult();
try
{
PathfindResult pathfindResult = JsonConvert.DeserializeObject<PathfindResult>(result);
num = (((object)pathfindResult == null) ? 1753402747 : 1753402745);
while (true)
{
int num10 = num;
num3 = 1753402744;
num4 = num10;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1753402745;
break;
case 1:
num = ((pathfindResult.Waypoints != null) ? 1753402746 : 1753402747);
break;
case 3:
_003CPathfind_003Ed__26._200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1821206779), Array.Empty<object>());
return EmptyPathfindResult();
case 2:
return pathfindResult;
}
}
}
catch (JsonException ex)
{
_003CPathfind_003Ed__26._206B_200D_200C_206C_200B_202B_202D_200B_206E_206F_200F_200D_206A_206B_200E_206B_200D_200C_206D_200F_200E_206B_200F_202A_200E_200E_206C_200D_206C_206B_206A_206F_206F_206B_206F_200B_206E_206F_200F_206F_202E((ILogger)_logger, (Exception)ex, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1517525166), Array.Empty<object>());
return EmptyPathfindResult();
}
}
}
}
}
finally
{
num = -420000773;
while (true)
{
int num11 = num;
num3 = -420000774;
num4 = num11;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -420000773;
break;
case 2:
goto end_IL_032e;
case 1:
_003CPathfind_003Ed__26._200C_200C_202A_200C_200F_206D_206A_206B_206D_202E_200E_200D_200E_206F_202B_202C_200F_202A_202D_206C_202A_206D_202B_200D_202C_206C_200E_202C_200B_200C_202B_200E_200F_202C_206F_202D_202A_200C_206B_206B_202E(ref _outstandingPathfinds);
num = -420000776;
break;
}
continue;
end_IL_032e:
break;
}
}
}
}
}
public bool MoveTo(List<Vector3> waypoints, bool fly, float arrivalTolerance)
{
Stop();
MoveCommand command = new MoveCommand(waypoints, fly, arrivalTolerance);
return Guarded(() => _move.InvokeFunc(command), fallback: false);
}
public void Stop()
{
Guarded(delegate
{
_stop.InvokeAction();
return true;
}, fallback: false);
}
public List<Vector3> GetWaypoints()
{
return Guarded(() => _waypoints.InvokeFunc()) ?? new List<Vector3>();
}
public Vector3? GetPointOnFloor(Vector3 position, bool unlandable, float halfExtentXZ)
{
return Guarded(() => _floorPoint.InvokeFunc(position, halfExtentXZ, unlandable));
}
public Vector3? FindNearestMeshPoint(Vector3 position, float halfExtentXZ, float halfExtentY)
{
return Guarded(() => _nearestPoint.InvokeFunc(position, _003C_003Ec__DisplayClass31_0._202B_206C_200C_200E_200F_202E_202E_200F_206A_200D_200E_202B_206B_202A_200D_200B_202A_202C_202E_202C_206F_206B_200F_206B_200E_200B_200F_206D_200E_200C_206B_200B_206B_200F_200E_200B_202A_202B_202D_202E_202E(halfExtentXZ, halfExtentY)));
}
public Vector3? FindNearestReachableMeshPoint(Vector3 position, float halfExtentXZ, float halfExtentY)
{
return FindNearestMeshPoint(position, halfExtentXZ, halfExtentY);
}
public void Reload()
{
Rebuild();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Rebuild()
{
int num = (Guarded(() => _rebuild.InvokeFunc(), fallback: false) ? 890598497 : 890598498);
while (true)
{
int num2 = num;
int num3 = 890598496;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
return;
case 2:
_202D_202D_200D_202C_202A_200E_206D_202D_206A_200F_206B_200C_206D_200F_202C_202E_202A_206D_206E_206E_206A_206F_206E_202A_200D_206D_202C_200D_206D_206B_202C_206E_206D_202A_206C_202A_200F_202C_206A_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1801615064), Array.Empty<object>());
num = 890598497;
break;
case 0:
num = 890598498;
break;
}
}
}
private NavStatus? GetStatus()
{
return Guarded(() => _status.InvokeFunc());
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static PathfindResult EmptyPathfindResult()
{
return new PathfindResult(new List<Vector3>(), IsPartial: false, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1706749360), 0f);
}
static int _200B_200F_200B_202C_200F_202B_202E_206F_200F_202C_206B_200D_206D_202B_202E_206D_202A_202D_206F_202E_206D_202E_200F_202D_206C_202A_206D_200F_206F_206F_202C_202B_202C_200C_202B_202C_202E_206B_206B_206A_202E(ref int P_0)
{
return Volatile.Read(in P_0);
}
static int _202C_202D_202B_202E_206B_200B_206F_206B_206F_200D_206F_202B_202E_202C_200C_200B_202D_202A_206B_206D_206D_206E_202E_206B_206B_206C_206E_200F_202B_202D_202D_202E_206D_200F_202C_202D_202B_206D_202A_206C_202E(int P_0, int P_1)
{
return Math.Max(P_0, P_1);
}
static int _200E_200C_202A_206A_202D_206A_200B_200B_200D_206D_202A_206A_202D_202B_206D_200E_202C_202B_206E_206C_200F_202A_206A_202A_206A_200C_206C_206B_202D_202D_206D_202C_200E_206F_206E_200C_206D_202A_206C_202A_202E(int P_0, int P_1, int P_2)
{
return Math.Clamp(P_0, P_1, P_2);
}
static void _202D_202D_200D_202C_202A_200E_206D_202D_206A_200F_206B_200C_206D_200F_202C_202E_202A_206D_206E_206E_206A_206F_206E_202A_200D_206D_202C_200D_206D_206B_202C_206E_206D_202A_206C_202A_200F_202C_206A_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
}