muffin v7.5.11

This commit is contained in:
alydev 2026-08-17 20:29:32 +10:00
parent addf2d530f
commit 3102923ce2
522 changed files with 41082 additions and 211592 deletions

View file

@ -1,7 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
@ -30,154 +28,41 @@ internal sealed class AttunementController : MiniTaskController<AttunementContro
_gameFunctions = gameFunctions;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Start(string targetName, IEnumerable<ITask> tasks)
{
_currentTargetName = targetName;
_202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(447934629), new object[1] { targetName });
IEnumerator<ITask> enumerator = tasks.GetEnumerator();
try
_logger.LogInformation("Starting attunement: {Target}", targetName);
foreach (ITask task in tasks)
{
int num = -1031196198;
while (true)
{
int num2 = num;
int num3 = -1031196198;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -1031196198;
break;
case 0:
num = (_200E_200D_200B_200C_206C_206E_206C_206F_202E_200C_202D_202A_206E_200F_200D_200B_202D_200D_206C_202D_206E_202E_200F_206A_206E_206A_202B_206A_206B_200C_206F_206E_206C_200B_202A_206F_206C_202D_200E_206F_202E((IEnumerator)enumerator) ? (-1031196197) : (-1031196199));
break;
case 1:
{
ITask current = enumerator.Current;
_taskQueue.Enqueue(current);
num = -1031196198;
break;
}
case 3:
return;
}
}
}
finally
{
int num = ((enumerator == null) ? (-1448008366) : (-1448008367));
while (true)
{
int num5 = num;
int num3 = -1448008365;
int num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 1:
goto end_IL_00cf;
case 2:
_202B_200D_206D_200C_200D_200D_206A_200E_202D_202C_206B_202E_206F_200F_206A_202C_202E_206A_202A_202C_206F_200B_206F_202B_200F_200E_202C_206A_200B_200B_206C_206F_200C_200D_206A_206A_200D_200E_206A_200D_202E((IDisposable)enumerator);
num = -1448008366;
break;
case 0:
num = -1448008367;
break;
}
continue;
end_IL_00cf:
break;
}
_taskQueue.Enqueue(task);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Update()
{
int num = ((_currentTargetName != null) ? (-1300283249) : (-1300283261));
while (true)
if (_currentTargetName != null && !_movementController.IsPathfinding && !_movementController.IsPathRunning && !_gameFunctions.IsOccupied())
{
int num2 = num;
int num3 = -1300283257;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
if (_taskQueue.AllTasksComplete)
{
_logger.LogInformation("Attunement complete: {Target}", _currentTargetName);
Stop("Attunement complete");
}
else
{
case 2:
num = ((!_movementController.IsPathRunning) ? (-1300283264) : (-1300283260));
break;
case 1:
_202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1369637439), new object[1] { _currentTargetName });
Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(88017175));
return;
case 5:
return;
case 3:
return;
case 8:
num = (_movementController.IsPathfinding ? (-1300283260) : (-1300283259));
break;
case 4:
return;
case 9:
num = -1300283261;
break;
case 0:
num = ((!_taskQueue.AllTasksComplete) ? (-1300283263) : (-1300283258));
break;
case 6:
UpdateCurrentTask();
return;
case 7:
num = ((!_gameFunctions.IsOccupied()) ? (-1300283257) : (-1300283262));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override void Stop(string label)
{
base.Stop(label);
int num = ((_currentTargetName == null) ? (-931001069) : (-931001072));
while (true)
if (_currentTargetName != null)
{
int num2 = num;
int num3 = -931001071;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return;
case 1:
CompletedSuccessfully = _taskQueue.AllTasksComplete;
_202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(745396372), new object[1] { label });
_currentTargetName = null;
_taskQueue.Reset();
num = -931001069;
break;
case 0:
num = -931001072;
break;
}
CompletedSuccessfully = _taskQueue.AllTasksComplete;
_logger.LogInformation("Stopping attunement: {Label}", label);
_currentTargetName = null;
_taskQueue.Reset();
}
}
static void _202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static bool _200E_200D_200B_200C_206C_206E_206C_206F_202E_200C_202D_202A_206E_200F_200D_200B_202D_200D_206C_202D_206E_202E_200F_206A_206E_206A_202B_206A_206B_200C_206F_206E_206C_200B_202A_206F_206C_202D_200E_206F_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202B_200D_206D_200C_200D_200D_206A_200E_202D_202C_206B_202E_206F_200F_206A_202C_202E_206A_202A_202C_206F_200B_206F_202B_200F_200E_202C_206A_200B_200B_206C_206F_200C_200D_206A_206A_200D_200E_206A_200D_202E(IDisposable P_0)
{
P_0.Dispose();
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,7 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.Command;
using Dalamud.Plugin.Services;
using LLib.ImGui;
using Questionable.Functions;
using Questionable.Windows;
@ -55,7 +53,6 @@ internal sealed class CommandHandler : IDisposable
private readonly ChangelogWindow _changelogWindow;
[MethodImpl(MethodImplOptions.NoInlining)]
public CommandHandler(ICommandManager commandManager, IChatGui chatGui, QuestController questController, MovementController movementController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, CustomDeliveryController customDeliveryController, FishingController fishingController, QuestRegistry questRegistry, ConfigWindow configWindow, OneTimeSetupWindow oneTimeSetupWindow, QuestWindow questWindow, QuestSelectionWindow questSelectionWindow, QuestSequenceWindow questSequenceWindow, JournalProgressWindow journalProgressWindow, FateSelectionWindow fateSelectionWindow, SeasonalDutySelectionWindow seasonalDutySelectionWindow, ITargetManager targetManager, QuestFunctions questFunctions, GameFunctions gameFunctions, AetheryteFunctions aetheryteFunctions, IDataManager dataManager, IClientState clientState, IObjectTable objectTable, Configuration configuration, ChangelogWindow changelogWindow)
{
_commandManager = commandManager;
@ -78,567 +75,146 @@ internal sealed class CommandHandler : IDisposable
_clientState = clientState;
_configuration = configuration;
_changelogWindow = changelogWindow;
_206F_202A_200D_206C_202E_206D_206D_200F_206B_202A_200D_202D_206F_206D_200E_206F_202A_200C_200E_200F_202B_200E_206F_206A_200F_200D_200D_202D_206B_206F_200D_202D_206C_202C_200E_200B_206B_200E_202C_200D_202E(_clientState, (IClientState.LogoutDelegate)OnLogout);
_clientState.Logout += OnLogout;
ICommandManager commandManager2 = _commandManager;
string text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1083379744);
CommandInfo commandInfo = _206E_200B_200D_200C_206A_202B_202E_206D_202C_200E_202D_206E_206B_206D_202B_206C_200E_200E_206D_200E_202D_206F_206A_200D_200F_200C_206B_206E_206A_202B_200B_206D_200D_206C_206E_206D_202E_206D_200B_206C_202E((IReadOnlyCommandInfo.HandlerDelegate)ProcessCommand);
string text2 = _200C_206C_200E_206E_202A_200D_202E_206C_200C_206B_202E_202A_206E_200F_206E_200E_202C_202C_200B_206B_202E_202A_202C_200F_200E_200C_206C_202D_206F_200B_202C_206F_206E_206B_200F_200C_202E_206F_206C_206F_202E(_202D_206E_200B_200B_206B_202E_202D_206B_200F_202A_202A_202D_206C_206C_202E_202C_202B_202B_200F_200F_202A_206E_200C_202B_206D_202D_206D_200C_200C_206E_200B_206B_202D_202C_206F_206C_200C_200E_206C_202D_202E(), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1365294164));
CommandInfo commandInfo = new CommandInfo(ProcessCommand);
string separator = Environment.NewLine + "\t";
InlineArray7<string> buffer = default(InlineArray7<string>);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 0) = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(2027085169);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 1) = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1094157375);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 2) = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(762558285);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 3) = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-86108937);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 4) = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1230176856);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 5) = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(112790708);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 6) = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-794498605);
_202C_206D_202E_200C_206E_206C_200E_206D_206E_206F_206A_200F_206C_200E_206B_202A_202C_206D_200D_206E_200B_202B_206B_206B_206D_200F_206E_200F_206D_202D_200D_200E_202B_206A_206E_206F_206C_206F_206A_206F_202E(commandInfo, _206C_200F_206B_206C_200D_202A_202E_206C_200F_206E_206F_202C_206F_202B_206B_200E_200C_206A_202C_200F_206C_206D_200D_200E_202C_202E_206B_202C_200F_200B_206B_206B_206F_200F_202A_206E_200C_200D_206D_200F_202E(text2, global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan<InlineArray7<string>, string>(in buffer, 7)));
_202E_200E_200C_202D_206B_200F_206B_206D_206E_202B_200D_202B_202E_202D_200C_206C_206F_202A_200B_200D_206F_206B_206A_202B_206F_206E_202D_202E_206B_200D_206D_206C_202D_206B_202E_206B_202E_202B_206B_200E_202E(commandManager2, text, commandInfo);
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 0) = "Opens the Questing window";
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 1) = "/qst help - displays simplified commands";
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 2) = "/qst help-all - displays all available commands";
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 3) = "/qst config - opens the configuration window";
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 4) = "/qst changelog - opens the changelog window";
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 5) = "/qst start - starts doing quests";
global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef<InlineArray7<string>, string>(ref buffer, 6) = "/qst stop - stops doing quests";
commandInfo.HelpMessage = string.Join(separator, global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan<InlineArray7<string>, string>(in buffer, 7));
commandManager2.AddHandler("/qst", commandInfo);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void ProcessCommand(string command, string arguments)
{
int num = ((!_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(_200E_202E_200B_202C_206D_200F_206F_200C_200D_200E_202C_200D_206F_200B_200D_206E_206F_200C_202B_202D_206E_206B_200D_206B_206C_200B_206C_200D_206A_200E_202A_200C_202B_206E_200E_200B_202A_200B_202B_206B_202E(arguments), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(356304837))) ? (-1968296446) : (-1968296445));
char c = default(char);
string text = default(string);
string[] array = default(string[]);
while (true)
if (arguments.Trim() == "setup")
{
int num2 = num;
int num3 = -1968296431;
int num4 = num2;
char num5;
char num6;
switch ((num4 | num3) - (num4 & num3))
_oneTimeSetupWindow.IsOpenAndUncollapsed = true;
}
else if (!OpenSetupIfNeeded(arguments))
{
string[] array = arguments.Split(' ');
switch (array[0])
{
case 50:
num = -1968296366;
break;
case 14:
num = ((c == 'h') ? (-1968296420) : (-1968296390));
break;
case 63:
switch (_206D_200C_206B_206B_206B_206C_200B_200C_202B_200C_200F_206C_206B_200B_206F_202D_202E_206A_200F_200E_200C_200E_200B_206C_206D_206C_206A_206B_202C_206E_206F_202D_206C_200C_206B_202B_202B_202A_200B_200E_202E(text))
{
case 3:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
goto IL_021b;
case 5:
goto IL_024d;
case 16:
goto IL_0275;
case 6:
goto IL_0313;
case 1:
goto IL_033b;
case 2:
goto IL_0478;
case 8:
goto IL_04f2;
case 9:
goto IL_0579;
case 0:
goto IL_06cc;
case 4:
goto IL_0756;
case 7:
goto IL_07be;
}
num = -1968296367;
break;
case 45:
_206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_configWindow);
return;
case 31:
goto IL_01f7;
case 34:
num = -1968296366;
break;
case 61:
num = -1968296366;
break;
case 67:
goto IL_021b;
case 6:
goto IL_024d;
case 55:
goto IL_0275;
case 64:
num = -1968296366;
break;
case 28:
array = _206D_200E_200D_200B_200C_206D_206E_200E_200B_202D_200C_202A_202C_200D_200E_206B_200B_200B_202D_200C_202E_200B_206E_206B_202C_200E_206D_206D_206C_206F_200C_206A_202E_200E_206A_202E_202A_206C_206B_206F_202E(arguments, ' ', StringSplitOptions.None);
text = array[0];
num = ((text == null) ? (-1968296366) : (-1968296402));
break;
case 24:
num = -1968296366;
break;
case 13:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-452995351)) ? (-1968296442) : (-1968296405));
break;
case 12:
goto IL_0313;
case 66:
goto IL_033b;
case 36:
num = ((c == 'z') ? (-1968296407) : (-1968296424));
break;
case 19:
num = ((!OpenSetupIfNeeded(arguments)) ? (-1968296435) : (-1968296438));
break;
case 52:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(125256215)) ? (-1968296407) : (-1968296397));
break;
case 5:
_questWindow.Reload();
return;
case 37:
goto IL_03ff;
case 22:
num = -1968296366;
break;
case 15:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-250062108)) ? (-1968296444) : (-1968296385));
break;
case 39:
num = ((c == 'w') ? (-1968296437) : (-1968296448));
break;
case 7:
goto IL_0460;
case 33:
num = -1968296366;
break;
case 2:
goto IL_0478;
case 40:
_questController.InterruptQueueWithCombat();
return;
case 47:
num = -1968296366;
break;
case 27:
return;
case 44:
num = -1968296366;
break;
case 57:
goto IL_04c5;
case 16:
goto IL_04f2;
case 56:
_questSelectionWindow.OpenForCurrentZone();
return;
case 51:
num = ((c == 's') ? (-1968296412) : (-1968296433));
break;
case 46:
num = -1968296366;
break;
case 21:
_200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E((LWindow)_questWindow, true);
_questController.Start(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1553553142));
return;
case 4:
goto IL_0579;
case 8:
num = ((c == 'r') ? (-1968296406) : (-1968296413));
break;
case 30:
num = ((c == 'z') ? (-1968296411) : (-1968296386));
break;
case 60:
num = -1968296366;
break;
case 29:
_206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_changelogWindow);
return;
case 1:
_questSelectionWindow.OpenForTarget(_200E_200F_206B_202B_200D_206F_202B_206E_202D_202A_206A_200C_202C_202A_200B_202A_206C_206F_200F_202E_200F_200C_202E_206D_206A_202A_200B_202B_200C_206A_206C_206B_206F_202E_202D_206B_200D_202D_202E_202D_202E(_targetManager));
return;
case 49:
num = -1968296366;
break;
case 54:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1011458983)) ? (-1968296436) : (-1968296421));
break;
case 11:
goto IL_064e;
case 62:
goto IL_067b;
case 38:
num = -1968296366;
break;
case 10:
num = -1968296366;
break;
case 42:
num = -1968296366;
break;
case 41:
goto IL_06cc;
case 25:
goto IL_06d8;
case 32:
num = -1968296366;
break;
case 43:
num = -1968296366;
break;
case 18:
_200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E((LWindow)_oneTimeSetupWindow, true);
return;
case 17:
num = -1968296366;
break;
case 23:
PrintHelp(showAll: true);
return;
case 58:
num = -1968296366;
break;
case 26:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(247506049)) ? (-1968296432) : (-1968296403));
break;
case 3:
goto IL_0756;
case 59:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(389927297)) ? (-1968296428) : (-1968296400));
break;
case 48:
goto IL_07be;
case 35:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(247173070)) ? (-1968296388) : (-1968296439));
break;
case 53:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1935052277)) ? (-1968296431) : (-1968296416));
break;
case 20:
num = -1968296445;
break;
case 0:
_movementController.Stop();
_questController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1980456505));
_fateController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1980456505));
_seasonalDutyController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1980456505));
_attunementController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-841271388));
_customDeliveryController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1980456505));
_fishingController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-276225839));
return;
case 65:
num = -1968296366;
break;
case 9:
{
num = -1968296366;
break;
}
IL_0478:
c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0);
num = ((c == 'c') ? (-1968296409) : (-1968296417));
break;
IL_024d:
c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0);
num = ((c == 's') ? (-1968296418) : (-1968296394));
break;
IL_07be:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(651525904)) ? (-1968296426) : (-1968296399));
break;
IL_033b:
c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0);
num5 = c;
num3 = 99;
num4 = num5;
switch (~(~num4 + num3))
{
case 0:
break;
case 1:
goto IL_01f7;
case 2:
case 4:
case 6:
goto IL_021b;
default:
goto IL_0376;
case 5:
goto IL_03ff;
case 7:
goto IL_0460;
case 3:
goto IL_06d8;
}
goto case 45;
IL_06d8:
_206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_fateSelectionWindow);
return;
IL_0756:
c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0);
num6 = c;
num3 = 100;
num4 = num6;
switch (~(~num4 + num3))
{
case 1:
case 3:
break;
case 2:
goto IL_04c5;
case 4:
goto IL_064e;
case 0:
goto IL_067b;
default:
goto IL_0785;
}
goto IL_021b;
IL_0785:
num = -1968296414;
break;
IL_067b:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1752048098)) ? (-1968296434) : (-1968296368));
break;
IL_0460:
_206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_journalProgressWindow);
return;
IL_03ff:
case "h":
case "help":
PrintHelp(showAll: false);
return;
IL_064e:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1436321725)) ? (-1968296396) : (-1968296387));
break;
IL_0376:
num = -1968296395;
case "ha":
case "help-all":
PrintHelp(showAll: true);
break;
IL_01f7:
_206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_seasonalDutySelectionWindow);
return;
IL_04c5:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1573932804)) ? (-1968296440) : (-1968296404));
case "c":
case "config":
_configWindow.ToggleOrUncollapse();
break;
IL_0313:
c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0);
num = ((c == 'c') ? (-1968296398) : (-1968296423));
case "cl":
case "changelog":
_changelogWindow.ToggleOrUncollapse();
break;
IL_06cc:
_206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_questWindow);
return;
IL_0579:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1367448256)) ? (-1968296436) : (-1968296441));
case "start":
_questWindow.IsOpenAndUncollapsed = true;
_questController.Start("Start command");
break;
IL_04f2:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(979277832)) ? (-1968296442) : (-1968296389));
case "stop":
_movementController.Stop();
_questController.Stop("Stop command");
_fateController.Stop("Stop command");
_seasonalDutyController.Stop("Stop command");
_attunementController.Stop("Stop command");
_customDeliveryController.Stop("Stop command");
_fishingController.Stop("Stop command");
break;
IL_0275:
num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-223898377)) ? (-1968296391) : (-1968296393));
case "reload":
_questWindow.Reload();
break;
case "which":
_questSelectionWindow.OpenForTarget(_targetManager.Target);
break;
case "z":
case "zone":
_questSelectionWindow.OpenForCurrentZone();
break;
case "j":
case "journal":
_journalProgressWindow.ToggleOrUncollapse();
break;
case "f":
case "fate":
_fateSelectionWindow.ToggleOrUncollapse();
break;
case "d":
case "duty":
_seasonalDutySelectionWindow.ToggleOrUncollapse();
break;
case "handle-interrupt":
_questController.InterruptQueueWithCombat();
break;
case "":
_questWindow.ToggleOrUncollapse();
break;
default:
_chatGui.PrintError("Unknown subcommand " + array[0], "Questionable", 576);
break;
IL_021b:
_200C_206E_202E_206F_206D_206F_200E_206A_206B_206E_206D_202D_206B_206E_206D_200C_206E_206F_206C_206A_202A_200E_202D_206F_202A_200D_202B_206F_200C_202E_206A_200C_200D_206D_200F_202C_206C_206E_206C_206F_202E(_chatGui, _200C_206C_200E_206E_202A_200D_202E_206C_200C_206B_202E_202A_206E_200F_206E_200E_202C_202C_200B_206B_202E_202A_202C_200F_200E_200C_206C_202D_206F_200B_202C_206F_206E_206B_200F_200C_202E_206F_206C_206F_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(66928123), array[0]), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
return;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void PrintHelp(bool showAll)
{
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(759427951), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(2028773556), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1094157375), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(944582271), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-86108937), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(369755883), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1199190363), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2087796218), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1446934470), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1296112140), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
int num = ((!showAll) ? (-1200394903) : (-1200394902));
while (true)
_chatGui.Print("Available commands:", "Questionable", 576);
_chatGui.Print("/qst - toggles the Questing window", "Questionable", 576);
_chatGui.Print("/qst help - displays simplified commands", "Questionable", 576);
_chatGui.Print("/qst help-all - displays all available commands", "Questionable", 576);
_chatGui.Print("/qst config - opens the configuration window", "Questionable", 576);
_chatGui.Print("/qst setup - re-opens the first-time setup wizard", "Questionable", 576);
_chatGui.Print("/qst changelog - opens the changelog window", "Questionable", 576);
_chatGui.Print("/qst start - starts doing quests", "Questionable", 576);
_chatGui.Print("/qst stop - stops doing quests", "Questionable", 576);
_chatGui.Print("/qst reload - reload all quest data", "Questionable", 576);
if (showAll)
{
int num2 = num;
int num3 = -1200394901;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1200394902;
break;
case 3:
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1602086836), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
num = -1200394897;
break;
case 2:
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1967115278), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
num = ((!showAll) ? (-1200394897) : (-1200394904));
break;
case 1:
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2039593709), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-365682793), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
_206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(29170112), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
num = -1200394903;
break;
case 4:
return;
}
_chatGui.Print("/qst which - shows all quests starting with your selected target", "Questionable", 576);
_chatGui.Print("/qst zone - shows all quests starting in the current zone (only includes quests with a known quest path, and currently visible unaccepted quests)", "Questionable", 576);
_chatGui.Print("/qst journal - toggles the Journal Progress window", "Questionable", 576);
}
_chatGui.Print("/qst fate / duty - toggles the farming window", "Questionable", 576);
if (showAll)
{
_chatGui.Print("/qst handle-interrupt - makes Questionable handle queued interrupts immediately (useful if you manually start combat)", "Questionable", 576);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool OpenSetupIfNeeded(string arguments)
{
int num = (_configuration.IsPluginSetupComplete() ? 6725766 : 6725767);
while (true)
if (!_configuration.IsPluginSetupComplete())
{
int num2 = num;
int num3 = 6725766;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
if (string.IsNullOrEmpty(arguments))
{
case 5:
num = 6725767;
break;
case 0:
return false;
case 4:
_200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E((LWindow)_oneTimeSetupWindow, true);
num = 6725764;
break;
case 1:
num = ((!_200C_202B_200F_206D_200D_200C_206E_202D_200F_202D_206E_200B_200C_202B_200B_202D_206C_206E_202D_206E_200F_200B_206C_202A_202D_202D_202A_206E_202C_200F_206F_200D_206F_200D_206E_206E_200C_200B_206E_206E_202E(arguments)) ? 6725765 : 6725762);
break;
case 3:
_200C_206E_202E_206F_206D_206F_200E_206A_206B_206E_206D_202D_206B_206E_206D_200C_206E_206F_206C_206A_202A_200E_202D_206F_202A_200D_202B_206F_200C_202E_206A_200C_200D_206D_200F_202C_206C_206E_206C_206F_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2108279054), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
num = 6725764;
break;
case 2:
return true;
_oneTimeSetupWindow.IsOpenAndUncollapsed = true;
}
else
{
_chatGui.PrintError("Please complete the one-time setup first.", "Questionable", 576);
}
return true;
}
return false;
}
private void OnLogout(int type, int code)
{
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
_206D_206C_200F_200C_206B_200D_200B_202D_200F_200B_202E_206D_200B_202D_206A_200B_206E_206A_206D_200B_200E_202D_206D_206B_206E_206D_206A_200F_206F_200E_200E_200E_200C_206F_200E_202B_206A_200F_202A_202E_202E(_commandManager, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2086100270));
_206A_200E_202D_200C_200C_206F_206E_200F_206C_202D_206C_200B_206B_206D_206D_200C_200D_206F_202C_202C_206E_206D_206E_202D_206C_206C_206B_206F_202D_202A_202A_200F_200B_202B_200E_200D_202B_206E_202B_200E_202E(_clientState, (IClientState.LogoutDelegate)OnLogout);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _206F_202A_200D_206C_202E_206D_206D_200F_206B_202A_200D_202D_206F_206D_200E_206F_202A_200C_200E_200F_202B_200E_206F_206A_200F_200D_200D_202D_206B_206F_200D_202D_206C_202C_200E_200B_206B_200E_202C_200D_202E(IClientState P_0, IClientState.LogoutDelegate P_1)
{
P_0.Logout += P_1;
}
static CommandInfo _206E_200B_200D_200C_206A_202B_202E_206D_202C_200E_202D_206E_206B_206D_202B_206C_200E_200E_206D_200E_202D_206F_206A_200D_200F_200C_206B_206E_206A_202B_200B_206D_200D_206C_206E_206D_202E_206D_200B_206C_202E(IReadOnlyCommandInfo.HandlerDelegate P_0)
{
return new CommandInfo(P_0);
}
static string _202D_206E_200B_200B_206B_202E_202D_206B_200F_202A_202A_202D_206C_206C_202E_202C_202B_202B_200F_200F_202A_206E_200C_202B_206D_202D_206D_200C_200C_206E_200B_206B_202D_202C_206F_206C_200C_200E_206C_202D_202E()
{
return Environment.NewLine;
}
static string _200C_206C_200E_206E_202A_200D_202E_206C_200C_206B_202E_202A_206E_200F_206E_200E_202C_202C_200B_206B_202E_202A_202C_200F_200E_200C_206C_202D_206F_200B_202C_206F_206E_206B_200F_200C_202E_206F_206C_206F_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static string _206C_200F_206B_206C_200D_202A_202E_206C_200F_206E_206F_202C_206F_202B_206B_200E_200C_206A_202C_200F_206C_206D_200D_200E_202C_202E_206B_202C_200F_200B_206B_206B_206F_200F_202A_206E_200C_200D_206D_200F_202E(string P_0, ReadOnlySpan<string> P_1)
{
return string.Join(P_0, P_1);
}
static void _202C_206D_202E_200C_206E_206C_200E_206D_206E_206F_206A_200F_206C_200E_206B_202A_202C_206D_200D_206E_200B_202B_206B_206B_206D_200F_206E_200F_206D_202D_200D_200E_202B_206A_206E_206F_206C_206F_206A_206F_202E(CommandInfo P_0, string P_1)
{
P_0.HelpMessage = P_1;
}
static bool _202E_200E_200C_202D_206B_200F_206B_206D_206E_202B_200D_202B_202E_202D_200C_206C_206F_202A_200B_200D_206F_206B_206A_202B_206F_206E_202D_202E_206B_200D_206D_206C_202D_206B_202E_206B_202E_202B_206B_200E_202E(ICommandManager P_0, string P_1, CommandInfo P_2)
{
return P_0.AddHandler(P_1, P_2);
}
static string _200E_202E_200B_202C_206D_200F_206F_200C_200D_200E_202C_200D_206F_200B_200D_206E_206F_200C_202B_202D_206E_206B_200D_206B_206C_200B_206C_200D_206A_200E_202A_200C_202B_206E_200E_200B_202A_200B_202B_206B_202E(string P_0)
{
return P_0.Trim();
}
static bool _202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(string P_0, string P_1)
{
return P_0 == P_1;
}
static void _200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E(LWindow P_0, bool P_1)
{
P_0.IsOpenAndUncollapsed = P_1;
}
static string[] _206D_200E_200D_200B_200C_206D_206E_200E_200B_202D_200C_202A_202C_200D_200E_206B_200B_200B_202D_200C_202E_200B_206E_206B_202C_200E_206D_206D_206C_206F_200C_206A_202E_200E_206A_202E_202A_206C_206B_206F_202E(string P_0, char P_1, StringSplitOptions P_2)
{
return P_0.Split(P_1, P_2);
}
static int _206D_200C_206B_206B_206B_206C_200B_200C_202B_200C_200F_206C_206B_200B_206F_202D_202E_206A_200F_200E_200C_200E_200B_206C_206D_206C_206A_206B_202C_206E_206F_202D_206C_200C_206B_202B_202B_202A_200B_200E_202E(string P_0)
{
return P_0.Length;
}
static char _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(string P_0, int P_1)
{
return P_0[P_1];
}
static void _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E(LWindow P_0)
{
P_0.ToggleOrUncollapse();
}
static IGameObject _200E_200F_206B_202B_200D_206F_202B_206E_202D_202A_206A_200C_202C_202A_200B_202A_206C_206F_200F_202E_200F_200C_202E_206D_206A_202A_200B_202B_200C_206A_206C_206B_206F_202E_202D_206B_200D_202D_202E_202D_202E(ITargetManager P_0)
{
return P_0.Target;
}
static void _200C_206E_202E_206F_206D_206F_200E_206A_206B_206E_206D_202D_206B_206E_206D_200C_206E_206F_206C_206A_202A_200E_202D_206F_202A_200D_202B_206F_200C_202E_206A_200C_200D_206D_200F_202C_206C_206E_206C_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
static void _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static bool _200C_202B_200F_206D_200D_200C_206E_202D_200F_202D_206E_200B_200C_202B_200B_202D_206C_206E_202D_206E_200F_200B_206C_202A_202D_202D_202A_206E_202C_200F_206F_200D_206F_200D_206E_206E_200C_200B_206E_206E_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static bool _206D_206C_200F_200C_206B_200D_200B_202D_200F_200B_202E_206D_200B_202D_206A_200B_206E_206A_206D_200B_200E_202D_206D_206B_206E_206D_206A_200F_206F_200E_200E_200E_200C_206F_200E_202B_206A_200F_202A_202E_202E(ICommandManager P_0, string P_1)
{
return P_0.RemoveHandler(P_1);
}
static void _206A_200E_202D_200C_200C_206F_206E_200F_206C_202D_206C_200B_206B_206D_206D_200C_200D_206F_202C_202C_206E_206D_206E_202D_206C_206C_206B_206F_202D_202A_202A_200F_200B_202B_200E_200D_202B_206E_202B_200E_202E(IClientState P_0, IClientState.LogoutDelegate P_1)
{
P_0.Logout -= P_1;
_commandManager.RemoveHandler("/qst");
_clientState.Logout -= OnLogout;
}
}

View file

@ -1,78 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.Gui.ContextMenu;
using Dalamud.Game.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.UI;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib.GameData;
using LLib.GameUI;
using LLib.Shop;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Controller.CustomDelivery;
using Questionable.Data;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Gathering;
using Questionable.Model.Questing;
namespace Questionable.Controller;
internal sealed class ContextMenuController : IDisposable
{
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<IQuestInfo, bool> _003C_003E9__16_0;
public static Func<QuestStep, bool> _003C_003E9__16_1;
public static Func<QuestStep, bool> _003C_003E9__16_2;
internal bool _003CStartGathering_003Eb__16_0(IQuestInfo x)
{
return x is SatisfactionSupplyInfo;
}
internal bool _003CStartGathering_003Eb__16_1(QuestStep x)
{
return _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.SwitchClass;
}
internal bool _003CStartGathering_003Eb__16_2(QuestStep x)
{
return _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.Gather;
}
static EInteractionType _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
}
private readonly IContextMenu _contextMenu;
private readonly QuestController _questController;
private readonly CustomDeliveryController _customDeliveryController;
private readonly FateController _fateController;
private readonly SeasonalDutyController _seasonalDutyController;
private readonly AttunementController _attunementController;
private readonly GatheringPointRegistry _gatheringPointRegistry;
private readonly GatheringData _gatheringData;
private readonly QuestRegistry _questRegistry;
private readonly QuestData _questData;
private readonly GameFunctions _gameFunctions;
private readonly QuestFunctions _questFunctions;
@ -81,524 +41,158 @@ internal sealed class ContextMenuController : IDisposable
private readonly IChatGui _chatGui;
private readonly IObjectTable _objectTable;
private readonly ILogger<ContextMenuController> _logger;
public ContextMenuController(IContextMenu contextMenu, QuestController questController, GatheringPointRegistry gatheringPointRegistry, GatheringData gatheringData, QuestRegistry questRegistry, QuestData questData, GameFunctions gameFunctions, QuestFunctions questFunctions, IGameGui gameGui, IChatGui chatGui, IObjectTable objectTable, ILogger<ContextMenuController> logger)
public ContextMenuController(IContextMenu contextMenu, QuestController questController, CustomDeliveryController customDeliveryController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, GatheringPointRegistry gatheringPointRegistry, GatheringData gatheringData, GameFunctions gameFunctions, QuestFunctions questFunctions, IGameGui gameGui, IChatGui chatGui, ILogger<ContextMenuController> logger)
{
_contextMenu = contextMenu;
_questController = questController;
_customDeliveryController = customDeliveryController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_attunementController = attunementController;
_gatheringPointRegistry = gatheringPointRegistry;
_gatheringData = gatheringData;
_questRegistry = questRegistry;
_questData = questData;
_gameFunctions = gameFunctions;
_questFunctions = questFunctions;
_gameGui = gameGui;
_chatGui = chatGui;
_objectTable = objectTable;
_logger = logger;
_200F_206F_200F_206C_202E_200D_206B_206E_200B_206A_202A_206E_202C_200F_200B_206D_200C_206E_206F_202B_202E_202C_200C_206A_200C_206E_202D_200C_200F_200E_202A_202C_206E_206A_200B_206C_206F_202D_200D_202A_202E(_contextMenu, (IContextMenu.OnMenuOpenedDelegate)MenuOpened);
_contextMenu.OnMenuOpened += MenuOpened;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void MenuOpened(IMenuOpenedArgs args)
{
int num = ((_206F_200E_206E_206C_206D_206E_206C_202B_202C_206C_200D_202D_200D_202C_206D_206F_200C_202C_200D_202E_200E_202C_206A_200E_202D_202B_202B_202D_200D_206F_206B_206A_202A_200E_202B_206D_206E_206D_206B_206B_202E((IMenuArgs)args) == null) ? (-1062811854) : (-1062811842));
uint num6 = default(uint);
uint npcId = default(uint);
while (true)
if (args.AddonName != null)
{
int num2 = num;
int num3 = -1062811852;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
AddContextMenuEntry(args, num6, npcId, EClassJob.Miner, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1250223418));
AddContextMenuEntry(args, num6, npcId, EClassJob.Botanist, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1145016567));
return;
case 9:
_206F_200F_202B_206E_200F_200B_202E_202C_200D_202A_206B_206C_202D_202C_202C_200D_206D_202A_200F_200D_202E_206B_202D_200B_202E_202A_202E_202C_206A_200E_202D_206B_206D_200C_206E_206D_200C_200D_206E_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1140543498), Array.Empty<object>());
return;
case 3:
num = ((!_gatheringData.TryGetCustomDeliveryNpc(num6, out npcId)) ? (-1062811856) : (-1062811852));
break;
case 7:
{
uint num7 = num6;
num3 = 500000;
num4 = (int)num7;
num6 = (uint)(~(~num4 + num3));
num = -1062811849;
break;
}
case 5:
num = ((num6 < 500000) ? (-1062811849) : (-1062811853));
break;
case 6:
num6 = GetHoveredSatisfactionSupplyItemId();
num = ((num6 != 0) ? (-1062811851) : (-1062811843));
break;
case 1:
num = ((num6 <= 1000000) ? (-1062811855) : (-1062811844));
break;
case 10:
return;
case 4:
_206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-965966202), new object[1] { num6 });
return;
case 8:
{
uint num5 = num6;
num3 = 1000000;
num4 = (int)num5;
num6 = (uint)(~(~num4 + num3));
num = -1062811855;
break;
}
case 2:
num = -1062811842;
break;
}
return;
}
uint num = GetHoveredSatisfactionSupplyItemId();
if (num == 0)
{
_logger.LogTrace("Ignoring context menu, no item hovered");
return;
}
if (num > 1000000)
{
num -= 1000000;
}
if (num >= 500000)
{
num -= 500000;
}
if (_gatheringData.TryGetCustomDeliveryNpc(num, out var _))
{
AddContextMenuEntry(args, num);
return;
}
_logger.LogDebug("No custom delivery NPC found for item {ItemId}.", num);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe uint GetHoveredSatisfactionSupplyItemId()
{
AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance();
int num = ((ptr == null) ? (-247318127) : (-247318126));
int hoveredElementIndex = default(int);
AddonSatisfactionSupply* addonPtr = default(AddonSatisfactionSupply*);
while (true)
if (ptr == null || !ptr->IsAgentActive())
{
int num2 = num;
int num3 = -247318122;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
return 0u;
}
if (_gameGui.TryGetAddonByName<AddonSatisfactionSupply>("SatisfactionSupply", out var addonPtr) && LAddon.IsAddonReady(&addonPtr->AtkUnitBase))
{
int hoveredElementIndex = addonPtr->HoveredElementIndex;
if (hoveredElementIndex >= 0 && hoveredElementIndex <= 2)
{
case 0:
hoveredElementIndex = addonPtr->HoveredElementIndex;
num = ((hoveredElementIndex < 0) ? (-247318114) : (-247318125));
break;
case 4:
num = (ptr->IsAgentActive() ? (-247318121) : (-247318127));
break;
case 7:
return 0u;
case 8:
return 0u;
case 2:
num = -247318126;
break;
case 6:
return ptr->Items[addonPtr->HoveredElementIndex].Id;
case 3:
num = ((!_200F_206B_200B_202D_200D_206B_202A_200F_202A_200D_202B_202C_202B_206D_202D_202C_202C_202A_200F_200E_200C_202D_200D_202D_206E_202A_200D_200C_206F_200F_206A_200E_202A_206D_206B_200B_202E_206C_200C_202D_202E(&addonPtr->AtkUnitBase)) ? (-247318114) : (-247318122));
break;
case 1:
num = ((!_gameGui.TryGetAddonByName<AddonSatisfactionSupply>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_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>(1921233017), out addonPtr)) ? (-247318114) : (-247318123));
break;
case 5:
num = ((hoveredElementIndex > 2) ? (-247318114) : (-247318128));
break;
}
}
return 0u;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void AddContextMenuEntry(IMenuOpenedArgs args, uint itemId, uint npcId, EClassJob classJob, string verb)
private unsafe void AddContextMenuEntry(IMenuOpenedArgs args, uint itemId)
{
ICharacter character = _200F_206F_202D_200D_202D_202C_206E_200B_206A_206F_202A_206C_202E_206F_202C_200C_202A_200E_200D_200C_206C_202B_202B_200E_202C_202C_206B_206D_202E_206E_206D_202B_200C_200C_206F_206D_202A_200B_200B_206C_202E(_objectTable);
int num = ((character != null) ? (-1338961886) : (-1338961880));
bool flag2 = default(bool);
AgentSatisfactionSupply* ptr = default(AgentSatisfactionSupply*);
SatisfactionSupplyActions.NpcState npcState = default(SatisfactionSupplyActions.NpcState);
string text2 = default(string);
int quantityToGather = default(int);
string text = default(string);
ushort collectability = default(ushort);
bool flag = default(bool);
EClassJob rowId = default(EClassJob);
while (true)
GatheringPointId gatheringPointId;
bool flag = _gatheringPointRegistry.TryGetGatheringPointId(itemId, EClassJob.Miner, out gatheringPointId);
bool flag2 = _gatheringPointRegistry.TryGetGatheringPointId(itemId, EClassJob.Botanist, out gatheringPointId);
if (!flag && !flag2)
{
int num2 = num;
int num3 = -1338961879;
int num4 = num2;
int num5;
int num6;
switch ((num4 | num3) - (num4 & num3))
_logger.LogDebug("No gathering point found for item {ItemId}.", itemId);
}
else
{
if (_gatheringData.GetRecommendedCollectability(itemId) == 0)
{
case 16:
flag2 = true;
num = -1338961860;
break;
case 3:
{
uint id = ptr->NpcInfo.Id;
num3 = 1;
num4 = (int)id;
npcState = _200F_206E_206E_206C_206B_202B_202A_206F_200F_206C_206A_200C_206E_206E_206E_202B_206B_206D_200C_206A_200F_206E_206F_200D_206F_200F_202E_202C_202E_202A_202C_200E_202C_200C_200E_206C_206A_202B_202D_206B_202E(~(~num4 + num3));
num = ((ptr->NpcInfo.SatisfactionRank == 1) ? (-1338961874) : (-1338961864));
break;
return;
}
case 20:
num = ((!_gameFunctions.IsOccupied()) ? (-1338961877) : (-1338961862));
break;
case 0:
AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance();
if (ptr != null && ptr->IsAgentActive())
{
num = (_gatheringPointRegistry.TryGetGatheringPointId(itemId, classJob, out GatheringPointId _) ? (-1338961882) : (-1338961875));
break;
}
case 12:
text2 = string.Empty;
num = (_questFunctions.IsClassJobUnlocked(classJob) ? (-1338961873) : (-1338961861));
break;
case 1:
return;
case 6:
num = ((quantityToGather != 0) ? (-1338961884) : (-1338961881));
break;
case 25:
return;
case 19:
text2 = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-631894183);
num = -1338961877;
break;
case 5:
flag2 = false;
num = -1338961860;
break;
case 23:
return;
case 2:
text = _202B_206C_206F_202D_202C_206C_206C_206C_200E_206B_202C_206A_200F_206A_206F_200C_200C_200E_206E_202E_200B_200F_206F_206D_206C_206D_206E_200E_202A_206A_202D_202B_206F_200F_206D_200E_202A_200B_200C_200E_202E(verb, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-608478114));
num = (_200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(text2) ? (-1338961888) : (-1338961885));
break;
case 9:
{
MenuItem menuItem = _206C_200F_200F_202C_202B_206F_206B_202A_202A_206D_202E_206E_206E_200C_200F_206E_200E_206A_202D_202A_206E_206A_202C_206E_202C_200E_202A_206A_200B_200B_202E_200F_202C_200D_202C_206E_200C_202B_206F_206C_202E();
_200F_202B_206E_202E_200E_202E_206B_202A_206D_202C_206B_202C_206C_202B_202A_206A_202A_200C_202B_200B_200F_206D_202B_200D_200E_202D_200E_206B_202C_200B_206C_200F_206D_200E_202E_200C_200E_202B_200F_202C_202E(menuItem, (SeIconChar?)SeIconChar.Hyadelyn);
_202A_206C_200E_206B_206C_206C_206E_200C_200E_202C_202E_200C_200F_206D_202E_200C_202E_206C_202A_202E_200F_206B_206A_202D_206B_200F_200D_200C_200D_200D_206E_200C_200C_200E_200C_206B_200D_202C_202E(menuItem, (ushort)52);
_200E_206C_206D_202C_206A_200D_206A_202C_202D_202C_202E_200E_200C_200B_202A_202C_200C_206B_206E_206B_200F_200B_206A_206C_206F_206E_206F_200B_202C_200B_200C_200B_206F_206E_200B_200D_206B_206C_202A_200E_202E(menuItem, _202D_206A_202C_206F_202B_202B_206B_206B_206F_202A_202E_206C_202A_202B_206D_200F_206D_206E_206F_202B_200D_202D_202D_206F_200D_200F_202E_206B_202D_200E_200D_206F_206B_202C_200B_200D_206C_206F_206B_202C_202E(text));
_202C_206D_200F_202E_200F_200B_206A_200F_202B_206A_202B_206C_206E_202A_206E_202D_206D_200F_202B_206E_206B_206E_200D_200C_200E_200C_200D_200F_200E_206F_202D_206F_206D_206A_206D_206F_200D_202D_202D_202C_202E(menuItem, (Action<IMenuItemClickedArgs>)delegate
int npcIndex = (int)(ptr->NpcInfo.Id - 1);
SatisfactionSupplyActions.NpcState npcState = SatisfactionSupplyActions.GetNpcState(npcIndex);
int maxTurnIns = ((ptr->NpcInfo.SatisfactionRank == 1) ? 3 : 6);
int num = Math.Min(ptr->NpcData.RemainingAllowances, SatisfactionSupplyHelper.CalculateTurnInsToNextRank((ushort)npcState.SatisfactionCurrent, (ushort)npcState.SatisfactionMax, maxTurnIns));
bool num2 = (flag && _questFunctions.IsClassJobUnlocked(EClassJob.Miner)) || (flag2 && _questFunctions.IsClassJobUnlocked(EClassJob.Botanist));
string text = string.Empty;
if (!num2)
{
StartGathering(npcId, itemId, quantityToGather, collectability, classJob);
});
_206E_202A_202E_200F_202D_200D_202B_202D_206C_202B_200E_202B_206D_202B_202E_202C_200E_202D_200D_200C_202E_200D_202D_202C_200E_202A_206D_200C_202C_206C_206B_202C_200B_202A_202C_200C_200C_206B_206E_206A_202E(menuItem, _200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(text2));
_200E_202A_200E_200B_202C_200E_206E_200C_206B_206E_202B_202E_206C_200D_200B_200D_202B_206F_200C_202D_202A_200D_200E_206E_206B_206C_202A_206A_202B_202B_206D_206D_206A_206E_206A_202D_202C_202E_200C_206E_202E(args, menuItem);
return;
}
case 7:
num5 = 3;
goto IL_0299;
case 15:
collectability = _gatheringData.GetRecommendedCollectability(itemId);
num = ((collectability != 0) ? (-1338961870) : (-1338961858));
break;
case 4:
_206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(956356199), new object[1] { classJob });
return;
case 14:
text2 = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(782238798);
num = -1338961877;
break;
case 18:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1);
defaultInterpolatedStringHandler.AppendFormatted(classJob);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(162231008));
text2 = defaultInterpolatedStringHandler.ToStringAndClear();
num = -1338961877;
break;
}
case 24:
text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1616176717);
num = -1338961877;
break;
case 8:
num = ((!flag) ? (-1338961879) : (-1338961872));
break;
case 17:
num5 = 6;
goto IL_0299;
case 10:
text = _206E_200F_206C_202A_206A_206D_200B_202D_200F_202E_206C_206E_200B_200E_202A_206D_200C_206D_202A_206F_202C_202D_202C_200E_200B_202B_202A_200E_202D_206A_202D_202A_200D_202E_202C_202A_200F_200D_206B_206C_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1495931675), text2, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
num = -1338961888;
break;
case 27:
quantityToGather = 6;
ptr = AgentSatisfactionSupply.Instance();
num = ((!ptr->IsAgentActive()) ? (-1338961883) : (-1338961878));
break;
case 26:
num = -1338961880;
break;
case 21:
flag = flag2;
num = -1338961887;
break;
case 22:
num = ((rowId - 16 > EClassJob.Gladiator) ? (-1338961876) : (-1338961863));
break;
case 11:
rowId = (EClassJob)_200B_206E_202D_206D_200F_200C_200D_206B_202D_200F_202B_206A_206F_200F_200E_202B_200E_206D_202C_202E_206C_206F_200B_200E_200E_206D_200F_202C_200E_206D_206D_202E_202C_200F_200E_206C_200F_202A_202D_206C_202E(character).RowId;
flag = classJob != rowId;
num = ((!flag) ? (-1338961887) : (-1338961857));
break;
case 13:
{
num = ((quantityToGather <= _gameFunctions.GetFreeInventorySlots()) ? (-1338961859) : (-1338961871));
break;
text = (flag ? "Miner not unlocked" : "Botanist not unlocked");
}
IL_0299:
num6 = num5;
quantityToGather = _206E_202E_206A_206F_200F_206B_206E_206F_202A_200C_200B_206A_200C_206D_206E_200E_200E_206A_200B_200D_202C_202E_200E_202C_206E_206E_202A_206B_206A_206B_200F_206B_206B_206A_202B_202D_206F_206E_206C_206C_202E((int)ptr->NpcData.RemainingAllowances, _200B_206A_202A_202D_202C_206C_202D_202C_206D_202E_200F_206C_202D_206F_202A_206C_206D_206E_202E_200D_202C_202D_206F_206E_200C_200F_202C_206F_206A_200F_206A_206D_206C_200B_202D_206A_200F_202D_200E_200F_202E((ushort)npcState.SatisfactionCurrent, (ushort)npcState.SatisfactionMax, num6));
num = -1338961883;
break;
else if (num == 0)
{
text = "No allowances";
}
else if (num > _gameFunctions.GetFreeInventorySlots())
{
text = "Inventory full";
}
else if (_gameFunctions.IsOccupied())
{
text = "Can't be used while interacting";
}
else if (_customDeliveryController.IsRunning)
{
text = "Delivery already in progress";
}
else if (_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _attunementController.IsRunning)
{
text = "Automation is running";
}
string text2 = "Deliver with Questionable";
if (!string.IsNullOrEmpty(text))
{
text2 = text2 + " (" + text + ")";
}
args.AddMenuItem(new MenuItem
{
Prefix = SeIconChar.Hyadelyn,
PrefixColor = 52,
Name = text2,
OnClicked = delegate
{
StartDelivery(npcIndex);
},
IsEnabled = string.IsNullOrEmpty(text)
});
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void StartGathering(uint npcId, uint itemId, int quantity, ushort collectability, EClassJob classJob)
private void StartDelivery(int npcIndex)
{
SatisfactionSupplyInfo satisfactionSupplyInfo = (SatisfactionSupplyInfo)_questData.GetAllByIssuerDataId(npcId).Single((IQuestInfo x) => x is SatisfactionSupplyInfo);
Questionable.Model.Quest quest;
int num = ((!_questRegistry.TryGetQuest(satisfactionSupplyInfo.QuestId, out quest)) ? (-1785451051) : (-1785451044));
EExtendedClassJob eExtendedClassJob = default(EExtendedClassJob);
QuestStep questStep = default(QuestStep);
QuestSequence questSequence = default(QuestSequence);
while (true)
_questController.Stop("Custom delivery start");
_fateController.Stop("Custom delivery start");
_seasonalDutyController.Stop("Custom delivery start");
_attunementController.Stop("Custom delivery start");
if (_customDeliveryController.State != CustomDeliveryController.EDeliveryState.Idle)
{
int num2 = num;
int num3 = -1785451052;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = -1785451050;
break;
case 0:
eExtendedClassJob = EExtendedClassJob.Miner;
num = -1785451056;
break;
case 5:
num = -1785451044;
break;
case 4:
{
_206E_206F_200D_202A_206B_202D_202A_206C_202E_200D_200B_200C_202D_206E_206E_202A_202B_206C_202B_200D_200C_200D_200B_206D_206D_200B_202C_202A_206E_200D_200D_202A_206D_206E_202A_202E_206E_202A_206A_206F_202E(questStep, eExtendedClassJob);
QuestStep questStep2 = _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(questSequence).Single((QuestStep x) => _003C_003Ec._200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.Gather);
int num5 = 1;
List<GatheredItem> list = new List<GatheredItem>(num5);
CollectionsMarshal.SetCount(list, num5);
ref GatheredItem reference = ref CollectionsMarshal.AsSpan(list)[0];
GatheredItem gatheredItem = _206A_206F_200E_200E_206A_206E_202B_202B_206F_200B_200F_206E_200B_206E_200C_200E_206C_202C_202D_206A_202E_200E_206C_206D_202C_200B_206C_206C_202D_206E_200D_202C_200B_202D_200E_200F_202C_206E_206A_200C_202E();
_202D_200F_206F_202A_200F_202E_206C_206B_200F_200C_202C_206C_200D_202E_202D_202A_206A_200B_206F_206F_200B_200B_200E_202E_200E_206C_202A_202D_202A_206B_206A_202D_200E_206A_202C_202C_206D_200B_202B_206A_202E(gatheredItem, itemId);
_202C_200B_200D_206C_206A_202C_202A_206D_202C_206F_200B_200D_206F_202E_206E_202E_206D_206B_200F_202A_202A_206F_200C_202A_206E_200B_202D_206C_206A_206C_206C_206E_206F_206D_206E_200F_202D_200D_200C_200E_202E(gatheredItem, quantity);
_206A_206C_200E_206B_206D_200D_200B_200F_200F_202C_206F_200E_200C_206F_202B_206D_206B_202C_206F_202D_206F_202A_202B_206B_206C_200C_206C_202A_200E_200C_200F_200C_202C_206D_202C_206B_206B_206B_200F_206B_202E(gatheredItem, collectability);
reference = gatheredItem;
_206A_200B_202E_202E_206F_202C_206A_206C_206B_202A_200D_202A_206D_202C_202A_202C_202A_202C_202A_206F_202C_202D_200C_206F_200D_206C_202E_206E_206E_200E_200D_206E_206B_200C_206A_202A_200B_200F_202C_206B_202E(questStep2, list);
_questController.SetGatheringQuest(quest);
_questController.StartGatheringQuest(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1798633897));
return;
}
case 8:
questSequence = quest.FindSequence(0);
questStep = _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(questSequence).Single((QuestStep x) => _003C_003Ec._200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.SwitchClass);
num = ((classJob == EClassJob.Miner) ? (-1785451052) : (-1785451054));
break;
case 2:
throw _206E_206B_202C_206A_200C_200E_202A_206A_200B_206F_202D_200D_200B_200E_200C_200F_206A_200E_200B_200D_202D_202A_200D_200D_202E_206F_206E_202E_202B_202A_202A_202E_206E_206B_206F_206C_202A_200C_200D_202C_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(688705615), (object)classJob, (string)null);
case 6:
num = ((classJob == EClassJob.Botanist) ? (-1785451053) : (-1785451049));
break;
case 1:
{
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1157681140));
defaultInterpolatedStringHandler.AppendFormatted(satisfactionSupplyInfo.QuestId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(126419176));
_202C_206D_206D_206D_206E_202C_206A_202A_200E_200C_206E_206F_206F_200F_200E_206A_200D_200F_200C_200D_206E_200B_202C_200C_206D_206C_200C_200F_206E_206F_202D_202D_206E_206A_206F_206E_206E_206F_200B_202C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
return;
}
case 7:
eExtendedClassJob = EExtendedClassJob.Botanist;
num = -1785451056;
break;
}
_customDeliveryController.Stop("Custom delivery start");
}
if (!_customDeliveryController.Start(npcIndex, EDeliverySlot.Gather))
{
_chatGui.PrintError("Unable to start custom delivery.", "Questionable", 576);
}
}
public void Dispose()
{
_202E_202B_202D_200F_206F_206B_200D_200B_200D_202C_206C_200F_200B_206B_202E_200D_206C_200E_206E_200B_200D_200D_202B_206A_200B_206E_206D_206B_202C_206D_200D_206B_206C_202E_200E_200E_206E_200C_200E_206A_202E(_contextMenu, (IContextMenu.OnMenuOpenedDelegate)MenuOpened);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _200F_206F_200F_206C_202E_200D_206B_206E_200B_206A_202A_206E_202C_200F_200B_206D_200C_206E_206F_202B_202E_202C_200C_206A_200C_206E_202D_200C_200F_200E_202A_202C_206E_206A_200B_206C_206F_202D_200D_202A_202E(IContextMenu P_0, IContextMenu.OnMenuOpenedDelegate P_1)
{
P_0.OnMenuOpened += P_1;
}
static string _206F_200E_206E_206C_206D_206E_206C_202B_202C_206C_200D_202D_200D_202C_206D_206F_200C_202C_200D_202E_200E_202C_206A_200E_202D_202B_202B_202D_200D_206F_206B_206A_202A_200E_202B_206D_206E_206D_206B_206B_202E(IMenuArgs P_0)
{
return P_0.AddonName;
}
static void _206F_200F_202B_206E_200F_200B_202E_202C_200D_202A_206B_206C_202D_202C_202C_200D_206D_202A_200F_200D_202E_206B_202D_200B_202E_202A_202E_202C_206A_200E_202D_206B_206D_200C_206E_206D_200C_200D_206E_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
static void _206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
unsafe static bool _200F_206B_200B_202D_200D_206B_202A_200F_202A_200D_202B_202C_202B_206D_202D_202C_202C_202A_200F_200E_200C_202D_200D_202D_206E_202A_200D_200C_206F_200F_206A_200E_202A_206D_206B_200B_202E_206C_200C_202D_202E(AtkUnitBase* P_0)
{
return LAddon.IsAddonReady(P_0);
}
static IPlayerCharacter _200F_206F_202D_200D_202D_202C_206E_200B_206A_206F_202A_206C_202E_206F_202C_200C_202A_200E_200D_200C_206C_202B_202B_200E_202C_202C_206B_206D_202E_206E_206D_202B_200C_200C_206F_206D_202A_200B_200B_206C_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static RowRef<ClassJob> _200B_206E_202D_206D_200F_200C_200D_206B_202D_200F_202B_206A_206F_200F_200E_202B_200E_206D_202C_202E_206C_206F_200B_200E_200E_206D_200F_202C_200E_206D_206D_202E_202C_200F_200E_206C_200F_202A_202D_206C_202E(ICharacter P_0)
{
return P_0.ClassJob;
}
static SatisfactionSupplyActions.NpcState _200F_206E_206E_206C_206B_202B_202A_206F_200F_206C_206A_200C_206E_206E_206E_202B_206B_206D_200C_206A_200F_206E_206F_200D_206F_200F_202E_202C_202E_202A_202C_200E_202C_200C_200E_206C_206A_202B_202D_206B_202E(int P_0)
{
return SatisfactionSupplyActions.GetNpcState(P_0);
}
static int _200B_206A_202A_202D_202C_206C_202D_202C_206D_202E_200F_206C_202D_206F_202A_206C_206D_206E_202E_200D_202C_202D_206F_206E_200C_200F_202C_206F_206A_200F_206A_206D_206C_200B_202D_206A_200F_202D_200E_200F_202E(ushort P_0, ushort P_1, int P_2)
{
return SatisfactionSupplyHelper.CalculateTurnInsToNextRank(P_0, P_1, P_2);
}
static int _206E_202E_206A_206F_200F_206B_206E_206F_202A_200C_200B_206A_200C_206D_206E_200E_200E_206A_200B_200D_202C_202E_200E_202C_206E_206E_202A_206B_206A_206B_200F_206B_206B_206A_202B_202D_206F_206E_206C_206C_202E(int P_0, int P_1)
{
return Math.Min(P_0, P_1);
}
static string _202B_206C_206F_202D_202C_206C_206C_206C_200E_206B_202C_206A_200F_206A_206F_200C_200C_200E_206E_202E_200B_200F_206F_206D_206C_206D_206E_200E_202A_206A_202D_202B_206F_200F_206D_200E_202A_200B_200C_200E_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static bool _200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static string _206E_200F_206C_202A_206A_206D_200B_202D_200F_202E_206C_206E_200B_200E_202A_206D_200C_206D_202A_206F_202C_202D_202C_200E_200B_202B_202A_200E_202D_206A_202D_202A_200D_202E_202C_202A_200F_200D_206B_206C_202E(string P_0, string P_1, string P_2, string P_3)
{
return P_0 + P_1 + P_2 + P_3;
}
static MenuItem _206C_200F_200F_202C_202B_206F_206B_202A_202A_206D_202E_206E_206E_200C_200F_206E_200E_206A_202D_202A_206E_206A_202C_206E_202C_200E_202A_206A_200B_200B_202E_200F_202C_200D_202C_206E_200C_202B_206F_206C_202E()
{
return new MenuItem();
}
static void _200F_202B_206E_202E_200E_202E_206B_202A_206D_202C_206B_202C_206C_202B_202A_206A_202A_200C_202B_200B_200F_206D_202B_200D_200E_202D_200E_206B_202C_200B_206C_200F_206D_200E_202E_200C_200E_202B_200F_202C_202E(MenuItem P_0, SeIconChar? P_1)
{
P_0.Prefix = P_1;
}
static void _202A_206C_200E_206B_206C_206C_206E_200C_200E_202C_202E_200C_200F_206D_202E_200C_202E_206C_202A_202E_200F_206B_206A_202D_206B_200F_200D_200C_200D_200D_206E_200C_200C_200E_200C_206B_200D_202C_202E(MenuItem P_0, ushort P_1)
{
P_0.PrefixColor = P_1;
}
static SeString _202D_206A_202C_206F_202B_202B_206B_206B_206F_202A_202E_206C_202A_202B_206D_200F_206D_206E_206F_202B_200D_202D_202D_206F_200D_200F_202E_206B_202D_200E_200D_206F_206B_202C_200B_200D_206C_206F_206B_202C_202E(string P_0)
{
return P_0;
}
static void _200E_206C_206D_202C_206A_200D_206A_202C_202D_202C_202E_200E_200C_200B_202A_202C_200C_206B_206E_206B_200F_200B_206A_206C_206F_206E_206F_200B_202C_200B_200C_200B_206F_206E_200B_200D_206B_206C_202A_200E_202E(MenuItem P_0, SeString P_1)
{
P_0.Name = P_1;
}
static void _202C_206D_200F_202E_200F_200B_206A_200F_202B_206A_202B_206C_206E_202A_206E_202D_206D_200F_202B_206E_206B_206E_200D_200C_200E_200C_200D_200F_200E_206F_202D_206F_206D_206A_206D_206F_200D_202D_202D_202C_202E(MenuItem P_0, Action<IMenuItemClickedArgs> P_1)
{
P_0.OnClicked = P_1;
}
static void _206E_202A_202E_200F_202D_200D_202B_202D_206C_202B_200E_202B_206D_202B_202E_202C_200E_202D_200D_200C_202E_200D_202D_202C_200E_202A_206D_200C_202C_206C_206B_202C_200B_202A_202C_200C_200C_206B_206E_206A_202E(MenuItem P_0, bool P_1)
{
P_0.IsEnabled = P_1;
}
static void _200E_202A_200E_200B_202C_200E_206E_200C_206B_206E_202B_202E_206C_200D_200B_200D_202B_206F_200C_202D_202A_200D_200E_206E_206B_206C_202A_206A_202B_202B_206D_206D_206A_206E_206A_202D_202C_202E_200C_206E_202E(IMenuOpenedArgs P_0, MenuItem P_1)
{
P_0.AddMenuItem(P_1);
}
static List<QuestStep> _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(QuestSequence P_0)
{
return P_0.Steps;
}
static ArgumentOutOfRangeException _206E_206B_202C_206A_200C_200E_202A_206A_200B_206F_202D_200D_200B_200E_200C_200F_206A_200E_200B_200D_202D_202A_200D_200D_202E_206F_206E_202E_202B_202A_202A_202E_206E_206B_206F_206C_202A_200C_200D_202C_202E(string P_0, object P_1, string P_2)
{
return new ArgumentOutOfRangeException(P_0, P_1, P_2);
}
static void _206E_206F_200D_202A_206B_202D_202A_206C_202E_200D_200B_200C_202D_206E_206E_202A_202B_206C_202B_200D_200C_200D_200B_206D_206D_200B_202C_202A_206E_200D_200D_202A_206D_206E_202A_202E_206E_202A_206A_206F_202E(QuestStep P_0, EExtendedClassJob P_1)
{
P_0.TargetClass = P_1;
}
static GatheredItem _206A_206F_200E_200E_206A_206E_202B_202B_206F_200B_200F_206E_200B_206E_200C_200E_206C_202C_202D_206A_202E_200E_206C_206D_202C_200B_206C_206C_202D_206E_200D_202C_200B_202D_200E_200F_202C_206E_206A_200C_202E()
{
return new GatheredItem();
}
static void _202D_200F_206F_202A_200F_202E_206C_206B_200F_200C_202C_206C_200D_202E_202D_202A_206A_200B_206F_206F_200B_200B_200E_202E_200E_206C_202A_202D_202A_206B_206A_202D_200E_206A_202C_202C_206D_200B_202B_206A_202E(GatheredItem P_0, uint P_1)
{
P_0.ItemId = P_1;
}
static void _202C_200B_200D_206C_206A_202C_202A_206D_202C_206F_200B_200D_206F_202E_206E_202E_206D_206B_200F_202A_202A_206F_200C_202A_206E_200B_202D_206C_206A_206C_206C_206E_206F_206D_206E_200F_202D_200D_200C_200E_202E(GatheredItem P_0, int P_1)
{
P_0.ItemCount = P_1;
}
static void _206A_206C_200E_206B_206D_200D_200B_200F_200F_202C_206F_200E_200C_206F_202B_206D_206B_202C_206F_202D_206F_202A_202B_206B_206C_200C_206C_202A_200E_200C_200F_200C_202C_206D_202C_206B_206B_206B_200F_206B_202E(GatheredItem P_0, ushort P_1)
{
P_0.Collectability = P_1;
}
static void _206A_200B_202E_202E_206F_202C_206A_206C_206B_202A_200D_202A_206D_202C_202A_202C_202A_202C_202A_206F_202C_202D_200C_206F_200D_206C_202E_206E_206E_200E_200D_206E_206B_200C_206A_202A_200B_200F_202C_206B_202E(QuestStep P_0, List<GatheredItem> P_1)
{
P_0.ItemsToGather = P_1;
}
static void _202C_206D_206D_206D_206E_202C_206A_202A_200E_200C_206E_206F_206F_200F_200E_206A_200D_200F_200C_200D_206E_200B_202C_200C_206D_206C_200C_200F_206E_206F_202D_202D_206E_206A_206F_206E_206E_206F_200B_202C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
static void _202E_202B_202D_200F_206F_206B_200D_200B_200D_202C_206C_200F_200B_206B_202E_200D_206C_200E_206E_200B_200D_200D_202B_206A_200B_206E_206D_206B_202C_206D_200D_206B_206C_202E_200E_200E_206E_200C_200E_206A_202E(IContextMenu P_0, IContextMenu.OnMenuOpenedDelegate P_1)
{
P_0.OnMenuOpened -= P_1;
_contextMenu.OnMenuOpened -= MenuOpened;
}
}

View file

@ -1,12 +1,10 @@
#define RELEASE
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text.Json;
using System.Text.Json.Nodes;
using Dalamud.Plugin;
@ -59,7 +57,6 @@ internal abstract class DefinitionRegistry<TDefinition> where TDefinition : clas
return null;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Reload()
{
_definitions.Clear();
@ -67,511 +64,125 @@ internal abstract class DefinitionRegistry<TDefinition> where TDefinition : clas
LoadFromAssembly();
try
{
LoadFromDirectory(_202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(_206D_206F_202D_200C_206F_200D_206C_206C_200F_202A_202E_206D_200F_202C_200D_202D_200D_202B_200B_200F_200F_200D_202B_202C_206C_200B_206D_206A_202C_202C_206F_206A_206A_200C_202A_206A_206D_200E_206A_200C_202E(_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)_200D_206A_206C_200C_202C_200E_202B_200F_202D_202C_206F_206F_200D_206C_202E_206D_206E_206B_206B_202A_206F_202E_200F_200F_206D_200B_200C_202C_200F_200F_206F_206C_200D_206E_202C_200E_200C_206D_200C_206C_202E(_pluginInterface)), ConfigDirectoryName)));
LoadFromDirectory(new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, ConfigDirectoryName)));
}
catch (Exception ex)
catch (Exception exception)
{
_200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1480922246), new object[1] { TypeLabel });
_logger.LogError(exception, "Failed to load {TypeLabel} definitions from user directory (some may have been successfully loaded)", TypeLabel);
}
IEnumerator<ValidationIssue> enumerator = _schemaValidator.Validate().GetEnumerator();
try
foreach (ValidationIssue item in _schemaValidator.Validate())
{
int num = -698035048;
while (true)
{
int num2 = num;
int num3 = -698035048;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = (_202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E((IEnumerator)enumerator) ? (-698035047) : (-698035045));
break;
case 1:
{
ValidationIssue current = enumerator.Current;
_questValidator.AddValidationIssue(current);
num = -698035048;
break;
}
case 2:
num = -698035048;
break;
case 3:
goto end_IL_008e;
}
continue;
end_IL_008e:
break;
}
}
finally
{
int num = ((enumerator == null) ? 1453964763 : 1453964760);
while (true)
{
int num5 = num;
int num3 = 1453964762;
int num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1453964760;
break;
case 1:
goto end_IL_0128;
case 2:
_202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)enumerator);
num = 1453964763;
break;
}
continue;
end_IL_0128:
break;
}
_questValidator.AddValidationIssue(item);
}
RemoveExpiredDefinitions();
_202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1196622981), new object[2] { _definitions.Count, TypeLabel });
_logger.LogDebug("Loaded {Count} {TypeLabel} definitions in total", _definitions.Count, TypeLabel);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[Conditional("RELEASE")]
private void LoadFromAssembly()
{
IReadOnlyDictionary<ushort, TDefinition> assemblyDefinitions = GetAssemblyDefinitions();
IEnumerator<KeyValuePair<ushort, TDefinition>> enumerator = assemblyDefinitions.GetEnumerator();
try
foreach (var (key, value) in assemblyDefinitions)
{
int num = -618996398;
while (true)
{
int num2 = num;
int num3 = -618996400;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = (_202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E((IEnumerator)enumerator) ? (-618996399) : (-618996400));
break;
case 1:
var (key, value) = (KeyValuePair<ushort, TDefinition>)(ref enumerator.Current);
_definitions[key] = value;
num = -618996398;
break;
case 3:
num = -618996398;
break;
case 0:
goto end_IL_001a;
}
continue;
end_IL_001a:
break;
}
_definitions[key] = value;
}
finally
{
int num = ((enumerator == null) ? 476280246 : 476280245);
while (true)
{
int num6 = num;
int num3 = 476280247;
int num4 = num6;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
goto end_IL_00ce;
case 2:
_202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)enumerator);
num = 476280246;
break;
case 0:
num = 476280245;
break;
}
continue;
end_IL_00ce:
break;
}
}
_202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(416518745), new object[2] { assemblyDefinitions.Count, TypeLabel });
_logger.LogDebug("Loaded {Count} {TypeLabel} definitions from assembly", assemblyDefinitions.Count, TypeLabel);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[Conditional("DEBUG")]
private void LoadFromProjectDirectory()
{
DirectoryInfo directoryInfo = _200F_206E_206C_202B_200C_200D_202A_202A_206C_202B_202B_200D_202E_200D_206D_206E_206D_206F_206C_202E_202C_202B_200D_206D_200B_202A_206D_206C_206F_206D_200B_200E_200C_202C_206C_206B_202A_200C_202C_202D_202E(_206B_202E_200E_206D_206B_206F_206D_206E_200B_202A_206D_202D_202E_206B_200E_202C_200C_200E_206D_200C_206F_206D_200D_206E_206B_200B_206C_206F_206A_202A_200C_200F_200D_200D_206A_200C_200D_200B_202A_202E_202E(_pluginInterface));
object obj;
DirectoryInfo directoryInfo = _pluginInterface.AssemblyLocation.Directory?.Parent?.Parent;
if (directoryInfo == null)
{
obj = null;
return;
}
else
DirectoryInfo directory = new DirectoryInfo(Path.Combine(directoryInfo.FullName, "Paths", ProjectDirectoryName));
try
{
DirectoryInfo directoryInfo2 = _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(directoryInfo);
obj = ((directoryInfo2 != null) ? _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(directoryInfo2) : null);
LoadFromDirectory(directory);
}
DirectoryInfo directoryInfo3 = (DirectoryInfo)obj;
int num = ((directoryInfo3 != null) ? 949795038 : 949795037);
while (true)
catch (Exception exception)
{
int num2 = num;
int num3 = 949795039;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_007c;
case 2:
return;
case 1:
{
DirectoryInfo directory = _202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(_206C_200F_202D_202C_202C_202A_206A_202C_200E_206F_200E_200B_202E_206A_202B_202B_200D_206C_202A_206E_200B_200F_200D_202D_202E_206E_206F_200E_202C_202D_206A_200F_200D_206A_200C_200E_200F_200F_202E_206A_202E(_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)directoryInfo3), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-896958366), ProjectDirectoryName));
try
{
LoadFromDirectory(directory);
return;
}
catch (Exception ex)
{
_definitions.Clear();
_200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1538126235), new object[1] { TypeLabel });
return;
}
}
}
continue;
IL_007c:
num = 949795037;
_definitions.Clear();
_logger.LogError(exception, "Failed to load {TypeLabel} definitions from project directory", TypeLabel);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void LoadFromDirectory(DirectoryInfo directory)
{
int num = (_202A_206B_200D_200C_202E_206A_206E_206A_206D_206E_200D_200F_206B_200E_206D_200C_200F_206E_200E_202B_200B_200F_200F_202C_206F_206A_200E_200E_206A_200D_202D_202D_206A_200F_206E_202D_206F_202C_206A_202E((FileSystemInfo)directory) ? 1970314603 : 1970314600);
TDefinition val = default(TDefinition);
while (true)
if (!directory.Exists)
{
int num2 = num;
int num3 = 1970314601;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
_logger.LogDebug("Not loading {TypeLabel} definitions from {DirectoryName} (doesn't exist)", TypeLabel, directory);
return;
}
FileInfo[] files = directory.GetFiles("*.json");
foreach (FileInfo fileInfo in files)
{
ushort? num = ExtractIdFromName(fileInfo.Name);
if (!num.HasValue)
{
case 0:
goto IL_004f;
case 1:
_202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1174512965), new object[2] { TypeLabel, directory });
return;
case 2:
continue;
}
try
{
FileInfo[] array = _206C_200E_206E_206B_206D_202A_206C_202C_200B_206B_200F_200B_206B_202E_200D_202C_206E_206F_200D_202A_202B_206F_206A_200B_202E_206F_202D_200C_206E_206D_200B_200D_202C_200B_206C_206A_206E_206D_200D_200E_202E(directory, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1831198397));
for (int num5 = 0; num5 < array.Length; num5 = (num4 | num3) + (num4 & num3))
using FileStream utf8Json = fileInfo.OpenRead();
JsonNode jsonNode = JsonNode.Parse(utf8Json);
if (jsonNode != null)
{
FileInfo fileInfo = array[num5];
ushort? num6 = ExtractIdFromName(_200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E((FileSystemInfo)fileInfo));
if (num6.HasValue)
_schemaValidator.Enqueue(num.Value, jsonNode);
TDefinition val = jsonNode.Deserialize<TDefinition>();
if (val != null)
{
try
{
FileStream fileStream = _206D_202B_206D_202A_202D_200F_206D_206D_202C_200F_202E_200C_206D_202D_206A_200F_202D_200E_206A_206C_202B_200B_202C_206F_202B_200E_206B_200F_206C_200C_206C_202C_202C_206E_206F_200F_202C_202A_202A_200D_202E(fileInfo);
try
{
JsonNode jsonNode = _202B_202E_200B_206F_202C_202D_202C_206C_206D_206C_200C_202E_200B_206E_206C_202E_200C_206B_206B_202E_206F_206B_200E_200C_200C_206B_206F_202E_200C_202C_200E_200C_200F_206D_202E_206A_200C_200C_206C_200C_202E((Stream)fileStream, (JsonNodeOptions?)null, default(JsonDocumentOptions));
num = ((jsonNode != null) ? (-48815400) : (-48815395));
while (true)
{
int num7 = num;
num3 = -48815396;
num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 0:
num = -48815395;
break;
case 1:
goto end_IL_00fd;
case 4:
_schemaValidator.Enqueue(num6.Value, jsonNode);
val = jsonNode.Deserialize<TDefinition>();
num = ((val == null) ? (-48815393) : (-48815394));
break;
case 2:
_definitions[num6.Value] = val;
num = -48815393;
break;
case 3:
goto end_IL_00fd;
}
continue;
end_IL_00fd:
break;
}
}
finally
{
num = ((fileStream == null) ? (-392038256) : (-392038253));
while (true)
{
int num10 = num;
num3 = -392038254;
num4 = num10;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -392038253;
break;
case 2:
goto end_IL_01d6;
case 1:
_202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)fileStream);
num = -392038256;
break;
}
continue;
end_IL_01d6:
break;
}
}
}
catch (JsonException ex)
{
_200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, (Exception)ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1372108018), new object[2]
{
TypeLabel,
_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)fileInfo)
});
_questValidator.AddValidationIssue(new ValidationIssue
{
PathType = PathType,
Id = num6.Value.ToString(_202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E()),
Location = null,
Type = EIssueType.InvalidJsonSyntax,
Severity = EIssueSeverity.Error,
Description = _206E_200B_206E_202A_200F_206A_200F_200B_206B_200F_206C_202E_200F_206F_200E_202E_200D_200C_202C_202C_200B_206A_206C_202D_202C_206F_206C_202D_200D_200B_200F_206D_200E_206C_202C_206F_206E_206E_206A_202C_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1049555621), _200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E((FileSystemInfo)fileInfo), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-437343681), _202A_202D_206C_206F_202B_202C_202D_206D_200D_206A_200F_202B_202B_202C_200F_200D_206F_200C_200E_202A_206B_206A_206F_202D_200B_200B_206D_206C_200B_200C_206C_200B_200E_206B_202A_200C_202B_200C_206B_206F_202E((Exception)ex))
});
}
catch (Exception ex2)
{
_200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1347495695), new object[2]
{
TypeLabel,
_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)fileInfo)
});
}
_definitions[num.Value] = val;
}
int num11 = num5;
num3 = 1;
num4 = num11;
}
return;
}
catch (JsonException ex)
{
_logger.LogError(ex, "Unable to parse {TypeLabel} definition file {FileName}", TypeLabel, fileInfo.FullName);
_questValidator.AddValidationIssue(new ValidationIssue
{
PathType = PathType,
Id = num.Value.ToString(CultureInfo.InvariantCulture),
Location = null,
Type = EIssueType.InvalidJsonSyntax,
Severity = EIssueSeverity.Error,
Description = "JSON syntax error in " + fileInfo.Name + ": " + ex.Message
});
}
catch (Exception exception)
{
_logger.LogError(exception, "Unable to load {TypeLabel} definition file {FileName}", TypeLabel, fileInfo.FullName);
}
continue;
IL_004f:
num = 1970314600;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void RemoveExpiredDefinitions()
{
using List<ushort>.Enumerator enumerator = (from kvp in _definitions.Where(delegate(KeyValuePair<ushort, TDefinition> kvp)
foreach (ushort item in (from kvp in _definitions.Where(delegate(KeyValuePair<ushort, TDefinition> kvp)
{
DateTime? expiry = GetExpiry(kvp.Value);
int num5 = ((!expiry.HasValue) ? (-748929161) : (-748929164));
while (true)
if (expiry.HasValue)
{
int num6 = num5;
int num7 = -748929162;
int num8 = num6;
switch ((num8 | num7) - (num8 & num7))
{
case 0:
goto IL_0058;
case 1:
return false;
case 2:
{
DateTime valueOrDefault = expiry.GetValueOrDefault();
return ExpiryUtils.NormalizeExpiry(valueOrDefault) < DateTime.UtcNow;
}
}
continue;
IL_0058:
num5 = -748929164;
DateTime valueOrDefault = expiry.GetValueOrDefault();
return ExpiryUtils.NormalizeExpiry(valueOrDefault) < DateTime.UtcNow;
}
return false;
})
select kvp.Key).ToList().GetEnumerator();
int num = 1782167825;
while (true)
select kvp.Key).ToList())
{
int num2 = num;
int num3 = 1782167824;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = 1782167825;
break;
case 2:
{
ushort current = enumerator.Current;
_202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-767454481), new object[3]
{
TypeLabel,
current,
GetName(_definitions[current]) ?? current.ToString(_202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E())
});
_definitions.Remove(current);
num = 1782167825;
break;
}
case 1:
num = (enumerator.MoveNext() ? 1782167826 : 1782167824);
break;
case 0:
return;
}
_logger.LogDebug("Removing expired {TypeLabel} definition {Id} '{Name}'", TypeLabel, item, GetName(_definitions[item]) ?? item.ToString(CultureInfo.InvariantCulture));
_definitions.Remove(item);
}
}
private static ushort? ExtractIdFromName(string fileName)
{
ushort result;
int num = (ushort.TryParse(_202E_200D_200F_206D_206E_200C_206E_200B_200F_206A_206E_206F_200D_206D_206A_202B_206C_200B_202C_200B_206B_200E_206A_200E_200F_206D_202E_202A_202C_202E_200C_202C_202A_200C_200C_206F_206F_206D_200B_206E_202E(_200E_200D_200F_206D_200B_202D_200E_200D_206C_200C_206C_206A_202C_206E_202E_200B_206E_202A_206C_200D_202D_200D_200F_200E_200D_200E_206A_202E_200F_200C_206B_206A_200B_202D_206E_206F_202D_206E_202E_206A_202E(fileName), '_', 2, StringSplitOptions.None)[0], out result) ? 271957257 : 271957258);
while (true)
if (!ushort.TryParse(Path.GetFileNameWithoutExtension(fileName).Split('_', 2)[0], out var result))
{
int num2 = num;
int num3 = 271957259;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return result;
case 1:
return null;
case 0:
goto IL_006e;
}
continue;
IL_006e:
num = 271957258;
return null;
}
}
static DirectoryInfo _200D_206A_206C_200C_202C_200E_202B_200F_202D_202C_206F_206F_200D_206C_202E_206D_206E_206B_206B_202A_206F_202E_200F_200F_206D_200B_200C_202C_200F_200F_206F_206C_200D_206E_202C_200E_200C_206D_200C_206C_202E(IDalamudPluginInterface P_0)
{
return P_0.ConfigDirectory;
}
static string _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E(FileSystemInfo P_0)
{
return P_0.FullName;
}
static string _206D_206F_202D_200C_206F_200D_206C_206C_200F_202A_202E_206D_200F_202C_200D_202D_200D_202B_200B_200F_200F_200D_202B_202C_206C_200B_206D_206A_202C_202C_206F_206A_206A_200C_202A_206A_206D_200E_206A_200C_202E(string P_0, string P_1)
{
return Path.Combine(P_0, P_1);
}
static DirectoryInfo _202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(string P_0)
{
return new DirectoryInfo(P_0);
}
static void _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static bool _202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E(IDisposable P_0)
{
P_0.Dispose();
}
static void _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static FileInfo _206B_202E_200E_206D_206B_206F_206D_206E_200B_202A_206D_202D_202E_206B_200E_202C_200C_200E_206D_200C_206F_206D_200D_206E_206B_200B_206C_206F_206A_202A_200C_200F_200D_200D_206A_200C_200D_200B_202A_202E_202E(IDalamudPluginInterface P_0)
{
return P_0.AssemblyLocation;
}
static DirectoryInfo _200F_206E_206C_202B_200C_200D_202A_202A_206C_202B_202B_200D_202E_200D_206D_206E_206D_206F_206C_202E_202C_202B_200D_206D_200B_202A_206D_206C_206F_206D_200B_200E_200C_202C_206C_206B_202A_200C_202C_202D_202E(FileInfo P_0)
{
return P_0.Directory;
}
static DirectoryInfo _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(DirectoryInfo P_0)
{
return P_0.Parent;
}
static string _206C_200F_202D_202C_202C_202A_206A_202C_200E_206F_200E_200B_202E_206A_202B_202B_200D_206C_202A_206E_200B_200F_200D_202D_202E_206E_206F_200E_202C_202D_206A_200F_200D_206A_200C_200E_200F_200F_202E_206A_202E(string P_0, string P_1, string P_2)
{
return Path.Combine(P_0, P_1, P_2);
}
static bool _202A_206B_200D_200C_202E_206A_206E_206A_206D_206E_200D_200F_206B_200E_206D_200C_200F_206E_200E_202B_200B_200F_200F_202C_206F_206A_200E_200E_206A_200D_202D_202D_206A_200F_206E_202D_206F_202C_206A_202E(FileSystemInfo P_0)
{
return P_0.Exists;
}
static FileInfo[] _206C_200E_206E_206B_206D_202A_206C_202C_200B_206B_200F_200B_206B_202E_200D_202C_206E_206F_200D_202A_202B_206F_206A_200B_202E_206F_202D_200C_206E_206D_200B_200D_202C_200B_206C_206A_206E_206D_200D_200E_202E(DirectoryInfo P_0, string P_1)
{
return P_0.GetFiles(P_1);
}
static string _200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E(FileSystemInfo P_0)
{
return P_0.Name;
}
static FileStream _206D_202B_206D_202A_202D_200F_206D_206D_202C_200F_202E_200C_206D_202D_206A_200F_202D_200E_206A_206C_202B_200B_202C_206F_202B_200E_206B_200F_206C_200C_206C_202C_202C_206E_206F_200F_202C_202A_202A_200D_202E(FileInfo P_0)
{
return P_0.OpenRead();
}
static JsonNode _202B_202E_200B_206F_202C_202D_202C_206C_206D_206C_200C_202E_200B_206E_206C_202E_200C_206B_206B_202E_206F_206B_200E_200C_200C_206B_206F_202E_200C_202C_200E_200C_200F_206D_202E_206A_200C_200C_206C_200C_202E(Stream P_0, JsonNodeOptions? P_1, JsonDocumentOptions P_2)
{
return JsonNode.Parse(P_0, P_1, P_2);
}
static CultureInfo _202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E()
{
return CultureInfo.InvariantCulture;
}
static string _202A_202D_206C_206F_202B_202C_202D_206D_200D_206A_200F_202B_202B_202C_200F_200D_206F_200C_200E_202A_206B_206A_206F_202D_200B_200B_206D_206C_200B_200C_206C_200B_200E_206B_202A_200C_202B_200C_206B_206F_202E(Exception P_0)
{
return P_0.Message;
}
static string _206E_200B_206E_202A_200F_206A_200F_200B_206B_200F_206C_202E_200F_206F_200E_202E_200D_200C_202C_202C_200B_206A_206C_202D_202C_206F_206C_202D_200D_200B_200F_206D_200E_206C_202C_206F_206E_206E_206A_202C_202E(string P_0, string P_1, string P_2, string P_3)
{
return P_0 + P_1 + P_2 + P_3;
}
static string _200E_200D_200F_206D_200B_202D_200E_200D_206C_200C_206C_206A_202C_206E_202E_200B_206E_202A_206C_200D_202D_200D_200F_200E_200D_200E_206A_202E_200F_200C_206B_206A_200B_202D_206E_206F_202D_206E_202E_206A_202E(string P_0)
{
return Path.GetFileNameWithoutExtension(P_0);
}
static string[] _202E_200D_200F_206D_206E_200C_206E_200B_200F_206A_206E_206F_200D_206D_206A_202B_206C_200B_202C_200B_206B_200E_206A_200E_200F_206D_202E_202A_202C_202E_200C_202C_202A_200C_200C_206F_206F_206D_200B_206E_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3)
{
return P_0.Split(P_1, P_2, P_3);
return result;
}
}

View file

@ -4,7 +4,6 @@ internal enum EQuestResolutionType
{
Simulated,
NextQuest,
GatheringQuest,
ManualPriority,
InProgressClassQuest,
NewClassQuest,

View file

@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Numerics;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
@ -46,25 +43,11 @@ internal sealed class FateController : MiniTaskController<FateController>
{
get
{
int num = (IsRunning ? (-1577720551) : (-1577720550));
while (true)
if (!IsRunning)
{
int num2 = num;
int num3 = -1577720549;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return DateTime.UtcNow - _startTime;
case 1:
return TimeSpan.Zero;
case 0:
goto IL_005d;
}
continue;
IL_005d:
num = -1577720550;
return TimeSpan.Zero;
}
return DateTime.UtcNow - _startTime;
}
}
@ -76,262 +59,88 @@ internal sealed class FateController : MiniTaskController<FateController>
_routeEnqueuer = routeEnqueuer;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Start(FateDefinition fate, int? cycleLimit = null)
{
_currentFate = fate;
_completedCycles = 0;
_cycleLimit = cycleLimit;
_startTime = DateTime.UtcNow;
_202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1566011469), new object[2]
{
_200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(fate),
cycleLimit?.ToString(_206F_200E_200D_202A_200F_200B_206A_202D_200D_202D_206A_206D_206E_206C_200B_200F_200E_206C_206B_206F_200B_200F_206B_202D_202A_206F_206E_200E_200E_200D_202B_202C_206D_206F_200E_206C_202B_206A_206B_206B_202E()) ?? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1353267636)
});
_logger.LogInformation("Starting FATE farming: {FateName} (limit: {Limit})", fate.Name, cycleLimit?.ToString(CultureInfo.InvariantCulture) ?? "unlimited");
EnqueueFateCycle();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Update()
{
int num = ((_currentFate != null) ? 799509446 : 799509451);
while (true)
if (_currentFate == null || _movementController.IsPathfinding || _movementController.IsPathRunning || _gameFunctions.IsOccupied())
{
int num2 = num;
int num3 = 799509447;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 8:
num = ((!_gameFunctions.IsOccupied()) ? 799509443 : 799509442);
break;
case 2:
_202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1655536442), new object[2] { _completedCycles, _cycleLimit.Value });
Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1011465347));
return;
case 12:
return;
case 6:
{
int completedCycles = _completedCycles;
num3 = 1;
num4 = completedCycles;
_completedCycles = (num4 | num3) + (num4 & num3);
num = ((!_cycleLimit.HasValue) ? 799509440 : 799509453);
break;
}
case 3:
num = ((!_movementController.IsPathRunning) ? 799509455 : 799509454);
break;
case 5:
return;
case 10:
num = ((_completedCycles < _cycleLimit.Value) ? 799509440 : 799509445);
break;
case 4:
num = ((!_taskQueue.AllTasksComplete) ? 799509452 : 799509441);
break;
case 7:
EnqueueFateCycle();
num = 799509452;
break;
case 0:
num = 799509451;
break;
case 11:
UpdateCurrentTask();
return;
case 1:
num = (_movementController.IsPathfinding ? 799509454 : 799509444);
break;
case 9:
return;
}
return;
}
if (_taskQueue.AllTasksComplete)
{
_completedCycles++;
if (_cycleLimit.HasValue && _completedCycles >= _cycleLimit.Value)
{
_logger.LogInformation("FATE cycle limit reached ({Cycles}/{Limit})", _completedCycles, _cycleLimit.Value);
Stop("Cycle limit reached");
return;
}
EnqueueFateCycle();
}
UpdateCurrentTask();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void EnqueueFateCycle()
{
int num = ((_currentFate != null) ? (-147335237) : (-147335233));
while (true)
if (_currentFate != null)
{
int num2 = num;
int num3 = -147335238;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
_logger.LogDebug("Enqueuing FATE cycle for {FateName}", _currentFate.Name);
_routeEnqueuer.Enqueue(_taskQueue, _currentFate.TerritoryId, _currentFate.Position, 5f);
if (_currentFate.RequiredStatusId.HasValue && _currentFate.TransformNpcDataId.HasValue && _currentFate.TransformNpcPosition.HasValue && !_gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value))
{
case 4:
num = -147335233;
break;
case 3:
num = (_gameFunctions.HasStatus(_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).Value) ? (-147335235) : (-147335238));
break;
case 6:
num = ((!_202A_206E_202D_200E_202D_200E_206D_202A_202C_202B_202B_202E_206B_200B_202D_206C_202C_206D_200E_206E_202C_200E_200B_206F_202E_206A_206F_206F_200C_206A_202A_200C_200E_202A_206B_200D_200C_206C_206B_200E_202E(_currentFate).HasValue) ? (-147335235) : (-147335239));
break;
case 0:
{
_200F_202D_200C_206D_206E_206B_200D_200C_200C_206F_202D_200F_200E_206A_200E_200B_206E_206C_206D_200B_200D_206A_206B_200B_206E_202E_202C_200C_200D_206B_206D_206C_206E_202A_200E_200E_200F_200F_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(534849822), new object[1] { _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).Value });
_taskQueue.Enqueue(new MoveTask(_206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(_currentFate), _202A_206E_202D_200E_202D_200E_206D_202A_202C_202B_202B_202E_206B_200B_202D_206C_202C_206D_200E_206E_202C_200E_200B_206F_202E_206A_206F_206F_200C_206A_202A_200C_200E_202A_206B_200D_200C_206C_206B_200E_202E(_currentFate).Value, null, MountRequired: false, DismountRequired: false, 3f));
_logger.LogDebug("Player missing required status {StatusId}, enqueuing transform", _currentFate.RequiredStatusId.Value);
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.TransformNpcPosition.Value, null, MountRequired: false, DismountRequired: false, 3f));
_taskQueue.Enqueue(new Mount.UnmountTask());
TaskQueue taskQueue = _taskQueue;
uint value = _202A_200C_202E_202B_206C_206A_202E_206C_206D_202C_200E_200D_206D_206C_200C_200D_200B_200C_200E_200D_206C_206F_200E_206C_200F_206F_206E_206B_202E_206E_200D_206B_206F_206C_206D_206F_206A_202D_206A_200F_202E(_currentFate).Value;
EStatus? completionStatusId = _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate);
taskQueue.Enqueue(new Interact.Task(value, null, EInteractionType.Interact, SkipMarkerCheck: true, null, null, null, null, completionStatusId));
uint value = _currentFate.TransformNpcDataId.Value;
EStatus? requiredStatusId = _currentFate.RequiredStatusId;
taskQueue.Enqueue(new Interact.Task(value, null, EInteractionType.Interact, SkipMarkerCheck: true, null, null, null, null, requiredStatusId));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2L)));
_taskQueue.Enqueue(new MoveTask(_206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(_currentFate), _206B_200F_200F_202B_206B_206C_200C_206A_206A_202D_202A_202B_206A_206F_202D_200D_200D_206B_202D_202B_202C_200F_200F_206A_202C_202D_206B_202C_206C_206C_202E_202E_206A_202E_202D_200F_200E_206A_200F_206D_202E(_currentFate), null, MountRequired: false, DismountRequired: false, 5f));
num = -147335235;
break;
}
case 1:
_200F_202D_200C_206D_206E_206B_200D_200C_200C_206F_202D_200F_200E_206A_200E_200B_206E_206C_206D_200B_200D_206A_206B_200B_206E_202E_202C_200C_200D_206B_206D_206C_206E_202A_200E_200E_200F_200F_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-371117818), new object[1] { _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(_currentFate) });
_routeEnqueuer.Enqueue(_taskQueue, _206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(_currentFate), _206B_200F_200F_202B_206B_206C_200C_206A_206A_202D_202A_202B_206A_206F_202D_200D_200D_206B_202D_202B_202C_200F_200F_206A_202C_202D_206B_202C_206C_206C_202E_202E_206A_202E_202D_200F_200E_206A_200F_206D_202E(_currentFate), 5f);
num = ((!_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).HasValue) ? (-147335235) : (-147335240));
break;
case 2:
num = ((!_202A_200C_202E_202B_206C_206A_202E_206C_206D_202C_200E_200D_206D_206C_200C_200D_200B_200C_200E_200D_206C_206F_200E_206C_200F_206F_206E_206B_202E_206E_200D_206B_206F_206C_206D_206F_206A_202D_206A_200F_202E(_currentFate).HasValue) ? (-147335235) : (-147335236));
break;
case 7:
_taskQueue.Enqueue(new Mount.UnmountTask());
_taskQueue.Enqueue(new FateFarming.WaitForFateTargets(_202C_200D_200B_206B_206C_200F_206E_202D_206F_206A_206D_202C_206D_202A_202C_202D_200E_202B_202D_202A_202D_202B_200E_200F_202A_206D_206D_202D_206A_206E_200B_202A_206B_206A_206E_206B_206B_202A_206E_206A_202E(_currentFate)));
_taskQueue.Enqueue(new FateFarming.SyncFateLevel());
_taskQueue.Enqueue(new FateFarming.FateActionLoop(_202C_200D_200B_206B_206C_200F_206E_202D_206F_206A_206D_202C_206D_202A_202C_202D_200E_202B_202D_202A_202D_202B_200E_200F_202A_206D_206D_202D_206A_206E_200B_202A_206B_206A_206E_206B_206B_202A_206E_206A_202E(_currentFate), _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate)));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L)));
return;
case 5:
return;
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.Position, null, MountRequired: false, DismountRequired: false, 5f));
}
_taskQueue.Enqueue(new Mount.UnmountTask());
_taskQueue.Enqueue(new FateFarming.WaitForFateTargets(_currentFate.Targets));
_taskQueue.Enqueue(new FateFarming.SyncFateLevel());
_taskQueue.Enqueue(new FateFarming.FateActionLoop(_currentFate.Targets, _currentFate.RequiredStatusId));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L)));
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Replan()
{
int num = ((_currentFate != null) ? 1044869375 : 1044869372);
while (true)
if (_currentFate != null)
{
int num2 = num;
int num3 = 1044869374;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(522631181), new object[1] { _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(_currentFate) });
_taskQueue.Reset();
EnqueueFateCycle();
return;
case 2:
return;
case 0:
goto IL_0082;
}
continue;
IL_0082:
num = 1044869372;
_logger.LogInformation("Re-planning FATE cycle for {FateName}", _currentFate.Name);
_taskQueue.Reset();
EnqueueFateCycle();
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override void Stop(string label)
{
base.Stop(label);
int num = ((_currentFate == null) ? 1034562538 : 1034562541);
while (true)
if (_currentFate != null)
{
int num2 = num;
int num3 = 1034562539;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
_logger.LogInformation("Stopping FATE farming: {Label} (completed {Cycles} cycles)", label, _completedCycles);
if (_currentFate.StopAction.HasValue && _currentFate.RequiredStatusId.HasValue && _gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value))
{
case 2:
_202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-757113622), new object[1] { _206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(_currentFate).Value });
_gameFunctions.UseAction(_206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(_currentFate).Value);
num = 1034562543;
break;
case 0:
num = ((!_gameFunctions.HasStatus(_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).Value)) ? 1034562543 : 1034562537);
break;
case 5:
num = ((!_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).HasValue) ? 1034562543 : 1034562539);
break;
case 6:
_202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1276129984), new object[2] { label, _completedCycles });
num = ((!_206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(_currentFate).HasValue) ? 1034562543 : 1034562542);
break;
case 4:
_routeEnqueuer.ClearDestination();
_currentFate = null;
_completedCycles = 0;
_cycleLimit = null;
_taskQueue.Reset();
num = 1034562538;
break;
case 1:
return;
case 3:
num = 1034562541;
break;
_logger.LogInformation("Using stop action {Action} to remove transformation", _currentFate.StopAction.Value);
_gameFunctions.UseAction(_currentFate.StopAction.Value);
}
_routeEnqueuer.ClearDestination();
_currentFate = null;
_completedCycles = 0;
_cycleLimit = null;
_taskQueue.Reset();
}
}
static string _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(FateDefinition P_0)
{
return P_0.Name;
}
static CultureInfo _206F_200E_200D_202A_200F_200B_206A_202D_200D_202D_206A_206D_206E_206C_200B_200F_200E_206C_206B_206F_200B_200F_206B_202D_202A_206F_206E_200E_200E_200D_202B_202C_206D_206F_200E_206C_202B_206A_206B_206B_202E()
{
return CultureInfo.InvariantCulture;
}
static void _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _200F_202D_200C_206D_206E_206B_200D_200C_200C_206F_202D_200F_200E_206A_200E_200B_206E_206C_206D_200B_200D_206A_206B_200B_206E_202E_202C_200C_200D_206B_206D_206C_206E_202A_200E_200E_200F_200F_202E_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static ushort _206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(FateDefinition P_0)
{
return P_0.TerritoryId;
}
static Vector3 _206B_200F_200F_202B_206B_206C_200C_206A_206A_202D_202A_202B_206A_206F_202D_200D_200D_206B_202D_202B_202C_200F_200F_206A_202C_202D_206B_202C_206C_206C_202E_202E_206A_202E_202D_200F_200E_206A_200F_206D_202E(FateDefinition P_0)
{
return P_0.Position;
}
static EStatus? _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(FateDefinition P_0)
{
return P_0.RequiredStatusId;
}
static uint? _202A_200C_202E_202B_206C_206A_202E_206C_206D_202C_200E_200D_206D_206C_200C_200D_200B_200C_200E_200D_206C_206F_200E_206C_200F_206F_206E_206B_202E_206E_200D_206B_206F_206C_206D_206F_206A_202D_206A_200F_202E(FateDefinition P_0)
{
return P_0.TransformNpcDataId;
}
static Vector3? _202A_206E_202D_200E_202D_200E_206D_202A_202C_202B_202B_202E_206B_200B_202D_206C_202C_206D_200E_206E_202C_200E_200B_206F_202E_206A_206F_206F_200C_206A_202A_200C_200E_202A_206B_200D_200C_206C_206B_200E_202E(FateDefinition P_0)
{
return P_0.TransformNpcPosition;
}
static List<FateActionTarget> _202C_200D_200B_206B_206C_200F_206E_202D_206F_206A_206D_202C_206D_202A_202C_202D_200E_202B_202D_202A_202D_202B_200E_200F_202A_206D_206D_202D_206A_206E_200B_202A_206B_206A_206E_206B_206B_202A_206E_206A_202E(FateDefinition P_0)
{
return P_0.Targets;
}
static EAction? _206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(FateDefinition P_0)
{
return P_0.StopAction;
}
}

View file

@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Microsoft.Extensions.Logging;
using Questionable.FatePaths;
@ -12,32 +11,11 @@ namespace Questionable.Controller;
internal sealed class FateDefinitionRegistry : DefinitionRegistry<FateDefinition>
{
protected override string TypeLabel
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(70009244);
}
}
protected override string TypeLabel => "FATE";
protected override string ConfigDirectoryName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(223633553);
}
}
protected override string ConfigDirectoryName => "FateDefinitions";
protected override string ProjectDirectoryName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1573744777);
}
}
protected override string ProjectDirectoryName => "FatePaths";
protected override EPathType PathType => EPathType.Fate;
@ -48,31 +26,16 @@ internal sealed class FateDefinitionRegistry : DefinitionRegistry<FateDefinition
protected override IReadOnlyDictionary<ushort, FateDefinition> GetAssemblyDefinitions()
{
return _206E_200D_202D_200F_206F_202C_202C_202E_200E_202B_202C_200F_206C_206F_206F_206A_206F_206D_206F_206D_200B_202C_206B_206F_206F_206C_202E_202C_200F_206B_202B_202C_206F_206B_200F_200D_206A_202D_202E_206D_202E();
return AssemblyFateDefinitionLoader.GetDefinitions();
}
protected override DateTime? GetExpiry(FateDefinition definition)
{
return _206A_202B_200B_202E_206A_206B_206F_206D_202D_202A_202E_202B_200B_206D_206D_206B_206C_200E_206B_202E_202A_206E_206A_200C_202D_200E_200C_202B_202D_202B_202C_202B_200C_202A_202E_200B_202D_202C_200D_202C_202E(definition);
return definition.EventExpiry;
}
protected override string? GetName(FateDefinition definition)
{
return _206D_200D_206C_202B_202C_206C_206B_202B_200D_206F_206E_202D_206E_200F_206A_206B_200D_200E_200D_200C_206F_206A_200F_200F_202C_206A_206F_200D_202D_206F_206A_200C_206E_202D_206E_200E_200D_200F_206E_202C_202E(definition);
}
static IReadOnlyDictionary<ushort, FateDefinition> _206E_200D_202D_200F_206F_202C_202C_202E_200E_202B_202C_200F_206C_206F_206F_206A_206F_206D_206F_206D_200B_202C_206B_206F_206F_206C_202E_202C_200F_206B_202B_202C_206F_206B_200F_200D_206A_202D_202E_206D_202E()
{
return AssemblyFateDefinitionLoader.GetDefinitions();
}
static DateTime? _206A_202B_200B_202E_206A_206B_206F_206D_202D_202A_202E_202B_200B_206D_206D_206B_206C_200E_206B_202E_202A_206E_206A_200C_202D_200E_200C_202B_202D_202B_202C_202B_200C_202A_202E_200B_202D_202C_200D_202C_202E(FateDefinition P_0)
{
return P_0.EventExpiry;
}
static string _206D_200D_206C_202B_202C_206C_206B_202B_200D_206F_206E_202D_206E_200F_206A_206B_200D_200E_200D_200C_206F_206A_200F_200F_202C_206A_206F_200D_202D_206F_206A_200C_206E_202D_206E_200E_200D_200F_206E_202C_202E(FateDefinition P_0)
{
return P_0.Name;
return definition.Name;
}
}

View file

@ -1,11 +1,7 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.Game.Character;
@ -22,142 +18,7 @@ namespace Questionable.Controller;
internal sealed class FishingController : MiniTaskController<FishingController>
{
public sealed record FishingRequest(uint ItemId, int Quantity, ushort Collectability)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202A_200B_206F_202C_206E_206F_206E_202B_206A_200F_200D_206F_202A_200C_200C_206B_202A_206B_206B_202A_206A_206C_200D_206A_206C_202E_200F_202B_202D_202C_206D_202C_200C_200F_206D_202C_202C_200E_202B_202D_202E(typeof(FishingRequest).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200C_206F_200E_200F_202B_200D_200E_206F_206F_202B_206C_200C_202C_200B_202B_200D_200B_200F_206E_206F_202A_200C_202C_206E_200B_200C_206E_206B_202D_206E_200D_200E_202E_206F_200F_206C_206E_206A_200F_206E_202E();
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-149753861));
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(stringBuilder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(698284764));
int num = ((!PrintMembers(stringBuilder)) ? (-649209154) : (-649209155));
while (true)
{
int num2 = num;
int num3 = -649209156;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -649209155;
break;
case 1:
_200C_206B_202B_206F_202D_206B_206E_200F_206B_200E_202A_206E_206E_202C_200E_200E_202B_206E_202E_200D_202B_200B_202D_206F_206E_200C_200C_206D_200B_206E_200B_200C_200D_206C_202B_200E_200E_202E_200F_206C_202E(stringBuilder, ' ');
num = -649209154;
break;
case 2:
_200C_206B_202B_206F_202D_206B_206E_200F_206B_200E_202A_206E_206E_202C_200E_200E_202B_206E_202E_200D_202B_200B_202D_206F_206E_200C_200C_206D_200B_206E_200B_200C_200D_206C_202B_200E_200E_202E_200F_206C_202E(stringBuilder, '}');
return _200B_200E_200E_200C_206C_200B_206B_206F_202B_200C_200C_206B_200F_200C_200D_200B_200B_202D_206C_202D_200D_200E_200D_200E_206F_206A_206F_202C_202A_206A_206E_206E_206B_206A_206A_206B_202C_200F_206C_200C_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202B_202C_200F_200F_206D_206C_202C_202A_202E_206E_202C_200F_202B_206F_206E_206B_206E_202B_200E_200B_202A_206C_200E_202B_202E_200C_202A_206D_200C_202E_200E_200F_200C_200F_200E_202B_206A_202E_202B_206B_202E();
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1176260912));
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, ItemId.ToString());
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-563538637));
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, Quantity.ToString());
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1025003851));
_200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, Collectability.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(FishingRequest? other)
{
int num = (((object)this == other) ? 677274432 : 677274436);
while (true)
{
int num2 = num;
int num3 = 677274434;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 677274436;
break;
case 4:
num = ((!_200C_200C_202C_206E_200D_202B_200B_202E_202B_200F_206F_200B_202D_202B_200B_202E_202A_200B_200B_206E_200B_206A_206B_206D_206B_202A_200C_206F_202A_206E_206F_202E_206A_206E_202E_206D_200F_200B_202D_202A_202E(EqualityContract, other.EqualityContract)) ? 677274435 : 677274437);
break;
case 3:
num = ((!EqualityComparer<int>.Default.Equals(Quantity, other.Quantity)) ? 677274435 : 677274439);
break;
case 5:
return EqualityComparer<ushort>.Default.Equals(Collectability, other.Collectability);
case 7:
num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? 677274435 : 677274433);
break;
case 1:
return false;
case 6:
num = (((object)other == null) ? 677274435 : 677274438);
break;
case 2:
return true;
}
}
}
bool IEquatable<FishingRequest>.Equals(FishingRequest? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202A_200B_206F_202C_206E_206F_206E_202B_206A_200F_200D_206F_202A_200C_200C_206B_202A_206B_206B_202A_206A_206C_200D_206A_206C_202E_200F_202B_202D_202C_206D_202C_200C_200F_206D_202C_202C_200E_202B_202D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _200C_206F_200E_200F_202B_200D_200E_206F_206F_202B_206C_200C_202C_200B_202B_200D_200B_200F_206E_206F_202A_200C_202C_206E_200B_200C_206E_206B_202D_206E_200D_200E_202E_206F_200F_206C_206E_206A_200F_206E_202E()
{
return new StringBuilder();
}
static StringBuilder _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200C_206B_202B_206F_202D_206B_206E_200F_206B_200E_202A_206E_206E_202C_200E_200E_202B_206E_202E_200D_202B_200B_202D_206F_206E_200C_200C_206D_200B_206E_200B_200C_200D_206C_202B_200E_200E_202E_200F_206C_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200B_200E_200E_200C_206C_200B_206B_206F_202B_200C_200C_206B_200F_200C_200D_200B_200B_202D_206C_202D_200D_200E_200D_200E_206F_206A_206F_202C_202A_206A_206E_206E_206B_206A_206A_206B_202C_200F_206C_200C_202E(object P_0)
{
return P_0.ToString();
}
static void _202B_202C_200F_200F_206D_206C_202C_202A_202E_206E_202C_200F_202B_206F_206E_206B_206E_202B_200E_200B_202A_206C_200E_202B_202E_200C_202A_206D_200C_202E_200E_200F_200C_200F_200E_202B_206A_202E_202B_206B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _200C_200C_202C_206E_200D_202B_200B_202E_202B_200F_206F_200B_202D_202B_200B_202E_202A_200B_200B_206E_200B_206A_206B_206D_206B_202A_200C_206F_202A_206E_206F_202E_206A_206E_202E_206D_200F_200B_202D_202A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
public sealed record FishingRequest(uint ItemId, int Quantity, ushort Collectability);
public enum EFishingState
{
@ -211,25 +72,11 @@ internal sealed class FishingController : MiniTaskController<FishingController>
{
get
{
int num = ((State == EFishingState.Idle) ? (-112078876) : (-112078873));
while (true)
if (State != EFishingState.Idle)
{
int num2 = num;
int num3 = -112078874;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0046;
case 2:
return false;
case 1:
return State != EFishingState.Complete;
}
continue;
IL_0046:
num = -112078873;
return State != EFishingState.Complete;
}
return false;
}
}
@ -249,427 +96,216 @@ internal sealed class FishingController : MiniTaskController<FishingController>
_condition = condition;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Start(FishingRequest request)
{
int num = ((State == EFishingState.Idle) ? (-974820956) : (-974820954));
while (true)
if (State != EFishingState.Idle)
{
int num2 = num;
int num3 = -974820958;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
_200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1404409549), Array.Empty<object>());
return false;
case 6:
num = (_autoHookIpc.IsAvailable() ? (-974820957) : (-974820959));
break;
case 5:
State = EFishingState.Navigating;
return true;
case 0:
_currentRequest = null;
return false;
case 2:
num = -974820954;
break;
case 1:
_currentRequest = request;
_actionThrottle = 0L;
_baitReady = false;
_taskQueue.Reset();
num = (TryEnqueueApproach(request) ? (-974820953) : (-974820958));
break;
case 4:
_200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1205637689), new object[1] { State });
return false;
}
_logger.LogWarning("Cannot start fishing - already in state {State}", State);
return false;
}
if (!_autoHookIpc.IsAvailable())
{
_logger.LogError("AutoHook is not available, cannot fish");
return false;
}
_currentRequest = request;
_actionThrottle = 0L;
_baitReady = false;
_taskQueue.Reset();
if (!TryEnqueueApproach(request))
{
_currentRequest = null;
return false;
}
State = EFishingState.Navigating;
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe bool TryEnqueueApproach(FishingRequest request)
{
FishingSpotInfo? spot;
int num = (_fishingData.TryGetFishingSpot(request.ItemId, out spot) ? (-407149571) : (-407149573));
FishingSpotInfo value = default(FishingSpotInfo);
Vector3 vector = default(Vector3);
while (true)
if (!_fishingData.TryGetFishingSpot(request.ItemId, out var spot))
{
int num2 = num;
int num3 = -407149570;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1931468190), Array.Empty<object>());
return false;
case 4:
num = (EnqueueLurePurchase() ? (-407149572) : (-407149569));
break;
case 3:
{
value = spot.Value;
Vector3 vector2 = new Vector3(value.X, 0f, value.Z);
vector = _navmeshIpc.GetPointOnFloor(vector2, unlandable: false) ?? vector2;
_202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1546765915), new object[4] { request.ItemId, value.SpotId, value.TerritoryId, vector });
num = ((InventoryManager.Instance()->GetInventoryItemCount(29717u, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0) ? (-407149572) : (-407149574));
break;
}
case 5:
_200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(281781333), new object[1] { request.ItemId });
return false;
case 2:
EnqueueNavigateTo(value.TerritoryId, vector);
_taskQueue.Enqueue(new Mount.UnmountTask());
return true;
case 0:
num = -407149573;
break;
}
_logger.LogError("No fishing spot found for item {ItemId}", request.ItemId);
return false;
}
FishingSpotInfo value = spot.Value;
Vector3 vector = new Vector3(value.X, 0f, value.Z);
Vector3 vector2 = _navmeshIpc.GetPointOnFloor(vector, unlandable: false) ?? vector;
_logger.LogInformation("Starting fishing: item {ItemId}, spot {SpotId}, territory {Territory}, position {Position}", request.ItemId, value.SpotId, value.TerritoryId, vector2);
if (InventoryManager.Instance()->GetInventoryItemCount(29717u, isHq: false, checkEquipped: true, checkArmory: true, 0) <= 0 && !EnqueueLurePurchase())
{
_logger.LogError("No Versatile Lure and no vendor found, cannot fish");
return false;
}
EnqueueNavigateTo(value.TerritoryId, vector2);
_taskQueue.Enqueue(new Mount.UnmountTask());
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override void OnRetryStep()
{
int num = ((!(_currentRequest == null)) ? 1913182215 : 1913182210);
while (true)
if (_currentRequest == null)
{
int num2 = num;
int num3 = 1913182211;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1913182210;
break;
case 1:
Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-600131236));
return;
case 3:
State = EFishingState.Navigating;
return;
case 4:
_202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(665668477), Array.Empty<object>());
_baitReady = false;
num = (TryEnqueueApproach(_currentRequest) ? 1913182208 : 1913182209);
break;
case 2:
Stop(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1698802452));
return;
}
Stop("Retry without request");
return;
}
_logger.LogInformation("Retrying fishing approach");
_baitReady = false;
if (!TryEnqueueApproach(_currentRequest))
{
Stop("Retry failed");
}
else
{
State = EFishingState.Navigating;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public EFishingState Update()
{
int num = ((State == EFishingState.Idle) ? (-1688940603) : (-1688940605));
while (true)
if (State == EFishingState.Idle || State == EFishingState.Complete)
{
int num2 = num;
int num3 = -1688940604;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = -1688940607;
break;
case 2:
Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-975449559));
return EFishingState.Idle;
case 6:
return UpdateOrienting();
case 7:
num = ((State != EFishingState.Complete) ? (-1688940593) : (-1688940603));
break;
case 10:
goto IL_00b0;
case 5:
return State;
case 0:
num = -1688940605;
break;
case 11:
num = ((!(_currentRequest == null)) ? (-1688940595) : (-1688940602));
break;
case 1:
return State;
case 3:
goto IL_00f7;
case 8:
goto IL_00fe;
case 9:
{
switch (State)
{
case EFishingState.Orienting:
break;
case EFishingState.Preparing:
goto IL_00b0;
case EFishingState.Fishing:
goto IL_00f7;
case EFishingState.Navigating:
goto IL_00fe;
default:
goto IL_0124;
}
goto case 6;
}
IL_0124:
num = -1688940608;
break;
IL_00fe:
return UpdateNavigating();
IL_00f7:
return UpdateFishing();
IL_00b0:
return UpdatePreparing();
}
return State;
}
if (_currentRequest == null)
{
Stop("No request");
return EFishingState.Idle;
}
return State switch
{
EFishingState.Navigating => UpdateNavigating(),
EFishingState.Orienting => UpdateOrienting(),
EFishingState.Preparing => UpdatePreparing(),
EFishingState.Fishing => UpdateFishing(),
_ => State,
};
}
[MethodImpl(MethodImplOptions.NoInlining)]
private EFishingState UpdateNavigating()
{
int num = ((!_taskQueue.AllTasksComplete) ? (-1280253675) : (-1280253674));
while (true)
if (_taskQueue.AllTasksComplete)
{
int num2 = num;
int num3 = -1280253673;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004d;
case 1:
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2136190681), Array.Empty<object>());
State = EFishingState.Orienting;
return State;
case 2:
UpdateCurrentTask();
return State;
}
continue;
IL_004d:
num = -1280253674;
_logger.LogDebug("Navigation complete, transitioning to orienting");
State = EFishingState.Orienting;
return State;
}
UpdateCurrentTask();
return State;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe EFishingState UpdateOrienting()
{
IPlayerCharacter playerCharacter = _200F_202D_206D_206D_206C_206E_200B_202D_200E_202C_206B_202C_206C_206B_206D_200F_206C_200D_200C_202E_202B_200C_206A_206F_206A_202B_200D_200D_206B_206D_202B_200D_206B_200C_202B_202B_206B_200C_202A_202A_202E(_objectTable);
int num = ((playerCharacter != null) ? (-1536188772) : (-1536188775));
Vector3 vector = default(Vector3);
(float, Vector3)? tuple = default((float, Vector3)?);
while (true)
IPlayerCharacter localPlayer = _objectTable.LocalPlayer;
if (localPlayer == null)
{
int num2 = num;
int num3 = -1536188776;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
_200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1988024988), new object[1] { vector });
Stop(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1777525514));
return State;
case 0:
{
Vector3 item = tuple.Value.Item2;
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-245731895), new object[1] { item });
ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL);
State = EFishingState.Preparing;
return State;
}
case 4:
vector = _206F_206A_206A_200E_206E_200B_206E_202A_206D_206B_206F_206F_202E_206C_200D_200B_200C_206D_206B_202C_200C_202B_202A_202B_200B_200D_206F_202A_200F_202B_206A_206F_206C_206E_202A_202B_202D_202A_202C_202B_202E((IGameObject)playerCharacter);
tuple = _202D_206F_206C_206C_206D_202A_206E_206F_206E_206A_202C_200C_200D_202A_202E_206D_206E_206E_206F_200D_206D_200D_206C_200D_200E_200D_206B_200C_206D_206C_206C_206D_202E_202D_206E_206C_206E_206D_206C_202E_202E(vector, 36);
num = (tuple.HasValue ? (-1536188776) : (-1536188774));
break;
case 3:
num = -1536188775;
break;
case 1:
return State;
}
return State;
}
Vector3 position = localPlayer.Position;
(float, Vector3)? tuple = WaterSurfaceDetector.FindFishableRotation(position);
if (!tuple.HasValue)
{
_logger.LogWarning("No fishable rotation found at position {Position}", position);
Stop("No fishable water nearby");
return State;
}
Vector3 item = tuple.Value.Item2;
_logger.LogDebug("Found fishable rotation, facing hit point {HitPoint}", item);
ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL);
State = EFishingState.Preparing;
return State;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe EFishingState UpdatePreparing()
{
int num = (CanUseActionNow() ? (-747465758) : (-747465753));
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
while (true)
if (!CanUseActionNow())
{
int num2 = num;
int num3 = -747465756;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
return State;
}
if (!_baitReady)
{
if (_autoHookIpc.SwapBaitById(29717u))
{
case 12:
num = ((_currentRequest.Collectability <= 0) ? (-747465748) : (-747465747));
break;
case 7:
{
BattleChara* ptr = (BattleChara*)_200F_202E_200E_206A_202B_200E_206D_206B_200F_202E_206B_206B_200C_202A_206B_206F_206E_202D_202D_200F_202B_202D_206A_200C_206D_200D_202B_200B_206F_202C_206E_200D_206E_200D_206D_206A_202C_206C_206B_206C_202E((IGameObject)playerCharacter);
num = (ptr->GetStatusManager()->HasStatus(805u) ? (-747465748) : (-747465755));
break;
}
case 3:
return State;
case 5:
num = ((!_autoHookIpc.SwapBaitById(29717u)) ? (-747465754) : (-747465746));
break;
case 11:
return State;
case 8:
_autoHookIpc.SetPluginState(enabled: true);
_autoHookIpc.SetAutoStartFishing(enabled: true);
_fishStartMs = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E();
_lastFishCount = GetItemCount();
State = EFishingState.Fishing;
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1666126604), Array.Empty<object>());
return State;
case 9:
playerCharacter = _200F_202D_206D_206D_206C_206E_200B_202D_200E_202C_206B_202C_206C_206B_206D_200F_206C_200D_200C_202E_202B_200C_206A_206F_206A_202B_200D_200D_206B_206D_202B_200D_206B_200C_202B_202B_206B_200C_202A_202A_202E(_objectTable);
num = ((playerCharacter == null) ? (-747465748) : (-747465757));
break;
case 4:
num = -747465753;
break;
case 6:
num = (_baitReady ? (-747465752) : (-747465759));
break;
case 1:
num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 4101u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-747465745) : (-747465756));
break;
case 10:
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1055152276), Array.Empty<object>());
_logger.LogDebug("Bait set to Versatile Lure");
_baitReady = true;
_actionThrottle = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() + 500;
_actionThrottle = Environment.TickCount64 + 500;
return State;
case 2:
_200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1448574380), Array.Empty<object>());
Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1247119621));
return State;
case 0:
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1852976997), Array.Empty<object>());
ActionManager.Instance()->UseAction(ActionType.Action, 4101u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
_actionThrottle = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() + 1000;
num = -747465745;
break;
}
_logger.LogWarning("AutoHook failed to swap bait, stopping");
Stop("Bait swap failed");
return State;
}
if (_currentRequest.Collectability > 0)
{
IPlayerCharacter localPlayer = _objectTable.LocalPlayer;
if (localPlayer != null)
{
BattleChara* address = (BattleChara*)localPlayer.Address;
if (!address->GetStatusManager()->HasStatus(805u))
{
if (ActionManager.Instance()->GetActionStatus(ActionType.Action, 4101u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0)
{
_logger.LogDebug("Activating Collector's Glove");
ActionManager.Instance()->UseAction(ActionType.Action, 4101u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
_actionThrottle = Environment.TickCount64 + 1000;
}
return State;
}
}
}
_autoHookIpc.SetPluginState(enabled: true);
_autoHookIpc.SetAutoStartFishing(enabled: true);
_fishStartMs = Environment.TickCount64;
_lastFishCount = GetItemCount();
State = EFishingState.Fishing;
_logger.LogDebug("AutoHook enabled, transitioning to fishing state");
return State;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe EFishingState UpdateFishing()
{
int itemCount = GetItemCount();
int num = ((itemCount <= _lastFishCount) ? (-1919966564) : (-1919966563));
while (true)
if (itemCount > _lastFishCount)
{
int num2 = num;
int num3 = -1919966576;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
_lastFishCount = itemCount;
_fishStartMs = Environment.TickCount64;
}
if (Environment.TickCount64 - _fishStartMs > 180000)
{
_logger.LogWarning("Fishing made no progress for {Timeout}ms", 180000L);
Stop("Fishing timeout");
return State;
}
if (HasEnoughItems())
{
if (!_condition[ConditionFlag.Fishing])
{
case 1:
return State;
case 0:
num = (_206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(_condition, ConditionFlag.Fishing) ? (-1919966565) : (-1919966569));
break;
case 2:
_200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1428296655), new object[1] { 180000L });
Stop(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1371551999));
return State;
case 7:
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(273212512), Array.Empty<object>());
_logger.LogDebug("Have enough items, fishing complete");
State = EFishingState.Complete;
DisableAutoHookAutoStart();
num = -1919966565;
break;
case 12:
num = ((_200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() - _fishStartMs <= 180000) ? (-1919966568) : (-1919966574));
break;
case 3:
num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 289u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-1919966575) : (-1919966571));
break;
case 13:
_lastFishCount = itemCount;
_fishStartMs = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E();
num = -1919966564;
break;
case 4:
num = (_206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(_condition, ConditionFlag.Fishing) ? (-1919966575) : (-1919966567));
break;
case 5:
_206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1571582558), Array.Empty<object>());
ActionManager.Instance()->UseAction(ActionType.Action, 289u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
_actionThrottle = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() + 2000;
num = -1919966575;
break;
case 9:
num = (_206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(_condition, ConditionFlag.Casting) ? (-1919966575) : (-1919966570));
break;
case 6:
num = ((!CanUseActionNow()) ? (-1919966575) : (-1919966573));
break;
case 8:
num = ((!HasEnoughItems()) ? (-1919966572) : (-1919966576));
break;
case 11:
return State;
case 10:
num = -1919966563;
break;
}
return State;
}
if (!_condition[ConditionFlag.Fishing] && !_condition[ConditionFlag.Casting] && CanUseActionNow() && ActionManager.Instance()->GetActionStatus(ActionType.Action, 289u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0)
{
_logger.LogDebug("Casting fishing rod");
ActionManager.Instance()->UseAction(ActionType.Action, 289u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
_actionThrottle = Environment.TickCount64 + 2000;
}
return State;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override void Stop(string label)
{
base.Stop(label);
int num = ((State != EFishingState.Idle) ? 1276475840 : 1276475841);
while (true)
if (State != EFishingState.Idle || _currentRequest != null)
{
int num2 = num;
int num3 = 1276475840;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
_202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(447789808), new object[1] { label });
DisableAutoHookAutoStart();
_routeEnqueuer.ClearDestination();
_taskQueue.Reset();
_currentRequest = null;
State = EFishingState.Idle;
num = 1276475843;
break;
case 1:
num = ((!(_currentRequest != null)) ? 1276475843 : 1276475840);
break;
case 3:
return;
case 2:
num = 1276475841;
break;
}
_logger.LogInformation("Stopping fishing controller: {Label}", label);
DisableAutoHookAutoStart();
_routeEnqueuer.ClearDestination();
_taskQueue.Reset();
_currentRequest = null;
State = EFishingState.Idle;
}
}
@ -686,57 +322,25 @@ internal sealed class FishingController : MiniTaskController<FishingController>
private bool HasEnoughItems()
{
int num = ((!(_currentRequest == null)) ? 1490081139 : 1490081136);
while (true)
if (_currentRequest == null)
{
int num2 = num;
int num3 = 1490081137;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004e;
case 1:
return true;
case 2:
return GetItemCount() >= _currentRequest.Quantity;
}
continue;
IL_004e:
num = 1490081136;
return true;
}
return GetItemCount() >= _currentRequest.Quantity;
}
private unsafe int GetItemCount()
{
int num = ((!(_currentRequest == null)) ? 1670490552 : 1670490555);
while (true)
if (_currentRequest == null)
{
int num2 = num;
int num3 = 1670490553;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004e;
case 1:
return InventoryManager.Instance()->GetInventoryItemCount(_currentRequest.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)_currentRequest.Collectability);
case 2:
return 0;
}
continue;
IL_004e:
num = 1670490555;
return 0;
}
return InventoryManager.Instance()->GetInventoryItemCount(_currentRequest.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)_currentRequest.Collectability);
}
private bool CanUseActionNow()
{
return _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() >= _actionThrottle;
return Environment.TickCount64 >= _actionThrottle;
}
private void EnqueueNavigateTo(ushort territoryId, Vector3 position)
@ -744,87 +348,18 @@ internal sealed class FishingController : MiniTaskController<FishingController>
_routeEnqueuer.Enqueue(_taskQueue, territoryId, position);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool EnqueueLurePurchase()
{
VendorResolverService.VendorInfo? vendorInfo = _vendorResolver.ResolveVendor(29717u);
int num = (vendorInfo.HasValue ? 496459254 : 496459255);
while (true)
if (!vendorInfo.HasValue)
{
int num2 = num;
int num3 = 496459254;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
_202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-26952727), new object[2]
{
99,
vendorInfo.Value.VendorNpcId
});
EnqueueNavigateTo(vendorInfo.Value.TerritoryId, vendorInfo.Value.Position);
_taskQueue.Enqueue(new Mount.UnmountTask());
_taskQueue.Enqueue(new VendorPurchaseTask(vendorInfo.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList<VendorPurchaseTask.PurchaseItem>(new VendorPurchaseTask.PurchaseItem(29717u, 99)), vendorInfo.Value.DialogOptionIndex));
return true;
case 1:
_200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(570039642), Array.Empty<object>());
return false;
case 2:
goto IL_0128;
}
continue;
IL_0128:
num = 496459255;
_logger.LogWarning("No vendor found selling Versatile Lure");
return false;
}
}
static void _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static void _200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static void _202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static IPlayerCharacter _200F_202D_206D_206D_206C_206E_200B_202D_200E_202C_206B_202C_206C_206B_206D_200F_206C_200D_200C_202E_202B_200C_206A_206F_206A_202B_200D_200D_206B_206D_202B_200D_206B_200C_202B_202B_206B_200C_202A_202A_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static Vector3 _206F_206A_206A_200E_206E_200B_206E_202A_206D_206B_206F_206F_202E_206C_200D_200B_200C_206D_206B_202C_200C_202B_202A_202B_200B_200D_206F_202A_200F_202B_206A_206F_206C_206E_202A_202B_202D_202A_202C_202B_202E(IGameObject P_0)
{
return P_0.Position;
}
static (float, Vector3)? _202D_206F_206C_206C_206D_202A_206E_206F_206E_206A_202C_200C_200D_202A_202E_206D_206E_206E_206F_200D_206D_200D_206C_200D_200E_200D_206B_200C_206D_206C_206C_206D_202E_202D_206E_206C_206E_206D_206C_202E_202E(Vector3 P_0, int P_1)
{
return WaterSurfaceDetector.FindFishableRotation(P_0, P_1);
}
static long _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E()
{
return Environment.TickCount64;
}
static nint _200F_202E_200E_206A_202B_200E_206D_206B_200F_202E_206B_206B_200C_202A_206B_206F_206E_202D_202D_200F_202B_202D_206A_200C_206D_200D_202B_200B_206F_202C_206E_200D_206E_200D_206D_206A_202C_206C_206B_206C_202E(IGameObject P_0)
{
return P_0.Address;
}
static bool _206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
_logger.LogInformation("No bait in inventory, purchasing {Quantity} Versatile Lure from vendor {VendorId}", 99, vendorInfo.Value.VendorNpcId);
EnqueueNavigateTo(vendorInfo.Value.TerritoryId, vendorInfo.Value.Position);
_taskQueue.Enqueue(new Mount.UnmountTask());
_taskQueue.Enqueue(new VendorPurchaseTask(vendorInfo.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList<VendorPurchaseTask.PurchaseItem>(new VendorPurchaseTask.PurchaseItem(29717u, 99)), vendorInfo.Value.DialogOptionIndex));
return true;
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,13 +1,11 @@
#define RELEASE
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text.Json;
using System.Text.Json.Nodes;
using Dalamud.Plugin;
@ -24,39 +22,6 @@ namespace Questionable.Controller;
internal sealed class GatheringPointRegistry
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass16_0
{
public uint itemId;
public GatheringPointRegistry _003C_003E4__this;
internal bool _003CTryGetGatheringPointId_003Eb__0(KeyValuePair<GatheringPointId, GatheringRoot> x)
{
return _202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId);
}
internal bool _003CTryGetGatheringPointId_003Eb__2(GatheringPointId x)
{
return _003C_003E4__this._gatheringData.MinerGatheringPoints.Contains(x);
}
internal bool _003CTryGetGatheringPointId_003Eb__3(KeyValuePair<GatheringPointId, GatheringRoot> x)
{
return _202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId);
}
internal bool _003CTryGetGatheringPointId_003Eb__5(GatheringPointId x)
{
return _003C_003E4__this._gatheringData.BotanistGatheringPoints.Contains(x);
}
static List<uint> _202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(GatheringRoot P_0)
{
return P_0.ExtraQuestItems;
}
}
private readonly IDalamudPluginInterface _pluginInterface;
private readonly GatheringData _gatheringData;
@ -78,7 +43,6 @@ internal sealed class GatheringPointRegistry
_logger = logger;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public Dictionary<GatheringPointId, GatheringRoot> Build()
{
Dictionary<GatheringPointId, GatheringRoot> dictionary = new Dictionary<GatheringPointId, GatheringRoot>();
@ -86,72 +50,17 @@ internal sealed class GatheringPointRegistry
LoadGatheringPointsFromAssembly(dictionary);
try
{
LoadFromDirectory(dictionary, _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(_202A_206B_206E_206A_200F_206F_202E_202E_206E_200B_206F_202A_202C_200D_200C_200F_206A_206E_200F_202E_206A_200E_206A_202A_200B_202B_200B_206D_200E_202A_206D_202E_206E_206C_202C_202A_202E_202C_200F_206B_202E(_202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)_202C_200E_206E_206B_200B_200D_206A_202C_202A_202A_206A_206E_200F_200D_206C_200F_206A_200C_206A_200F_200B_206A_206D_202A_200D_206F_206D_202C_200F_200C_200E_202A_202C_200E_202A_202C_200E_200C_200C_206D_202E(_pluginInterface)), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1200409228))));
LoadFromDirectory(dictionary, new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, "GatheringPoints")));
}
catch (Exception ex)
catch (Exception exception)
{
_202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1765916983), Array.Empty<object>());
_logger.LogError(exception, "Failed to load gathering points from user directory (some may have been successfully loaded)");
}
IEnumerator<ValidationIssue> enumerator = _gatheringSchemaValidator.Validate().GetEnumerator();
try
foreach (ValidationIssue item in _gatheringSchemaValidator.Validate())
{
int num = 629723332;
while (true)
{
int num2 = num;
int num3 = 629723333;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
num = (_206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E((IEnumerator)enumerator) ? 629723335 : 629723334);
break;
case 2:
{
ValidationIssue current = enumerator.Current;
_questValidator.AddValidationIssue(current);
num = 629723332;
break;
}
case 0:
num = 629723332;
break;
case 3:
goto end_IL_0086;
}
continue;
end_IL_0086:
break;
}
_questValidator.AddValidationIssue(item);
}
finally
{
int num = ((enumerator == null) ? 914645726 : 914645725);
while (true)
{
int num7 = num;
int num3 = 914645724;
int num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto end_IL_0129;
case 1:
_200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)enumerator);
num = 914645726;
break;
case 0:
num = 914645725;
break;
}
continue;
end_IL_0129:
break;
}
}
_200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(509143359), new object[1] { dictionary.Count });
_logger.LogDebug("Loaded {Count} gathering points in total", dictionary.Count);
return dictionary;
}
@ -165,354 +74,104 @@ internal sealed class GatheringPointRegistry
Publish(Build());
}
[MethodImpl(MethodImplOptions.NoInlining)]
[Conditional("RELEASE")]
private void LoadGatheringPointsFromAssembly(Dictionary<GatheringPointId, GatheringRoot> gatheringPoints)
{
IEnumerator<KeyValuePair<ushort, GatheringRoot>> enumerator = _202B_206E_202A_202D_206C_200E_202E_206E_202D_202B_206F_200D_206F_206B_200E_202E_200F_206C_202B_200C_200C_200D_206D_206D_202C_200C_200B_200D_202D_200C_206B_206E_202C_200C_202B_206B_206D_206A_202E_202D_202E().GetEnumerator();
try
foreach (var (value, value2) in AssemblyGatheringLocationLoader.GetLocations())
{
int num = 136315747;
while (true)
{
int num2 = num;
int num3 = 136315744;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 136315747;
break;
case 3:
num = (_206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E((IEnumerator)enumerator) ? 136315746 : 136315745);
break;
case 2:
var (num8, value) = (KeyValuePair<ushort, GatheringRoot>)(ref enumerator.Current);
gatheringPoints[_206A_200B_206E_202D_202C_206C_206B_200E_202B_200B_200B_200D_206E_202B_206A_200D_206E_206E_200F_206E_200E_202B_200E_202D_200C_206F_200C_206E_206C_200F_206A_206F_206D_200B_200E_200B_200E_200E_206B_200E_202E(num8)] = value;
num = 136315747;
break;
case 1:
goto end_IL_0017;
}
continue;
end_IL_0017:
break;
}
gatheringPoints[new GatheringPointId(value)] = value2;
}
finally
{
int num = ((enumerator == null) ? 1026507161 : 1026507162);
while (true)
{
int num9 = num;
int num3 = 1026507163;
int num4 = num9;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1026507162;
break;
case 1:
_200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)enumerator);
num = 1026507161;
break;
case 2:
goto end_IL_00cc;
}
continue;
end_IL_00cc:
break;
}
}
_200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1162006669), new object[1] { gatheringPoints.Count });
_logger.LogDebug("Loaded {Count} gathering points from assembly", gatheringPoints.Count);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[Conditional("DEBUG")]
private void LoadGatheringPointsFromProjectDirectory(Dictionary<GatheringPointId, GatheringRoot> gatheringPoints)
{
DirectoryInfo directoryInfo = _200E_206A_200F_206A_206F_202B_202A_200C_200C_206B_206D_200D_200C_200E_206F_200D_206B_206E_206E_202B_206F_206F_206D_206F_206F_200F_200E_202A_202B_200B_206A_206A_206E_202B_202D_202A_206B_200E_200C_200F_202E(_200C_202C_206D_202E_202C_202B_200C_206F_200E_206C_206F_202E_200B_206F_200F_206C_206C_206F_206B_202A_200F_200C_200B_200C_200D_202D_200E_202A_206F_206F_200F_200C_200F_206E_200F_206F_200F_200F_202E_206B_202E(_pluginInterface));
object obj;
DirectoryInfo directoryInfo = _pluginInterface.AssemblyLocation.Directory?.Parent?.Parent;
if (directoryInfo == null)
{
obj = null;
_logger.LogWarning("Could not determine solution directory from assembly location: {AssemblyLocation}", _pluginInterface.AssemblyLocation.FullName);
return;
}
else
DirectoryInfo directoryInfo2 = new DirectoryInfo(Path.Combine(directoryInfo.FullName, "Paths", "GatheringPaths"));
try
{
DirectoryInfo directoryInfo2 = _200C_206E_202A_200D_200B_202E_206B_200E_200C_200E_206F_202B_202C_200E_200F_206E_202B_200F_200B_202E_202E_206F_202D_206E_202B_200C_202C_206E_200C_206B_206B_200F_202E_206F_200C_200D_200E_200B_200F_200E_202E(directoryInfo);
obj = ((directoryInfo2 != null) ? _200C_206E_202A_200D_200B_202E_206B_200E_200C_200E_206F_202B_202C_200E_200F_206E_202B_200F_200B_202E_202E_206F_202D_206E_202B_200C_202C_206E_200C_206B_206B_200F_202E_206F_200C_200D_200E_200B_200F_200E_202E(directoryInfo2) : null);
foreach (string value in ExpansionData.ExpansionFolders.Values)
{
LoadFromDirectory(gatheringPoints, new DirectoryInfo(Path.Combine(directoryInfo2.FullName, value)));
}
}
DirectoryInfo directoryInfo3 = (DirectoryInfo)obj;
int num = ((directoryInfo3 != null) ? 750633398 : 750633399);
while (true)
catch (Exception exception)
{
int num2 = num;
int num3 = 750633398;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0081;
case 1:
_206D_200C_202C_206C_206D_206B_202C_202B_202D_206D_200B_206D_202A_200C_202C_206A_202D_200C_200C_200D_206F_200C_202A_206A_200F_200C_202C_200D_202A_200F_202B_200E_206E_202C_202C_202E_202E_206A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-793417510), new object[1] { _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)_200C_202C_206D_202E_202C_202B_200C_206F_200E_206C_206F_202E_200B_206F_200F_206C_206C_206F_206B_202A_200F_200C_200B_200C_200D_202D_200E_202A_206F_206F_200F_200C_200F_206E_200F_206F_200F_200F_202E_206B_202E(_pluginInterface)) });
return;
case 0:
{
DirectoryInfo directoryInfo4 = _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(_200D_200B_202E_200F_202A_206D_200C_206A_202A_206D_206F_202D_200B_206C_206D_202D_202C_202E_200D_206A_202A_206E_200D_206F_206C_202D_206F_200E_202D_202B_200D_202D_202D_206B_202E_200C_206D_200E_202A_202B_202E(_202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)directoryInfo3), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1542749489), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1860611895)));
try
{
IEnumerator<string> enumerator = ExpansionData.ExpansionFolders.Values.GetEnumerator();
try
{
num = 1661986268;
while (true)
{
int num7 = num;
num3 = 1661986269;
num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 0:
num = 1661986268;
break;
case 2:
{
string current = enumerator.Current;
LoadFromDirectory(gatheringPoints, _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(_202A_206B_206E_206A_200F_206F_202E_202E_206E_200B_206F_202A_202C_200D_200C_200F_206A_206E_200F_202E_206A_200E_206A_202A_200B_202B_200B_206D_200E_202A_206D_202E_206E_206C_202C_202A_202E_202C_200F_206B_202E(_202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)directoryInfo4), current)));
num = 1661986268;
break;
}
case 1:
num = (_206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E((IEnumerator)enumerator) ? 1661986271 : 1661986270);
break;
case 3:
return;
}
}
}
finally
{
num = ((enumerator == null) ? 867053132 : 867053133);
while (true)
{
int num10 = num;
num3 = 867053132;
num4 = num10;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 867053133;
break;
case 1:
_200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)enumerator);
num = 867053132;
break;
case 0:
goto end_IL_01ac;
}
continue;
end_IL_01ac:
break;
}
}
}
catch (Exception ex)
{
gatheringPoints.Clear();
_202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1894668085), Array.Empty<object>());
return;
}
}
}
continue;
IL_0081:
num = 750633399;
gatheringPoints.Clear();
_logger.LogError(exception, "Failed to load gathering points from project directory");
}
}
private void LoadGatheringPointFromStream(Dictionary<GatheringPointId, GatheringRoot> gatheringPoints, string fileName, Stream stream)
{
GatheringPointId gatheringPointId = ExtractGatheringPointIdFromName(fileName);
int num = ((!_206F_206D_202E_206E_202B_200B_200F_206F_206E_206F_202A_206F_206C_206E_200E_206F_200E_202B_206F_202A_206B_202E_200F_202A_202D_206C_202A_206E_206F_206F_200C_206A_206F_202E_206B_202A_200E_206C_200F_202E(gatheringPointId, (GatheringPointId)null)) ? 1532040796 : 1532040799);
JsonNode jsonNode = default(JsonNode);
while (true)
if (!(gatheringPointId == null))
{
int num2 = num;
int num3 = 1532040798;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
JsonNode jsonNode = JsonNode.Parse(stream);
if (jsonNode != null)
{
case 0:
return;
case 1:
return;
case 3:
num = 1532040799;
break;
case 2:
jsonNode = _200B_206C_202C_202B_206F_200D_202A_206D_206E_206B_206F_202C_200B_202B_200C_200F_206F_206F_202D_200C_206E_202C_206E_200D_200F_200F_200D_200F_206C_202E_206A_206F_200D_202D_202A_202B_206F_206B_206F_206B_202E(stream, (JsonNodeOptions?)null, default(JsonDocumentOptions));
num = ((jsonNode != null) ? 1532040794 : 1532040798);
break;
case 4:
_gatheringSchemaValidator.Enqueue(_200B_200E_202E_202B_206C_200E_200B_206D_200B_200D_206C_206F_200E_202E_206C_206D_202B_206E_200B_200C_200C_200F_200D_200D_206B_200E_206A_206E_206D_202A_202C_202A_206E_200F_200F_200F_206D_206D_200E_200F_202E(gatheringPointId), jsonNode);
_gatheringSchemaValidator.Enqueue(gatheringPointId.Value, jsonNode);
gatheringPoints[gatheringPointId] = jsonNode.Deserialize<GatheringRoot>();
return;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void LoadFromDirectory(Dictionary<GatheringPointId, GatheringRoot> gatheringPoints, DirectoryInfo directory)
{
int num = (_200E_202A_206F_200B_206E_206E_206D_200D_200B_202C_202C_206E_206D_206D_206E_202C_206E_200C_202A_206D_206E_200D_200B_206E_202C_202C_202B_200C_202D_200F_200D_200F_206C_202A_200D_206E_206B_202A_206A_206A_202E((FileSystemInfo)directory) ? (-2030197123) : (-2030197122));
DirectoryInfo[] array2 = default(DirectoryInfo[]);
while (true)
if (!directory.Exists)
{
int num2 = num;
int num3 = -2030197121;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
_logger.LogDebug("Not loading gathering points from {DirectoryName} (doesn't exist)", directory);
return;
}
FileInfo[] files = directory.GetFiles("*.json");
foreach (FileInfo fileInfo in files)
{
try
{
case 0:
goto IL_0051;
case 1:
_200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1603379103), new object[1] { directory });
return;
case 2:
using FileStream stream = fileInfo.OpenRead();
LoadGatheringPointFromStream(gatheringPoints, fileInfo.Name, stream);
}
catch (JsonException ex)
{
FileInfo[] array = _206F_202B_202A_202E_202C_206C_200F_200E_206A_202A_202A_200B_202C_206D_202E_206F_202A_200B_206A_206F_206F_202B_206E_200E_202E_200F_200F_202C_206D_200F_206D_206A_206B_202B_206F_206A_200D_200F_200F_202A_202E(directory, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1350212695));
int num7;
for (num7 = 0; num7 < array.Length; num7 = (num4 | num3) + (num4 & num3))
GatheringPointId gatheringPointId = ExtractGatheringPointIdFromName(fileInfo.Name);
_logger.LogError(ex, "Unable to parse gathering point file {FileName}", fileInfo.FullName);
_questValidator.AddValidationIssue(new ValidationIssue
{
FileInfo fileInfo = array[num7];
try
{
FileStream fileStream = _200C_206E_206C_206F_206C_206E_206E_200B_202D_200B_200E_200D_206F_202A_200F_206E_206D_202A_200B_200E_202B_202D_206B_206E_206B_202C_202C_206B_202A_202C_202A_202B_206A_200C_202A_206A_200F_202A_202D_202B_202E(fileInfo);
try
{
LoadGatheringPointFromStream(gatheringPoints, _200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E((FileSystemInfo)fileInfo), fileStream);
}
finally
{
num = ((fileStream == null) ? (-1087514602) : (-1087514603));
while (true)
{
int num8 = num;
num3 = -1087514601;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -1087514603;
break;
case 2:
_200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)fileStream);
num = -1087514602;
break;
case 1:
goto end_IL_00d1;
}
continue;
end_IL_00d1:
break;
}
}
}
catch (JsonException ex)
{
GatheringPointId gatheringPointId = ExtractGatheringPointIdFromName(_200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E((FileSystemInfo)fileInfo));
_202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E((ILogger)_logger, (Exception)ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1786995802), new object[1] { _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)fileInfo) });
_questValidator.AddValidationIssue(new ValidationIssue
{
PathType = EPathType.Gathering,
Id = (((object)gatheringPointId != null) ? _202D_200D_200C_202A_206C_200F_202A_206E_206F_206E_206F_206F_202C_202C_202B_206F_202D_200B_202A_206E_202C_202D_200C_202D_202B_200C_202A_206C_200F_200F_202B_202B_200C_202C_202B_202E_200B_200B_202C_206A_202E(gatheringPointId).ToString(_206E_206F_206D_206A_202C_206E_206B_202E_206E_206E_202E_200D_206D_200D_200C_202D_206E_202A_200D_202A_202D_206A_202D_206B_206B_202D_202B_206E_206B_202E_202B_200F_206F_200F_200D_202E_200B_206E_206E_200E_202E()) : null),
Location = null,
Type = EIssueType.InvalidJsonSyntax,
Severity = EIssueSeverity.Error,
Description = _206D_202D_206D_200C_202D_206E_206F_200B_202D_200E_202D_206D_206B_206E_202D_206F_202B_200E_200C_206C_206A_206E_202C_206F_206F_206A_206A_206B_206E_206D_202B_200B_206A_200B_206A_200D_202C_200C_200C_202B_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1207352804), _200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E((FileSystemInfo)fileInfo), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2035955381), _202C_202D_206A_206B_200E_206A_206D_206E_200C_206B_200D_202E_202B_200F_200E_206E_202C_206A_206A_206F_206B_202A_202A_206C_200D_200E_206D_200C_200E_206F_206F_200D_200C_202A_200C_206F_202E_200D_206B_202C_202E((Exception)ex))
});
}
catch (Exception ex2)
{
throw _200E_206E_206C_200D_200F_206A_202A_200B_200E_202A_202D_200F_200D_200E_202B_200C_206C_206E_206F_200F_202A_206B_202A_200E_202B_206D_202B_202E_200E_200B_202D_200C_206B_200C_200F_202C_200E_200D_202B_206E_202E(_206C_202D_202C_206C_202B_202B_206A_202A_202E_206D_206B_202D_202A_206A_202A_202B_202C_206B_202B_206A_200F_200F_202B_206A_206A_206D_206F_202B_200D_202B_202D_200E_202D_206F_200B_206A_200E_202D_200F_206C_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-912896990), _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)fileInfo)), ex2);
}
int num9 = num7;
num3 = 1;
num4 = num9;
}
num = 1535846665;
while (true)
{
int num10 = num;
num3 = 1535846664;
num4 = num10;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 1535846665;
break;
case 3:
return;
case 0:
{
DirectoryInfo directory2 = array2[num7];
LoadFromDirectory(gatheringPoints, directory2);
int num11 = num7;
num3 = 1;
num4 = num11;
num7 = (num4 | num3) + (num4 & num3);
num = 1535846668;
break;
}
case 1:
array2 = _200D_206D_200B_202E_206E_202D_200E_206F_202D_206A_202C_200B_200B_200F_200E_200D_206E_202B_200E_200B_200B_202E_206C_202D_206C_202E_200B_202D_202C_200B_200C_206F_202A_206F_202B_206E_202D_202C_200B_206C_202E(directory);
num7 = 0;
num = 1535846668;
break;
case 4:
num = ((num7 < array2.Length) ? 1535846664 : 1535846667);
break;
}
}
PathType = EPathType.Gathering,
Id = gatheringPointId?.Value.ToString(CultureInfo.InvariantCulture),
Location = null,
Type = EIssueType.InvalidJsonSyntax,
Severity = EIssueSeverity.Error,
Description = "JSON syntax error in " + fileInfo.Name + ": " + ex.Message
});
}
catch (Exception innerException)
{
throw new InvalidDataException("Unable to load file " + fileInfo.FullName, innerException);
}
continue;
IL_0051:
num = -2030197122;
}
DirectoryInfo[] directories = directory.GetDirectories();
foreach (DirectoryInfo directory2 in directories)
{
LoadFromDirectory(gatheringPoints, directory2);
}
}
private static GatheringPointId? ExtractGatheringPointIdFromName(string resourceName)
{
string text = _202C_206E_202D_202B_202B_206B_202A_206A_200F_202E_206D_202C_206B_202C_200F_206B_206B_206A_206E_202C_206B_206C_202E_202A_206D_206D_206A_206F_202D_206E_200B_200E_200D_202C_206C_206D_200E_206D_200F_206D_202E(resourceName);
text = _202A_202E_202D_202A_206E_206B_206B_200F_202C_202C_200F_202E_200C_206E_200F_200C_202B_200C_202A_200B_202B_200E_206F_206B_200B_200C_200C_202B_200C_202D_202D_206A_202B_200E_200F_206C_202D_200D_200D_202D_202E(text, _202A_202A_206A_206B_206F_206E_200D_206C_206C_202B_202D_200E_202E_200D_206A_202A_202E_206F_200B_202E_206B_206B_200E_200E_200E_206B_202C_202D_202A_200E_206A_206B_200B_202E_200F_200F_200E_206C_206F_206E_202E(text, '.') + 1);
int num = (_202B_200B_206B_200E_200E_200B_206C_200C_200B_202B_206A_202C_206E_206A_206A_202C_206A_202E_206D_202D_200F_200B_200E_202B_206D_206E_202B_202B_206D_202B_206D_200B_202B_200B_206A_200D_200D_202C_206B_200D_202E(text, '_', StringComparison.Ordinal) ? (-863946065) : (-863946068));
while (true)
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(resourceName);
fileNameWithoutExtension = fileNameWithoutExtension.Substring(fileNameWithoutExtension.LastIndexOf('.') + 1);
if (!fileNameWithoutExtension.Contains('_', StringComparison.Ordinal))
{
int num2 = num;
int num3 = -863946066;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0061;
case 2:
return null;
case 1:
return _206C_200E_206B_206B_200F_202D_202C_202E_202E_206A_202D_206A_202B_200B_202B_200D_206C_206C_200B_200B_206A_202A_206A_200E_200B_206A_206A_202A_202C_206C_202B_200B_202A_202A_200C_206B_206F_200B_206C_202E(_206D_202C_206B_200F_206A_200D_202D_202C_206D_206B_206E_206B_206F_202D_202B_200F_206E_202B_206D_202E_206C_202A_202D_200B_206D_200E_206C_202D_200C_206A_206E_202B_200E_200F_200C_206B_200E_202D_206E_202C_202E(text, '_', 2, StringSplitOptions.None)[0]);
}
continue;
IL_0061:
num = -863946068;
return null;
}
return GatheringPointId.FromString(fileNameWithoutExtension.Split('_', 2)[0]);
}
public bool TryGetGatheringPoint(GatheringPointId gatheringPointId, [NotNullWhen(true)] out GatheringRoot? gatheringRoot)
@ -523,224 +182,29 @@ internal sealed class GatheringPointRegistry
public bool TryGetGatheringPointId(uint itemId, EClassJob classJobId, [NotNullWhen(true)] out GatheringPointId? gatheringPointId)
{
Dictionary<GatheringPointId, GatheringRoot> gatheringPoints = _gatheringPoints;
int num = ((classJobId != EClassJob.Miner) ? 627004165 : 627004160);
while (true)
switch (classJobId)
{
int num2 = num;
int num3 = 627004163;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
case EClassJob.Miner:
if (_gatheringData.TryGetMinerGatheringPointByItemId(itemId, out gatheringPointId))
{
case 5:
return true;
case 2:
gatheringPointId = null;
return false;
case 6:
num = ((classJobId != EClassJob.Botanist) ? 627004161 : 627004171);
break;
case 8:
num = ((!_gatheringData.TryGetBotanistGatheringPointByItemId(itemId, out gatheringPointId)) ? 627004163 : 627004166);
break;
case 4:
return true;
case 7:
num = 627004160;
break;
case 1:
gatheringPointId = (from x in gatheringPoints
where _003C_003Ec__DisplayClass16_0._202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId)
select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.MinerGatheringPoints.Contains(x));
return _206F_202A_200D_200C_202A_206E_202A_200F_206B_202D_200F_206F_200B_202E_206C_206C_202D_202E_202E_206C_206E_206E_202C_200D_200C_200B_200F_202B_200F_206C_202D_200F_202A_200F_200F_200F_200B_202D_202B_200E_202E(gatheringPointId, (GatheringPointId)null);
case 0:
gatheringPointId = (from x in gatheringPoints
where _003C_003Ec__DisplayClass16_0._202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId)
select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.BotanistGatheringPoints.Contains(x));
return _206F_202A_200D_200C_202A_206E_202A_200F_206B_202D_200F_206F_200B_202E_206C_206C_202D_202E_202E_206C_206E_206E_202C_200D_200C_200B_200F_202B_200F_206C_202D_200F_202A_200F_200F_200F_200B_202D_202B_200E_202E(gatheringPointId, (GatheringPointId)null);
case 3:
num = ((!_gatheringData.TryGetMinerGatheringPointByItemId(itemId, out gatheringPointId)) ? 627004162 : 627004167);
break;
}
gatheringPointId = (from x in gatheringPoints
where x.Value.ExtraQuestItems.Contains(itemId)
select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.MinerGatheringPoints.Contains(x));
return gatheringPointId != null;
case EClassJob.Botanist:
if (_gatheringData.TryGetBotanistGatheringPointByItemId(itemId, out gatheringPointId))
{
return true;
}
gatheringPointId = (from x in gatheringPoints
where x.Value.ExtraQuestItems.Contains(itemId)
select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.BotanistGatheringPoints.Contains(x));
return gatheringPointId != null;
default:
gatheringPointId = null;
return false;
}
}
static DirectoryInfo _202C_200E_206E_206B_200B_200D_206A_202C_202A_202A_206A_206E_200F_200D_206C_200F_206A_200C_206A_200F_200B_206A_206D_202A_200D_206F_206D_202C_200F_200C_200E_202A_202C_200E_202A_202C_200E_200C_200C_206D_202E(IDalamudPluginInterface P_0)
{
return P_0.ConfigDirectory;
}
static string _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E(FileSystemInfo P_0)
{
return P_0.FullName;
}
static string _202A_206B_206E_206A_200F_206F_202E_202E_206E_200B_206F_202A_202C_200D_200C_200F_206A_206E_200F_202E_206A_200E_206A_202A_200B_202B_200B_206D_200E_202A_206D_202E_206E_206C_202C_202A_202E_202C_200F_206B_202E(string P_0, string P_1)
{
return Path.Combine(P_0, P_1);
}
static DirectoryInfo _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(string P_0)
{
return new DirectoryInfo(P_0);
}
static void _202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static bool _206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E(IDisposable P_0)
{
P_0.Dispose();
}
static void _200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static IReadOnlyDictionary<ushort, GatheringRoot> _202B_206E_202A_202D_206C_200E_202E_206E_202D_202B_206F_200D_206F_206B_200E_202E_200F_206C_202B_200C_200C_200D_206D_206D_202C_200C_200B_200D_202D_200C_206B_206E_202C_200C_202B_206B_206D_206A_202E_202D_202E()
{
return AssemblyGatheringLocationLoader.GetLocations();
}
static GatheringPointId _206A_200B_206E_202D_202C_206C_206B_200E_202B_200B_200B_200D_206E_202B_206A_200D_206E_206E_200F_206E_200E_202B_200E_202D_200C_206F_200C_206E_206C_200F_206A_206F_206D_200B_200E_200B_200E_200E_206B_200E_202E(ushort P_0)
{
return new GatheringPointId(P_0);
}
static FileInfo _200C_202C_206D_202E_202C_202B_200C_206F_200E_206C_206F_202E_200B_206F_200F_206C_206C_206F_206B_202A_200F_200C_200B_200C_200D_202D_200E_202A_206F_206F_200F_200C_200F_206E_200F_206F_200F_200F_202E_206B_202E(IDalamudPluginInterface P_0)
{
return P_0.AssemblyLocation;
}
static DirectoryInfo _200E_206A_200F_206A_206F_202B_202A_200C_200C_206B_206D_200D_200C_200E_206F_200D_206B_206E_206E_202B_206F_206F_206D_206F_206F_200F_200E_202A_202B_200B_206A_206A_206E_202B_202D_202A_206B_200E_200C_200F_202E(FileInfo P_0)
{
return P_0.Directory;
}
static DirectoryInfo _200C_206E_202A_200D_200B_202E_206B_200E_200C_200E_206F_202B_202C_200E_200F_206E_202B_200F_200B_202E_202E_206F_202D_206E_202B_200C_202C_206E_200C_206B_206B_200F_202E_206F_200C_200D_200E_200B_200F_200E_202E(DirectoryInfo P_0)
{
return P_0.Parent;
}
static void _206D_200C_202C_206C_206D_206B_202C_202B_202D_206D_200B_206D_202A_200C_202C_206A_202D_200C_200C_200D_206F_200C_202A_206A_200F_200C_202C_200D_202A_200F_202B_200E_206E_202C_202C_202E_202E_206A_202A_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static string _200D_200B_202E_200F_202A_206D_200C_206A_202A_206D_206F_202D_200B_206C_206D_202D_202C_202E_200D_206A_202A_206E_200D_206F_206C_202D_206F_200E_202D_202B_200D_202D_202D_206B_202E_200C_206D_200E_202A_202B_202E(string P_0, string P_1, string P_2)
{
return Path.Combine(P_0, P_1, P_2);
}
static bool _206F_206D_202E_206E_202B_200B_200F_206F_206E_206F_202A_206F_206C_206E_200E_206F_200E_202B_206F_202A_206B_202E_200F_202A_202D_206C_202A_206E_206F_206F_200C_206A_206F_202E_206B_202A_200E_206C_200F_202E(GatheringPointId P_0, GatheringPointId P_1)
{
return P_0 == P_1;
}
static JsonNode _200B_206C_202C_202B_206F_200D_202A_206D_206E_206B_206F_202C_200B_202B_200C_200F_206F_206F_202D_200C_206E_202C_206E_200D_200F_200F_200D_200F_206C_202E_206A_206F_200D_202D_202A_202B_206F_206B_206F_206B_202E(Stream P_0, JsonNodeOptions? P_1, JsonDocumentOptions P_2)
{
return JsonNode.Parse(P_0, P_1, P_2);
}
static ushort _200B_200E_202E_202B_206C_200E_200B_206D_200B_200D_206C_206F_200E_202E_206C_206D_202B_206E_200B_200C_200C_200F_200D_200D_206B_200E_206A_206E_206D_202A_202C_202A_206E_200F_200F_200F_206D_206D_200E_200F_202E(GatheringPointId P_0)
{
return P_0.Value;
}
static bool _200E_202A_206F_200B_206E_206E_206D_200D_200B_202C_202C_206E_206D_206D_206E_202C_206E_200C_202A_206D_206E_200D_200B_206E_202C_202C_202B_200C_202D_200F_200D_200F_206C_202A_200D_206E_206B_202A_206A_206A_202E(FileSystemInfo P_0)
{
return P_0.Exists;
}
static FileInfo[] _206F_202B_202A_202E_202C_206C_200F_200E_206A_202A_202A_200B_202C_206D_202E_206F_202A_200B_206A_206F_206F_202B_206E_200E_202E_200F_200F_202C_206D_200F_206D_206A_206B_202B_206F_206A_200D_200F_200F_202A_202E(DirectoryInfo P_0, string P_1)
{
return P_0.GetFiles(P_1);
}
static FileStream _200C_206E_206C_206F_206C_206E_206E_200B_202D_200B_200E_200D_206F_202A_200F_206E_206D_202A_200B_200E_202B_202D_206B_206E_206B_202C_202C_206B_202A_202C_202A_202B_206A_200C_202A_206A_200F_202A_202D_202B_202E(FileInfo P_0)
{
return P_0.OpenRead();
}
static string _200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E(FileSystemInfo P_0)
{
return P_0.Name;
}
static ushort _202D_200D_200C_202A_206C_200F_202A_206E_206F_206E_206F_206F_202C_202C_202B_206F_202D_200B_202A_206E_202C_202D_200C_202D_202B_200C_202A_206C_200F_200F_202B_202B_200C_202C_202B_202E_200B_200B_202C_206A_202E(GatheringPointId P_0)
{
return P_0.Value;
}
static CultureInfo _206E_206F_206D_206A_202C_206E_206B_202E_206E_206E_202E_200D_206D_200D_200C_202D_206E_202A_200D_202A_202D_206A_202D_206B_206B_202D_202B_206E_206B_202E_202B_200F_206F_200F_200D_202E_200B_206E_206E_200E_202E()
{
return CultureInfo.InvariantCulture;
}
static string _202C_202D_206A_206B_200E_206A_206D_206E_200C_206B_200D_202E_202B_200F_200E_206E_202C_206A_206A_206F_206B_202A_202A_206C_200D_200E_206D_200C_200E_206F_206F_200D_200C_202A_200C_206F_202E_200D_206B_202C_202E(Exception P_0)
{
return P_0.Message;
}
static string _206D_202D_206D_200C_202D_206E_206F_200B_202D_200E_202D_206D_206B_206E_202D_206F_202B_200E_200C_206C_206A_206E_202C_206F_206F_206A_206A_206B_206E_206D_202B_200B_206A_200B_206A_200D_202C_200C_200C_202B_202E(string P_0, string P_1, string P_2, string P_3)
{
return P_0 + P_1 + P_2 + P_3;
}
static string _206C_202D_202C_206C_202B_202B_206A_202A_202E_206D_206B_202D_202A_206A_202A_202B_202C_206B_202B_206A_200F_200F_202B_206A_206A_206D_206F_202B_200D_202B_202D_200E_202D_206F_200B_206A_200E_202D_200F_206C_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static InvalidDataException _200E_206E_206C_200D_200F_206A_202A_200B_200E_202A_202D_200F_200D_200E_202B_200C_206C_206E_206F_200F_202A_206B_202A_200E_202B_206D_202B_202E_200E_200B_202D_200C_206B_200C_200F_202C_200E_200D_202B_206E_202E(string P_0, Exception P_1)
{
return new InvalidDataException(P_0, P_1);
}
static DirectoryInfo[] _200D_206D_200B_202E_206E_202D_200E_206F_202D_206A_202C_200B_200B_200F_200E_200D_206E_202B_200E_200B_200B_202E_206C_202D_206C_202E_200B_202D_202C_200B_200C_206F_202A_206F_202B_206E_202D_202C_200B_206C_202E(DirectoryInfo P_0)
{
return P_0.GetDirectories();
}
static string _202C_206E_202D_202B_202B_206B_202A_206A_200F_202E_206D_202C_206B_202C_200F_206B_206B_206A_206E_202C_206B_206C_202E_202A_206D_206D_206A_206F_202D_206E_200B_200E_200D_202C_206C_206D_200E_206D_200F_206D_202E(string P_0)
{
return Path.GetFileNameWithoutExtension(P_0);
}
static int _202A_202A_206A_206B_206F_206E_200D_206C_206C_202B_202D_200E_202E_200D_206A_202A_202E_206F_200B_202E_206B_206B_200E_200E_200E_206B_202C_202D_202A_200E_206A_206B_200B_202E_200F_200F_200E_206C_206F_206E_202E(string P_0, char P_1)
{
return P_0.LastIndexOf(P_1);
}
static string _202A_202E_202D_202A_206E_206B_206B_200F_202C_202C_200F_202E_200C_206E_200F_200C_202B_200C_202A_200B_202B_200E_206F_206B_200B_200C_200C_202B_200C_202D_202D_206A_202B_200E_200F_206C_202D_200D_200D_202D_202E(string P_0, int P_1)
{
return P_0.Substring(P_1);
}
static bool _202B_200B_206B_200E_200E_200B_206C_200C_200B_202B_206A_202C_206E_206A_206A_202C_206A_202E_206D_202D_200F_200B_200E_202B_206D_206E_202B_202B_206D_202B_206D_200B_202B_200B_206A_200D_200D_202C_206B_200D_202E(string P_0, char P_1, StringComparison P_2)
{
return P_0.Contains(P_1, P_2);
}
static string[] _206D_202C_206B_200F_206A_200D_202D_202C_206D_206B_206E_206B_206F_202D_202B_200F_206E_202B_206D_202E_206C_202A_202D_200B_206D_200E_206C_202D_200C_206A_206E_202B_200E_200F_200C_206B_200E_202D_206E_202C_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3)
{
return P_0.Split(P_1, P_2, P_3);
}
static GatheringPointId _206C_200E_206B_206B_200F_202D_202C_202E_202E_206A_202D_206A_202B_200B_202B_200D_206C_206C_200B_200B_206A_202A_206A_200E_200B_206A_206A_202A_202C_206C_202B_200B_202A_202A_200C_206B_206F_200B_206C_202E(string P_0)
{
return GatheringPointId.FromString(P_0);
}
static bool _206F_202A_200D_200C_202A_206E_202A_200F_206B_202D_200F_206F_200B_202E_206C_206C_202D_202E_202E_206C_206E_206E_202C_200D_200C_200B_200F_202B_200F_206C_202D_200F_202A_200F_200F_200F_200B_202D_202B_200E_202E(GatheringPointId P_0, GatheringPointId P_1)
{
return P_0 != P_1;
}
}

View file

@ -1,11 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using LLib.GameData;
using LLib.Gear;
@ -23,41 +18,6 @@ namespace Questionable.Controller;
internal sealed class GearRepairService(Configuration configuration, ICondition condition, IClientState clientState, IObjectTable objectTable, IDataManager dataManager, MenderDataService menderDataService, SmartNavRouteEnqueuer routeEnqueuer, AetheryteFunctions aetheryteFunctions, IChatGui chatGui, ILogger<GearRepairService> logger)
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass19_0
{
public ExcelSheet<ClassJob> classJobSheet;
internal byte _003CCanSelfRepair_003Eb__0(uint classJobId)
{
ClassJob row;
int num = (classJobSheet.TryGetRow(classJobId, out row) ? (-528090726) : (-528090727));
while (true)
{
int num2 = num;
int num3 = -528090725;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004e;
case 2:
return 0;
case 1:
return (byte)_200C_206B_202B_202B_206C_200B_202D_206C_206D_206C_206E_202E_202E_202B_200B_206F_202B_202C_202A_200D_206E_202E_206C_200F_202C_206B_200D_206A_202E_202C_200B_206D_206C_200F_200E_206C_200F_206E_200D_202A_202E((int)row.ExpArrayIndex);
}
continue;
IL_004e:
num = -528090727;
}
}
static short _200C_206B_202B_202B_206C_200B_202D_206C_206D_206C_206E_202E_202E_202B_200B_206F_202B_202C_202A_200D_206E_202E_206C_200F_202C_206B_200D_206A_202E_202C_200B_206D_206C_200F_200E_206C_200F_206E_200D_202A_202E(int P_0)
{
return PlayerStateHelper.GetClassJobLevel(P_0);
}
}
private const int CriticalConditionPercent = 10;
private const long AttemptCooldownMs = 300000L;
@ -74,346 +34,110 @@ internal sealed class GearRepairService(Configuration configuration, ICondition
_nextWarningAtMs = 0L;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public ERepairDecision EvaluateAndEnqueue(EInteractionType upcomingType, TaskQueue taskQueue)
{
int num = (((uint)(upcomingType - 19) > 1u) ? 1929941200 : 1929941198);
int? num7 = default(int?);
bool flag2 = default(bool);
bool flag4 = default(bool);
bool flag3 = default(bool);
bool flag = default(bool);
string failureReason = default(string);
while (true)
bool flag = (uint)(upcomingType - 19) <= 1u;
bool flag2 = flag;
flag = (uint)(upcomingType - 30) <= 1u;
bool flag3 = flag;
if (!flag2 && !flag3)
{
int num2 = num;
int num3 = 1929941195;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
int num8;
switch (num5 - (num6 + num6))
{
case 3:
_206A_200F_206D_200B_202C_200B_206D_206C_202E_202E_200F_200F_202B_200D_200D_206F_200B_206B_206D_202E_202D_206C_206A_202D_202A_206A_202B_200D_206D_206B_206C_206D_206F_202E_200D_202A_202C_202E_206A_206E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(776424222), new object[1] { num7.Value });
return ERepairDecision.BlockDuty;
case 22:
num7 = _200E_202E_202C_202C_200D_206E_200B_202B_200E_202E_202A_202C_202D_202B_202D_202B_200E_206C_206F_206E_206C_202C_202E_200C_202A_202C_202C_206D_206C_202B_200B_206C_202D_202E_200D_200E_206C_200C_206A_206C_202E();
num = ((!num7.HasValue) ? 1929941188 : 1929941209);
break;
case 27:
flag2 = false;
num = 1929941208;
break;
case 10:
return ERepairDecision.NotNeeded;
case 20:
num = ((!flag4) ? 1929941210 : 1929941192);
break;
case 19:
flag3 = flag2;
num = (((uint)(upcomingType - 30) > 1u) ? 1929941194 : 1929941193);
break;
case 12:
num = (flag ? 1929941197 : 1929941202);
break;
case 14:
num = ((_202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() < _nextWarningAtMs) ? 1929941185 : 1929941190);
break;
case 13:
{
_nextWarningAtMs = _202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() + 300000;
IChatGui chatGui = chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(46, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1964571551));
defaultInterpolatedStringHandler.AppendFormatted(num7.Value);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1599790962));
defaultInterpolatedStringHandler.AppendFormatted(failureReason);
_200D_206B_206B_202C_200D_206C_200E_200D_202E_202C_206B_202D_206B_206C_206F_200D_200F_206D_200E_206C_206F_206B_202E_200B_200C_202E_202E_202B_206F_206C_206C_202A_206D_202A_200C_206B_200B_200F_202C_206C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
num = 1929941185;
break;
}
case 26:
num8 = ((num7.Value < 10) ? 1 : 0);
goto IL_026c;
case 7:
num = ((!flag3) ? 1929941212 : 1929941201);
break;
case 15:
return ERepairDecision.NotNeeded;
case 23:
num8 = 0;
goto IL_026c;
case 17:
return ERepairDecision.NotNeeded;
case 28:
num = ((!TryEnqueueRepair(taskQueue, num7.Value, out failureReason)) ? 1929941184 : 1929941203);
break;
case 25:
return ERepairDecision.NotNeeded;
case 24:
return ERepairDecision.Enqueued;
case 18:
num = ((num7.Value < configuration.General.RepairThresholdPercent) ? 1929941196 : 1929941188);
break;
case 11:
num = ((!flag4) ? 1929941189 : 1929941195);
break;
case 1:
flag2 = false;
num = 1929941199;
break;
case 0:
_206A_200F_206D_200B_202C_200B_206D_206C_202E_202E_200F_200F_202B_200D_200D_206F_200B_206B_206D_202E_202D_206C_206A_202D_202A_206A_202B_200D_206D_206B_206C_206D_206F_202E_200D_202A_202C_202E_206A_206E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1917801143), new object[2] { num7.Value, failureReason });
return ERepairDecision.BlockDuty;
case 5:
flag2 = true;
num = 1929941208;
break;
case 2:
flag2 = true;
num = 1929941199;
break;
case 16:
num = ((!_202A_206F_206D_206C_200E_200C_206D_206A_200E_202A_206E_206F_206C_200C_200E_200F_202B_202B_206B_202C_200F_206C_202C_206C_202E_206C_206F_206C_200F_206E_200D_200E_202B_206B_202A_202D_202A_200C_202B_206A_202E(condition, ConditionFlag.InCombat)) ? 1929941213 : 1929941214);
break;
case 9:
return ERepairDecision.NotNeeded;
case 6:
num = (configuration.General.RepairGear ? 1929941211 : 1929941186);
break;
case 21:
return ERepairDecision.NotNeeded;
case 4:
flag = flag2;
num = (flag3 ? 1929941197 : 1929941191);
break;
case 8:
{
num = 1929941198;
break;
}
IL_026c:
flag4 = (byte)num8 != 0;
num = ((_202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() >= _nextAttemptAtMs) ? 1929941207 : 1929941215);
break;
}
return ERepairDecision.NotNeeded;
}
if (!configuration.General.RepairGear)
{
return ERepairDecision.NotNeeded;
}
if (condition[ConditionFlag.InCombat])
{
return ERepairDecision.NotNeeded;
}
int? lowestConditionPercent = GearConditionHelper.GetLowestConditionPercent();
if (!lowestConditionPercent.HasValue || lowestConditionPercent.Value >= configuration.General.RepairThresholdPercent)
{
return ERepairDecision.NotNeeded;
}
bool flag4 = flag2 && lowestConditionPercent.Value < 10;
if (Environment.TickCount64 < _nextAttemptAtMs)
{
if (flag4)
{
logger.LogError("Gear still critically damaged ({Condition}%) after recent repair attempt", lowestConditionPercent.Value);
return ERepairDecision.BlockDuty;
}
return ERepairDecision.NotNeeded;
}
if (TryEnqueueRepair(taskQueue, lowestConditionPercent.Value, out string failureReason))
{
return ERepairDecision.Enqueued;
}
if (flag4)
{
logger.LogError("Gear critically damaged ({Condition}%) and unrepairable: {Reason}", lowestConditionPercent.Value, failureReason);
return ERepairDecision.BlockDuty;
}
if (Environment.TickCount64 >= _nextWarningAtMs)
{
_nextWarningAtMs = Environment.TickCount64 + 300000;
chatGui.Print($"Gear is at {lowestConditionPercent.Value}% condition but can't be repaired: {failureReason}", "Questionable", 576);
}
return ERepairDecision.NotNeeded;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool TryEnqueueRepair(TaskQueue taskQueue, int lowestCondition, out string failureReason)
{
int num = ((!CanSelfRepair()) ? (-1145158930) : (-1145158934));
MenderNpc menderNpc = default(MenderNpc);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
MenderNpc current = default(MenderNpc);
while (true)
if (CanSelfRepair())
{
int num2 = num;
int num3 = -1145158932;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
logger.LogInformation("Lowest gear condition {Condition}%, self-repairing", lowestCondition);
taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
taskQueue.Enqueue(new RepairGear.SelfRepairTask());
MarkAttempt();
failureReason = string.Empty;
return true;
}
IPlayerCharacter localPlayer = objectTable.LocalPlayer;
if (localPlayer != null)
{
MenderNpc menderNpc = menderDataService.FindNearestInTerritory((ushort)clientState.TerritoryType, localPlayer.Position);
if ((object)menderNpc != null)
{
default:
continue;
case 1:
if (aetheryteFunctions.IsTeleportUnlocked())
{
num = -1145158935;
continue;
}
break;
case 0:
_206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1341197987), new object[2] { lowestCondition, menderNpc.DataId });
logger.LogInformation("Lowest gear condition {Condition}%, visiting mender {DataId} in current zone", lowestCondition, menderNpc.DataId);
routeEnqueuer.Enqueue(taskQueue, menderNpc.TerritoryId, menderNpc.Position, 3f);
taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
taskQueue.Enqueue(new RepairGear.MenderRepairTask(menderNpc));
MarkAttempt();
failureReason = string.Empty;
return true;
case 2:
playerCharacter = _206D_202E_206C_206D_200F_202E_200C_200C_202B_202B_200D_200F_206A_206E_206F_206C_202E_206A_202D_202C_206B_206D_200B_206D_206A_202E_200D_200C_202D_200D_206C_200D_206C_206B_202C_206E_206B_206F_202C_202D_202E(objectTable);
num = ((playerCharacter == null) ? (-1145158931) : (-1145158929));
continue;
case 3:
menderNpc = menderDataService.FindNearestInTerritory((ushort)_200E_206C_200F_200D_202E_206C_202D_206E_206C_206A_200C_202E_200E_206F_200F_200B_202B_202C_206A_202A_202A_200D_206F_206C_202C_202C_202A_202B_206D_206F_202B_202D_202D_202A_200E_200D_200D_202E_206E_206E_202E(clientState), _206C_202C_202B_206E_202C_200B_202C_202B_202D_202D_206D_206A_206A_202C_202E_206F_200C_202D_206A_202C_202B_202D_200F_206A_206A_202A_202E_202C_202B_202C_206B_200F_202D_202A_206B_206B_200F_202D_202D_202C_202E((IGameObject)playerCharacter));
num = (((object)menderNpc == null) ? (-1145158931) : (-1145158932));
continue;
case 6:
_206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(517880176), new object[1] { lowestCondition });
taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
taskQueue.Enqueue(new RepairGear.SelfRepairTask());
MarkAttempt();
failureReason = string.Empty;
return true;
case 4:
num = -1145158934;
continue;
case 5:
{
IEnumerator<MenderNpc> enumerator = MenderDataService.CityFallbacks.GetEnumerator();
try
{
num = -1950756902;
while (true)
{
int num5 = num;
num3 = -1950756902;
num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 0:
num = (_206B_200F_206D_206D_206B_206B_200B_206D_202A_206D_202A_206B_206E_200D_206E_202D_200D_206E_206A_206F_206A_202B_202E_200B_202A_206A_206A_206D_202D_202B_206C_206F_202D_206D_206F_202C_202A_202D_200B_202E_202E((IEnumerator)enumerator) ? (-1950756901) : (-1950756903));
break;
case 1:
current = enumerator.Current;
num = ((!routeEnqueuer.TryEnqueueRouted(taskQueue, current.TerritoryId, current.Position)) ? (-1950756902) : (-1950756898));
break;
case 4:
_206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(90066395), new object[2] { lowestCondition, current.DataId });
taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
taskQueue.Enqueue(new RepairGear.MenderRepairTask(current));
MarkAttempt();
failureReason = string.Empty;
return true;
case 2:
num = -1950756902;
break;
case 3:
goto end_IL_01c7;
}
continue;
end_IL_01c7:
break;
}
}
finally
{
num = ((enumerator == null) ? (-462922479) : (-462922478));
while (true)
{
int num8 = num;
num3 = -462922477;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -462922478;
break;
case 2:
goto end_IL_02f5;
case 1:
_200C_206C_200E_200B_202C_206C_206A_200E_200D_206F_206F_200D_200E_200E_200C_206A_206C_206F_200E_200B_206E_202E_202C_202D_200B_202D_202A_200D_206F_200E_202C_200B_202D_200B_200D_206B_206B_202D_206F_200C_202E((IDisposable)enumerator);
num = -462922479;
break;
}
continue;
end_IL_02f5:
break;
}
}
break;
}
}
break;
}
failureReason = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1806822311);
if (aetheryteFunctions.IsTeleportUnlocked())
{
foreach (MenderNpc cityFallback in MenderDataService.CityFallbacks)
{
if (routeEnqueuer.TryEnqueueRouted(taskQueue, cityFallback.TerritoryId, cityFallback.Position))
{
logger.LogInformation("Lowest gear condition {Condition}%, no zone mender - routing to city mender {DataId}", lowestCondition, cityFallback.DataId);
taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
taskQueue.Enqueue(new RepairGear.MenderRepairTask(cityFallback));
MarkAttempt();
failureReason = string.Empty;
return true;
}
}
}
failureReason = "no dark matter or crafter levels for self-repair, and no reachable mender";
return false;
}
private bool CanSelfRepair()
{
ExcelSheet<ClassJob> classJobSheet = dataManager.GetExcelSheet<ClassJob>();
return _206B_200B_200F_206D_202B_200D_206D_200E_202E_200D_200E_200C_200D_200C_206A_200D_202D_202B_206C_202C_206C_206C_206B_206B_206C_206E_200C_206F_206C_206F_200C_202C_202D_200F_206E_202E_206A_202B_206D_200C_202E(dataManager, (Func<uint, byte>)delegate(uint classJobId)
{
ClassJob row;
int num = (classJobSheet.TryGetRow(classJobId, out row) ? (-528090726) : (-528090727));
while (true)
{
int num2 = num;
int num3 = -528090725;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004e;
case 2:
return 0;
case 1:
return (byte)_003C_003Ec__DisplayClass19_0._200C_206B_202B_202B_206C_200B_202D_206C_206D_206C_206E_202E_202E_202B_200B_206F_202B_202C_202A_200D_206E_202E_206C_200F_202C_206B_200D_206A_202E_202C_200B_206D_206C_200F_200E_206C_200F_206E_200D_202A_202E((int)row.ExpArrayIndex);
}
continue;
IL_004e:
num = -528090727;
}
}, configuration.General.RepairThresholdPercent);
ClassJob row;
return RepairActions.CanSelfRepairAny(dataManager, (uint classJobId) => (byte)(classJobSheet.TryGetRow(classJobId, out row) ? ((byte)PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex)) : 0), configuration.General.RepairThresholdPercent);
}
private void MarkAttempt()
{
_nextAttemptAtMs = _202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() + 300000;
}
static bool _202A_206F_206D_206C_200E_200C_206D_206A_200E_202A_206E_206F_206C_200C_200E_200F_202B_202B_206B_202C_200F_206C_202C_206C_202E_206C_206F_206C_200F_206E_200D_200E_202B_206B_202A_202D_202A_200C_202B_206A_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static int? _200E_202E_202C_202C_200D_206E_200B_202B_200E_202E_202A_202C_202D_202B_202D_202B_200E_206C_206F_206E_206C_202C_202E_200C_202A_202C_202C_206D_206C_202B_200B_206C_202D_202E_200D_200E_206C_200C_206A_206C_202E()
{
return GearConditionHelper.GetLowestConditionPercent();
}
static long _202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E()
{
return Environment.TickCount64;
}
static void _206A_200F_206D_200B_202C_200B_206D_206C_202E_202E_200F_200F_202B_200D_200D_206F_200B_206B_206D_202E_202D_206C_206A_202D_202A_206A_202B_200D_206D_206B_206C_206D_206F_202E_200D_202A_202C_202E_206A_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static void _200D_206B_206B_202C_200D_206C_200E_200D_202E_202C_206B_202D_206B_206C_206F_200D_200F_206D_200E_206C_206F_206B_202E_200B_200C_202E_202E_202B_206F_206C_206C_202A_206D_202A_200C_206B_200B_200F_202C_206C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static void _206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static IPlayerCharacter _206D_202E_206C_206D_200F_202E_200C_200C_202B_202B_200D_200F_206A_206E_206F_206C_202E_206A_202D_202C_206B_206D_200B_206D_206A_202E_200D_200C_202D_200D_206C_200D_206C_206B_202C_206E_206B_206F_202C_202D_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static uint _200E_206C_200F_200D_202E_206C_202D_206E_206C_206A_200C_202E_200E_206F_200F_200B_202B_202C_206A_202A_202A_200D_206F_206C_202C_202C_202A_202B_206D_206F_202B_202D_202D_202A_200E_200D_200D_202E_206E_206E_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static Vector3 _206C_202C_202B_206E_202C_200B_202C_202B_202D_202D_206D_206A_206A_202C_202E_206F_200C_202D_206A_202C_202B_202D_200F_206A_206A_202A_202E_202C_202B_202C_206B_200F_202D_202A_206B_206B_200F_202D_202D_202C_202E(IGameObject P_0)
{
return P_0.Position;
}
static bool _206B_200F_206D_206D_206B_206B_200B_206D_202A_206D_202A_206B_206E_200D_206E_202D_200D_206E_206A_206F_206A_202B_202E_200B_202A_206A_206A_206D_202D_202B_206C_206F_202D_206D_206F_202C_202A_202D_200B_202E_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200C_206C_200E_200B_202C_206C_206A_200E_200D_206F_206F_200D_200E_200E_200C_206A_206C_206F_200E_200B_206E_202E_202C_202D_200B_202D_202A_200D_206F_200E_202C_200B_202D_200B_200D_206B_206B_202D_206F_200C_202E(IDisposable P_0)
{
P_0.Dispose();
}
static bool _206B_200B_200F_206D_202B_200D_206D_200E_202E_200D_200E_200C_200D_200C_206A_200D_202D_202B_206C_202C_206C_206C_206B_206B_206C_206E_200C_206F_206C_206F_200C_202C_202D_200F_206E_202E_206A_202B_206D_200C_202E(IDataManager P_0, Func<uint, byte> P_1, int P_2)
{
return RepairActions.CanSelfRepairAny(P_0, P_1, P_2);
_nextAttemptAtMs = Environment.TickCount64 + 300000;
}
}

View file

@ -1,9 +1,6 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Threading;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Hooking;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
@ -42,54 +39,11 @@ internal sealed class InterruptHandler : IDisposable
[FieldOffset(6)]
public ushort Value;
public byte AttackType
{
get
{
byte param = Param1;
int num = 15;
int num2 = param;
return (byte)(num2 + num - (num2 | num));
}
}
public byte AttackType => (byte)(Param1 & 0xF);
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(73, 11);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-725035009));
defaultInterpolatedStringHandler.AppendFormatted(Type);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-496390848));
defaultInterpolatedStringHandler.AppendFormatted(Param0, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(609308249));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(877514922));
defaultInterpolatedStringHandler.AppendFormatted(Param1, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1055630216));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(25938555));
defaultInterpolatedStringHandler.AppendFormatted(Param2, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(609308249));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-845350805));
defaultInterpolatedStringHandler.AppendFormatted(Param2, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1875656278));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1021698688));
defaultInterpolatedStringHandler.AppendFormatted(_202B_202B_200B_202E_206A_206E_202A_202A_202E_206D_202E_200B_206A_206D_200B_200C_200F_200B_202B_202C_206A_200F_200D_200D_202C_200C_206B_202D_202C_202C_202B_206B_202E_206F_200F_206D_200B_200E_200E_206B_202E(_202E_200D_200B_206B_200C_206D_200D_202E_206B_206E_202C_206B_202A_206A_202A_206B_202A_206E_202D_200C_206A_200E_200F_202C_206F_206B_200C_200F_202C_202E_206E_200F_206E_206C_200D_206A_200C_202E_206C_202E_202E(Param2, 2), 8, '0'));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-884985363));
defaultInterpolatedStringHandler.AppendFormatted(Mult, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-645152765));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1045548845));
defaultInterpolatedStringHandler.AppendFormatted(Flags, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-645152765));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(594831569));
defaultInterpolatedStringHandler.AppendFormatted(_202B_202B_200B_202E_206A_206E_202A_202A_202E_206D_202E_200B_206A_206D_200B_200C_200F_200B_202B_202C_206A_200F_200D_200D_202C_200C_206B_202D_202C_202C_202B_206B_202E_206F_200F_206D_200B_200E_200E_206B_202E(_202E_200D_200B_206B_200C_206D_200D_202E_206B_206E_202C_206B_202A_206A_202A_206B_202A_206E_202D_200C_206A_200E_200F_202C_206F_206B_200C_200F_202C_202E_206E_200F_206E_206C_200D_206A_200C_202E_206C_202E_202E(Flags, 2), 8, '0'));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1435755758));
defaultInterpolatedStringHandler.AppendFormatted(Value, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(123427143));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(739800108));
defaultInterpolatedStringHandler.AppendFormatted(AttackType);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
static string _202E_200D_200B_206B_200C_206D_200D_202E_206B_206E_202C_206B_202A_206A_202A_206B_202A_206E_202D_200C_206A_200E_200F_202C_206F_206B_200C_200F_202C_202E_206E_200F_206E_206C_200D_206A_200C_202E_206C_202E_202E(byte P_0, int P_1)
{
return Convert.ToString(P_0, P_1);
}
static string _202B_202B_200B_202E_206A_206E_202A_202A_202E_206D_202E_200B_206A_206D_200B_200C_200F_200B_202B_202C_206A_200F_200D_200D_202C_200C_206B_202D_202C_202C_202B_206B_202E_206F_200F_206D_200B_200E_200E_206B_202E(string P_0, int P_1, char P_2)
{
return P_0.PadLeft(P_1, P_2);
return $"Type: {Type}, p0: {Param0:D3}, p1: {Param1:D3}, p2: {Param2:D3} 0x{Param2:X2} '{Convert.ToString(Param2, 2).PadLeft(8, '0')}', mult: {Mult:D3}, flags: {Flags:D3} | {Convert.ToString(Flags, 2).PadLeft(8, '0')}, value: {Value:D6} ATTACK TYPE: {AttackType}";
}
}
@ -183,72 +137,8 @@ internal sealed class InterruptHandler : IDisposable
private readonly ILogger<InterruptHandler> _logger;
[CompilerGenerated]
private EventHandler? m_Interrupted;
public event EventHandler? Interrupted;
public event EventHandler? Interrupted
{
[CompilerGenerated]
add
{
EventHandler eventHandler = this.m_Interrupted;
int num = -1990188142;
while (true)
{
int num2 = num;
int num3 = -1990188141;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -1990188142;
break;
case 2:
return;
case 1:
{
EventHandler eventHandler2 = eventHandler;
EventHandler value2 = (EventHandler)_200D_200C_206C_200D_202D_202E_206A_202A_206E_202A_200C_202C_200E_200C_200D_206C_202C_200E_200B_206D_200D_200C_206B_206B_200E_206B_202B_200B_206A_200F_206E_200B_200B_206E_202A_206A_206D_202D_206B_202A_202E((Delegate)eventHandler2, (Delegate)value);
eventHandler = Interlocked.CompareExchange(ref this.m_Interrupted, value2, eventHandler2);
num = (((object)eventHandler != eventHandler2) ? (-1990188142) : (-1990188143));
break;
}
}
}
}
[CompilerGenerated]
remove
{
EventHandler eventHandler = this.m_Interrupted;
int num = -2074209311;
while (true)
{
int num2 = num;
int num3 = -2074209312;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -2074209311;
break;
case 0:
return;
case 1:
{
EventHandler eventHandler2 = eventHandler;
EventHandler value2 = (EventHandler)_202C_200E_200C_202C_200E_202C_206F_202C_206A_206E_206E_206F_202E_200C_206F_200C_200F_202C_202D_206A_200F_202A_200F_202C_202A_202D_200B_206A_206B_202D_200B_200D_206F_200B_202B_200E_202A_200F_206B_202E_202E((Delegate)eventHandler2, (Delegate)value);
eventHandler = Interlocked.CompareExchange(ref this.m_Interrupted, value2, eventHandler2);
num = (((object)eventHandler != eventHandler2) ? (-2074209311) : (-2074209312));
break;
}
}
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe InterruptHandler(IGameInteropProvider gameInteropProvider, IClientState clientState, IObjectTable objectTable, TerritoryData territoryData, ILogger<InterruptHandler> logger)
{
_clientState = clientState;
@ -260,110 +150,44 @@ internal sealed class InterruptHandler : IDisposable
_processActionEffectHook = gameInteropProvider.HookFromAddress<ProcessActionEffect>(ActionEffectHandler.Addresses.Receive.Value, HandleProcessActionEffect);
_processActionEffectHook.Enable();
}
catch (Exception ex)
catch (Exception exception)
{
_202C_200C_206A_202B_206A_202E_206E_206A_202D_206C_200D_200E_206E_200C_200E_206F_200D_200B_200C_206B_206D_206C_202E_202B_206C_206F_202A_206D_202B_206F_200E_200D_200D_202A_206E_200E_202E_206A_206F_202E_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1192049200), Array.Empty<object>());
_logger.LogError(exception, "Failed to hook ProcessActionEffect; combat interrupt detection disabled (a game restart usually restores it)");
_processActionEffectHook = null;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void HandleProcessActionEffect(uint sourceId, Character* sourceCharacter, Vector3* pos, EffectHeader* effectHeader, EffectEntry* effectArray, ulong* effectTail)
{
try
{
int num = (_territoryData.IsDutyInstance(_200C_206D_206C_206B_206C_206E_202D_206F_202A_200B_206E_206C_202D_202D_202C_202B_202E_202B_200C_206B_202D_200D_200E_206A_200F_206F_206C_206D_206D_202E_202C_206D_202D_206C_200D_206D_202B_200F_206F_200C_202E(_clientState)) ? (-1304675561) : (-1304675555));
EActionEffectType type = default(EActionEffectType);
bool flag = default(bool);
bool flag2 = default(bool);
int num8 = default(int);
EffectEntry* ptr = default(EffectEntry*);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
while (true)
if (_territoryData.IsDutyInstance(_clientState.TerritoryType))
{
int num2 = num;
int num3 = -1304675562;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
return;
}
IPlayerCharacter localPlayer = _objectTable.LocalPlayer;
for (int i = 0; i < effectHeader->TargetCount; i++)
{
int num = (int)(effectTail[i] & 0xFFFFFFFFu);
EffectEntry* ptr = effectArray + 8 * i;
bool flag = (uint)num == localPlayer?.GameObjectId;
if (flag)
{
case 9:
num = ((type - 5 > EActionEffectType.Miss) ? (-1304675562) : (-1304675567));
break;
case 4:
EActionEffectType type = ptr->Type;
bool flag2 = ((type == EActionEffectType.Damage || type - 5 <= EActionEffectType.Miss) ? true : false);
flag = flag2;
num = -1304675556;
break;
case 5:
{
int num11 = (int)(effectTail[num8] & 0xFFFFFFFFu);
ptr = effectArray + 8 * num8;
flag = (uint)num11 == ((playerCharacter != null) ? new ulong?(_206C_202B_200E_206A_206E_200C_202D_200F_202E_206C_206F_202D_200F_202A_200B_202E_202D_200B_206B_206A_200F_202A_200E_202C_200D_206C_202E_206C_200B_200F_202E_206E_206F_202A_202E_200E_206E_206B_206D_202A_202E((IGameObject)playerCharacter)) : ((ulong?)null));
num = ((!flag) ? (-1304675556) : (-1304675564));
break;
}
case 8:
num = -1304675555;
break;
case 3:
if (flag)
{
_202A_202E_206C_206E_200D_202E_202E_206F_206B_202E_200C_200D_202A_200B_206E_206A_202D_200F_200D_202D_200B_200D_200D_206C_202B_206C_202A_202A_200E_202D_206A_206A_202C_200F_206B_202A_202E_202E_202E_200E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1232681813), new object[2]
{
sourceId,
ptr->Type
});
EventHandler? eventHandler = this.Interrupted;
if (eventHandler == null)
{
return;
}
eventHandler(this, EventArgs.Empty);
num = -1304675561;
_logger.LogTrace("Damage action effect on self, from {SourceId} ({EffectType})", sourceId, ptr->Type);
this.Interrupted?.Invoke(this, EventArgs.Empty);
break;
}
case 12:
num = ((num8 < effectHeader->TargetCount) ? (-1304675565) : (-1304675561));
break;
case 2:
type = ptr->Type;
num = ((type == EActionEffectType.Damage) ? (-1304675567) : (-1304675553));
break;
case 7:
flag2 = true;
num = -1304675566;
break;
case 0:
flag2 = false;
num = -1304675566;
break;
case 10:
num = ((!flag) ? (-1304675568) : (-1304675563));
break;
case 11:
playerCharacter = _202E_200F_202B_200C_202B_202C_202D_200F_206B_200F_206E_200C_202E_200F_202E_202D_206E_200C_206E_206F_206D_206A_202D_200E_206A_200E_202B_206B_202A_202D_202C_200F_200E_200C_202C_200E_206E_206D_202B_202E_202E(_objectTable);
num8 = 0;
num = -1304675558;
break;
case 6:
{
int num7 = num8;
num3 = 1;
num4 = num7;
int num9 = num4 ^ num3;
int num10 = num4 & num3;
num8 = num9 + (num10 + num10);
num = -1304675558;
break;
}
case 1:
return;
}
}
}
catch (Exception ex)
catch (Exception exception)
{
_200D_200E_202A_206E_200C_200D_202E_200D_202C_206E_200F_200D_206F_202E_200C_200C_200E_202E_202E_206B_206A_206E_206B_202B_200C_200C_206E_206B_200C_202D_202C_202B_200E_202B_202A_206E_200B_202C_206A_206F_202E((ILogger)_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1383878648), Array.Empty<object>());
_logger.LogWarning(exception, "Unable to process action effect");
}
finally
{
@ -373,73 +197,10 @@ internal sealed class InterruptHandler : IDisposable
public void Dispose()
{
int num = ((_processActionEffectHook == null) ? (-1959940168) : (-1959940165));
while (true)
if (_processActionEffectHook != null)
{
int num2 = num;
int num3 = -1959940166;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1959940165;
break;
case 1:
_processActionEffectHook.Disable();
_processActionEffectHook.Dispose();
num = -1959940168;
break;
case 2:
return;
}
_processActionEffectHook.Disable();
_processActionEffectHook.Dispose();
}
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _202C_200C_206A_202B_206A_202E_206E_206A_202D_206C_200D_200E_206E_200C_200E_206F_200D_200B_200C_206B_206D_206C_202E_202B_206C_206F_202A_206D_202B_206F_200E_200D_200D_202A_206E_200E_202E_206A_206F_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static Delegate _200D_200C_206C_200D_202D_202E_206A_202A_206E_202A_200C_202C_200E_200C_200D_206C_202C_200E_200B_206D_200D_200C_206B_206B_200E_206B_202B_200B_206A_200F_206E_200B_200B_206E_202A_206A_206D_202D_206B_202A_202E(Delegate P_0, Delegate P_1)
{
return Delegate.Combine(P_0, P_1);
}
static Delegate _202C_200E_200C_202C_200E_202C_206F_202C_206A_206E_206E_206F_202E_200C_206F_200C_200F_202C_202D_206A_200F_202A_200F_202C_202A_202D_200B_206A_206B_202D_200B_200D_206F_200B_202B_200E_202A_200F_206B_202E_202E(Delegate P_0, Delegate P_1)
{
return Delegate.Remove(P_0, P_1);
}
static uint _200C_206D_206C_206B_206C_206E_202D_206F_202A_200B_206E_206C_202D_202D_202C_202B_202E_202B_200C_206B_202D_200D_200E_206A_200F_206F_206C_206D_206D_202E_202C_206D_202D_206C_200D_206D_202B_200F_206F_200C_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static IPlayerCharacter _202E_200F_202B_200C_202B_202C_202D_200F_206B_200F_206E_200C_202E_200F_202E_202D_206E_200C_206E_206F_206D_206A_202D_200E_206A_200E_202B_206B_202A_202D_202C_200F_200E_200C_202C_200E_206E_206D_202B_202E_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static ulong _206C_202B_200E_206A_206E_200C_202D_200F_202E_206C_206F_202D_200F_202A_200B_202E_202D_200B_206B_206A_200F_202A_200E_202C_200D_206C_202E_206C_200B_200F_202E_206E_206F_202A_202E_200E_206E_206B_206D_202A_202E(IGameObject P_0)
{
return P_0.GameObjectId;
}
static void _202A_202E_206C_206E_200D_202E_202E_206F_206B_202E_200C_200D_202A_200B_206E_206A_202D_200F_200D_202D_200B_200D_200D_206C_202B_206C_202A_202A_200E_202D_206A_206A_202C_200F_206B_202A_202E_202E_202E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
static void _200D_200E_202A_206E_200C_200D_202E_200D_202C_206E_200F_200D_206F_202E_200C_200C_200E_202E_202E_206B_206A_206E_206B_202B_200C_200C_206E_206B_200C_202D_202C_202B_200E_202B_202A_206E_200B_202C_206A_206F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogWarning(P_1, P_2, P_3);
}
}

View file

@ -1,8 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using Dalamud.Game.ClientState.Conditions;
@ -10,7 +8,6 @@ using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using LLib;
using Lumina.Excel.Sheets;
using Lumina.Text.ReadOnly;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
@ -24,55 +21,6 @@ namespace Questionable.Controller;
internal abstract class MiniTaskController<T> : IDisposable
{
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<LogMessage, ReadOnlySeString?> _003C_003E9__13_0;
public static Func<LogMessage, ReadOnlySeString?> _003C_003E9__13_1;
public static Func<LogMessage, ReadOnlySeString?> _003C_003E9__13_2;
public static Func<ITask, string> _003C_003E9__20_1;
public static Func<ITask, string> _003C_003E9__20_0;
internal ReadOnlySeString? _003C_002Ector_003Eb__13_0(LogMessage x)
{
return x.Text;
}
internal ReadOnlySeString? _003C_002Ector_003Eb__13_1(LogMessage x)
{
return x.Text;
}
internal ReadOnlySeString? _003C_002Ector_003Eb__13_2(LogMessage x)
{
return x.Text;
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CGetRemainingTaskNames_003Eb__20_1(ITask x)
{
return _206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(656320081);
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CGetRemainingTaskNames_003Eb__20_0(ITask x)
{
return _206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1887683575);
}
static string _206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E(object P_0)
{
return P_0.ToString();
}
}
protected readonly TaskQueue _taskQueue = new TaskQueue();
private readonly IChatGui _chatGui;
@ -113,10 +61,8 @@ internal abstract class MiniTaskController<T> : IDisposable
_interruptHandler.Interrupted += HandleInterruption;
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected virtual void UpdateCurrentTask()
{
int num;
if (_taskQueue.CurrentTaskExecutor == null)
{
if (!_taskQueue.TryDequeue(out ITask task))
@ -125,46 +71,28 @@ internal abstract class MiniTaskController<T> : IDisposable
}
try
{
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1429948586), new object[1] { _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) });
ITaskExecutor requiredKeyedService = _serviceProvider.GetRequiredKeyedService<ITaskExecutor>(_202B_200E_206B_202E_206D_200E_202A_206B_206F_206A_200D_200B_206A_200F_202C_202C_202A_202B_206E_202D_200F_206E_202D_200B_206E_202D_200B_206C_206E_200B_202E_200E_200B_202A_202A_206A_200C_202D_206D_206D_202E((object)task));
num = ((!requiredKeyedService.Start(task)) ? (-231627347) : (-231627345));
while (true)
_logger.LogDebug("Starting task {TaskName}", task.ToString());
ITaskExecutor requiredKeyedService = _serviceProvider.GetRequiredKeyedService<ITaskExecutor>(task.GetType());
if (requiredKeyedService.Start(task))
{
int num2 = num;
int num3 = -231627346;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
_taskQueue.CurrentTaskExecutor = requiredKeyedService;
if (task != _lastInterruptedTask)
{
case 2:
_lastInterruptedTask = null;
_interruptRetryCount = 0;
num = -231627346;
break;
case 1:
_taskQueue.CurrentTaskExecutor = requiredKeyedService;
num = ((task == _lastInterruptedTask) ? (-231627346) : (-231627348));
break;
case 4:
num = -231627345;
break;
case 0:
return;
case 3:
_206C_200C_200B_206D_206A_206E_206A_206D_206A_200D_202E_206E_202B_206E_202E_202C_200F_202B_202B_202C_200C_206C_206C_200F_206B_200D_206D_206C_202C_200B_206E_200F_206F_200E_202A_206B_200F_202B_200E_200E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(383569520), new object[1] { _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) });
return;
}
}
else
{
_logger.LogTrace("Task {TaskName} was skipped", task.ToString());
}
return;
}
catch (Exception ex)
catch (Exception exception)
{
_206E_206B_200C_202D_206E_202E_200F_206B_206F_202B_206F_206D_206C_206C_202C_200B_206A_200E_200E_200D_202B_202E_202B_200D_206F_202C_206D_206A_202B_202A_206E_200B_206B_200F_206F_202D_200B_206A_202B_202A_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-347977283), new object[1] { _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) });
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(57, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2137508884));
defaultInterpolatedStringHandler.AppendFormatted(task);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(956431555));
_200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
Stop(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-728065814));
_logger.LogError(exception, "Failed to start task {TaskName}", task.ToString());
_chatGui.PrintError($"Failed to start task '{task}', please check /xllog for details.", "Questionable", 576);
Stop("Task failed to start");
return;
}
}
@ -173,232 +101,107 @@ internal abstract class MiniTaskController<T> : IDisposable
ETaskResult eTaskResult;
try
{
num = ((!currentTaskExecutor.WasInterrupted()) ? 235217046 : 235217045);
while (true)
if (currentTaskExecutor.WasInterrupted())
{
int num5 = num;
int num3 = 235217046;
int num4 = num5;
switch ((num4 | num3) - (num4 & num3))
InterruptQueueWithCombat();
return;
}
if (currentTaskExecutor.HasTimedOut(_configuration.Advanced.InteractionTimeoutSeconds))
{
_logger.LogWarning("Task {TaskName} timed out after {Timeout}s", currentTask, _configuration.Advanced.InteractionTimeoutSeconds);
if (_condition[ConditionFlag.InCombat])
{
case 6:
return;
case 2:
_206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1893436399), new object[1] { _retryStepCount });
Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-209533649));
return;
case 5:
InterruptQueueWithCombat();
num = 235217040;
break;
case 1:
_206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1774014248), new object[2]
{
currentTask,
_configuration.Advanced.InteractionTimeoutSeconds
});
num = ((!_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InCombat)) ? 235217041 : 235217043);
break;
case 4:
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1770635265), new object[2]
{
_retryStepCount,
_configuration.Advanced.InteractionRetryLimit
});
return;
}
_retryStepCount++;
if (_retryStepCount > _configuration.Advanced.InteractionRetryLimit)
{
_logger.LogError("Non-combat timeout retry limit exceeded after {Count} retries, stopping", _retryStepCount);
Stop("Non-combat timeout retry limit exceeded");
}
else
{
_logger.LogDebug("Not in combat, retrying step (attempt {Count}/{Limit})", _retryStepCount, _configuration.Advanced.InteractionRetryLimit);
_taskQueue.Reset();
OnRetryStep();
num = 235217040;
break;
case 8:
num = 235217045;
break;
case 0:
num = ((!currentTaskExecutor.HasTimedOut(_configuration.Advanced.InteractionTimeoutSeconds)) ? 235217055 : 235217047);
break;
case 3:
InterruptQueueWithCombat();
return;
case 7:
{
int retryStepCount = _retryStepCount;
num3 = 1;
num4 = retryStepCount;
int num6 = num4 ^ num3;
int num7 = num4 & num3;
_retryStepCount = num6 + (num7 + num7);
num = ((_retryStepCount <= _configuration.Advanced.InteractionRetryLimit) ? 235217042 : 235217044);
break;
}
case 9:
eTaskResult = currentTaskExecutor.Update();
goto end_IL_0211;
}
continue;
end_IL_0211:
break;
return;
}
eTaskResult = currentTaskExecutor.Update();
}
catch (MovementController.PathfindingFailedException)
{
throw;
}
catch (Exception ex3)
catch (Exception exception2)
{
_206E_206B_200C_202D_206E_202E_200F_206B_206F_202B_206F_206D_206C_206C_202C_200B_206A_200E_200E_200D_202B_202E_202B_200D_206F_202C_206D_206A_202B_202A_206E_200B_206B_200F_206F_202D_200B_206A_202B_202A_202E((ILogger)_logger, ex3, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-407849183), new object[1] { currentTask });
IChatGui chatGui2 = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(58, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(822530907));
defaultInterpolatedStringHandler2.AppendFormatted(currentTask);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-201978855));
_200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-391735924));
_logger.LogError(exception2, "Failed to update task {TaskName}", currentTask);
_chatGui.PrintError($"Failed to update task '{currentTask}', please check /xllog for details.", "Questionable", 576);
Stop("Task failed to update");
return;
}
num = ((_taskQueue.CurrentTaskExecutor == currentTaskExecutor) ? (-1790042060) : (-1790042062));
bool flag = default(bool);
ITask task2 = default(ITask);
IExtraTaskCreator extraTaskCreator = default(IExtraTaskCreator);
while (true)
if (_taskQueue.CurrentTaskExecutor != currentTaskExecutor)
{
int num8 = num;
int num3 = -1790042050;
int num4 = num8;
int num9 = num4 + num3;
int num10 = num4 & num3;
int retryStepCount2;
ILastTask task3;
switch (num9 - (num10 + num10))
return;
}
switch (eTaskResult)
{
case ETaskResult.StillRunning:
break;
case ETaskResult.SkipRemainingTasksForStep:
{
_logger.LogDebug("{Task} → {Result}, skipping remaining tasks for step", currentTask, eTaskResult);
_taskQueue.CurrentTaskExecutor = null;
ITask task3;
while (_taskQueue.TryDequeue(out task3))
{
case 1:
num = ((!flag) ? (-1790042054) : (-1790042068));
break;
case 0:
num = ((!(task2 is Gather.SkipMarker)) ? (-1790042072) : (-1790042055));
break;
case 17:
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1662139304), new object[3]
if ((task3 is ILastTask || task3 is Gather.SkipMarker) ? true : false)
{
currentTask,
eTaskResult,
_taskQueue.RemainingTasks.Count()
});
OnTaskComplete(currentTask);
num = ((eTaskResult != ETaskResult.CreateNewTasks) ? (-1790042058) : (-1790042059));
break;
case 18:
{
ITaskExecutor requiredKeyedService2 = _serviceProvider.GetRequiredKeyedService<ITaskExecutor>(_202B_200E_206B_202E_206D_200E_202A_206B_206F_206A_200D_200B_206A_200F_202C_202C_202A_202B_206E_202D_200F_206E_202D_200B_206E_202D_200B_206C_206E_200B_202E_200E_200B_202A_202A_206A_200C_202D_206D_206D_202E((object)task2));
requiredKeyedService2.Start(task2);
_taskQueue.CurrentTaskExecutor = requiredKeyedService2;
return;
}
case 6:
num = -1790042062;
break;
case 21:
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-705700696), new object[4]
{
currentTask,
eTaskResult,
_retryStepCount,
_configuration.Advanced.InteractionRetryLimit
});
_taskQueue.Reset();
OnRetryStep();
return;
case 19:
_taskQueue.EnqueueAll(extraTaskCreator.CreateExtraTasks());
num = -1790042058;
break;
case 8:
_taskQueue.CurrentTaskExecutor = null;
return;
case 9:
_206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1386872238), new object[1] { _retryStepCount });
Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(724240837));
return;
case 5:
goto IL_071a;
case 13:
return;
case 3:
goto IL_0761;
case 20:
return;
case 10:
switch (eTaskResult)
{
case ETaskResult.TaskComplete:
case ETaskResult.CreateNewTasks:
ITaskExecutor requiredKeyedService2 = _serviceProvider.GetRequiredKeyedService<ITaskExecutor>(task3.GetType());
requiredKeyedService2.Start(task3);
_taskQueue.CurrentTaskExecutor = requiredKeyedService2;
break;
case ETaskResult.End:
goto IL_071a;
case ETaskResult.StillRunning:
return;
case ETaskResult.NextStep:
goto IL_0761;
default:
goto IL_07d0;
case ETaskResult.RetryStep:
goto IL_0821;
case ETaskResult.SkipRemainingTasksForStep:
goto IL_0870;
}
goto case 17;
case 22:
flag = false;
num = -1790042049;
break;
case 7:
flag = true;
num = -1790042049;
break;
case 11:
extraTaskCreator = currentTaskExecutor as IExtraTaskCreator;
num = ((extraTaskCreator == null) ? (-1790042058) : (-1790042067));
break;
case 15:
goto IL_0821;
case 16:
goto IL_0870;
case 14:
num = ((task2 is ILastTask) ? (-1790042055) : (-1790042050));
break;
case 12:
return;
case 4:
num = ((!_taskQueue.TryDequeue(out task2)) ? (-1790042070) : (-1790042064));
break;
case 2:
return;
IL_0870:
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1713413528), new object[2] { currentTask, eTaskResult });
_taskQueue.CurrentTaskExecutor = null;
num = -1790042054;
break;
IL_0821:
retryStepCount2 = _retryStepCount;
num3 = 1;
num4 = retryStepCount2;
_retryStepCount = (num4 | num3) + (num4 & num3);
num = ((_retryStepCount <= _configuration.Advanced.InteractionRetryLimit) ? (-1790042069) : (-1790042057));
break;
IL_07d0:
num = -1790042052;
break;
IL_0761:
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(341325607), new object[2] { currentTask, eTaskResult });
_retryStepCount = 0;
task3 = (ILastTask)currentTask;
_taskQueue.CurrentTaskExecutor = null;
OnNextStep(task3);
return;
IL_071a:
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1482182306), new object[2] { currentTask, eTaskResult });
_taskQueue.CurrentTaskExecutor = null;
Stop(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(910810307));
return;
}
break;
}
case ETaskResult.TaskComplete:
case ETaskResult.CreateNewTasks:
_logger.LogDebug("{Task} → {Result}, remaining tasks: {RemainingTaskCount}", currentTask, eTaskResult, _taskQueue.RemainingTasks.Count());
OnTaskComplete(currentTask);
if (eTaskResult == ETaskResult.CreateNewTasks && currentTaskExecutor is IExtraTaskCreator extraTaskCreator)
{
_taskQueue.EnqueueAll(extraTaskCreator.CreateExtraTasks());
}
_taskQueue.CurrentTaskExecutor = null;
break;
case ETaskResult.RetryStep:
_retryStepCount++;
if (_retryStepCount > _configuration.Advanced.InteractionRetryLimit)
{
_logger.LogError("RetryStep limit exceeded after {Count} retries, stopping", _retryStepCount);
Stop("RetryStep limit exceeded");
break;
}
_logger.LogDebug("{Task} → {Result}, retrying current step (attempt {Count}/{Limit})", currentTask, eTaskResult, _retryStepCount, _configuration.Advanced.InteractionRetryLimit);
_taskQueue.Reset();
OnRetryStep();
break;
case ETaskResult.NextStep:
{
_logger.LogDebug("{Task} → {Result}", currentTask, eTaskResult);
_retryStepCount = 0;
ILastTask task2 = (ILastTask)currentTask;
_taskQueue.CurrentTaskExecutor = null;
OnNextStep(task2);
break;
}
case ETaskResult.End:
_logger.LogDebug("{Task} → {Result}", currentTask, eTaskResult);
_taskQueue.CurrentTaskExecutor = null;
Stop("Task end");
break;
}
}
@ -406,11 +209,10 @@ internal abstract class MiniTaskController<T> : IDisposable
{
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected virtual void OnRetryStep()
{
_206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(265028979), Array.Empty<object>());
Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(542623925));
_logger.LogWarning("RetryStep not handled by this controller, stopping");
Stop("RetryStep not supported");
}
protected void ResetStepRetryCounter()
@ -424,336 +226,130 @@ internal abstract class MiniTaskController<T> : IDisposable
public virtual void Stop(string label)
{
IStoppableTaskExecutor stoppableTaskExecutor = _taskQueue.CurrentTaskExecutor as IStoppableTaskExecutor;
int num = ((stoppableTaskExecutor == null) ? (-478245129) : (-478245132));
while (true)
if (_taskQueue.CurrentTaskExecutor is IStoppableTaskExecutor stoppableTaskExecutor)
{
int num2 = num;
int num3 = -478245130;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_retryStepCount = 0;
return;
case 2:
stoppableTaskExecutor.StopNow();
num = -478245129;
break;
case 0:
num = -478245132;
break;
}
stoppableTaskExecutor.StopNow();
}
_retryStepCount = 0;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public virtual IList<string> GetRemainingTaskNames()
{
ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask;
int num = ((task == null) ? 45674528 : 45674531);
while (true)
if (task != null)
{
int num2 = num;
int num3 = 45674529;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_005f;
case 1:
return _taskQueue.RemainingTasks.Select([MethodImpl(MethodImplOptions.NoInlining)] (ITask x) => _003C_003Ec._206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1887683575)).ToList();
case 2:
{
List<string> list = new List<string>();
list.Add(_202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) ?? global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1887683575));
list.AddRange(_taskQueue.RemainingTasks.Select([MethodImpl(MethodImplOptions.NoInlining)] (ITask x) => _003C_003Ec._206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(656320081)));
return list;
}
}
continue;
IL_005f:
num = 45674531;
List<string> list = new List<string>();
list.Add(task.ToString() ?? "?");
list.AddRange(_taskQueue.RemainingTasks.Select((ITask x) => x.ToString() ?? "?"));
return list;
}
return _taskQueue.RemainingTasks.Select((ITask x) => x.ToString() ?? "?").ToList();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void InterruptQueueWithCombat()
{
ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask;
int num = ((task != _lastInterruptedTask) ? (-2089841709) : (-2089841711));
List<ITask> list = default(List<ITask>);
while (true)
if (task == _lastInterruptedTask)
{
int num2 = num;
int num3 = -2089841710;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
_interruptRetryCount++;
if (_interruptRetryCount > _configuration.Advanced.InteractionRetryLimit)
{
case 8:
{
_206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-269456005), new object[2]
{
task,
_configuration.Advanced.InteractionRetryLimit
});
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1056300213));
defaultInterpolatedStringHandler.AppendFormatted(task);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1081019019));
defaultInterpolatedStringHandler.AppendFormatted(_configuration.Advanced.InteractionRetryLimit);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(601161044));
_200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1773571268));
_logger.LogError("Task {TaskName} exceeded retry limit of {Limit}, stopping", task, _configuration.Advanced.InteractionRetryLimit);
_chatGui.PrintError($"Task '{task}' failed after {_configuration.Advanced.InteractionRetryLimit} retries.", "Questionable", 576);
Stop("Retry limit exceeded");
return;
}
case 2:
LogTasksAfterInterruption();
return;
case 5:
list = new List<ITask>();
num = ((!_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.Mounted)) ? (-2089841701) : (-2089841707));
break;
case 6:
num = -2089841711;
break;
case 7:
list.Add(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
num = -2089841701;
break;
case 1:
_lastInterruptedTask = task;
_interruptRetryCount = 1;
num = -2089841706;
break;
case 0:
{
TaskQueue taskQueue = _taskQueue;
int num7 = 1;
List<ITask> list2 = new List<ITask>(num7);
CollectionsMarshal.SetCount(list2, num7);
CollectionsMarshal.AsSpan(list2)[0] = new WaitAtEnd.WaitDelay();
taskQueue.InterruptWith(list2);
num = -2089841712;
break;
}
case 4:
_206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1063396505), new object[2]
{
_interruptRetryCount,
_configuration.Advanced.InteractionRetryLimit
});
num = ((!_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InCombat)) ? (-2089841710) : (-2089841705));
break;
case 9:
list.Add(Combat.Factory.CreateTask(null, -1, isLastStep: false, EEnemySpawnType.QuestInterruption, new List<uint>(), new List<QuestWorkValue>(), new List<ComplexCombatData>(), null));
list.Add(new WaitAtEnd.WaitDelay());
_taskQueue.InterruptWith(list);
num = -2089841712;
break;
case 3:
{
int interruptRetryCount = _interruptRetryCount;
num3 = 1;
num4 = interruptRetryCount;
_interruptRetryCount = (num4 | num3) + (num4 & num3);
num = ((_interruptRetryCount <= _configuration.Advanced.InteractionRetryLimit) ? (-2089841706) : (-2089841702));
break;
}
}
}
else
{
_lastInterruptedTask = task;
_interruptRetryCount = 1;
}
_logger.LogWarning("Interrupted (attempt {Retry}/{Limit}), attempting to resolve (if in combat)", _interruptRetryCount, _configuration.Advanced.InteractionRetryLimit);
if (_condition[ConditionFlag.InCombat])
{
List<ITask> list = new List<ITask>();
if (_condition[ConditionFlag.Mounted])
{
list.Add(new Questionable.Controller.Steps.Common.Mount.UnmountTask());
}
list.Add(Combat.Factory.CreateTask(null, -1, isLastStep: false, EEnemySpawnType.QuestInterruption, new List<uint>(), new List<QuestWorkValue>(), new List<ComplexCombatData>(), null));
list.Add(new WaitAtEnd.WaitDelay());
_taskQueue.InterruptWith(list);
}
else
{
TaskQueue taskQueue = _taskQueue;
int num = 1;
List<ITask> list2 = new List<ITask>(num);
CollectionsMarshal.SetCount(list2, num);
CollectionsMarshal.AsSpan(list2)[0] = new WaitAtEnd.WaitDelay();
taskQueue.InterruptWith(list2);
}
LogTasksAfterInterruption();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void InterruptWithoutCombat()
{
int num = ((_taskQueue.CurrentTaskExecutor is SinglePlayerDuty.WaitSinglePlayerDutyExecutor) ? 1044838736 : 1044838739);
while (true)
if (!(_taskQueue.CurrentTaskExecutor is SinglePlayerDuty.WaitSinglePlayerDutyExecutor))
{
int num2 = num;
int num3 = 1044838737;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 1044838739;
break;
case 2:
{
_206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1960045245), Array.Empty<object>());
TaskQueue taskQueue = _taskQueue;
int num7 = 1;
List<ITask> list = new List<ITask>(num7);
CollectionsMarshal.SetCount(list, num7);
CollectionsMarshal.AsSpan(list)[0] = new WaitAtEnd.WaitDelay();
taskQueue.InterruptWith(list);
LogTasksAfterInterruption();
num = 1044838736;
break;
}
case 1:
return;
}
_logger.LogWarning("Interrupted, attempting to redo previous tasks (not in combat)");
TaskQueue taskQueue = _taskQueue;
int num = 1;
List<ITask> list = new List<ITask>(num);
CollectionsMarshal.SetCount(list, num);
CollectionsMarshal.AsSpan(list)[0] = new WaitAtEnd.WaitDelay();
taskQueue.InterruptWith(list);
LogTasksAfterInterruption();
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void LogTasksAfterInterruption()
{
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1548875949), Array.Empty<object>());
IEnumerator<ITask> enumerator = _taskQueue.RemainingTasks.GetEnumerator();
try
_logger.LogDebug("Remaining tasks after interruption:");
foreach (ITask remainingTask in _taskQueue.RemainingTasks)
{
int num = -508230281;
while (true)
{
int num2 = num;
int num3 = -508230281;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = (_206C_200F_206D_200D_200E_206B_200C_206E_202C_206D_206E_200C_202E_202E_200E_200D_200F_200C_202E_200E_200D_202D_202D_202B_206F_206B_206E_202E_206E_206B_200C_206C_206C_202D_206F_206A_202E_206E_200E_200E_202E((IEnumerator)enumerator) ? (-508230284) : (-508230282));
break;
case 3:
{
ITask current = enumerator.Current;
_206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1033828461), new object[1] { current });
num = -508230281;
break;
}
case 2:
num = -508230281;
break;
case 1:
return;
}
}
}
finally
{
int num = ((enumerator == null) ? 1241940011 : 1241940008);
while (true)
{
int num5 = num;
int num3 = 1241940009;
int num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 2:
goto end_IL_00e0;
case 1:
_202E_202A_200D_200C_206E_202E_206F_202D_200D_206F_202B_202A_200D_200E_202D_200E_206D_202A_206D_206D_200D_206E_202E_206B_206E_200D_206F_206E_206D_206C_206E_200F_206D_202D_202B_202B_202A_200C_202B_202A_202E((IDisposable)enumerator);
num = 1241940011;
break;
case 0:
num = 1241940008;
break;
}
continue;
end_IL_00e0:
break;
}
_logger.LogDebug("- {TaskName}", remainingTask);
}
}
public void OnErrorToast(ref SeString message, ref bool isHandled)
{
int num = ((!_taskQueue.AllTasksComplete) ? 573119934 : 573119925);
IToastAware toastAware = default(IToastAware);
while (true)
if (_taskQueue.AllTasksComplete)
{
int num2 = num;
int num3 = 573119928;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
return;
}
if (_taskQueue.CurrentTaskExecutor is IToastAware toastAware && toastAware.OnErrorToast(message))
{
isHandled = true;
}
if (isHandled)
{
return;
}
if (_actionCanceledText.IsMatch(message.TextValue) && !_condition[ConditionFlag.InFlight])
{
ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor;
if (currentTaskExecutor != null && currentTaskExecutor.ShouldInterruptOnDamage())
{
case 0:
num = 573119925;
break;
case 10:
num = ((!toastAware.OnErrorToast(message)) ? 573119924 : 573119923);
break;
case 6:
toastAware = _taskQueue.CurrentTaskExecutor as IToastAware;
num = ((toastAware == null) ? 573119924 : 573119922);
break;
case 4:
num = ((!_206B_200C_202A_206F_206D_202C_200C_202A_202B_202C_206E_202D_206D_200B_202A_206D_202C_202A_206C_206E_202D_206D_200B_206D_200C_202B_206C_206E_206B_206D_206B_202A_202E_206E_206A_200B_206B_202D_206C_200C_202E(_actionCanceledText, _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(message))) ? 573119920 : 573119930);
break;
case 12:
num = (isHandled ? 573119935 : 573119932);
break;
case 8:
num = (GameFunctions.GameStringEquals(_cantExecuteDueToStatusText, _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(message)) ? 573119933 : 573119929);
break;
case 3:
InterruptQueueWithCombat();
return;
case 5:
InterruptWithoutCombat();
num = 573119935;
break;
case 7:
return;
case 9:
{
ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor;
num = ((currentTaskExecutor == null || !currentTaskExecutor.ShouldInterruptOnDamage()) ? 573119920 : 573119931);
break;
}
case 1:
num = ((!GameFunctions.GameStringEquals(_eventCanceledText, _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(message))) ? 573119935 : 573119933);
break;
case 11:
isHandled = true;
num = 573119924;
break;
case 13:
return;
case 2:
num = (_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InFlight) ? 573119920 : 573119921);
break;
}
}
if (GameFunctions.GameStringEquals(_cantExecuteDueToStatusText, message.TextValue) || GameFunctions.GameStringEquals(_eventCanceledText, message.TextValue))
{
InterruptWithoutCombat();
}
}
protected virtual void HandleInterruption(object? sender, EventArgs e)
{
int num = (_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InFlight) ? 759202618 : 759202616);
while (true)
if (!_condition[ConditionFlag.InFlight])
{
int num2 = num;
int num3 = 759202619;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor;
if (currentTaskExecutor != null && currentTaskExecutor.ShouldInterruptOnDamage())
{
case 1:
return;
case 3:
{
ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor;
num = ((currentTaskExecutor == null || !currentTaskExecutor.ShouldInterruptOnDamage()) ? 759202618 : 759202619);
break;
}
case 2:
num = 759202616;
break;
case 0:
InterruptQueueWithCombat();
num = 759202618;
break;
}
}
}
@ -762,75 +358,4 @@ internal abstract class MiniTaskController<T> : IDisposable
{
_interruptHandler.Interrupted -= HandleInterruption;
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static string _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E(object P_0)
{
return P_0.ToString();
}
static void _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static Type _202B_200E_206B_202E_206D_200E_202A_206B_206F_206A_200D_200B_206A_200F_202C_202C_202A_202B_206E_202D_200F_206E_202D_200B_206E_202D_200B_206C_206E_200B_202E_200E_200B_202A_202A_206A_200C_202D_206D_206D_202E(object P_0)
{
return P_0.GetType();
}
static void _206C_200C_200B_206D_206A_206E_206A_206D_206A_200D_202E_206E_202B_206E_202E_202C_200F_202B_202B_202C_200C_206C_206C_200F_206B_200D_206D_206C_202C_200B_206E_200F_206F_200E_202A_206B_200F_202B_200E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
static void _206E_206B_200C_202D_206E_202E_200F_206B_206F_202B_206F_206D_206C_206C_202C_200B_206A_200E_200E_200D_202B_202E_202B_200D_206F_202C_206D_206A_202B_202A_206E_200B_206B_200F_206F_202D_200B_206A_202B_202A_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static void _200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
static void _206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static void _206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static bool _206C_200F_206D_200D_200E_206B_200C_206E_202C_206D_206E_200C_202E_202E_200E_200D_200F_200C_202E_200E_200D_202D_202D_202B_206F_206B_206E_202E_206E_206B_200C_206C_206C_202D_206F_206A_202E_206E_200E_200E_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202E_202A_200D_200C_206E_202E_206F_202D_200D_206F_202B_202A_200D_200E_202D_200E_206D_202A_206D_206D_200D_206E_202E_206B_206E_200D_206F_206E_206D_206C_206E_200F_206D_202D_202B_202B_202A_200C_202B_202A_202E(IDisposable P_0)
{
P_0.Dispose();
}
static string _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(SeString P_0)
{
return P_0.TextValue;
}
static bool _206B_200C_202A_206F_206D_202C_200C_202A_202B_202C_206E_202D_206D_200B_202A_206D_202C_202A_206C_206E_202D_206D_200B_206D_200C_202B_206C_206E_206B_206D_206B_202A_202E_206E_206A_200B_206B_202D_206C_200C_202E(Regex P_0, string P_1)
{
return P_0.IsMatch(P_1);
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Functions;
using Questionable.Model.Questing;
@ -27,27 +23,11 @@ internal readonly record struct QuestResolution
{
get
{
int num = ((!_206C_200E_200F_206F_200C_200D_206E_200E_202A_206B_206A_206E_206A_202B_206E_202D_200E_200E_206A_200B_200B_206F_206C_202A_202C_200B_200B_206C_206E_206D_200D_206D_206B_200F_206B_206D_206D_202A_206F_200F_202E(QuestId, (ElementId?)null)) ? 206897557 : 206897558);
while (true)
if (QuestId != null)
{
int num2 = num;
int num3 = 206897556;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return false;
case 2:
return _200C_200F_202A_206B_200E_202E_206F_206C_206D_202C_202B_206B_206D_200C_206B_200E_206E_202C_202B_202B_200D_200C_202A_200F_202E_202D_206E_202A_202E_200E_200C_206C_200F_202D_202A_202B_202C_206C_200F_202E_202E(QuestId) != 0;
case 0:
goto IL_005f;
}
continue;
IL_005f:
num = 206897558;
return QuestId.Value != 0;
}
return false;
}
}
@ -56,32 +36,11 @@ internal readonly record struct QuestResolution
get
{
EQuestResolutionType type = Type;
int num = (((uint)type > 2u) ? 551053514 : 551053515);
bool result = default(bool);
while (true)
if ((uint)type <= 1u)
{
int num2 = num;
int num3 = 551053514;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 551053515;
break;
case 1:
result = true;
num = 551053513;
break;
case 0:
result = false;
num = 551053513;
break;
case 3:
return result;
}
return true;
}
return false;
}
}
@ -109,23 +68,16 @@ internal readonly record struct QuestResolution
};
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static QuestResolution Leveling(int targetLevel, string? questName, MainScenarioQuestState msqState)
{
QuestResolution result = new QuestResolution
return new QuestResolution
{
Type = EQuestResolutionType.LevelingMode,
MsqState = msqState
MsqState = msqState,
DebugReason = $"Leveling to {targetLevel} for {questName}",
LevelingTargetLevel = targetLevel,
LevelingQuestName = questName
};
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(842342782));
defaultInterpolatedStringHandler.AppendFormatted(targetLevel);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1386602519));
defaultInterpolatedStringHandler.AppendFormatted(questName);
result.DebugReason = defaultInterpolatedStringHandler.ToStringAndClear();
result.LevelingTargetLevel = targetLevel;
result.LevelingQuestName = questName;
return result;
}
public static QuestResolution None(MainScenarioQuestState msqState, string reason)
@ -137,138 +89,4 @@ internal readonly record struct QuestResolution
DebugReason = reason
};
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206D_206A_202A_200C_206C_202B_206D_206B_200D_206D_206E_206D_202D_200D_206B_200E_202C_200D_202E_202C_202A_206D_200E_200E_206D_206E_206B_202D_200B_206E_200B_202A_206A_206E_206E_202A_200E_206E_202A_202A_202E();
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1454729843));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(stringBuilder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(117284107));
int num = ((!PrintMembers(stringBuilder)) ? 497105174 : 497105175);
while (true)
{
int num2 = num;
int num3 = 497105174;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
_206B_206E_200B_206A_202D_206B_202C_206D_206B_202C_202C_206D_202E_206F_200C_206D_200E_206F_202B_200F_206B_200D_202C_206F_206D_206A_206E_202A_202B_206C_200E_202A_202B_200B_200E_206D_206A_200E_206F_200E_202E(stringBuilder, '}');
return _202B_202D_206D_200C_200C_206C_206A_206E_206D_206C_200B_206B_202E_200E_202D_206B_206C_200F_206E_206D_206E_200C_200B_206D_206A_202A_202D_200D_200E_202A_206E_202C_200D_202A_202C_200D_206D_200E_202C_200F_202E((object?)stringBuilder);
case 1:
_206B_206E_200B_206A_202D_206B_202C_206D_206B_202C_202C_206D_202E_206F_200C_206D_200E_206F_202B_200F_206B_200D_202C_206F_206D_206A_206E_202A_202B_206C_200E_202A_202B_200B_200E_206D_206A_200E_206F_200E_202E(stringBuilder, ' ');
num = 497105174;
break;
case 2:
num = 497105175;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2142299818));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, Type.ToString());
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1355464271));
_200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(builder, (object?)QuestId);
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1883281888));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, Sequence.ToString());
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1661504935));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, MsqState.ToString());
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-940584201));
_200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(builder, (object?)DebugReason);
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-436279056));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, LevelingTargetLevel.ToString());
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2055448933));
_200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(builder, (object?)LevelingQuestName);
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-660514735));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, HasQuest.ToString());
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1071893673));
_206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, IsSlotBased.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(QuestResolution other)
{
int num = ((!EqualityComparer<EQuestResolutionType>.Default.Equals(Type, other.Type)) ? 408097635 : 408097637);
while (true)
{
int num2 = num;
int num3 = 408097635;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
num = ((!EqualityComparer<byte>.Default.Equals(Sequence, other.Sequence)) ? 408097635 : 408097632);
break;
case 1:
num = ((!EqualityComparer<string>.Default.Equals(DebugReason, other.DebugReason)) ? 408097635 : 408097633);
break;
case 4:
return EqualityComparer<string>.Default.Equals(LevelingQuestName, other.LevelingQuestName);
case 2:
num = ((!EqualityComparer<int>.Default.Equals(LevelingTargetLevel, other.LevelingTargetLevel)) ? 408097635 : 408097639);
break;
case 0:
return false;
case 7:
num = 408097637;
break;
case 3:
num = ((!EqualityComparer<MainScenarioQuestState>.Default.Equals(MsqState, other.MsqState)) ? 408097635 : 408097634);
break;
case 6:
num = ((!EqualityComparer<ElementId>.Default.Equals(QuestId, other.QuestId)) ? 408097635 : 408097638);
break;
}
}
}
bool IEquatable<QuestResolution>.Equals(QuestResolution other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static bool _206C_200E_200F_206F_200C_200D_206E_200E_202A_206B_206A_206E_206A_202B_206E_202D_200E_200E_206A_200B_200B_206F_206C_202A_202C_200B_200B_206C_206E_206D_200D_206D_206B_200F_206B_206D_206D_202A_206F_200F_202E(ElementId? P_0, ElementId? P_1)
{
return P_0 != P_1;
}
static ushort _200C_200F_202A_206B_200E_202E_206F_206C_206D_202C_202B_206B_206D_200C_206B_200E_206E_202C_202B_202B_200D_200C_202A_200F_202E_202D_206E_202A_202E_200E_200C_206C_200F_202D_202A_202B_202C_206C_200F_202E_202E(ElementId? P_0)
{
return P_0.Value;
}
static StringBuilder? _206D_206A_202A_200C_206C_202B_206D_206B_200D_206D_206E_206D_202D_200D_206B_200E_202C_200D_202E_202C_202A_206D_200E_200E_206D_206E_206B_202D_200B_206E_200B_202A_206A_206E_206E_202A_200E_206E_202A_202A_202E()
{
return new StringBuilder();
}
static StringBuilder? _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _206B_206E_200B_206A_202D_206B_202C_206D_206B_202C_202C_206D_202E_206F_200C_206D_200E_206F_202B_200F_206B_200D_202C_206F_206D_206A_206E_202A_202B_206C_200E_202A_202B_200B_200E_206D_206A_200E_206F_200E_202E(StringBuilder? P_0, char P_1)
{
return P_0.Append(P_1);
}
static string? _202B_202D_206D_200C_200C_206C_206A_206E_206D_206C_200B_206B_202E_200E_202D_206B_206C_200F_206E_206D_206E_200C_200B_206D_206A_202A_202D_200D_200E_202A_206E_202C_200D_202A_202C_200D_206D_200E_202C_200F_202E(object? P_0)
{
return P_0.ToString();
}
static StringBuilder? _200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
}

View file

@ -1,120 +1,6 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Model;
namespace Questionable.Controller;
internal readonly record struct QuestSlots(QuestController.QuestProgress? Simulated, QuestController.QuestProgress? Next, QuestController.QuestProgress? Gathering, List<Quest> ManualPriorityQuests, QuestController.EAutomationType AutomationType)
{
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200F_206A_206A_206F_200F_202E_200B_200B_206C_202B_200B_206F_206C_206E_202B_202D_202B_200C_200B_206D_206C_202B_200F_202D_206F_206B_200E_200E_200F_202A_200D_200E_202A_206E_202E_206A_200F_206B_202B_206C_202E();
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1514472868));
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? (-1459143822) : (-1459143823));
while (true)
{
int num2 = num;
int num3 = -1459143821;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_206B_202E_206C_202E_200B_202D_206A_202C_200B_202C_206E_202C_200C_200F_202C_206C_202D_200E_202A_202C_206A_206A_206E_206C_202B_202A_200E_202C_202E_200E_206C_200C_206B_202D_206F_206F_202D_206F_202A_206F_202E(stringBuilder, '}');
return _202C_200B_200F_200D_200D_202D_206D_200B_206B_206A_200D_200F_206A_200B_206F_200B_206C_200C_206F_206F_202C_206B_200D_202C_200B_206F_206D_202D_202B_202E_202C_206E_202A_200E_200E_202B_200B_206A_206C_206D_202E((object?)stringBuilder);
case 2:
_206B_202E_206C_202E_200B_202D_206A_202C_200B_202C_206E_202C_200C_200F_202C_206C_202D_200E_202A_202C_206A_206A_206E_206C_202B_202A_200E_202C_202E_200E_206C_200C_206B_202D_206F_206F_202D_206F_202A_206F_202E(stringBuilder, ' ');
num = -1459143822;
break;
case 0:
num = -1459143823;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1870703456));
_202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)Simulated);
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1249651831));
_202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)Next);
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-132265683));
_202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)Gathering);
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1954093048));
_202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)ManualPriorityQuests);
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1435515341));
_202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, AutomationType.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(QuestSlots other)
{
int num = ((!EqualityComparer<QuestController.QuestProgress>.Default.Equals(Simulated, other.Simulated)) ? (-365980673) : (-365980680));
while (true)
{
int num2 = num;
int num3 = -365980676;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -365980680;
break;
case 4:
num = ((!EqualityComparer<QuestController.QuestProgress>.Default.Equals(Next, other.Next)) ? (-365980673) : (-365980674));
break;
case 2:
num = ((!EqualityComparer<QuestController.QuestProgress>.Default.Equals(Gathering, other.Gathering)) ? (-365980673) : (-365980675));
break;
case 1:
num = ((!EqualityComparer<List<Quest>>.Default.Equals(ManualPriorityQuests, other.ManualPriorityQuests)) ? (-365980673) : (-365980679));
break;
case 3:
return false;
case 5:
return EqualityComparer<QuestController.EAutomationType>.Default.Equals(AutomationType, other.AutomationType);
}
}
}
bool IEquatable<QuestSlots>.Equals(QuestSlots other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static StringBuilder? _200F_206A_206A_206F_200F_202E_200B_200B_206C_202B_200B_206F_206C_206E_202B_202D_202B_200C_200B_206D_206C_202B_200F_202D_206F_206B_200E_200E_200F_202A_200D_200E_202A_206E_202E_206A_200F_206B_202B_206C_202E()
{
return new StringBuilder();
}
static StringBuilder? _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _206B_202E_206C_202E_200B_202D_206A_202C_200B_202C_206E_202C_200C_200F_202C_206C_202D_200E_202A_202C_206A_206A_206E_206C_202B_202A_200E_202C_202E_200E_206C_200C_206B_202D_206F_206F_202D_206F_202A_206F_202E(StringBuilder? P_0, char P_1)
{
return P_0.Append(P_1);
}
static string? _202C_200B_200F_200D_200D_202D_206D_200B_206B_206A_200D_200F_206A_200B_206F_200B_206C_200C_206F_206F_202C_206B_200D_202C_200B_206F_206D_202D_202B_202E_202C_206E_202A_200E_200E_202B_200B_206A_206C_206D_202E(object? P_0)
{
return P_0.ToString();
}
static StringBuilder? _202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
}
internal readonly record struct QuestSlots(QuestController.QuestProgress? Simulated, QuestController.QuestProgress? Next, List<Quest> ManualPriorityQuests, QuestController.EAutomationType AutomationType);

View file

@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Numerics;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
@ -17,82 +14,6 @@ namespace Questionable.Controller;
internal sealed class SeasonalDutyController : MiniTaskController<SeasonalDutyController>
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass23_0
{
public SeasonalDutyController _003C_003E4__this;
public SeasonalDutyDefinition duty;
internal bool _003CEnqueueDutyCycle_003Eb__0()
{
return _200C_200D_200B_206D_202E_206E_200B_202A_200C_202D_206E_206B_200D_206F_202E_202D_206D_206B_202A_202D_200C_206B_202A_206A_200F_200D_202A_206B_202D_206F_200C_200D_206E_202B_206F_202D_202B_202D_200E_206B_202E(_003C_003E4__this._clientState) != _202B_206B_206C_202A_206B_202C_200B_200F_200C_200D_200D_206E_206D_206B_206F_206E_200F_206D_200F_202C_206A_202E_200D_206B_202E_202D_200C_206D_206E_202C_206A_202A_202E_206C_202B_202D_200F_206B_200D_202E(_003C_003E4__this._currentDuty);
}
static uint _200C_200D_200B_206D_202E_206E_200B_202A_200C_202D_206E_206B_200D_206F_202E_202D_206D_206B_202A_202D_200C_206B_202A_206A_200F_200D_202A_206B_202D_206F_200C_200D_206E_202B_206F_202D_202B_202D_200E_206B_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static ushort _202B_206B_206C_202A_206B_202C_200B_200F_200C_200D_200D_206E_206D_206B_206F_206E_200F_206D_200F_202C_206A_202E_200D_206B_202E_202D_200C_206D_206E_202C_206A_202A_202E_206C_202B_202D_200F_206B_200D_202E(SeasonalDutyDefinition P_0)
{
return P_0.DutyTerritoryId;
}
}
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass23_1
{
public bool interacted;
public _003C_003Ec__DisplayClass23_0 CS_0024_003C_003E8__locals1;
internal bool _003CEnqueueDutyCycle_003Eb__1()
{
int num = ((_206D_206A_206F_200E_200E_206D_202D_200C_200E_202B_206D_200D_202E_200C_206E_206E_202A_202A_206F_206F_200E_206B_206B_206A_206C_202C_200B_206A_206B_206F_200B_206F_200B_200F_202E_202A_200F_202B_206A_206F_202E(CS_0024_003C_003E8__locals1._003C_003E4__this._clientState) != _206F_200F_206C_202A_200E_200E_200E_206A_202C_202E_200D_206B_206D_206D_202E_202E_206F_206E_206F_202A_206D_200E_206A_200D_200D_206E_200F_200D_200F_202E_206D_202A_206D_206E_200C_206E_200E_202D_206C_202A_202E(CS_0024_003C_003E8__locals1._003C_003E4__this._currentDuty)) ? 1413699678 : 1413699677);
while (true)
{
int num2 = num;
int num3 = 1413699679;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 1413699677;
break;
case 4:
return false;
case 2:
return true;
case 1:
num = (interacted ? 1413699675 : 1413699676);
break;
case 3:
interacted = CS_0024_003C_003E8__locals1._003C_003E4__this._gameFunctions.InteractWith(_202C_206D_200D_200C_202E_200F_206C_206F_202B_206F_202C_206C_206C_206E_200B_206A_206A_206A_206F_200F_202D_200F_206A_206F_200D_202D_200F_206A_206C_206C_206A_202E_202E_206C_202B_206D_200B_206B_206B_206A_202E(CS_0024_003C_003E8__locals1.duty));
num = 1413699675;
break;
}
}
}
static uint _206D_206A_206F_200E_200E_206D_202D_200C_200E_202B_206D_200D_202E_200C_206E_206E_202A_202A_206F_206F_200E_206B_206B_206A_206C_202C_200B_206A_206B_206F_200B_206F_200B_200F_202E_202A_200F_202B_206A_206F_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static ushort _206F_200F_206C_202A_200E_200E_200E_206A_202C_202E_200D_206B_206D_206D_202E_202E_206F_206E_206F_202A_206D_200E_206A_200D_200D_206E_200F_200D_200F_202E_206D_202A_206D_206E_200C_206E_200E_202D_206C_202A_202E(SeasonalDutyDefinition P_0)
{
return P_0.DutyTerritoryId;
}
static uint _202C_206D_200D_200C_202E_200F_206C_206F_202B_206F_202C_206C_206C_206E_200B_206A_206A_206A_206F_200F_202D_200F_206A_206F_200D_202D_200F_206A_206C_206C_206A_202E_202E_206C_202B_206D_200B_206B_206B_206A_202E(SeasonalDutyDefinition P_0)
{
return P_0.NpcDataId;
}
}
private readonly MovementController _movementController;
private readonly GameFunctions _gameFunctions;
@ -123,27 +44,11 @@ internal sealed class SeasonalDutyController : MiniTaskController<SeasonalDutyCo
{
get
{
int num = (IsRunning ? (-1081163331) : (-1081163330));
while (true)
if (!IsRunning)
{
int num2 = num;
int num3 = -1081163332;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return DateTime.UtcNow - _startTime;
case 2:
return TimeSpan.Zero;
case 0:
goto IL_005f;
}
continue;
IL_005f:
num = -1081163330;
return TimeSpan.Zero;
}
return DateTime.UtcNow - _startTime;
}
}
@ -156,247 +61,78 @@ internal sealed class SeasonalDutyController : MiniTaskController<SeasonalDutyCo
_routeEnqueuer = routeEnqueuer;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Start(SeasonalDutyDefinition duty, int? cycleLimit = null)
{
_currentDuty = duty;
_completedCycles = 0;
_cycleLimit = cycleLimit;
_startTime = DateTime.UtcNow;
_202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(116039114), new object[2]
{
_202D_202B_202E_202C_202B_202B_200C_202D_200E_206E_202B_200D_206F_202B_202E_200E_206B_200D_206F_202C_200E_200E_206B_206C_206F_202E_200F_206C_206C_200E_200F_202B_200D_202D_202B_206A_200F_200D_206E_202E(duty),
cycleLimit?.ToString(_206D_202D_200B_202D_200D_200B_206D_200B_200B_202C_200F_206C_202A_202B_206A_202E_206D_202A_206E_202C_206C_206F_206C_202E_202A_202B_202E_206F_200E_206C_206C_206A_202B_200E_206C_200C_202A_206E_206E_202B_202E()) ?? global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(274217194)
});
_logger.LogInformation("Starting seasonal duty farming: {DutyName} (limit: {Limit})", duty.Name, cycleLimit?.ToString(CultureInfo.InvariantCulture) ?? "unlimited");
EnqueueDutyCycle();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Update()
{
int num = ((_currentDuty != null) ? 11397495 : 11397490);
while (true)
if (_currentDuty == null || _movementController.IsPathfinding || _movementController.IsPathRunning || _gameFunctions.IsOccupied())
{
int num2 = num;
int num3 = 11397493;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 6:
num = 11397490;
break;
case 8:
_202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1317227354), new object[2] { _completedCycles, _cycleLimit.Value });
Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-443148850));
return;
case 11:
return;
case 5:
return;
case 4:
num = ((!_taskQueue.AllTasksComplete) ? 11397492 : 11397493);
break;
case 10:
EnqueueDutyCycle();
num = 11397492;
break;
case 12:
num = ((!_gameFunctions.IsOccupied()) ? 11397489 : 11397502);
break;
case 2:
num = (_movementController.IsPathfinding ? 11397488 : 11397494);
break;
case 1:
UpdateCurrentTask();
return;
case 7:
return;
case 0:
{
int completedCycles = _completedCycles;
num3 = 1;
num4 = completedCycles;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
_completedCycles = num7 + (num8 + num8);
num = ((!_cycleLimit.HasValue) ? 11397503 : 11397500);
break;
}
case 3:
num = ((!_movementController.IsPathRunning) ? 11397497 : 11397488);
break;
case 9:
num = ((_completedCycles < _cycleLimit.Value) ? 11397503 : 11397501);
break;
}
return;
}
if (_taskQueue.AllTasksComplete)
{
_completedCycles++;
if (_cycleLimit.HasValue && _completedCycles >= _cycleLimit.Value)
{
_logger.LogInformation("Seasonal duty cycle limit reached ({Cycles}/{Limit})", _completedCycles, _cycleLimit.Value);
Stop("Cycle limit reached");
return;
}
EnqueueDutyCycle();
}
UpdateCurrentTask();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void EnqueueDutyCycle()
{
int num = ((_currentDuty != null) ? (-363396158) : (-363396154));
SeasonalDutyDefinition duty = default(SeasonalDutyDefinition);
while (true)
if (_currentDuty == null)
{
int num2 = num;
int num3 = -363396158;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -363396154;
break;
case 4:
return;
case 1:
{
_routeEnqueuer.Enqueue(_taskQueue, _200E_202B_202B_206F_202B_202A_200E_200F_200B_200E_202C_206B_206E_202E_200D_206B_200D_202C_206E_200D_200B_200B_202C_206C_206C_202E_200D_202E_200B_200D_206E_206B_202E_202D_200F_202D_202C_206C_206B_200D_202E(duty), _202B_202A_202B_202B_206E_200E_202E_206A_200D_206A_202E_200E_200B_206B_206E_200B_202D_200F_206E_202B_200B_206D_206C_206F_206B_202C_200E_200B_200B_200B_206C_206D_202B_206A_200F_202B_206F_200C_206B_202C_202E(duty));
_taskQueue.Enqueue(new Mount.UnmountTask());
bool interacted = false;
TaskQueue taskQueue = _taskQueue;
Func<bool> predicate = delegate
{
int num5 = ((_003C_003Ec__DisplayClass23_1._206D_206A_206F_200E_200E_206D_202D_200C_200E_202B_206D_200D_202E_200C_206E_206E_202A_202A_206F_206F_200E_206B_206B_206A_206C_202C_200B_206A_206B_206F_200B_206F_200B_200F_202E_202A_200F_202B_206A_206F_202E(_clientState) != _003C_003Ec__DisplayClass23_1._206F_200F_206C_202A_200E_200E_200E_206A_202C_202E_200D_206B_206D_206D_202E_202E_206F_206E_206F_202A_206D_200E_206A_200D_200D_206E_200F_200D_200F_202E_206D_202A_206D_206E_200C_206E_200E_202D_206C_202A_202E(_currentDuty)) ? 1413699678 : 1413699677);
while (true)
{
int num6 = num5;
int num7 = 1413699679;
int num8 = num6;
int num9 = num8 + num7;
int num10 = num8 & num7;
switch (num9 - (num10 + num10))
{
case 0:
num5 = 1413699677;
break;
case 4:
return false;
case 2:
return true;
case 1:
num5 = (interacted ? 1413699675 : 1413699676);
break;
case 3:
interacted = _gameFunctions.InteractWith(_003C_003Ec__DisplayClass23_1._202C_206D_200D_200C_202E_200F_206C_206F_202B_206F_202C_206C_206C_206E_200B_206A_206A_206A_206F_200F_202D_200F_206A_206F_200D_202D_200F_206A_206C_206C_206A_202E_202E_206C_202B_206D_200B_206B_206B_206A_202E(duty));
num5 = 1413699675;
break;
}
}
};
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-439033438));
defaultInterpolatedStringHandler.AppendFormatted(_200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(duty));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
taskQueue.Enqueue(new WaitCondition.Task(predicate, defaultInterpolatedStringHandler.ToStringAndClear()));
num = -363396159;
break;
}
case 3:
_taskQueue.Enqueue(new ClearObjectsWithAction.ClearTask(_206C_206A_202C_202D_202E_200F_200B_200F_206E_202E_200E_202E_206E_206B_200F_206C_206E_202B_202B_200D_200C_206A_200D_200F_206C_206D_200E_202D_206F_200E_206A_206C_206E_202A_202E_206A_200E_200F_206A_206B_202E(duty), _200F_202B_206A_202A_200E_200F_200B_206E_200B_206F_202C_200E_206C_202E_202E_200C_200E_200C_206B_202B_206A_206A_200B_202B_206D_202D_206E_206F_200B_200F_202E_206A_206E_206F_202B_202E_200F_206D_206B_206B_202E(duty), _200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(duty), _206D_206F_202E_200F_200E_200F_202A_206C_206B_202B_206A_206C_200D_206F_206F_206C_200B_206A_202C_206D_202E_202B_206C_206D_206F_206F_202C_206E_206F_206E_200C_202E_200F_200F_200C_206B_202D_202D_202D_200F_202E(duty), _200C_202C_200C_202A_206F_206E_200F_202C_206A_202C_200B_200D_202D_202A_206E_206E_206F_202B_202E_206F_202A_202B_200F_200B_206B_206B_200C_202B_206C_202C_202D_206D_202B_206B_200E_200D_202A_202D_202E_200C_202E(duty)));
_taskQueue.Enqueue(new WaitCondition.Task(() => _003C_003Ec__DisplayClass23_0._200C_200D_200B_206D_202E_206E_200B_202A_200C_202D_206E_206B_200D_206F_202E_202D_206D_206B_202A_202D_200C_206B_202A_206A_200F_200D_202A_206B_202D_206F_200C_200D_206E_202B_206F_202D_202B_202D_200E_206B_202E(_clientState) != _003C_003Ec__DisplayClass23_0._202B_206B_206C_202A_206B_202C_200B_200F_200C_200D_200D_206E_206D_206B_206F_206E_200F_206D_200F_202C_206A_202E_200D_206B_202E_202D_200C_206D_206E_202C_206A_202A_202E_206C_202B_202D_200F_206B_200D_202E(_currentDuty), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1272006970)));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L)));
return;
case 0:
duty = _currentDuty;
_206C_200B_206D_200F_206F_200B_206A_202C_206B_200C_206B_202C_200B_206E_202D_200E_206C_206B_200B_202C_200B_202D_206C_206D_200E_206A_200F_200B_206B_200F_202D_202B_200B_200F_206E_206D_206A_206F_206C_200E_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1169265253), new object[1] { _202D_202B_202E_202C_202B_202B_200C_202D_200E_206E_202B_200D_206F_202B_202E_200E_206B_200D_206F_202C_200E_200E_206B_206C_206F_202E_200F_206C_206C_200E_200F_202B_200D_202D_202B_206A_200F_200D_206E_202E(duty) });
num = ((_206B_206B_206A_206B_206B_206A_200E_206B_206C_206F_200C_200D_202C_206E_200D_200C_206F_206E_206B_202C_206A_202C_202C_206B_202B_206C_202C_200C_200B_200C_202B_202D_206A_200F_200F_202E_202B_200F_206F_200D_202E(_clientState) == _200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(duty)) ? (-363396159) : (-363396157));
break;
}
return;
}
SeasonalDutyDefinition duty = _currentDuty;
_logger.LogDebug("Enqueuing seasonal duty cycle for {DutyName}", duty.Name);
if (_clientState.TerritoryType != duty.DutyTerritoryId)
{
_routeEnqueuer.Enqueue(_taskQueue, duty.TerritoryId, duty.NpcPosition);
_taskQueue.Enqueue(new Mount.UnmountTask());
bool interacted = false;
_taskQueue.Enqueue(new WaitCondition.Task(delegate
{
if (_clientState.TerritoryType == _currentDuty.DutyTerritoryId)
{
return true;
}
if (!interacted)
{
interacted = _gameFunctions.InteractWith(duty.NpcDataId);
}
return false;
}, $"InteractAndWait(territory: {duty.DutyTerritoryId})"));
}
_taskQueue.Enqueue(new ClearObjectsWithAction.ClearTask(duty.DataIds, duty.Action, duty.DutyTerritoryId, duty.StopDistance, duty.WaypointPositions));
_taskQueue.Enqueue(new WaitCondition.Task(() => _clientState.TerritoryType != _currentDuty.DutyTerritoryId, "Wait(duty end)"));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L)));
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override void Stop(string label)
{
base.Stop(label);
int num = ((_currentDuty == null) ? (-485245230) : (-485245231));
while (true)
if (_currentDuty != null)
{
int num2 = num;
int num3 = -485245232;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -485245231;
break;
case 1:
_202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(478807852), new object[2] { label, _completedCycles });
_routeEnqueuer.ClearDestination();
_currentDuty = null;
_completedCycles = 0;
_cycleLimit = null;
_taskQueue.Reset();
num = -485245230;
break;
case 2:
return;
}
_logger.LogInformation("Stopping seasonal duty farming: {Label} (completed {Cycles} cycles)", label, _completedCycles);
_routeEnqueuer.ClearDestination();
_currentDuty = null;
_completedCycles = 0;
_cycleLimit = null;
_taskQueue.Reset();
}
}
static string _202D_202B_202E_202C_202B_202B_200C_202D_200E_206E_202B_200D_206F_202B_202E_200E_206B_200D_206F_202C_200E_200E_206B_206C_206F_202E_200F_206C_206C_200E_200F_202B_200D_202D_202B_206A_200F_200D_206E_202E(SeasonalDutyDefinition P_0)
{
return P_0.Name;
}
static CultureInfo _206D_202D_200B_202D_200D_200B_206D_200B_200B_202C_200F_206C_202A_202B_206A_202E_206D_202A_206E_202C_206C_206F_206C_202E_202A_202B_202E_206F_200E_206C_206C_206A_202B_200E_206C_200C_202A_206E_206E_202B_202E()
{
return CultureInfo.InvariantCulture;
}
static void _202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _206C_200B_206D_200F_206F_200B_206A_202C_206B_200C_206B_202C_200B_206E_202D_200E_206C_206B_200B_202C_200B_202D_206C_206D_200E_206A_200F_200B_206B_200F_202D_202B_200B_200F_206E_206D_206A_206F_206C_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static uint _206B_206B_206A_206B_206B_206A_200E_206B_206C_206F_200C_200D_202C_206E_200D_200C_206F_206E_206B_202C_206A_202C_202C_206B_202B_206C_202C_200C_200B_200C_202B_202D_206A_200F_200F_202E_202B_200F_206F_200D_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static ushort _200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(SeasonalDutyDefinition P_0)
{
return P_0.DutyTerritoryId;
}
static ushort _200E_202B_202B_206F_202B_202A_200E_200F_200B_200E_202C_206B_206E_202E_200D_206B_200D_202C_206E_200D_200B_200B_202C_206C_206C_202E_200D_202E_200B_200D_206E_206B_202E_202D_200F_202D_202C_206C_206B_200D_202E(SeasonalDutyDefinition P_0)
{
return P_0.TerritoryId;
}
static Vector3 _202B_202A_202B_202B_206E_200E_202E_206A_200D_206A_202E_200E_200B_206B_206E_200B_202D_200F_206E_202B_200B_206D_206C_206F_206B_202C_200E_200B_200B_200B_206C_206D_202B_206A_200F_202B_206F_200C_206B_202C_202E(SeasonalDutyDefinition P_0)
{
return P_0.NpcPosition;
}
static List<uint> _206C_206A_202C_202D_202E_200F_200B_200F_206E_202E_200E_202E_206E_206B_200F_206C_206E_202B_202B_200D_200C_206A_200D_200F_206C_206D_200E_202D_206F_200E_206A_206C_206E_202A_202E_206A_200E_200F_206A_206B_202E(SeasonalDutyDefinition P_0)
{
return P_0.DataIds;
}
static EAction _200F_202B_206A_202A_200E_200F_200B_206E_200B_206F_202C_200E_206C_202E_202E_200C_200E_200C_206B_202B_206A_206A_200B_202B_206D_202D_206E_206F_200B_200F_202E_206A_206E_206F_202B_202E_200F_206D_206B_206B_202E(SeasonalDutyDefinition P_0)
{
return P_0.Action;
}
static float _206D_206F_202E_200F_200E_200F_202A_206C_206B_202B_206A_206C_200D_206F_206F_206C_200B_206A_202C_206D_202E_202B_206C_206D_206F_206F_202C_206E_206F_206E_200C_202E_200F_200F_200C_206B_202D_202D_202D_200F_202E(SeasonalDutyDefinition P_0)
{
return P_0.StopDistance;
}
static List<Vector3> _200C_202C_200C_202A_206F_206E_200F_202C_206A_202C_200B_200D_202D_202A_206E_206E_206F_202B_202E_206F_202A_202B_200F_200B_206B_206B_200C_202B_206C_202C_202D_206D_202B_206B_200E_200D_202A_202D_202E_200C_202E(SeasonalDutyDefinition P_0)
{
return P_0.WaypointPositions;
}
}

View file

@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Plugin;
using Microsoft.Extensions.Logging;
using Questionable.Model.Questing;
@ -12,32 +11,11 @@ namespace Questionable.Controller;
internal sealed class SeasonalDutyDefinitionRegistry : DefinitionRegistry<SeasonalDutyDefinition>
{
protected override string TypeLabel
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1124229794);
}
}
protected override string TypeLabel => "seasonal duty";
protected override string ConfigDirectoryName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(393634060);
}
}
protected override string ConfigDirectoryName => "SeasonalDutyDefinitions";
protected override string ProjectDirectoryName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1200839821);
}
}
protected override string ProjectDirectoryName => "SeasonalDutyPaths";
protected override EPathType PathType => EPathType.SeasonalDuty;
@ -48,31 +26,16 @@ internal sealed class SeasonalDutyDefinitionRegistry : DefinitionRegistry<Season
protected override IReadOnlyDictionary<ushort, SeasonalDutyDefinition> GetAssemblyDefinitions()
{
return _206F_206D_202B_206C_202C_206F_206C_200C_202A_200F_200E_202E_206B_200F_206C_202E_202A_206F_202A_206D_206D_202D_200E_206F_200E_206E_206C_206D_202E_206F_202A_202B_200D_206C_202C_206B_200C_202A_206A_202E();
return AssemblySeasonalDutyDefinitionLoader.GetDefinitions();
}
protected override DateTime? GetExpiry(SeasonalDutyDefinition definition)
{
return _206D_206E_202D_206B_200B_202E_202E_200E_206C_202C_202C_200C_202A_202C_206E_206A_202B_206D_206E_206B_202D_200C_206C_206F_200B_202E_206F_206E_202D_202E_202B_202C_200C_206E_200D_202D_202E_200E_206B_202E(definition);
return definition.EventExpiry;
}
protected override string? GetName(SeasonalDutyDefinition definition)
{
return _200E_202A_200E_202E_202D_206B_202D_200F_200C_206E_206F_206A_200C_202D_206A_200F_206F_202C_202C_200F_202D_206D_200E_200B_206A_200D_202A_202D_200F_200F_206A_200E_200B_200C_200B_202D_200C_200C_206D_200C_202E(definition);
}
static IReadOnlyDictionary<ushort, SeasonalDutyDefinition> _206F_206D_202B_206C_202C_206F_206C_200C_202A_200F_200E_202E_206B_200F_206C_202E_202A_206F_202A_206D_206D_202D_200E_206F_200E_206E_206C_206D_202E_206F_202A_202B_200D_206C_202C_206B_200C_202A_206A_202E()
{
return AssemblySeasonalDutyDefinitionLoader.GetDefinitions();
}
static DateTime? _206D_206E_202D_206B_200B_202E_202E_200E_206C_202C_202C_200C_202A_202C_206E_206A_202B_206D_206E_206B_202D_200C_206C_206F_200B_202E_206F_206E_202D_202E_202B_202C_200C_206E_200D_202D_202E_200E_206B_202E(SeasonalDutyDefinition P_0)
{
return P_0.EventExpiry;
}
static string _200E_202A_200E_202E_202D_206B_202D_200F_200C_206E_206F_206A_200C_202D_206A_200F_206F_202C_202C_200F_202D_206D_200E_200B_206A_200D_202A_202D_200F_200F_206A_200E_200B_200C_200B_202D_200C_200C_206D_200C_202E(SeasonalDutyDefinition P_0)
{
return P_0.Name;
return definition.Name;
}
}