muffin v7.5.6

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

View file

@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Types;
using FFXIVClientStructs.FFXIV.Client.Game;
using Microsoft.Extensions.Logging;
@ -16,149 +18,534 @@ internal static class Action
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.Action)
int num = ((_202A_206F_206D_202A_200C_200D_206A_200C_200F_202A_206E_200D_200E_200B_202C_200D_206E_202C_202E_200D_206A_200D_206E_206B_206A_206D_200E_206F_206E_200F_202E_200F_202A_206E_206A_202E_202D_206E_202A_206E_202E(step) == EInteractionType.Action) ? (-1373347802) : (-1373347807));
ITask task = default(ITask);
while (true)
{
return Array.Empty<ITask>();
int num2 = num;
int num3 = -1373347808;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
task
});
case 5:
_206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E((object)_202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-47284709));
task = OnObject(_202E_206B_206B_200F_200F_202E_202C_206A_200C_206C_200F_202C_200C_206D_202D_200B_206D_202A_200F_200D_202D_206E_202A_206B_206B_200C_200B_200B_200E_202C_202A_202B_200B_206B_206C_206D_206E_202E_200C_202A_202E(step), quest, _202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step).Value, _206A_206D_206B_202A_200E_200F_200D_202B_202A_202E_200F_206C_206A_202C_206F_206B_202C_200E_206C_206B_202D_202A_202A_202A_206B_200D_200E_206A_202D_202B_202A_206B_202B_206C_200E_200D_200C_200D_206E_200E_202E(step));
num = ((!_206C_206C_200B_202C_202D_206F_200E_206E_200C_206B_202D_200F_206B_206C_202B_206D_200E_200B_202C_206F_202B_200F_200F_202B_200C_202A_206A_206D_206E_200B_206D_202D_206C_206E_200B_202A_200B_206F_202C_202E_202E(_202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step).Value)) ? (-1373347804) : (-1373347808));
break;
case 1:
return Array.Empty<ITask>();
case 6:
num = ((_206F_206E_206C_206B_200D_202C_202D_206A_200F_202A_200B_206C_200E_206C_200B_202D_200B_206D_206B_206F_202B_200C_202A_202C_200B_202E_202B_200B_202B_200B_200B_206F_202C_202D_206C_206A_202B_202D_206B_202E_202E(step).Count <= 0) ? (-1373347803) : (-1373347806));
break;
case 0:
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(task);
case 2:
return Array.Empty<ITask>();
case 3:
num = -1373347807;
break;
}
}
if (step.DataIds.Count > 0)
{
return Array.Empty<ITask>();
}
ArgumentNullException.ThrowIfNull(step.Action, "step.Action");
ITask task = OnObject(step.DataId, quest, step.Action.Value, step.CompletionQuestVariablesFlags);
if (step.Action.Value.RequiresMount())
{
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(task);
}
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
task
});
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static ITask OnObject(uint? dataId, Quest quest, EAction action, List<QuestWorkValue?>? completionQuestVariablesFlags)
{
if ((uint)(action - 2265) <= 2u)
int num = (((uint)(action - 2265) > 2u) ? (-1095430213) : (-1095430209));
bool flag = default(bool);
while (true)
{
ArgumentNullException.ThrowIfNull(dataId, "dataId");
return new UseMudraOnObject(dataId.Value, action);
int num2 = num;
int num3 = -1095430210;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
_206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E((object)dataId, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-435733247));
return new UseMudraOnObject(dataId.Value, action);
case 2:
return new UseOnObject(dataId, quest, action, completionQuestVariablesFlags);
case 5:
flag = false;
num = -1095430210;
break;
case 0:
num = ((!flag) ? (-1095430212) : (-1095430214));
break;
case 3:
num = -1095430209;
break;
case 1:
flag = true;
num = -1095430210;
break;
}
}
return new UseOnObject(dataId, quest, action, completionQuestVariablesFlags);
}
static EInteractionType _202A_206F_206D_202A_200C_200D_206A_200C_200F_202A_206E_200D_200E_200B_202C_200D_206E_202C_202E_200D_206A_200D_206E_206B_206A_206D_200E_206F_206E_200F_202E_200F_202A_206E_206A_202E_202D_206E_202A_206E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static List<uint> _206F_206E_206C_206B_200D_202C_202D_206A_200F_202A_200B_206C_200E_206C_200B_202D_200B_206D_206B_206F_202B_200C_202A_202C_200B_202E_202B_200B_202B_200B_200B_206F_202C_202D_206C_206A_202B_202D_206B_202E_202E(QuestStep P_0)
{
return P_0.DataIds;
}
static EAction? _202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(QuestStep P_0)
{
return P_0.Action;
}
static void _206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202E_206B_206B_200F_200F_202E_202C_206A_200C_206C_200F_202C_200C_206D_202D_200B_206D_202A_200F_200D_202D_206E_202A_206B_206B_200C_200B_200B_200E_202C_202A_202B_200B_206B_206C_206D_206E_202E_200C_202A_202E(QuestStep P_0)
{
return P_0.DataId;
}
static List<QuestWorkValue> _206A_206D_206B_202A_200E_200F_200D_202B_202A_202E_200F_206C_206A_202C_206F_206B_202C_200E_206C_206B_202D_202A_202A_202A_206B_200D_200E_206A_202D_202B_202A_206B_202B_206C_200E_200D_200C_200D_206E_200E_202E(QuestStep P_0)
{
return P_0.CompletionQuestVariablesFlags;
}
static bool _206C_206C_200B_202C_202D_206F_200E_206E_200C_206B_202D_200F_206B_206C_202B_206D_200E_200B_202C_206F_202B_200F_200F_202B_200C_202A_206A_206D_206E_200B_206D_202D_206C_206E_200B_202A_200B_206F_202C_202E_202E(EAction P_0)
{
return P_0.RequiresMount();
}
}
internal sealed record UseOnObject(uint? DataId, Quest? Quest, EAction Action, List<QuestWorkValue?>? CompletionQuestVariablesFlags) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200D_202A_200F_200E_206F_206B_202D_206D_200F_200B_206B_202D_202A_202E_202D_202D_200C_200E_200D_206E_200B_200E_206A_202D_202B_200C_202C_202B_202A_206E_206B_200C_206A_202E_200B_202E_206A_200B_206F_206B_202E(typeof(UseOnObject).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Action({Action})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1657599072));
defaultInterpolatedStringHandler.AppendFormatted(Action);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_202B_200C_200C_200F_200E_202D_200B_202C_206F_200B_202E_202E_206E_200C_206F_202E_206C_200F_206A_206D_202E_200D_206F_206A_202E_200B_206D_202E_202E_206A_206C_200C_202A_202B_200F_200B_206F_202A_202E_202E();
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(931106117));
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, DataId.ToString());
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-862307262));
_200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(builder, (object?)Quest);
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(353413506));
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, Action.ToString());
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1930370304));
_200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(builder, (object?)CompletionQuestVariablesFlags);
return true;
}
[CompilerGenerated]
public bool Equals(UseOnObject? other)
{
int num = (((object)this == other) ? (-1034888155) : (-1034888156));
while (true)
{
int num2 = num;
int num3 = -1034888158;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = ((!EqualityComparer<Questionable.Model.Quest>.Default.Equals(Quest, other.Quest)) ? (-1034888154) : (-1034888157));
break;
case 4:
return false;
case 7:
return true;
case 1:
num = ((!EqualityComparer<EAction>.Default.Equals(Action, other.Action)) ? (-1034888154) : (-1034888153));
break;
case 0:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? (-1034888154) : (-1034888160));
break;
case 3:
num = -1034888156;
break;
case 5:
return EqualityComparer<List<QuestWorkValue>>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags);
case 6:
num = (((object)other == null) ? (-1034888154) : (-1034888150));
break;
case 8:
num = ((!_200E_200D_200C_206C_206E_206B_200E_206E_202B_200F_206A_200F_202A_200F_206B_202D_206E_206C_200C_202E_200B_206F_206D_202E_202D_202C_200E_206D_202A_206F_200E_206C_206A_206D_200D_202E_202A_206C_202E_206A_202E(EqualityContract, other.EqualityContract)) ? (-1034888154) : (-1034888158));
break;
}
}
}
bool IEquatable<UseOnObject>.Equals(UseOnObject? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type? _200D_202A_200F_200E_206F_206B_202D_206D_200F_200B_206B_202D_202A_202E_202D_202D_200C_200E_200D_206E_200B_200E_206A_202D_202B_200C_202C_202B_202A_206E_206B_200C_206A_202E_200B_202E_206A_200B_206F_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_202B_200C_200C_200F_200E_202D_200B_202C_206F_200B_202E_202E_206E_200C_206F_202E_206C_200F_206A_206D_202E_200D_206F_206A_202E_200B_206D_202E_202E_206A_206C_200C_202A_202B_200F_200B_206F_202A_202E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder? _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
static bool _200E_200D_200C_206C_206E_206B_200E_206E_202B_200F_206A_200F_202A_200F_206B_202D_206E_206C_200C_202E_200B_206F_206D_202E_202D_202C_200E_206D_202A_206F_200E_206C_206A_206D_200D_202E_202A_206C_202E_206A_202E(Type? P_0, Type? P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseOnObjectExecutor(GameFunctions gameFunctions, QuestFunctions questFunctions, ILogger<UseOnObject> logger) : TaskExecutor<UseOnObject>()
internal sealed class UseOnObjectExecutor(GameFunctions gameFunctions, QuestFunctions questFunctions, ILogger<UseOnObjectExecutor> logger) : TaskExecutor<UseOnObject>()
{
private bool _usedAction;
private DateTime _continueAt = DateTime.MinValue;
private long _continueAt;
private bool _waitingForQuestFlags;
private long _questFlagWaitStarted;
public override bool HasTimedOut(float timeoutSeconds)
{
int num = (_waitingForQuestFlags ? (-369880556) : (-369880555));
while (true)
{
int num2 = num;
int num3 = -369880553;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
num = ((base.ProgressContext == null) ? (-369880553) : (-369880554));
break;
case 2:
return false;
case 4:
num = -369880555;
break;
case 0:
return _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() - _questFlagWaitStarted > (long)(timeoutSeconds * 1000f);
case 1:
return base.HasTimedOut(timeoutSeconds);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (base.Task.DataId.HasValue)
int num = ((!base.Task.DataId.HasValue) ? (-1131442756) : (-1131442765));
IGameObject gameObject = default(IGameObject);
while (true)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
if (gameObject == null)
int num2 = num;
int num3 = -1131442757;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogWarning("No game object with dataId {DataId}", base.Task.DataId);
return false;
}
if (gameObject.IsTargetable)
{
if (base.Task.Action == EAction.Diagnosis && gameFunctions.HasStatus(EStatus.Eukrasia) && GameFunctions.RemoveStatus(EStatus.Eukrasia))
{
_continueAt = DateTime.Now.AddSeconds(2.0);
return true;
}
_usedAction = gameFunctions.UseAction(gameObject, base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
case 3:
num = -1131442765;
break;
case 0:
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 2000;
return true;
case 5:
num = ((!gameFunctions.HasStatus(EStatus.Eukrasia)) ? (-1131442759) : (-1131442758));
break;
case 7:
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500;
return true;
case 10:
num = ((base.Task.Action != EAction.Diagnosis) ? (-1131442759) : (-1131442754));
break;
case 6:
_202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(600105394), new object[1] { base.Task.DataId });
return true;
case 2:
_usedAction = gameFunctions.UseAction(gameObject, base.Task.Action);
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500;
return true;
case 1:
num = ((!GameFunctions.RemoveStatus(EStatus.Eukrasia)) ? (-1131442759) : (-1131442757));
break;
case 8:
gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
num = ((gameObject != null) ? (-1131442766) : (-1131442755));
break;
case 4:
_202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2073702986), new object[2]
{
base.Task.DataId,
base.Task.Action
});
num = -1131442756;
break;
case 9:
num = ((!_200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(gameObject)) ? (-1131442753) : (-1131442767));
break;
}
logger.LogInformation("Object {DataId} is untargetable, using action {Action} without target", base.Task.DataId, base.Task.Action);
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return true;
}
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return true;
}
public override ETaskResult Update()
{
if (DateTime.Now <= _continueAt)
int num = ((_200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() > _continueAt) ? 1542849482 : 1542849479);
QuestProgressInfo questProgressInfo = default(QuestProgressInfo);
IGameObject gameObject = default(IGameObject);
while (true)
{
return ETaskResult.StillRunning;
}
if (!_usedAction)
{
if (base.Task.DataId.HasValue)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
if (gameObject == null)
{
return ETaskResult.StillRunning;
}
if (gameObject.IsTargetable)
{
_usedAction = gameFunctions.UseAction(gameObject, base.Task.Action);
}
else
{
_usedAction = gameFunctions.UseAction(base.Task.Action);
}
_continueAt = DateTime.Now.AddSeconds(0.5);
}
else
{
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
}
return ETaskResult.StillRunning;
}
if (base.Task.Quest != null && base.Task.CompletionQuestVariablesFlags != null && QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags))
{
QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id);
if (questProgressInfo == null || !QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo))
int num2 = num;
int num3 = 1542849472;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 18:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 0:
questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id);
num = ((questProgressInfo == null) ? 1542849476 : 1542849478);
break;
case 16:
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500;
return ETaskResult.StillRunning;
case 10:
num = (_usedAction ? 1542849484 : 1542849474);
break;
case 11:
num = (_waitingForQuestFlags ? 1542849472 : 1542849489);
break;
case 14:
num = 1542849479;
break;
case 12:
num = ((base.Task.Quest == null) ? 1542849473 : 1542849481);
break;
case 7:
return ETaskResult.StillRunning;
case 6:
num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) ? 1542849476 : 1542849490);
break;
case 17:
_waitingForQuestFlags = true;
_questFlagWaitStarted = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E();
num = 1542849472;
break;
case 5:
_usedAction = (_200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(gameObject) ? gameFunctions.UseAction(gameObject, base.Task.Action) : gameFunctions.UseAction(base.Task.Action));
num = 1542849488;
break;
case 1:
return ETaskResult.TaskComplete;
case 4:
return ETaskResult.StillRunning;
case 2:
num = ((!base.Task.DataId.HasValue) ? 1542849487 : 1542849480);
break;
case 15:
_usedAction = gameFunctions.UseAction(base.Task.Action);
num = 1542849488;
break;
case 9:
num = ((base.Task.CompletionQuestVariablesFlags == null) ? 1542849473 : 1542849485);
break;
case 3:
return ETaskResult.StillRunning;
case 13:
num = ((!QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) ? 1542849473 : 1542849483);
break;
case 8:
gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
num = ((gameObject != null) ? 1542849477 : 1542849475);
break;
}
return ETaskResult.TaskComplete;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static long _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E()
{
return Environment.TickCount64;
}
static void _202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
}
internal sealed record UseMudraOnObject(uint DataId, EAction Action) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206A_206F_202E_206E_206E_202E_206E_200B_206E_202D_200C_206C_200D_206C_206B_206B_202D_206E_200F_206B_206A_200F_202C_206B_206A_202B_206D_206B_206B_200B_206B_206D_206A_202C_200B_206C_200D_206F_200F_202E_202E(typeof(UseMudraOnObject).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Mudra({Action})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-604906008));
defaultInterpolatedStringHandler.AppendFormatted(Action);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206B_202C_206F_202D_202B_200B_206F_202E_202C_206B_200F_206B_200C_206C_206B_200E_200C_202E_202D_202E_202C_206C_202E_206B_200D_206F_206B_202B_200B_202A_202E_202D_206B_206F_200E_206D_206C_202B_206D_200F_202E();
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, DataId.ToString());
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(353413506));
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, Action.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(UseMudraOnObject? other)
{
int num = (((object)this == other) ? 1487709451 : 1487709452);
while (true)
{
int num2 = num;
int num3 = 1487709453;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return EqualityComparer<EAction>.Default.Equals(Action, other.Action);
case 1:
num = (((object)other == null) ? 1487709455 : 1487709449);
break;
case 4:
num = ((!_200D_206A_202B_206F_202C_206A_206E_206E_206E_200E_202D_202A_202E_200C_202A_200F_202D_200C_202B_200E_206F_206E_206F_200B_202A_202D_200E_200C_202C_206D_200E_206C_202A_202D_206E_206F_206C_202E_200D_202D_202E(EqualityContract, other.EqualityContract)) ? 1487709455 : 1487709448);
break;
case 0:
num = 1487709452;
break;
case 5:
num = ((!EqualityComparer<uint>.Default.Equals(DataId, other.DataId)) ? 1487709455 : 1487709454);
break;
case 2:
return false;
case 6:
return true;
}
}
}
bool IEquatable<UseMudraOnObject>.Equals(UseMudraOnObject? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206A_206F_202E_206E_206E_202E_206E_200B_206E_202D_200C_206C_200D_206C_206B_206B_202D_206E_200F_206B_206A_200F_202C_206B_206A_202B_206D_206B_206B_200B_206B_206D_206A_202C_200B_206C_200D_206F_200F_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206B_202C_206F_202D_202B_200B_206F_202E_202C_206B_200F_206B_200C_206C_206B_200E_200C_202E_202D_202E_202C_206C_202E_206B_200D_206F_206B_202B_200B_202A_202E_202D_206B_206F_200E_206D_206C_202B_206D_200F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200D_206A_202B_206F_202C_206A_206E_206E_206E_200E_202D_202A_202E_200C_202A_200F_202D_200C_202B_200E_206F_206E_206F_200B_202A_202D_200E_200C_202C_206D_200E_206C_202A_202D_206E_206F_206C_202E_200D_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseMudraOnObjectExecutor(GameFunctions gameFunctions, ILogger<UseMudraOnObject> logger) : TaskExecutor<UseMudraOnObject>()
internal sealed class UseMudraOnObjectExecutor(GameFunctions gameFunctions, ILogger<UseMudraOnObjectExecutor> logger) : TaskExecutor<UseMudraOnObject>()
{
private static readonly ReadOnlyDictionary<EAction, Dictionary<EAction, EAction>> Combos = new Dictionary<EAction, Dictionary<EAction, EAction>>
{
@ -200,92 +587,264 @@ internal static class Action
}
}.AsReadOnly();
private DateTime _continueAt = DateTime.MinValue;
private long _continueAt;
protected override bool Start()
{
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (DateTime.Now < _continueAt)
int num = ((_202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() >= _continueAt) ? 1138571284 : 1138571280);
IGameObject gameObject = default(IGameObject);
EAction adjustedActionId = default(EAction);
Dictionary<EAction, EAction> value = default(Dictionary<EAction, EAction>);
EAction value2 = default(EAction);
while (true)
{
return ETaskResult.StillRunning;
}
EAction adjustedActionId = (EAction)ActionManager.Instance()->GetAdjustedActionId(2260u);
if (adjustedActionId == EAction.RabbitMedium)
{
_continueAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId);
if (gameObject == null || !gameObject.IsTargetable)
{
return ETaskResult.StillRunning;
}
if (adjustedActionId == base.Task.Action)
{
_continueAt = DateTime.Now.AddSeconds(0.25);
if (!gameFunctions.UseAction(gameObject, base.Task.Action))
int num2 = num;
int num3 = 1138571289;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId);
num = ((gameObject == null) ? 1138571290 : 1138571285);
break;
case 7:
num = ((adjustedActionId != base.Task.Action) ? 1138571287 : 1138571293);
break;
case 11:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250;
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
if (Combos.TryGetValue(base.Task.Action, out Dictionary<EAction, EAction> value))
{
if (value.TryGetValue(adjustedActionId, out var value2))
{
_continueAt = DateTime.Now.AddSeconds(0.25);
case 9:
return ETaskResult.StillRunning;
case 10:
num = ((!value.TryGetValue(adjustedActionId, out value2)) ? 1138571282 : 1138571292);
break;
case 6:
_206D_206F_202E_206B_200D_200D_200E_202B_206B_202E_202C_200E_200B_200C_202A_202D_206E_200F_202B_206C_202E_200D_206D_200C_206C_200C_206A_200C_202B_206A_200E_206D_206B_206F_202D_206B_200D_200D_206A_206E_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(412191854), new object[1] { base.Task.Action });
return ETaskResult.TaskComplete;
case 13:
adjustedActionId = (EAction)ActionManager.Instance()->GetAdjustedActionId(2260u);
num = ((adjustedActionId != EAction.RabbitMedium) ? 1138571288 : 1138571289);
break;
case 8:
return ETaskResult.StillRunning;
case 5:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250;
gameFunctions.UseAction(value2);
return ETaskResult.StillRunning;
case 14:
num = ((!Combos.TryGetValue(base.Task.Action, out value)) ? 1138571295 : 1138571283);
break;
case 4:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250;
num = (gameFunctions.UseAction(gameObject, base.Task.Action) ? 1138571291 : 1138571281);
break;
case 12:
num = (_206A_200C_206A_202D_200C_200D_202C_206C_202A_200F_206E_200F_200B_200E_200E_200F_206C_202D_200B_200B_206C_206D_202A_206B_202C_200F_202A_200D_200D_206D_200F_200F_206D_202A_206E_200D_200D_206B_206C_206E_202E(gameObject) ? 1138571294 : 1138571290);
break;
case 15:
num = 1138571280;
break;
case 3:
return ETaskResult.StillRunning;
case 2:
return ETaskResult.TaskComplete;
case 0:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 1000;
return ETaskResult.StillRunning;
}
_continueAt = DateTime.Now.AddSeconds(0.25);
return ETaskResult.StillRunning;
}
logger.LogError("Unable to find relevant combo for {Action}", base.Task.Action);
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E()
{
return Environment.TickCount64;
}
static bool _206A_200C_206A_202D_200C_200D_202C_206C_202A_200F_206E_200F_200B_200E_200E_200F_206C_202D_200B_200B_206C_206D_202A_206B_202C_200F_202A_200D_200D_206D_200F_200F_206D_202A_206E_200D_200D_206B_206C_206E_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static void _206D_206F_202E_206B_200D_200D_200E_202B_206B_202E_202C_200E_200B_200C_202A_202D_206E_200F_202B_206C_202E_200D_206D_200C_206C_200C_206A_200C_202B_206A_200E_206D_206B_206F_202D_206B_200D_200D_206A_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
}
internal sealed record TriggerStatusIfMissing(EStatus Status, EAction Action) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200D_206C_202B_202A_202B_200F_202E_206D_206C_200E_206D_206B_206A_200C_202D_200C_200D_202A_206B_200F_200B_200C_206F_200D_206E_200F_206A_206F_202B_200D_200E_200B_202D_200C_206A_202A_206A_200F_206C_206F_202E(typeof(TriggerStatusIfMissing).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"TriggerStatus({Status})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1306109477));
defaultInterpolatedStringHandler.AppendFormatted(Status);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_206A_202D_206B_200B_200C_202B_206C_200C_206A_200B_202D_200D_200B_206B_200D_200E_202B_202B_200E_206B_206B_202A_206D_206F_206A_200F_202C_200D_202C_206A_202D_206F_200C_206B_200B_206C_200B_206C_202E();
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1195039164));
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, Status.ToString());
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1765108266));
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, Action.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(TriggerStatusIfMissing? other)
{
int num = (((object)this == other) ? (-1239545030) : (-1239545028));
while (true)
{
int num2 = num;
int num3 = -1239545026;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return EqualityComparer<EAction>.Default.Equals(Action, other.Action);
case 2:
num = (((object)other == null) ? (-1239545029) : (-1239545025));
break;
case 1:
num = ((!_206F_206A_200C_206E_202A_200C_200E_202A_200C_200F_206D_206C_206B_202A_200C_206A_206A_200E_206B_202E_202D_200F_206E_206D_206E_200F_202A_202B_206C_206A_200E_200C_206F_200C_202D_200B_206B_202A_206B_206D_202E(EqualityContract, other.EqualityContract)) ? (-1239545029) : (-1239545032));
break;
case 0:
num = -1239545028;
break;
case 5:
return false;
case 4:
return true;
case 6:
num = ((!EqualityComparer<EStatus>.Default.Equals(Status, other.Status)) ? (-1239545029) : (-1239545027));
break;
}
}
}
bool IEquatable<TriggerStatusIfMissing>.Equals(TriggerStatusIfMissing? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200D_206C_202B_202A_202B_200F_202E_206D_206C_200E_206D_206B_206A_200C_202D_200C_200D_202A_206B_200F_200B_200C_206F_200D_206E_200F_206A_206F_202B_200D_200E_200B_202D_200C_206A_202A_206A_200F_206C_206F_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_206A_202D_206B_200B_200C_202B_206C_200C_206A_200B_202D_200D_200B_206B_200D_200E_202B_202B_200E_206B_206B_202A_206D_206F_206A_200F_202C_200D_202C_206A_202D_206F_200C_206B_200B_206C_200B_206C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206F_206A_200C_206E_202A_200C_200E_202A_200C_200F_206D_206C_206B_202A_200C_206A_206A_200E_206B_202E_202D_200F_206E_206D_206E_200F_202A_202B_206C_206A_200E_200C_206F_200C_202D_200B_206B_202A_206B_206D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class TriggerStatusIfMissingExecutor(GameFunctions gameFunctions) : TaskExecutor<TriggerStatusIfMissing>()
{
private long _startedAt;
public override bool HasTimedOut(float timeoutSeconds)
{
return _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E() - _startedAt > (long)(timeoutSeconds * 1000f);
}
protected override bool Start()
{
if (gameFunctions.HasStatus(base.Task.Status))
int num = ((!gameFunctions.HasStatus(base.Task.Status)) ? (-1632132812) : (-1632132809));
while (true)
{
return false;
int num2 = num;
int num3 = -1632132811;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0056;
case 2:
return false;
case 1:
gameFunctions.UseAction(base.Task.Action);
_startedAt = _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E();
return true;
}
continue;
IL_0056:
num = -1632132809;
}
gameFunctions.UseAction(base.Task.Action);
return true;
}
public override ETaskResult Update()
{
if (!gameFunctions.HasStatus(base.Task.Status))
int num = (gameFunctions.HasStatus(base.Task.Status) ? 81781723 : 81781720);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 81781722;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0058;
case 2:
return ETaskResult.StillRunning;
case 1:
return ETaskResult.TaskComplete;
}
continue;
IL_0058:
num = 81781720;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E()
{
return Environment.TickCount64;
}
}
}

View file

@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
@ -13,62 +16,272 @@ internal static class AetherCurrent
{
internal sealed class Factory(AetherCurrentData aetherCurrentData, IChatGui chatGui) : SimpleTaskFactory()
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.AttuneAetherCurrent)
int num = ((_206B_200B_202B_200C_206F_202E_200C_206D_206F_206F_202A_206D_200C_200C_206C_200D_202B_202E_200F_202C_202A_206B_202E_206E_206B_202B_202D_206C_200B_200B_200B_206C_202A_200F_202E_202D_202C_200F_200D_202B_202E(step) == EInteractionType.AttuneAetherCurrent) ? 1616096496 : 1616096497);
while (true)
{
return null;
int num2 = num;
int num3 = 1616096499;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return new Attune(_202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(step).Value, _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step).Value);
case 2:
return null;
case 4:
num = 1616096497;
break;
case 1:
{
IChatGui chatGui = chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(86, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-494490534));
defaultInterpolatedStringHandler.AppendFormatted(_200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(214778039));
_202C_206F_206A_206F_202D_206B_200B_206E_206D_206E_202E_202B_200B_206E_200D_206A_206D_200B_206A_206D_200D_206E_206F_200E_206A_202B_206D_200C_202B_200E_206E_200D_202E_200C_202B_200B_200E_206E_200B_206D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
return null;
}
case 3:
_200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E((object)_202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1549410118));
_200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E((object)_200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-672605828));
num = (aetherCurrentData.IsValidAetherCurrent(_200C_202A_206F_202E_206B_200B_200B_200B_202C_206F_202C_206F_206A_200D_202C_206F_200D_200F_202E_200B_206F_202B_206D_200D_200C_206E_202B_200B_202C_202E_200F_202D_200F_202C_206C_200E_200D_202B_202C_202A_202E(step), _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step).Value) ? 1616096499 : 1616096498);
break;
}
}
ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId");
ArgumentNullException.ThrowIfNull(step.AetherCurrentId, "step.AetherCurrentId");
if (!aetherCurrentData.IsValidAetherCurrent(step.TerritoryId, step.AetherCurrentId.Value))
{
chatGui.PrintError($"Aether current with id {step.AetherCurrentId} is referencing an invalid aether current, will skip attunement", "Questionable", 576);
return null;
}
return new Attune(step.DataId.Value, step.AetherCurrentId.Value);
}
static EInteractionType _206B_200B_202B_200C_206F_202E_200C_206D_206F_206F_202A_206D_200C_200C_206C_200D_202B_202E_200F_202C_202A_206B_202E_206E_206B_202B_202D_206C_200B_200B_200B_206C_202A_200F_202E_202D_202C_200F_200D_202B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(QuestStep P_0)
{
return P_0.DataId;
}
static void _200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(QuestStep P_0)
{
return P_0.AetherCurrentId;
}
static ushort _200C_202A_206F_202E_206B_200B_200B_200B_202C_206F_202C_206F_206A_200D_202C_206F_200D_200F_202E_200B_206F_202B_206D_200D_200C_206E_202B_200B_202C_202E_200F_202D_200F_202C_206C_200E_200D_202B_202C_202A_202E(QuestStep P_0)
{
return P_0.TerritoryId;
}
static void _202C_206F_206A_206F_202D_206B_200B_206E_206D_206E_202E_202B_200B_206E_200D_206A_206D_200B_206A_206D_200D_206E_206F_200E_206A_202B_206D_200C_202B_200E_206E_200D_202E_200C_202B_200B_200E_206E_200B_206D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
}
internal sealed record Attune(uint DataId, uint AetherCurrentId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206E_200D_202C_202A_206C_200E_206F_200D_202B_206C_206C_202D_202C_200B_206A_200E_206E_206A_206C_202E_202A_200C_206E_202C_202A_206A_206D_202E_202B_202C_202A_202E_200E_200E_206F_202C_202E_206F_202D_200D_202E(typeof(Attune).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"AttuneAetherCurrent({AetherCurrentId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(361982327));
defaultInterpolatedStringHandler.AppendFormatted(AetherCurrentId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206E_202E_200E_200F_206D_206E_206D_202C_202A_202A_200D_202C_200D_206B_202A_202D_200D_202A_200C_202C_202B_200D_200D_202E_200E_206A_202E_202A_202D_202A_200C_202E_206B_202C_200D_202E_200D_206B_200D_200E_202E();
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, DataId.ToString());
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1099263671));
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, AetherCurrentId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Attune? other)
{
int num = (((object)this == other) ? (-814902453) : (-814902454));
while (true)
{
int num2 = num;
int num3 = -814902455;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return true;
case 3:
num = (((object)other == null) ? (-814902456) : (-814902455));
break;
case 1:
return false;
case 4:
return EqualityComparer<uint>.Default.Equals(AetherCurrentId, other.AetherCurrentId);
case 6:
num = -814902454;
break;
case 5:
num = ((!EqualityComparer<uint>.Default.Equals(DataId, other.DataId)) ? (-814902456) : (-814902451));
break;
case 0:
num = ((!_206B_200B_200B_206C_206B_200F_200F_206E_200D_206D_200C_206F_206D_206A_206F_206B_202E_206C_200B_202E_206E_202B_206C_206F_206E_200E_206E_202E_202B_200E_202C_206A_202D_200B_206F_200B_202C_200C_202E_206C_202E(EqualityContract, other.EqualityContract)) ? (-814902456) : (-814902452));
break;
}
}
}
bool IEquatable<Attune>.Equals(Attune? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206E_200D_202C_202A_206C_200E_206F_200D_202B_206C_206C_202D_202C_200B_206A_200E_206E_206A_206C_202E_202A_200C_206E_202C_202A_206A_206D_202E_202B_202C_202A_202E_200E_200E_206F_202C_202E_206F_202D_200D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206E_202E_200E_200F_206D_206E_206D_202C_202A_202A_200D_202C_200D_206B_202A_202D_200D_202A_200C_202C_202B_200D_200D_202E_200E_206A_202E_202A_202D_202A_200C_202E_206B_202C_200D_202E_200D_206B_200D_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206B_200B_200B_206C_206B_200F_200F_206E_200D_206D_200C_206F_206D_206A_206F_206B_202E_206C_200B_202E_206E_202B_206C_206F_206E_200E_206E_202E_202B_200E_202C_206A_202D_200B_206F_200B_202C_200C_202E_206C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoAttune(GameFunctions gameFunctions, ILogger<DoAttune> logger) : TaskExecutor<Attune>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!gameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId))
int num = (GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId) ? 1079740231 : 1079740228);
while (true)
{
logger.LogInformation("Attuning to aether current {AetherCurrentId} / {DataId}", base.Task.AetherCurrentId, base.Task.DataId);
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith(base.Task.DataId, ObjectKind.EventObj));
return true;
int num2 = num;
int num3 = 1079740230;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(693559237), new object[2]
{
base.Task.AetherCurrentId,
base.Task.DataId
});
return false;
case 2:
_206B_202B_202B_202B_200D_206B_202E_202A_206B_202A_202B_202B_202A_200D_202C_200F_202C_200F_200B_200F_206E_206C_206E_200B_200B_202A_206F_206B_200E_200F_200F_200E_206A_200E_202C_206A_200D_202A_206A_200D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2064140489), new object[2]
{
base.Task.AetherCurrentId,
base.Task.DataId
});
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith(base.Task.DataId, ObjectKind.EventObj));
return true;
case 0:
goto IL_00ef;
}
continue;
IL_00ef:
num = 1079740228;
}
logger.LogInformation("Already attuned to aether current {AetherCurrentId} / {DataId}", base.Task.AetherCurrentId, base.Task.DataId);
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (!gameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId))
int num = ((!GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId)) ? (-272165629) : (-272165626));
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = -272165632;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
ResetProgressTimer();
num = -272165630;
break;
case 3:
num = ((base.ProgressContext == null) ? (-272165630) : (-272165632));
break;
case 6:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 7:
num = -272165626;
break;
case 1:
_200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-119711603), new object[1] { base.Task.AetherCurrentId });
return ETaskResult.StillRunning;
case 2:
return ETaskResult.StillRunning;
case 0:
num = ((!base.ProgressContext.WasInterrupted()) ? (-272165627) : (-272165631));
break;
case 5:
num = ((!base.ProgressContext.WasSuccessful()) ? (-272165630) : (-272165628));
break;
}
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static void _206B_202B_202B_202B_200D_206B_202E_202A_206B_202A_202B_202B_202A_200D_202C_200F_202C_200F_200B_200F_206E_206C_206E_200B_200B_202A_206F_206B_200E_200F_200F_200E_206A_200E_202C_206A_200D_202A_206A_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
}

View file

@ -1,10 +1,12 @@
using System;
using Dalamud.Game.ClientState.Objects.Enums;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
using SmartNav.Model;
namespace Questionable.Controller.Steps.Interactions;
@ -12,56 +14,162 @@ internal static class AethernetShard
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.AttuneAethernetShard)
int num = ((_200F_206C_200B_206A_206A_206A_206D_202C_200D_206A_202D_206C_200E_202E_200D_200D_200F_200F_200B_200C_200D_200E_200C_206B_202D_200D_206B_200F_206F_206A_206D_206A_202A_200B_200E_200C_202B_206B_206A_206B_202E(step) == EInteractionType.AttuneAethernetShard) ? (-1186743855) : (-1186743856));
while (true)
{
return null;
int num2 = num;
int num3 = -1186743855;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0049;
case 0:
_202E_200E_202A_202A_202D_206E_202A_206E_200B_202A_206A_206A_206C_206C_202A_206E_202A_200E_206F_206F_206F_200C_202A_202C_206E_206B_206D_206B_202A_206E_202B_200F_206D_202D_200C_200C_206E_206A_200D_206C_202E((object)_206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-520107683));
return new Attune(_206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(step).Value);
case 1:
return null;
}
continue;
IL_0049:
num = -1186743856;
}
ArgumentNullException.ThrowIfNull(step.AethernetShard, "step.AethernetShard");
return new Attune(step.AethernetShard.Value);
}
static EInteractionType _200F_206C_200B_206A_206A_206A_206D_202C_200D_206A_202D_206C_200E_202E_200D_200D_200F_200F_200B_200C_200D_200E_200C_206B_202D_200D_206B_200F_206F_206A_206D_206A_202A_200B_200E_200C_202B_206B_206A_206B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EAetheryteLocation? _206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(QuestStep P_0)
{
return P_0.AethernetShard;
}
static void _202E_200E_202A_202A_202D_206E_202A_206E_200B_202A_206A_206A_206C_206C_202A_206E_202A_200E_206F_206F_206F_200C_202A_202C_206E_206B_206D_206B_202A_206E_202B_200F_206D_202D_200C_200C_206E_206A_200D_206C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206D_206A_206D_200E_206E_202B_202A_202B_206E_206D_200F_202C_200F_202C_200E_206E_202E_206E_206D_202B_200D_202B_206D_206E_202D_202D_200C_200C_202E_206B_200F_206A_200F_206D_202C_206B_202C_206C_200C_202E(typeof(Attune).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"AttuneAethernetShard({AetheryteLocation})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2083697024));
defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206A_202E_200E_206F_200C_202E_206E_206F_206B_200B_206F_206B_202C_200E_206A_202A_206E_200C_200F_200B_200B_202B_202D_200F_202B_206A_206B_202D_202E_206E_206A_202C_200F_200C_202A_206C_206D_206A_202A_200E_202E();
_202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1285909237));
_202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(builder, AetheryteLocation.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Attune? other)
{
int num = (((object)this == other) ? 513184139 : 513184143);
while (true)
{
int num2 = num;
int num3 = 513184142;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 513184143;
break;
case 3:
num = ((!_202D_206E_202C_200D_206A_202B_202E_206C_200E_202E_202A_206E_206B_206B_206B_200F_206F_202D_202A_202A_202B_202B_206F_202D_206D_206A_200C_202B_206D_200E_202C_206D_200C_202A_206F_206C_206C_200C_200F_206E_202E(EqualityContract, other.EqualityContract)) ? 513184140 : 513184138);
break;
case 5:
return true;
case 1:
num = (((object)other == null) ? 513184140 : 513184141);
break;
case 4:
return EqualityComparer<EAetheryteLocation>.Default.Equals(AetheryteLocation, other.AetheryteLocation);
case 2:
return false;
}
}
}
bool IEquatable<Attune>.Equals(Attune? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206D_206A_206D_200E_206E_202B_202A_202B_206E_206D_200F_202C_200F_202C_200E_206E_202E_206E_206D_202B_200D_202B_206D_206E_202D_202D_200C_200C_202E_206B_200F_206A_200F_206D_202C_206B_202C_206C_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206A_202E_200E_206F_200C_202E_206E_206F_206B_200B_206F_206B_202C_200E_206A_202A_206E_200C_200F_200B_200B_202B_202D_200F_202B_206A_206B_202D_202E_206E_206A_202C_200F_200C_202A_206C_206D_206A_202A_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _202D_206E_202C_200D_206A_202B_202E_206C_200E_202E_202A_206E_206B_206B_206B_200F_206F_202D_202A_202A_202B_202B_206F_202D_206D_206A_200C_202B_206D_200E_202C_206D_200C_202A_206F_206C_206C_200C_200F_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger) : TaskExecutor<Attune>()
internal sealed class DoAttune : Aetheryte.DoAttuneBase<Attune>
{
protected override bool Start()
[MethodImpl(MethodImplOptions.NoInlining)]
public DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger)
: base(aetheryteFunctions, gameFunctions, (ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-577134927))
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
{
logger.LogInformation("Attuning to aethernet shard {AethernetShard}", base.Task.AetheryteLocation);
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
}
logger.LogInformation("Already attuned to aethernet shard {AethernetShard}", base.Task.AetheryteLocation);
return false;
}
public override ETaskResult Update()
protected override EAetheryteLocation GetLocation()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
{
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
return base.Task.AetheryteLocation;
}
}
}

View file

@ -1,10 +1,13 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
using SmartNav.Model;
namespace Questionable.Controller.Steps.Interactions;
@ -12,56 +15,253 @@ internal static class Aetheryte
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.AttuneAetheryte)
int num = ((_200F_206D_200C_206B_200C_206E_202B_202A_206E_200D_200E_206D_202E_202D_200C_202B_200B_206C_202B_206B_200B_206D_200F_206F_206B_200F_200B_200C_202D_202A_206C_202C_200C_202E_202E_200F_206C_202A_206A_202A_202E(step) == EInteractionType.AttuneAetheryte) ? (-343069115) : (-343069116));
while (true)
{
return null;
int num2 = num;
int num3 = -343069115;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0047;
case 1:
return null;
case 0:
_200B_206D_206E_200D_206F_202E_202D_206C_206A_206B_202B_200E_206C_200D_206A_206B_206D_202C_200D_202C_200B_202B_206A_202B_202A_200C_200D_206D_206F_206A_200D_206F_206A_206D_200D_206E_206F_200F_206B_200D_202E((object)_206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1584480667));
return new Attune(_206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(step).Value);
}
continue;
IL_0047:
num = -343069116;
}
ArgumentNullException.ThrowIfNull(step.Aetheryte, "step.Aetheryte");
return new Attune(step.Aetheryte.Value);
}
static EInteractionType _200F_206D_200C_206B_200C_206E_202B_202A_206E_200D_200E_206D_202E_202D_200C_202B_200B_206C_202B_206B_200B_206D_200F_206F_206B_200F_200B_200C_202D_202A_206C_202C_200C_202E_202E_200F_206C_202A_206A_202A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EAetheryteLocation? _206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(QuestStep P_0)
{
return P_0.Aetheryte;
}
static void _200B_206D_206E_200D_206F_202E_202D_206C_206A_206B_202B_200E_206C_200D_206A_206B_206D_202C_200D_202C_200B_202B_206A_202B_202A_200C_200D_206D_206F_206A_200D_206F_206A_206D_200D_206E_206F_200F_206B_200D_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_206F_202A_200F_206F_202C_202B_206C_202A_200F_206E_200E_206F_206B_206A_200C_206D_200E_200F_206D_202E_206A_200C_206E_202B_200B_206E_206C_200D_206D_206D_206D_206E_200C_200D_202A_200D_206F_200B_202E_202E(typeof(Attune).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"AttuneAetheryte({AetheryteLocation})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1240918148));
defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202E_206B_202C_200E_202A_200E_200D_200B_200B_206F_206E_206B_200B_200E_202C_200F_206A_200D_206A_200D_202E_200C_206D_206C_200D_206D_206A_206B_200E_206B_202A_202E_202E_206C_200C_206D_202E_206C_206C_202C_202E();
_202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1285909237));
_202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(builder, AetheryteLocation.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Attune? other)
{
int num = (((object)this == other) ? (-82451630) : (-82451626));
while (true)
{
int num2 = num;
int num3 = -82451625;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -82451626;
break;
case 1:
num = (((object)other == null) ? (-82451628) : (-82451625));
break;
case 3:
return false;
case 4:
return EqualityComparer<EAetheryteLocation>.Default.Equals(AetheryteLocation, other.AetheryteLocation);
case 5:
return true;
case 0:
num = ((!_200C_206A_202D_206A_200D_206E_202A_200F_206A_202A_202D_206E_202E_202C_200E_200D_202D_206F_206F_200F_206C_200E_206C_206B_206E_202D_202B_206E_206D_206D_200C_206D_202E_202C_206C_202B_202D_200C_206D_202A_202E(EqualityContract, other.EqualityContract)) ? (-82451628) : (-82451629));
break;
}
}
}
bool IEquatable<Attune>.Equals(Attune? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_206F_202A_200F_206F_202C_202B_206C_202A_200F_206E_200E_206F_206B_206A_200C_206D_200E_200F_206D_202E_206A_200C_206E_202B_200B_206E_206C_200D_206D_206D_206D_206E_200C_200D_202A_200D_206F_200B_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _202E_206B_202C_200E_202A_200E_200D_200B_200B_206F_206E_206B_200B_200E_202C_200F_206A_200D_206A_200D_202E_200C_206D_206C_200D_206D_206A_206B_200E_206B_202A_202E_202E_206C_200C_206D_202E_206C_206C_202C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200C_206A_202D_206A_200D_206E_202A_200F_206A_202A_202D_206E_202E_202C_200E_200D_202D_206F_206F_200F_206C_200E_206C_206B_206E_202D_202B_206E_206D_206D_200C_206D_202E_202C_206C_202B_202D_200C_206D_202A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger) : TaskExecutor<Attune>()
internal abstract class DoAttuneBase<T>(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger logger, string label) : TaskExecutor<T>() where T : class, ITask
{
protected abstract EAetheryteLocation GetLocation();
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
EAetheryteLocation location = GetLocation();
int num = (_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(location) ? 1186609547 : 1186609544);
while (true)
{
logger.LogInformation("Attuning to aetheryte {Aetheryte}", base.Task.AetheryteLocation);
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
int num2 = num;
int num3 = 1186609545;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
_202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(_003Clogger_003EP, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1529861734), new object[2] { _003Clabel_003EP, location });
return false;
case 1:
_206A_200C_200D_202B_200B_202E_206A_206A_200D_200E_200B_200D_200D_200E_206F_202D_206E_200B_206E_202D_206F_206E_202A_200F_202A_206D_202C_200D_200E_202A_200C_200E_200E_200C_206B_200F_206C_200D_200D_206D_202E(_003Clogger_003EP, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1889927611), new object[2] { _003Clabel_003EP, location });
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _003CgameFunctions_003EP.InteractWith((uint)location, ObjectKind.Aetheryte));
return true;
case 0:
goto IL_00e9;
}
continue;
IL_00e9:
num = 1186609544;
}
logger.LogInformation("Already attuned to aetheryte {Aetheryte}", base.Task.AetheryteLocation);
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
int num = ((!_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(GetLocation())) ? 1810240359 : 1810240355);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 1810240354;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((!base.ProgressContext.WasSuccessful()) ? 1810240357 : 1810240356);
break;
case 5:
num = ((base.ProgressContext == null) ? 1810240357 : 1810240352);
break;
case 7:
return ETaskResult.StillRunning;
case 2:
num = ((!base.ProgressContext.WasInterrupted()) ? 1810240358 : 1810240354);
break;
case 0:
_202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(_003Clogger_003EP, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-854407988), new object[2]
{
_003Clabel_003EP,
GetLocation()
});
return ETaskResult.StillRunning;
case 3:
num = 1810240355;
break;
case 1:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 6:
ResetProgressTimer();
num = 1810240357;
break;
}
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static void _206A_200C_200D_202B_200B_202E_206A_206A_200D_200E_200B_200D_200D_200E_206F_202D_206E_200B_206E_202D_206F_206E_202A_200F_202A_206D_202C_200D_200E_202A_200C_200E_200E_200C_206B_200F_206C_200D_200D_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
internal sealed class DoAttune : DoAttuneBase<Attune>
{
[MethodImpl(MethodImplOptions.NoInlining)]
public DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger)
: base(aetheryteFunctions, gameFunctions, (ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1427720199))
{
}
protected override EAetheryteLocation GetLocation()
{
return base.Task.AetheryteLocation;
}
}
}

View file

@ -1,10 +1,13 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
using SmartNav.Model;
namespace Questionable.Controller.Steps.Interactions;
@ -12,59 +15,233 @@ internal static class AetheryteFreeOrFavored
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.RegisterFreeOrFavoredAetheryte)
int num = ((_206C_200C_200E_202C_200E_202A_206A_202C_206D_202A_206F_206D_206A_200D_200B_200E_206B_202B_202E_202B_202A_202D_206B_206D_200B_200E_202E_206A_206A_202D_200B_206C_206D_200C_202A_200C_200D_206E_200D_200E_202E(step) == EInteractionType.RegisterFreeOrFavoredAetheryte) ? 499713839 : 499713836);
while (true)
{
return null;
int num2 = num;
int num3 = 499713838;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_202D_206F_202E_200B_200B_206F_206D_202C_206A_202B_200F_202E_200C_206A_206A_202B_206A_200D_206F_202A_200E_206D_206F_202D_206D_202A_200F_202B_206B_202B_202A_200C_206F_200F_206F_202C_200D_206E_202E_206A_202E((object)_202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1584480667));
return new Register(_202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(step).Value);
case 2:
return null;
case 0:
goto IL_0077;
}
continue;
IL_0077:
num = 499713836;
}
ArgumentNullException.ThrowIfNull(step.Aetheryte, "step.Aetheryte");
return new Register(step.Aetheryte.Value);
}
static EInteractionType _206C_200C_200E_202C_200E_202A_206A_202C_206D_202A_206F_206D_206A_200D_200B_200E_206B_202B_202E_202B_202A_202D_206B_206D_200B_200E_202E_206A_206A_202D_200B_206C_206D_200C_202A_200C_200D_206E_200D_200E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EAetheryteLocation? _202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(QuestStep P_0)
{
return P_0.Aetheryte;
}
static void _202D_206F_202E_200B_200B_206F_206D_202C_206A_202B_200F_202E_200C_206A_206A_202B_206A_200D_206F_202A_200E_206D_206F_202D_206D_202A_200F_202B_206B_202B_202A_200C_206F_200F_206F_202C_200D_206E_202E_206A_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Register(EAetheryteLocation AetheryteLocation) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_202A_202B_200E_202B_206A_206D_206D_206E_202B_200E_200C_206B_200D_206B_200F_200C_200B_202D_200F_206D_206E_202D_206A_202C_200B_200B_200F_202C_206E_200B_200C_206A_202D_206D_206F_200B_202B_206E_200F_202E(typeof(Register).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"RegisterFreeOrFavoredAetheryte({AetheryteLocation})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(837587043));
defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1618480346));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202B_206C_200B_200F_206A_202B_206B_206E_202D_202C_202B_206F_206F_202D_206A_206C_202E_200C_202B_200F_202A_200B_200E_200E_200F_200E_206B_200E_206F_200B_200E_200C_200F_206C_200D_206D_200C_200D_202B_202A_202E();
_206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(719371282));
_206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(builder, AetheryteLocation.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Register? other)
{
int num = (((object)this == other) ? 602559884 : 602559880);
while (true)
{
int num2 = num;
int num3 = 602559881;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
return true;
case 2:
return false;
case 4:
num = 602559880;
break;
case 0:
return EqualityComparer<EAetheryteLocation>.Default.Equals(AetheryteLocation, other.AetheryteLocation);
case 1:
num = (((object)other == null) ? 602559883 : 602559882);
break;
case 3:
num = ((!_202E_206F_200D_200E_206F_200C_202D_202E_206D_200B_202B_200B_200D_200D_202B_202B_202C_200D_206A_202B_200C_206E_202C_200C_202C_200B_202A_206D_200C_202D_206E_206A_206C_202C_206E_200F_200B_200C_200E_206F_202E(EqualityContract, other.EqualityContract)) ? 602559883 : 602559881);
break;
}
}
}
bool IEquatable<Register>.Equals(Register? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_202A_202B_200E_202B_206A_206D_206D_206E_202B_200E_200C_206B_200D_206B_200F_200C_200B_202D_200F_206D_206E_202D_206A_202C_200B_200B_200F_202C_206E_200B_200C_206A_202D_206D_206F_200B_202B_206E_200F_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _202B_206C_200B_200F_206A_202B_206B_206E_202D_202C_202B_206F_206F_202D_206A_206C_202E_200C_202B_200F_202A_200B_200E_200E_200F_200E_206B_200E_206F_200B_200E_200C_200F_206C_200D_206D_200C_200D_202B_202A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _202E_206F_200D_200E_206F_200C_202D_202E_206D_200B_202B_200B_200D_200D_202B_202B_202C_200D_206A_202B_200C_206E_202C_200C_202C_200B_202A_206D_200C_202D_206E_206A_206C_202C_206E_200F_200B_200C_200E_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoRegister(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoRegister> logger) : TaskExecutor<Register>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
int num = (aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation) ? 1191746400 : 1191746407);
while (true)
{
throw new TaskException($"Aetheryte {base.Task.AetheryteLocation} is not attuned");
int num2 = num;
int num3 = 1191746404;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(560864212), new object[1] { base.Task.AetheryteLocation });
return false;
case 3:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1957444372));
defaultInterpolatedStringHandler.AppendFormatted(base.Task.AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1174023517));
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 4:
num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible) ? 1191746404 : 1191746405);
break;
case 2:
num = 1191746407;
break;
case 0:
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
}
}
if (aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) == AetheryteRegistrationResult.NotPossible)
{
logger.LogInformation("Could not register aetheryte {AetheryteLocation} as free or favored", base.Task.AetheryteLocation);
return false;
}
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible)
int num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible) ? 473627761 : 473627764);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 473627760;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 473627764;
break;
case 7:
num = ((!base.ProgressContext.WasSuccessful()) ? 473627762 : 473627766);
break;
case 2:
return ETaskResult.StillRunning;
case 5:
_200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-180503859), new object[1] { base.Task.AetheryteLocation });
return ETaskResult.StillRunning;
case 4:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 6:
ResetProgressTimer();
num = 473627762;
break;
case 3:
num = ((!base.ProgressContext.WasInterrupted()) ? 473627767 : 473627765);
break;
case 1:
num = ((base.ProgressContext == null) ? 473627762 : 473627763);
break;
}
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static void _200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
}

View file

@ -0,0 +1,369 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using Questionable.Controller.CustomDelivery;
using Questionable.Controller.Steps.Common;
using Questionable.Model;
using Questionable.Model.Questing;
using Questionable.Navigation;
namespace Questionable.Controller.Steps.Interactions;
internal static class AutoVendorPurchase
{
internal sealed class Factory(VendorResolverService vendorResolver, SmartNavRouteEnqueuer routeEnqueuer, ILogger<Factory> logger) : ITaskFactory
{
[CompilerGenerated]
private sealed class _003CCreateAllTasks_003Ed__4 : IEnumerable<ITask>, IEnumerable, IEnumerator<ITask>, IEnumerator, IDisposable
{
private int _003C_003E1__state;
private ITask _003C_003E2__current;
private int _003C_003El__initialThreadId;
private QuestStep step;
public QuestStep _003C_003E3__step;
public Factory _003C_003E4__this;
private VendorResolverService.VendorInfo? _003Cvendor_003E5__2;
private int _003Cquantity_003E5__3;
private IEnumerator<ITask> _003C_003E7__wrap3;
ITask IEnumerator<ITask>.Current
{
[DebuggerHidden]
get
{
return _003C_003E2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return _003C_003E2__current;
}
}
[DebuggerHidden]
public _003CCreateAllTasks_003Ed__4(int _003C_003E1__state)
{
this._003C_003E1__state = _003C_003E1__state;
_003C_003El__initialThreadId = _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E();
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = _003C_003E1__state;
int num2 = ((num == -3) ? 1416042762 : 1416042763);
while (true)
{
int num3 = num2;
int num4 = 1416042762;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
default:
continue;
case 2:
num2 = 1416042763;
continue;
case 1:
if (num == 1)
{
num2 = 1416042762;
continue;
}
break;
case 0:
try
{
}
finally
{
_003C_003Em__Finally1();
}
break;
}
break;
}
_003C_003E7__wrap3 = null;
_003C_003E1__state = -2;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool MoveNext()
{
try
{
int num = _003C_003E1__state;
Factory factory = _003C_003E4__this;
int num2;
switch (num)
{
default:
num2 = 94833750;
goto IL_0030;
case 2:
_003C_003E1__state = -1;
_003C_003E2__current = new VendorPurchaseTask(_003Cvendor_003E5__2.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList<VendorPurchaseTask.PurchaseItem>(new VendorPurchaseTask.PurchaseItem(_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).Value, _003Cquantity_003E5__3)), _003Cvendor_003E5__2.Value.DialogOptionIndex);
_003C_003E1__state = 3;
return true;
case 0:
goto IL_025b;
case 1:
goto IL_02d8;
case 3:
break;
IL_0030:
while (true)
{
int num3 = num2;
int num4 = 94833758;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 7:
_003C_003Em__Finally1();
_003C_003E7__wrap3 = null;
_003C_003E2__current = new Mount.UnmountTask();
_003C_003E1__state = 2;
return true;
case 0:
goto IL_00c0;
case 12:
_206A_202E_202C_206A_206F_206B_206F_206E_200B_200B_200B_200B_200E_206B_202A_202A_206E_206C_200B_206B_200F_206E_206D_202B_200E_200E_202B_202C_202B_206A_206A_206C_200B_206E_206E_200D_206D_200E_206B_206A_202E((ILogger)factory.logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(237865038), new object[1] { _206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step) });
return false;
case 8:
return false;
case 11:
{
ITask current = _003C_003E7__wrap3.Current;
_003C_003E2__current = current;
_003C_003E1__state = 1;
return true;
}
case 14:
_003Cquantity_003E5__3 = _206E_206C_206F_202E_200B_202B_200B_202C_200E_206A_202B_200D_202D_202D_206C_206E_206A_206E_202D_206A_202D_200D_200F_200C_202A_206F_206A_200F_202E_200C_202A_206E_202D_206F_200C_200C_206D_206D_200C_202A_202E(step) ?? 1;
_003C_003E7__wrap3 = factory.routeEnqueuer.BuildRoutedTasks(_003Cvendor_003E5__2.Value.TerritoryId, _003Cvendor_003E5__2.Value.Position).GetEnumerator();
_003C_003E1__state = -3;
num2 = 94833758;
break;
case 2:
num2 = 94833750;
break;
case 6:
goto end_IL_0030;
case 10:
goto IL_025b;
case 1:
goto IL_028c;
case 5:
goto IL_02d8;
case 9:
goto IL_02ec;
case 3:
return false;
case 4:
goto IL_032f;
case 13:
goto end_IL_000f;
}
continue;
IL_032f:
num2 = (_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).HasValue ? 94833759 : 94833757);
continue;
IL_028c:
_003Cvendor_003E5__2 = factory.vendorResolver.ResolveVendor(_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).Value);
num2 = (_003Cvendor_003E5__2.HasValue ? 94833744 : 94833746);
continue;
IL_00c0:
num2 = (_202A_206B_200F_200F_200E_200D_206F_202A_206C_200C_206D_200E_206A_200E_202E_206D_206F_202B_202E_206C_202E_202D_202C_206E_202B_202D_206C_200B_200F_206F_206A_202B_206E_206C_206C_202E_206E_206B_206B_202A_202E((IEnumerator)_003C_003E7__wrap3) ? 94833749 : 94833753);
continue;
IL_02ec:
num2 = (_200C_200F_200C_202A_202D_202D_202A_200C_200D_206C_206C_200C_206E_202E_206A_206A_200D_202C_200E_202C_206B_200F_206A_202A_202A_200C_206E_200D_202D_200C_200E_202B_206F_202C_202C_200C_206E_206A_200E_206D_202E(step).HasValue ? 94833757 : 94833754);
continue;
end_IL_0030:
break;
}
goto case 2;
IL_02d8:
_003C_003E1__state = -3;
num2 = 94833758;
goto IL_0030;
IL_025b:
_003C_003E1__state = -1;
num2 = ((_200B_206A_200B_206E_200B_206D_202C_202D_206F_202E_200D_202E_202A_206F_202C_206B_202B_206D_200D_202E_206A_206D_200C_202A_206F_206B_200C_202D_202B_202A_200E_206B_206C_200D_200E_200D_202D_202B_206D_200C_202E(step) != EInteractionType.PurchaseItem) ? 94833757 : 94833751);
goto IL_0030;
end_IL_000f:
break;
}
_003C_003E1__state = -1;
return false;
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void _003C_003Em__Finally1()
{
_003C_003E1__state = -1;
int num = ((_003C_003E7__wrap3 == null) ? 2030073587 : 2030073584);
while (true)
{
int num2 = num;
int num3 = 2030073586;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return;
case 2:
_206D_202D_206A_200D_202C_206D_206A_206E_200E_206D_202E_206B_206D_206D_206D_200C_202C_200F_206F_200E_202B_202C_202B_202E_206E_200F_202C_202C_202E_200D_200F_202C_200F_202D_206F_200E_206D_202E_202E_202A_202E((IDisposable)_003C_003E7__wrap3);
num = 2030073587;
break;
case 0:
num = 2030073584;
break;
}
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw _202E_200F_206F_202B_202B_202D_200C_206A_200B_206F_200D_202B_202C_202E_206F_202A_206E_200D_202A_200D_202D_206E_206F_206E_200E_206F_206E_200C_202A_206D_202E_200D_202C_202A_202D_206F_202E_206A_200E_206B_202E();
}
[DebuggerHidden]
IEnumerator<ITask> IEnumerable<ITask>.GetEnumerator()
{
int num = ((_003C_003E1__state != -2) ? (-566231640) : (-566231639));
_003CCreateAllTasks_003Ed__4 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__4);
while (true)
{
int num2 = num;
int num3 = -566231638;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_003C_003E1__state = 0;
_003CCreateAllTasks_003Ed__ = this;
num = -566231638;
break;
case 3:
num = ((_003C_003El__initialThreadId != _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E()) ? (-566231640) : (-566231637));
break;
case 2:
_003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__4(0)
{
_003C_003E4__this = _003C_003E4__this
};
num = -566231638;
break;
case 4:
num = -566231639;
break;
case 0:
_003CCreateAllTasks_003Ed__.step = _003C_003E3__step;
return _003CCreateAllTasks_003Ed__;
}
}
}
[DebuggerHidden]
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable<ITask>)this).GetEnumerator();
}
static int _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E()
{
return Environment.CurrentManagedThreadId;
}
static EInteractionType _200B_206A_200B_206E_200B_206D_202C_202D_206F_202E_200D_202E_202A_206F_202C_206B_202B_206D_200D_202E_206A_206D_200C_202A_206F_206B_200C_202D_202B_202A_200E_206B_206C_200D_200E_200D_202D_202B_206D_200C_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _200C_200F_200C_202A_202D_202D_202A_200C_200D_206C_206C_200C_206E_202E_206A_206A_200D_202C_200E_202C_206B_200F_206A_202A_202A_200C_206E_200D_202D_200C_200E_202B_206F_202C_202C_200C_206E_206A_200E_206D_202E(QuestStep P_0)
{
return P_0.DataId;
}
static uint? _206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _206A_202E_202C_206A_206F_206B_206F_206E_200B_200B_200B_200B_200E_206B_202A_202A_206E_206C_200B_206B_200F_206E_206D_202B_200E_200E_202B_202C_202B_206A_206A_206C_200B_206E_206E_200D_206D_200E_206B_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static int? _206E_206C_206F_202E_200B_202B_200B_202C_200E_206A_202B_200D_202D_202D_206C_206E_206A_206E_202D_206A_202D_200D_200F_200C_202A_206F_206A_200F_202E_200C_202A_206E_202D_206F_200C_200C_206D_206D_200C_202A_202E(QuestStep P_0)
{
return P_0.ItemCount;
}
static bool _202A_206B_200F_200F_200E_200D_206F_202A_206C_200C_206D_200E_206A_200E_202E_206D_206F_202B_202E_206C_202E_202D_202C_206E_202B_202D_206C_200B_200F_206F_206A_202B_206E_206C_206C_202E_206E_206B_206B_202A_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _206D_202D_206A_200D_202C_206D_206A_206E_200E_206D_202E_206B_206D_206D_206D_200C_202C_200F_206F_200E_202B_202C_202B_202E_206E_200F_202C_202C_202E_200D_200F_202C_200F_202D_206F_200E_206D_202E_202E_202A_202E(IDisposable P_0)
{
P_0.Dispose();
}
static NotSupportedException _202E_200F_206F_202B_202B_202D_200C_206A_200B_206F_200D_202B_202C_202E_206F_202A_206E_200D_202A_200D_202D_206E_206F_206E_200E_206F_206E_200C_202A_206D_202E_200D_202C_202A_202D_206F_202E_206A_200E_206B_202E()
{
return new NotSupportedException();
}
}
[IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__4))]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new _003CCreateAllTasks_003Ed__4(-2)
{
_003C_003E4__this = this,
_003C_003E3__step = step
};
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
}
}

View file

@ -0,0 +1,323 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using LLib.GameData;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps.Common;
using Questionable.Model;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Interactions;
internal static class CriticalEncounter
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
int num = ((_202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(step) == EInteractionType.CriticalEncounter) ? 388534169 : 388534175);
bool flag = default(bool);
ushort? num5 = default(ushort?);
while (true)
{
int num2 = num;
int num3 = 388534174;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new WaitForCriticalEncounter(_202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step).Value, _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(step)));
case 2:
num = ((!flag) ? 388534173 : 388534170);
break;
case 4:
throw _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(173883296));
case 1:
return Array.Empty<ITask>();
case 8:
num = 388534175;
break;
case 0:
num = ((num5.GetValueOrDefault() != 0) ? 388534171 : 388534168);
break;
case 5:
flag = false;
num = 388534172;
break;
case 6:
flag = true;
num = 388534172;
break;
case 7:
num5 = _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step);
num = ((!num5.HasValue) ? 388534168 : 388534174);
break;
}
}
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static ushort? _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(QuestStep P_0)
{
return P_0.CriticalEncounterId;
}
static InvalidOperationException _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
static string _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(QuestStep P_0)
{
return P_0.Comment;
}
}
internal sealed record WaitForCriticalEncounter(ushort CriticalEncounterId, string? Comment) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(typeof(WaitForCriticalEncounter).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1697755405));
defaultInterpolatedStringHandler.AppendFormatted(CriticalEncounterId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E();
_206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1797121182));
_206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, CriticalEncounterId.ToString());
_206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(161698568));
_206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(builder, (object?)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(WaitForCriticalEncounter? other)
{
int num = (((object)this == other) ? 1889807727 : 1889807725);
while (true)
{
int num2 = num;
int num3 = 1889807724;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 1889807725;
break;
case 6:
num = ((!EqualityComparer<ushort>.Default.Equals(CriticalEncounterId, other.CriticalEncounterId)) ? 1889807720 : 1889807721);
break;
case 3:
return true;
case 1:
num = (((object)other == null) ? 1889807720 : 1889807724);
break;
case 5:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 4:
return false;
case 0:
num = ((!_200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(EqualityContract, other.EqualityContract)) ? 1889807720 : 1889807722);
break;
}
}
}
bool IEquatable<WaitForCriticalEncounter>.Equals(WaitForCriticalEncounter? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type? _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder? _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
static bool _200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(Type? P_0, Type? P_1)
{
return P_0 == P_1;
}
}
internal sealed class WaitForCriticalEncounterExecutor(PublicEventHelper publicEventHelper, MovementController movementController, SendNotification.Executor sendNotificationExecutor, ILogger<WaitForCriticalEncounterExecutor> logger) : TaskExecutor<WaitForCriticalEncounter>()
{
private long _nextPollAt;
private bool _loggedWaiting;
private bool _notified;
private bool _navigating;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(787186705), new object[1] { base.Task.CriticalEncounterId });
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
int num = ((_202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() >= _nextPollAt) ? 547757229 : 547757246);
PublicEvent valueOrDefault = default(PublicEvent);
PublicEvent? publicEvent = default(PublicEvent?);
while (true)
{
int num2 = num;
int num3 = 547757230;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 8:
num = (_loggedWaiting ? 547757221 : 547757227);
break;
case 4:
_nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000;
return ETaskResult.StillRunning;
case 1:
_nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 2000;
return ETaskResult.StillRunning;
case 12:
valueOrDefault = publicEvent.GetValueOrDefault();
num = 547757223;
break;
case 2:
return ETaskResult.TaskComplete;
case 16:
return ETaskResult.StillRunning;
case 0:
num = 547757246;
break;
case 15:
num = ((publicEvent.GetValueOrDefault().Id != base.Task.CriticalEncounterId) ? 547757225 : 547757228);
break;
case 11:
_notified = false;
_navigating = false;
_nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000;
return ETaskResult.StillRunning;
case 10:
num = (_navigating ? 547757226 : 547757216);
break;
case 14:
_202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1192929131), new object[2]
{
base.Task.CriticalEncounterId,
valueOrDefault.Position
});
movementController.NavigateTo(EMovementType.Quest, null, valueOrDefault.Position, fly: false, sprint: true, 5f);
_navigating = true;
num = 547757226;
break;
case 7:
num = ((!valueOrDefault.IsActive) ? 547757220 : 547757231);
break;
case 6:
publicEvent = _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(publicEventHelper);
num = ((!publicEvent.HasValue) ? 547757225 : 547757217);
break;
case 9:
num = (_notified ? 547757224 : 547757219);
break;
case 3:
publicEvent = _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(publicEventHelper, EPublicEventType.DynamicEvent, (uint)base.Task.CriticalEncounterId);
num = ((!publicEvent.HasValue) ? 547757222 : 547757218);
break;
case 13:
_202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1925066438), new object[2]
{
base.Task.CriticalEncounterId,
valueOrDefault.Name
});
sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.CriticalEncounter, base.Task.Comment ?? valueOrDefault.Name));
_notified = true;
num = 547757224;
break;
case 5:
_200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-103389765), new object[1] { base.Task.CriticalEncounterId });
_loggedWaiting = true;
num = 547757221;
break;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E()
{
return Environment.TickCount64;
}
static PublicEvent? _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(PublicEventHelper P_0, EPublicEventType P_1, uint P_2)
{
return P_0.GetEventById(P_1, P_2);
}
static void _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static PublicEvent? _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(PublicEventHelper P_0)
{
return P_0.GetCurrentDynamicEvent();
}
}
}

View file

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Plugin.Services;
@ -21,19 +22,39 @@ internal static class Dive
{
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.Dive)
int num = ((_206D_206E_202A_206D_200D_206F_206D_200C_206E_200E_206C_200C_200E_206F_206C_200B_202C_206C_202C_206B_200C_200B_200C_202C_206E_202D_200F_202B_202D_200F_202D_200D_206F_202A_206A_202B_202A_202B_206F_206C_202E(step) == EInteractionType.Dive) ? 912485956 : 912485959);
while (true)
{
return null;
int num2 = num;
int num3 = 912485958;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return new Task();
case 1:
return null;
case 0:
goto IL_0050;
}
continue;
IL_0050:
num = 912485959;
}
return new Task();
}
static EInteractionType _206D_206E_202A_206D_200D_206F_206D_200C_206E_200E_206C_200C_200E_206F_206C_200B_202C_206C_202C_206B_200C_200B_200C_202C_206E_202D_200F_202B_202D_200F_202D_200D_206F_202A_206A_202B_202A_202B_206F_206C_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
}
internal sealed class Task : ITask
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Dive";
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>(377000525);
}
}
@ -45,141 +66,380 @@ internal static class Dive
private int _attempts;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool StartInternal()
{
if (condition[ConditionFlag.Diving])
int num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Diving)) ? (-182833903) : (-182833899));
while (true)
{
return false;
int num2 = num;
int num3 = -182833900;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Swimming)) ? (-182833904) : (-182833900));
break;
case 5:
num = (_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Mounted) ? (-182833900) : (-182833898));
break;
case 0:
Descend();
return true;
case 3:
num = -182833899;
break;
case 4:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-335869589));
case 1:
return false;
}
}
if (condition[ConditionFlag.Mounted] || condition[ConditionFlag.Swimming])
{
Descend();
return true;
}
throw new TaskException("You aren't swimming, so we can't dive.");
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (_keysToPress.TryDequeue(out (uint, nint) result))
(uint, nint) result;
int num = ((!_keysToPress.TryDequeue(out result)) ? 297362200 : 297362206);
while (true)
{
if (result.Item1 == 0)
int num2 = num;
int num3 = 297362202;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
return ETaskResult.StillRunning;
case 4:
num = ((result.Item1 != 0) ? 297362201 : 297362204);
break;
case 3:
_200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(547752152), new object[2]
{
(result.Item1 == 256) ? global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-211975877) : global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(378157279),
result.Item2
});
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, result.Item1, result.Item2);
num = ((result.Item1 != 256) ? 297362202 : 297362203);
break;
case 8:
num = 297362206;
break;
case 5:
_pressedKeys.Remove(result.Item2);
num = 297362205;
break;
case 2:
return base.Update();
case 1:
_pressedKeys.Add(result.Item2);
num = 297362205;
break;
case 0:
num = ((result.Item1 != 257) ? 297362205 : 297362207);
break;
case 7:
return ETaskResult.StillRunning;
}
logger.LogDebug("{Action} key {KeyCode:X2}", (result.Item1 == 256) ? "Pressing" : "Releasing", result.Item2);
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, result.Item1, result.Item2);
if (result.Item1 == 256)
{
_pressedKeys.Add(result.Item2);
}
else if (result.Item1 == 257)
{
_pressedKeys.Remove(result.Item2);
}
return ETaskResult.StillRunning;
}
return base.Update();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void StopNow()
{
foreach (nint pressedKey in _pressedKeys)
using (HashSet<nint>.Enumerator enumerator = _pressedKeys.GetEnumerator())
{
logger.LogDebug("Releasing stuck key {KeyCode:X2} on stop", pressedKey);
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, 257u, pressedKey);
int num = 169668245;
while (true)
{
int num2 = num;
int num3 = 169668244;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 169668245;
break;
case 1:
num = (enumerator.MoveNext() ? 169668246 : 169668247);
break;
case 2:
{
nint current = enumerator.Current;
_200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(331258283), new object[1] { current });
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, 257u, current);
num = 169668245;
break;
}
case 3:
goto end_IL_0017;
}
continue;
end_IL_0017:
break;
}
}
_pressedKeys.Clear();
_keysToPress.Clear();
}
void IStoppableTaskExecutor.StopNow()
{
//ILSpy generated this explicit interface implementation from .override directive in StopNow
this.StopNow();
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override ETaskResult UpdateInternal()
{
if (condition[ConditionFlag.Diving])
int num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Diving)) ? 1669924537 : 1669924536);
while (true)
{
return ETaskResult.TaskComplete;
int num2 = num;
int num3 = 1669924537;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = ((_attempts < 5) ? 1669924538 : 1669924541);
break;
case 1:
return ETaskResult.TaskComplete;
case 3:
{
Descend();
int attempts = _attempts;
num3 = 1;
num4 = attempts;
_attempts = (num4 | num3) + (num4 & num3);
return ETaskResult.StillRunning;
}
case 4:
throw new TaskException(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1475958254));
case 2:
num = 1669924536;
break;
}
}
if (_attempts >= 5)
{
throw new TaskException("Please dive manually.");
}
Descend();
_attempts++;
return ETaskResult.StillRunning;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void Descend()
{
Keybind* keybind = UIInputData.Instance()->GetKeybind(InputId.MOVE_DESCENT);
if (keybind == null)
{
throw new TaskException("Could not find descent keybind");
throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(472640545));
}
Span<KeySetting> keySettings = keybind->KeySettings;
SeVirtualKey key = keySettings[0].Key;
KeyModifierFlag keyModifier = keySettings[0].KeyModifier;
SeVirtualKey key2 = keySettings[1].Key;
KeyModifierFlag keyModifier2 = keySettings[1].KeyModifier;
logger.LogInformation("Dive keybind: {Key1} + {Modifier1}, {Key2} + {Modifier2}", key, keyModifier, key2, keyModifier2);
_200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1313145476), new object[4] { key, keyModifier, key2, keyModifier2 });
int num = 2;
List<List<nint>> list = new List<List<nint>>(num);
CollectionsMarshal.SetCount(list, num);
Span<List<nint>> span = CollectionsMarshal.AsSpan(list);
span[0] = GetKeysToPress(key, keyModifier);
span[1] = GetKeysToPress(key2, keyModifier2);
List<nint> list2 = (from x in list
where x != null
select (x)).MinBy((List<nint> x) => x.Count);
if (list2 == null || list2.Count == 0)
List<nint> list2 = list.OfType<List<nint>>().MinBy((List<nint> x) => x.Count);
int num2 = ((list2 == null) ? 326698319 : 326698316);
int num12 = default(int);
while (true)
{
throw new TaskException("No useable keybind found for diving");
}
foreach (nint item in list2)
{
_keysToPress.Enqueue((256u, item));
for (int num2 = 0; num2 < 15; num2++)
int num3 = num2;
int num4 = 326698319;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
_keysToPress.Enqueue((0u, 0));
case 2:
num2 = 326698316;
break;
case 3:
num2 = ((list2.Count != 0) ? 326698318 : 326698319);
break;
case 0:
throw new TaskException(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-81108494));
case 1:
{
using (List<nint>.Enumerator enumerator = list2.GetEnumerator())
{
num2 = 1722000690;
while (true)
{
int num8 = num2;
num4 = 1722000690;
num5 = num8;
int num9 = num5 + num4;
int num10 = num5 & num4;
switch (num9 - (num10 + num10))
{
case 2:
num2 = 1722000690;
break;
case 3:
{
nint current = enumerator.Current;
_keysToPress.Enqueue((256u, current));
num12 = 0;
num2 = 1722000695;
break;
}
case 4:
{
_keysToPress.Enqueue((0u, 0));
int num11 = num12;
num4 = 1;
num5 = num11;
int num13 = num5 ^ num4;
int num14 = num5 & num4;
num12 = num13 + (num14 + num14);
num2 = 1722000695;
break;
}
case 5:
num2 = ((num12 < 15) ? 1722000694 : 1722000690);
break;
case 0:
num2 = (enumerator.MoveNext() ? 1722000689 : 1722000691);
break;
case 1:
goto end_IL_01b5;
}
continue;
end_IL_01b5:
break;
}
}
int num15 = 0;
num2 = 624642844;
while (true)
{
int num16 = num2;
num4 = 624642847;
num5 = num16;
switch ((num5 | num4) - (num5 & num4))
{
case 0:
num2 = 624642844;
break;
case 3:
num2 = ((num15 < 5) ? 624642846 : 624642845);
break;
case 1:
{
_keysToPress.Enqueue((0u, 0));
int num20 = num15;
num4 = 1;
num5 = num20;
num15 = (num5 | num4) + (num5 & num4);
num2 = 624642844;
break;
}
case 2:
{
list2.Reverse();
using List<nint>.Enumerator enumerator = list2.GetEnumerator();
num2 = 2090140458;
while (true)
{
int num17 = num2;
num4 = 2090140458;
num5 = num17;
int num18 = num5 + num4;
int num19 = num5 & num4;
switch (num18 - (num19 + num19))
{
case 2:
num2 = 2090140458;
break;
case 1:
{
nint current2 = enumerator.Current;
_keysToPress.Enqueue((257u, current2));
num2 = 2090140458;
break;
}
case 0:
num2 = (enumerator.MoveNext() ? 2090140459 : 2090140457);
break;
case 3:
return;
}
}
}
}
}
}
}
}
for (int num3 = 0; num3 < 5; num3++)
{
_keysToPress.Enqueue((0u, 0));
}
list2.Reverse();
foreach (nint item2 in list2)
{
_keysToPress.Enqueue((257u, item2));
}
}
static bool _200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static void _200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
private static List<nint>? GetKeysToPress(SeVirtualKey key, KeyModifierFlag modifier)
{
List<nint> list = new List<nint>();
if ((modifier & KeyModifierFlag.Ctrl) != KeyModifierFlag.None)
int num = (((modifier & KeyModifierFlag.Ctrl) == 0) ? 1227229785 : 1227229790);
nint num7 = default(nint);
while (true)
{
list.Add(17);
int num2 = num;
int num3 = 1227229786;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return null;
case 3:
num = (((modifier & KeyModifierFlag.Shift) == 0) ? 1227229789 : 1227229787);
break;
case 4:
list.Add(17);
num = 1227229785;
break;
case 5:
list.Add(num7);
return list;
case 1:
list.Add(16);
num = 1227229789;
break;
case 7:
num = (((modifier & KeyModifierFlag.Alt) == 0) ? 1227229788 : 1227229786);
break;
case 6:
num7 = (nint)key;
num = ((num7 != 0) ? 1227229791 : 1227229784);
break;
case 8:
num = 1227229790;
break;
case 0:
list.Add(18);
num = 1227229788;
break;
}
}
if ((modifier & KeyModifierFlag.Shift) != KeyModifierFlag.None)
{
list.Add(16);
}
if ((modifier & KeyModifierFlag.Alt) != KeyModifierFlag.None)
{
list.Add(18);
}
nint num = (nint)key;
if (num == 0)
{
return null;
}
list.Add(num);
return list;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,70 @@
namespace Questionable.Controller.Steps.Interactions;
internal sealed class DutyRetryState
{
private int _retryCount;
public bool AwaitingOutcome { get; private set; }
public bool CanRetry(int maxRetries)
{
int num = ((maxRetries < 0) ? 1447023727 : 1447023721);
bool result = default(bool);
while (true)
{
int num2 = num;
int num3 = 1447023724;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1447023721;
break;
case 4:
result = _retryCount < maxRetries;
num = 1447023725;
break;
case 3:
result = true;
num = 1447023725;
break;
case 2:
result = false;
num = 1447023725;
break;
case 5:
num = ((maxRetries != 0) ? 1447023720 : 1447023726);
break;
case 1:
return result;
}
}
}
public void BeginAwaitingOutcome()
{
AwaitingOutcome = true;
}
public void EndAwaitingOutcome()
{
AwaitingOutcome = false;
}
public void RecordRetry()
{
int retryCount = _retryCount;
int num = 1;
int num2 = retryCount;
int num3 = num2 ^ num;
int num4 = num2 & num;
_retryCount = num3 + (num4 + num4);
AwaitingOutcome = false;
}
public void Reset()
{
_retryCount = 0;
AwaitingOutcome = false;
}
}

View file

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Controller.Steps.Common;
using Questionable.Functions;
using Questionable.Model;
@ -11,59 +13,343 @@ internal static class Emote
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
EInteractionType interactionType = step.InteractionType;
if ((interactionType == EInteractionType.SinglePlayerDuty || (uint)(interactionType - 28) <= 1u) ? true : false)
EInteractionType eInteractionType = _206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(step);
int num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? 600335815 : 600335808);
Mount.UnmountTask unmountTask = default(Mount.UnmountTask);
bool flag = default(bool);
while (true)
{
if (!step.Emote.HasValue)
int num2 = num;
int num3 = 600335812;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 8:
return Array.Empty<ITask>();
case 2:
_200E_200C_202D_206D_202C_200C_206B_206C_206D_200E_206C_200E_206E_206B_200C_206F_200B_200D_206E_200B_200B_202E_206B_200E_200D_206F_206A_200F_200E_202E_200B_206D_200E_200E_202C_202B_202D_206B_200D_206C_202E((object)_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-837937279));
unmountTask = new Mount.UnmountTask();
num = ((!_202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(step).HasValue) ? 600335811 : 600335813);
break;
case 0:
num = 600335808;
break;
case 5:
num = ((!flag) ? 600335823 : 600335821);
break;
case 6:
return Array.Empty<ITask>();
case 11:
num = ((_206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(step) == EInteractionType.Emote) ? 600335814 : 600335810);
break;
case 7:
{
UseOnSelf useOnSelf = new UseOnSelf(_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnSelf });
}
case 9:
num = (_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).HasValue ? 600335814 : 600335820);
break;
case 4:
num = (((uint)(eInteractionType - 30) > 1u) ? 600335822 : 600335815);
break;
case 10:
flag = false;
num = 600335809;
break;
case 1:
{
UseOnObject useOnObject = new UseOnObject(_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).Value, _202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(step).Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnObject });
}
case 3:
flag = true;
num = 600335809;
break;
}
}
else if (step.InteractionType != EInteractionType.Emote)
{
return Array.Empty<ITask>();
}
ArgumentNullException.ThrowIfNull(step.Emote, "step.Emote");
Mount.UnmountTask unmountTask = new Mount.UnmountTask();
if (step.DataId.HasValue)
{
UseOnObject useOnObject = new UseOnObject(step.Emote.Value, step.DataId.Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnObject });
}
UseOnSelf useOnSelf = new UseOnSelf(step.Emote.Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnSelf });
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EEmote? _202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(QuestStep P_0)
{
return P_0.Emote;
}
static void _200E_200C_202D_206D_202C_200C_206B_206C_206D_200E_206C_200E_206E_206B_200C_206F_200B_200D_206E_200B_200B_202E_206B_200E_200D_206F_206A_200F_200E_202E_200B_206D_200E_200E_202C_202B_202D_206B_200D_206C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(QuestStep P_0)
{
return P_0.DataId;
}
}
internal sealed record UseOnObject(EEmote Emote, uint DataId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206B_200D_206F_200D_206F_200C_202E_206A_202D_202E_200C_206E_206D_206D_202C_200D_202B_206D_200C_200C_200C_200E_206B_206C_202C_200D_206E_206F_206C_206D_206A_206E_206A_200F_202B_202E_206F_200B_206A_202C_202E(typeof(UseOnObject).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Emote({Emote} on {DataId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2087986807));
defaultInterpolatedStringHandler.AppendFormatted(Emote);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(858401592));
defaultInterpolatedStringHandler.AppendFormatted(DataId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_200C_202B_202E_202C_200D_206C_206E_202C_202B_202C_202A_200C_200B_206B_202B_202A_200E_202E_200E_206B_202B_202A_202D_206C_206B_202E_200E_200C_200F_206E_202A_200D_206A_200B_202D_200C_202C_206D_200C_202E();
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1120730526));
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, Emote.ToString());
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1696435016));
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, DataId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(UseOnObject? other)
{
int num = (((object)this == other) ? 1765406967 : 1765406963);
while (true)
{
int num2 = num;
int num3 = 1765406965;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return EqualityComparer<uint>.Default.Equals(DataId, other.DataId);
case 1:
num = ((!_200C_200B_202E_200E_202D_200C_200F_202B_202B_200B_206B_200B_206C_202D_206A_202A_200E_202B_206D_200D_206A_202D_200D_206D_200B_202A_206A_200E_202B_202E_206A_202D_206C_206B_200D_206D_202D_200D_200E_200E_202E(EqualityContract, other.EqualityContract)) ? 1765406965 : 1765406960);
break;
case 2:
return true;
case 0:
return false;
case 4:
num = 1765406963;
break;
case 5:
num = ((!EqualityComparer<EEmote>.Default.Equals(Emote, other.Emote)) ? 1765406965 : 1765406966);
break;
case 6:
num = (((object)other == null) ? 1765406965 : 1765406964);
break;
}
}
}
bool IEquatable<UseOnObject>.Equals(UseOnObject? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206B_200D_206F_200D_206F_200C_202E_206A_202D_202E_200C_206E_206D_206D_202C_200D_202B_206D_200C_200C_200C_200E_206B_206C_202C_200D_206E_206F_206C_206D_206A_206E_206A_200F_202B_202E_206F_200B_206A_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200B_200C_202B_202E_202C_200D_206C_206E_202C_202B_202C_202A_200C_200B_206B_202B_202A_200E_202E_200E_206B_202B_202A_202D_206C_206B_202E_200E_200C_200F_206E_202A_200D_206A_200B_202D_200C_202C_206D_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200C_200B_202E_200E_202D_200C_200F_202B_202B_200B_206B_200B_206C_202D_206A_202A_200E_202B_206D_200D_206A_202D_200D_206D_200B_202A_206A_200E_202B_202E_206A_202D_206C_206B_200D_206D_202D_200D_200E_200E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseOnObjectExecutor(ChatFunctions chatFunctions) : AbstractDelayedTaskExecutor<UseOnObject>()
{
private bool _emoteFired;
private long _retryAt;
private int _attempts;
protected override bool StartInternal()
{
chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote);
_emoteFired = chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote);
return true;
}
protected override ETaskResult UpdateInternal()
{
int num = (_emoteFired ? 594920649 : 594920652);
while (true)
{
int num2 = num;
int num3 = 594920655;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 594920652;
break;
case 5:
_emoteFired = chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote);
_retryAt = _200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() + 1000;
return ETaskResult.StillRunning;
case 1:
{
int attempts = _attempts;
num3 = 1;
num4 = attempts;
_attempts = (num4 | num3) + (num4 & num3);
num = ((_attempts <= 10) ? 594920650 : 594920653);
break;
}
case 3:
num = ((_200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() >= _retryAt) ? 594920654 : 594920651);
break;
case 2:
return ETaskResult.RetryStep;
case 6:
return ETaskResult.TaskComplete;
case 4:
return ETaskResult.StillRunning;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static long _200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E()
{
return Environment.TickCount64;
}
}
internal sealed record UseOnSelf(EEmote Emote) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_202C_202A_202E_206A_202B_202A_206E_206D_206F_206C_206D_202E_202C_206F_202A_202E_206D_200D_206B_202C_206F_202E_206A_202C_206C_200C_200E_202E_206C_206E_200B_206E_206A_206B_206B_202B_200F_202C_206E_202E(typeof(UseOnSelf).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Emote({Emote})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-683666426));
defaultInterpolatedStringHandler.AppendFormatted(Emote);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206F_202B_200C_202E_202C_206C_206A_200B_200D_200D_202E_200B_200D_202A_200C_206A_200E_206F_200B_206A_206C_202E_202A_206F_206D_200F_206C_206E_206A_200F_202A_202A_206D_206F_202B_200B_206F_206E_206B_202C_202E();
_202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1730990163));
_202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(builder, Emote.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(UseOnSelf? other)
{
int num = (((object)this == other) ? 748944123 : 748944126);
while (true)
{
int num2 = num;
int num3 = 748944127;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
return EqualityComparer<EEmote>.Default.Equals(Emote, other.Emote);
case 2:
num = ((!_202A_200B_206A_202D_206D_202E_206C_206E_200B_202C_202D_206C_206B_200D_202D_200B_202D_206D_200D_200C_206F_206B_202A_200C_202B_206A_200B_206B_206F_206C_200F_200E_200C_206D_206A_200C_202B_202A_206C_206B_202E(EqualityContract, other.EqualityContract)) ? 748944124 : 748944122);
break;
case 4:
return true;
case 0:
num = 748944126;
break;
case 3:
return false;
case 1:
num = (((object)other == null) ? 748944124 : 748944125);
break;
}
}
}
bool IEquatable<UseOnSelf>.Equals(UseOnSelf? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_202C_202A_202E_206A_202B_202A_206E_206D_206F_206C_206D_202E_202C_206F_202A_202E_206D_200D_206B_202C_206F_202E_206A_202C_206C_200C_200E_202E_206C_206E_200B_206E_206A_206B_206B_202B_200F_202C_206E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206F_202B_200C_202E_202C_206C_206A_200B_200D_200D_202E_200B_200D_202A_200C_206A_200E_206F_200B_206A_206C_202E_202A_206F_206D_200F_206C_206E_206A_200F_202A_202A_206D_206F_202B_200B_206F_206E_206B_202C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _202A_200B_206A_202D_206D_202E_206C_206E_200B_202C_202D_206C_206B_200D_202D_200B_202D_206D_200D_200C_206F_206B_202A_200C_202B_206A_200B_206B_206F_206C_200F_200E_200C_206D_206A_200C_202B_202A_206C_206B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -1,11 +1,15 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using LLib;
using LLib.Inventory;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
@ -18,22 +22,135 @@ internal static class EquipItem
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.EquipItem)
int num = ((_206E_202C_202B_206E_202A_200F_200F_200D_206D_200B_202E_206B_200D_200E_200E_206A_202A_200D_202D_202B_206A_202B_206A_206A_206E_206C_202E_206E_200E_206A_206F_206C_200E_202B_206D_202D_202A_202A_206E_206F_202E(step) == EInteractionType.EquipItem) ? (-1960316662) : (-1960316663));
while (true)
{
return null;
int num2 = num;
int num3 = -1960316664;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
_200C_206A_206A_206C_202C_206E_200B_202D_200E_206C_202B_206A_206F_206C_206C_202E_202C_206A_206C_200B_206D_206F_200F_202D_206A_202C_206F_206B_202A_202D_200C_206B_202E_200F_206C_200E_202A_202C_206C_202A_202E((object)_206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(step), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(775023194));
return new Task(_206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(step).Value);
case 1:
return null;
case 0:
goto IL_0078;
}
continue;
IL_0078:
num = -1960316663;
}
ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId");
return new Task(step.ItemId.Value);
}
static EInteractionType _206E_202C_202B_206E_202A_200F_200F_200D_206D_200B_202E_206B_200D_200E_200E_206A_202A_200D_202D_202B_206A_202B_206A_206A_206E_206C_202E_206E_200E_206A_206F_206C_200E_202B_206D_202D_202A_202A_206E_206F_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _200C_206A_206A_206C_202C_206E_200B_202D_200E_206C_202B_206A_206F_206C_206C_202E_202C_206A_206C_200B_206D_206F_200F_202D_206A_202C_206F_206B_202A_202D_200C_206B_202E_200F_206C_200E_202A_202C_206C_202A_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Task(uint ItemId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202A_200B_202C_202C_206F_200C_202E_202A_200E_206E_206A_206F_206F_200E_206D_200B_206D_200B_206C_202C_206F_206E_206E_206A_202B_206D_206D_206C_200E_206F_200E_206D_200E_200B_206A_200C_206F_202B_200C_200C_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Equip({ItemId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1269144091));
defaultInterpolatedStringHandler.AppendFormatted(ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206B_200F_206D_206D_206A_206A_206D_206F_202C_202D_206E_200D_200C_206D_200E_202B_206A_206F_200C_206F_202A_200E_202D_202E_202B_202E_206B_202C_200C_206C_202D_202A_206A_206C_202B_206A_202C_200D_206A_200E_202E();
_206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1149877868));
_206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(builder, ItemId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 916478318 : 916478314);
while (true)
{
int num2 = num;
int num3 = 916478319;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
return EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId);
case 5:
num = (((object)other == null) ? 916478317 : 916478319);
break;
case 3:
num = 916478314;
break;
case 2:
return false;
case 0:
num = ((!_206C_200B_202B_200E_202A_206E_206A_206B_200B_202D_206E_200B_200B_206D_206E_200F_202C_206C_200F_200F_202D_202D_206A_206B_200F_206A_202E_200E_202C_206B_202E_200E_206B_200D_202C_200F_202C_200E_200B_206F_202E(EqualityContract, other.EqualityContract)) ? 916478317 : 916478315);
break;
case 1:
return true;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202A_200B_202C_202C_206F_200C_202E_202A_200E_206E_206A_206F_206F_200E_206D_200B_206D_200B_206C_202C_206F_206E_206E_206A_202B_206D_206D_206C_200E_206F_200E_206D_200E_200B_206A_200C_206F_202B_200C_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206B_200F_206D_206D_206A_206A_206D_206F_202C_202D_206E_200D_200C_206D_200E_202B_206A_206F_200C_206F_202A_200E_202D_202E_202B_202E_206B_202C_200C_206C_202D_202A_206A_206C_202B_206A_202C_200D_206A_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206C_200B_202B_200E_202A_206E_206A_206B_200B_202D_206E_200B_200B_206D_206E_200F_202C_206C_200F_200F_202D_202D_206A_206B_200F_206A_202E_200E_202C_206B_202E_200E_206B_200D_202C_200F_202C_200E_200B_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -41,25 +158,7 @@ internal static class EquipItem
{
private const int MaxAttempts = 3;
private static readonly IReadOnlyList<InventoryType> SourceInventoryTypes = new global::_003C_003Ez__ReadOnlyArray<InventoryType>(new InventoryType[16]
{
InventoryType.ArmoryMainHand,
InventoryType.ArmoryOffHand,
InventoryType.ArmoryHead,
InventoryType.ArmoryBody,
InventoryType.ArmoryHands,
InventoryType.ArmoryLegs,
InventoryType.ArmoryFeets,
InventoryType.ArmoryEar,
InventoryType.ArmoryNeck,
InventoryType.ArmoryWrist,
InventoryType.ArmoryRings,
InventoryType.ArmorySoulCrystal,
InventoryType.Inventory1,
InventoryType.Inventory2,
InventoryType.Inventory3,
InventoryType.Inventory4
});
private static readonly IReadOnlyList<InventoryType> SourceInventoryTypes;
private int _attempts;
@ -67,164 +166,392 @@ internal static class EquipItem
private List<ushort> _targetSlots;
private DateTime _continueAt = DateTime.MaxValue;
private long _continueAt = long.MaxValue;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_item = dataManager.GetExcelSheet<Item>().GetRowOrDefault(base.Task.ItemId) ?? throw new ArgumentOutOfRangeException("ItemId");
_targetSlots = GetEquipSlot(_item) ?? throw new InvalidOperationException("Not a piece of equipment");
_item = ((ItemHandle)base.Task.ItemId).GetRow(dataManager) ?? throw _202D_206F_200D_200B_200E_200F_200C_200F_206A_200C_206E_202E_206F_202B_202B_200D_206B_200F_200B_206E_202A_200C_202B_202B_200F_206A_200F_202C_206F_206F_202C_200D_206F_206D_202B_206D_202A_206E_200F_206D_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1077249422));
_targetSlots = GetEquipSlot(_item) ?? throw _202C_202B_200C_200E_206C_200C_206A_206A_206E_202D_200E_206D_202B_200F_206A_202C_202C_200C_206D_206E_202B_206A_200F_200F_200F_206C_200C_206C_200F_206C_200C_202C_206E_206F_202C_200C_206D_200D_200B_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1196644281));
Equip();
_continueAt = DateTime.Now.AddSeconds(1.0);
_continueAt = _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() + 1000;
return true;
}
public unsafe override ETaskResult Update()
public override ETaskResult Update()
{
if (DateTime.Now < _continueAt)
int num = ((_206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() >= _continueAt) ? (-1725394015) : (-1725394009));
while (true)
{
return ETaskResult.StillRunning;
}
InventoryManager* ptr = InventoryManager.Instance();
if (ptr == null)
{
return ETaskResult.StillRunning;
}
foreach (ushort targetSlot in _targetSlots)
{
InventoryItem* inventorySlot = ptr->GetInventorySlot(InventoryType.EquippedItems, targetSlot);
if (inventorySlot != null && inventorySlot->ItemId == base.Task.ItemId)
int num2 = num;
int num3 = -1725394013;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = ((!_200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(base.Task.ItemId)) ? (-1725394014) : (-1725394016));
break;
case 4:
return ETaskResult.StillRunning;
case 3:
return ETaskResult.TaskComplete;
case 0:
num = -1725394009;
break;
case 1:
Equip();
_continueAt = _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() + 1000;
return ETaskResult.StillRunning;
}
}
Equip();
_continueAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void Equip()
{
_attempts++;
if (_attempts > 3)
int attempts = _attempts;
int num = 1;
int num2 = attempts;
_attempts = (num2 | num) + (num2 & num);
int num3 = ((_attempts <= 3) ? 2032675570 : 2032675573);
InventoryManager* inventoryManager = default(InventoryManager*);
ushort num11 = default(ushort);
InventoryContainer* inventoryContainer = default(InventoryContainer*);
InventoryType current = default(InventoryType);
InventoryItem* inventorySlot = default(InventoryItem*);
while (true)
{
throw new TaskException("Unable to equip gear.");
}
InventoryManager* inventoryManager = InventoryManager.Instance();
if (inventoryManager == null)
{
return;
}
InventoryContainer* inventoryContainer = inventoryManager->GetInventoryContainer(InventoryType.EquippedItems);
if (inventoryContainer == null)
{
return;
}
foreach (ushort targetSlot in _targetSlots)
{
InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(targetSlot);
if (inventorySlot != null && inventorySlot->ItemId == base.Task.ItemId)
int num4 = num3;
num = 2032675575;
num2 = num4;
int num5 = num2 + num;
int num6 = num2 & num;
switch (num5 - (num6 + num6))
{
logger.LogInformation("Already equipped {Item}, skipping step", _item?.Name.ToString());
case 0:
num3 = 2032675573;
break;
case 4:
num3 = ((!_200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(base.Task.ItemId)) ? 2032675572 : 2032675569);
break;
case 6:
_206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(764444822), new object[1] { _item?.Name.ToString() });
return;
}
}
foreach (InventoryType sourceInventoryType in SourceInventoryTypes)
{
InventoryContainer* inventoryContainer2 = inventoryManager->GetInventoryContainer(sourceInventoryType);
if (inventoryContainer2 == null || (inventoryManager->GetItemCountInContainer(base.Task.ItemId, sourceInventoryType, isHq: true, 0) == 0 && inventoryManager->GetItemCountInContainer(base.Task.ItemId, sourceInventoryType, isHq: false, 0) == 0))
case 2:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2089703109));
case 1:
return;
case 5:
inventoryManager = InventoryManager.Instance();
num3 = ((inventoryManager != null) ? 2032675571 : 2032675574);
break;
case 3:
{
continue;
}
for (ushort num = 0; num < inventoryContainer2->Size; num++)
{
InventoryItem* inventorySlot2 = inventoryContainer2->GetInventorySlot(num);
if (inventorySlot2 != null && inventorySlot2->ItemId == base.Task.ItemId)
IEnumerator<InventoryType> enumerator = SourceInventoryTypes.GetEnumerator();
try
{
ushort num2 = _targetSlots.Where(delegate(ushort x)
num3 = -665926440;
while (true)
{
InventoryItem* inventorySlot3 = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x);
return inventorySlot3 == null || inventorySlot3->ItemId == 0;
}).Concat(_targetSlots).First();
logger.LogInformation("Equipping item from {SourceInventory}, {SourceSlot} to {TargetInventory}, {TargetSlot}", sourceInventoryType, num, InventoryType.EquippedItems, num2);
int num3 = inventoryManager->MoveItemSlot(sourceInventoryType, num, InventoryType.EquippedItems, num2, a6: true);
logger.LogInformation("MoveItemSlot result: {Result}", num3);
return;
int num7 = num3;
num = -665926439;
num2 = num7;
int num8 = num2 + num;
int num9 = num2 & num;
switch (num8 - (num9 + num9))
{
case 4:
num11 = 0;
num3 = -665926436;
break;
case 1:
num3 = (_206B_200C_206A_206B_206A_202D_206C_200F_206B_206A_206D_200F_200C_202B_200C_206B_202B_200B_200B_202E_200E_200B_200C_200B_202C_200F_206B_206D_200E_206C_206B_200B_200F_202E_200D_206F_200E_202A_200E_200D_202E((IEnumerator)enumerator) ? (-665926434) : (-665926439));
break;
case 5:
num3 = ((num11 < inventoryContainer->Size) ? (-665926438) : (-665926440));
break;
case 2:
{
ushort num14 = _targetSlots.Where(delegate(ushort x)
{
InventoryItem* inventorySlot2 = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x);
int num19 = ((inventorySlot2 == null) ? 1990589233 : 1990589234);
while (true)
{
int num20 = num19;
int num21 = 1990589232;
int num22 = num20;
int num23 = num22 + num21;
int num24 = num22 & num21;
switch (num23 - (num24 + num24))
{
case 0:
goto IL_0057;
case 1:
return true;
case 2:
return inventorySlot2->ItemId == 0;
}
continue;
IL_0057:
num19 = 1990589234;
}
}).Concat(_targetSlots).First();
_206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2001963263), new object[4]
{
current,
num11,
InventoryType.EquippedItems,
num14
});
int num15 = inventoryManager->MoveItemSlot(current, num11, InventoryType.EquippedItems, num14, a6: true);
_206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1852506223), new object[1] { num15 });
return;
}
case 9:
num3 = -665926440;
break;
case 6:
{
ushort num10 = num11;
num = 1;
num2 = num10;
int num12 = num2 ^ num;
int num13 = num2 & num;
num11 = (ushort)(num12 + (num13 + num13));
num3 = -665926436;
break;
}
case 8:
num3 = ((inventorySlot->ItemId != base.Task.ItemId) ? (-665926433) : (-665926437));
break;
case 3:
inventorySlot = inventoryContainer->GetInventorySlot(num11);
num3 = ((inventorySlot == null) ? (-665926433) : (-665926447));
break;
case 7:
current = enumerator.Current;
inventoryContainer = inventoryManager->GetInventoryContainer(current);
num3 = ((inventoryContainer == null) ? (-665926440) : (-665926435));
break;
case 0:
goto end_IL_0167;
}
continue;
end_IL_0167:
break;
}
}
finally
{
num3 = ((enumerator == null) ? (-1329874453) : (-1329874454));
while (true)
{
int num16 = num3;
num = -1329874453;
num2 = num16;
int num17 = num2 + num;
int num18 = num2 & num;
switch (num17 - (num18 + num18))
{
case 2:
num3 = -1329874454;
break;
case 0:
goto end_IL_03c4;
case 1:
_200F_206D_202E_206B_200E_206D_202C_206A_206C_200B_206D_202A_200F_202B_200C_206E_206C_200B_206D_202B_206F_202B_202B_206D_202B_202A_202A_200E_200C_202A_200E_202E_200C_202C_206A_202C_206C_200D_202C_202E_202E((IDisposable)enumerator);
num3 = -1329874453;
break;
}
continue;
end_IL_03c4:
break;
}
}
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-639221766));
defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-978038014));
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
}
}
throw new TaskException($"Could not equip item {base.Task.ItemId}.");
}
private static List<ushort>? GetEquipSlot(Item? item)
{
if (!item.HasValue)
int num = (item.HasValue ? 1849291533 : 1849291535);
uint rowId = default(uint);
List<ushort> result = default(List<ushort>);
while (true)
{
return new List<ushort>();
}
switch (item.Value.EquipSlotCategory.RowId)
{
case 1u:
case 2u:
case 3u:
case 4u:
case 5u:
case 6u:
case 7u:
case 8u:
case 9u:
case 10u:
case 11u:
{
int num = 1;
List<ushort> list4 = new List<ushort>(num);
CollectionsMarshal.SetCount(list4, num);
CollectionsMarshal.AsSpan(list4)[0] = (ushort)(item.Value.EquipSlotCategory.RowId - 1);
return list4;
}
case 12u:
{
int num = 2;
List<ushort> list3 = new List<ushort>(num);
CollectionsMarshal.SetCount(list3, num);
Span<ushort> span = CollectionsMarshal.AsSpan(list3);
span[0] = 11;
span[1] = 12;
return list3;
}
case 13u:
{
int num = 1;
List<ushort> list2 = new List<ushort>(num);
CollectionsMarshal.SetCount(list2, num);
CollectionsMarshal.AsSpan(list2)[0] = 0;
return list2;
}
case 17u:
{
int num = 1;
List<ushort> list = new List<ushort>(num);
CollectionsMarshal.SetCount(list, num);
CollectionsMarshal.AsSpan(list)[0] = 13;
return list;
}
default:
return null;
int num2 = num;
int num3 = 1849291534;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
num = ((rowId == 12) ? 1849291532 : 1849291523);
break;
case 3:
rowId = item.Value.EquipSlotCategory.RowId;
num = ((rowId < 1) ? 1849291526 : 1849291524);
break;
case 12:
{
int num5 = 1;
List<ushort> list4 = new List<ushort>(num5);
CollectionsMarshal.SetCount(list4, num5);
CollectionsMarshal.AsSpan(list4)[0] = 13;
result = list4;
num = 1849291527;
break;
}
case 1:
return null;
case 11:
{
int num5 = 1;
List<ushort> list2 = new List<ushort>(num5);
CollectionsMarshal.SetCount(list2, num5);
CollectionsMarshal.AsSpan(list2)[0] = 0;
result = list2;
num = 1849291527;
break;
}
case 13:
num = ((rowId == 13) ? 1849291525 : 1849291528);
break;
case 10:
num = ((rowId <= 11) ? 1849291530 : 1849291531);
break;
case 4:
{
int num5 = 1;
List<ushort> list3 = new List<ushort>(num5);
CollectionsMarshal.SetCount(list3, num5);
CollectionsMarshal.AsSpan(list3)[0] = (ushort)(item.Value.EquipSlotCategory.RowId - 1);
result = list3;
num = 1849291527;
break;
}
case 7:
num = 1849291535;
break;
case 6:
num = ((rowId == 17) ? 1849291522 : 1849291534);
break;
case 0:
num = 1849291526;
break;
case 8:
result = null;
num = 1849291527;
break;
case 9:
return result;
case 2:
{
int num5 = 2;
List<ushort> list = new List<ushort>(num5);
CollectionsMarshal.SetCount(list, num5);
Span<ushort> span = CollectionsMarshal.AsSpan(list);
span[0] = 11;
span[1] = 12;
result = list;
num = 1849291527;
break;
}
}
}
}
public bool OnErrorToast(SeString message)
{
string b = dataManager.GetString(709u, (LogMessage x) => x.Text);
if (GameFunctions.GameStringEquals(message.TextValue, b))
int num = ((!GameFunctions.GameStringEquals(_200C_206D_206F_202A_202B_206F_202C_206F_206E_206D_202B_200D_202E_202D_202C_202D_202E_200B_206A_202E_200D_200F_206D_206A_206D_206F_206A_206A_202D_202A_206D_206D_200B_206A_206D_202B_206C_206A_202D_202D_202E(message), b)) ? 1240228835 : 1240228832);
while (true)
{
_attempts = 3;
int num2 = num;
int num3 = 1240228834;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1240228832;
break;
case 2:
_attempts = 3;
num = 1240228835;
break;
case 1:
return false;
}
}
return false;
}
bool IToastAware.OnErrorToast(SeString message)
{
//ILSpy generated this explicit interface implementation from .override directive in OnErrorToast
return this.OnErrorToast(message);
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static DoEquip()
{
InventoryType[] array = new InventoryType[16];
_206C_202D_200F_202E_200F_202A_200E_206A_206C_206E_202B_200D_202E_200C_206C_200F_200C_202C_202E_200D_200D_202E_200B_206E_202B_206E_202E_206C_206B_206D_200F_200F_206A_206A_200B_200F_200C_202B_202E_202C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
SourceInventoryTypes = new global::_003C_003Ez__ReadOnlyArray<InventoryType>(array);
}
static ArgumentOutOfRangeException _202D_206F_200D_200B_200E_200F_200C_200F_206A_200C_206E_202E_206F_202B_202B_200D_206B_200F_200B_206E_202A_200C_202B_202B_200F_206A_200F_202C_206F_206F_202C_200D_206F_206D_202B_206D_202A_206E_200F_206D_202E(string P_0)
{
return new ArgumentOutOfRangeException(P_0);
}
static InvalidOperationException _202C_202B_200C_200E_206C_200C_206A_206A_206E_202D_200E_206D_202B_200F_206A_202C_202C_200C_206D_206E_202B_206A_200F_200F_200F_206C_200C_206C_200F_206C_200C_202C_206E_206F_202C_200C_206D_200D_200B_202A_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
static long _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E()
{
return Environment.TickCount64;
}
static bool _200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(uint P_0)
{
return InventoryHelper.IsItemEquipped(P_0);
}
static void _206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206B_200C_206A_206B_206A_202D_206C_200F_206B_206A_206D_200F_200C_202B_200C_206B_202B_200B_200B_202E_200E_200B_200C_200B_202C_200F_206B_206D_200E_206C_206B_200B_200F_202E_200D_206F_200E_202A_200E_200D_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200F_206D_202E_206B_200E_206D_202C_206A_206C_200B_206D_202A_200F_202B_200C_206E_206C_200B_206D_202B_206F_202B_202B_206D_202B_202A_202A_200E_200C_202A_200E_202E_200C_202C_206A_202C_206C_200D_202C_202E_202E(IDisposable P_0)
{
P_0.Dispose();
}
static string _200C_206D_206F_202A_202B_206F_202C_206F_206E_206D_202B_200D_202E_202D_202C_202D_202E_200B_206A_202E_200D_200F_206D_206A_206D_206F_206A_206A_202D_202A_206D_206D_200B_206A_206D_202B_206C_206A_202D_202D_202E(SeString P_0)
{
return P_0.TextValue;
}
static void _206C_202D_200F_202E_200F_202A_200E_206A_206C_206E_202B_200D_202E_200C_206C_200F_200C_202C_202E_200D_200D_202E_200B_206E_202B_206E_202E_206C_206B_206D_200F_200F_206A_206A_200B_200F_200C_202B_202E_202C_202E(Array P_0, RuntimeFieldHandle P_1)
{
RuntimeHelpers.InitializeArray(P_0, P_1);
}
}
}

View file

@ -1,6 +1,9 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Types;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps.Common;
@ -14,70 +17,352 @@ internal static class FateAction
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.FateAction)
int num = ((_206D_206F_206B_202C_200F_202E_206F_202E_206B_200D_200F_206E_200D_202D_200F_206A_200D_202D_206B_206A_206B_202A_206D_202D_206C_206D_206C_200D_200C_202C_206F_202B_206F_206A_202C_200C_206A_206D_200F_206A_202E(step) == EInteractionType.FateAction) ? (-43811176) : (-43811175));
while (true)
{
return Array.Empty<ITask>();
int num2 = num;
int num3 = -43811176;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = -43811175;
break;
case 0:
num = ((_202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(step).Count != 0) ? (-43811174) : (-43811173));
break;
case 1:
return Array.Empty<ITask>();
case 3:
throw _202B_206E_202A_206F_202B_202D_202D_202A_206A_206D_202C_202C_206F_202D_206A_200D_200C_202E_202C_200E_200C_206D_202A_200D_202A_206E_206D_206E_200D_202B_202C_202A_200D_202A_202E_202D_200B_206E_202C_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1866861544));
case 2:
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
new UseOnTargets(_202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(step))
});
}
}
if (step.FateActionTargets.Count == 0)
{
throw new InvalidOperationException("FateAction step requires FateActionTargets");
}
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
new UseOnTargets(step.FateActionTargets)
});
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206D_206F_206B_202C_200F_202E_206F_202E_206B_200D_200F_206E_200D_202D_200F_206A_200D_202D_206B_206A_206B_202A_206D_202D_206C_206D_206C_200D_200C_202C_206F_202B_206F_206A_202C_200C_206A_206D_200F_206A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static List<FateActionTarget> _202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(QuestStep P_0)
{
return P_0.FateActionTargets;
}
static InvalidOperationException _202B_206E_202A_206F_202B_202D_202D_202A_206A_206D_202C_202C_206F_202D_206A_200D_200C_202E_202C_200E_200C_206D_202A_200D_202A_206E_206D_206E_200D_202B_202C_202A_200D_202A_202E_202D_200B_206E_202C_202A_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
}
internal sealed record UseOnTargets(IList<FateActionTarget> Targets) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_200F_200D_206C_200F_206E_206E_202E_200B_206C_206F_206F_200E_202A_206B_206E_206F_202C_200E_206C_206F_202A_206B_200D_206A_206A_200E_200D_206A_206C_206A_206D_206B_200F_200B_200B_202D_206C_206E_200C_202E(typeof(UseOnTargets).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"FateAction({Targets.Count} targets)";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(85708604));
defaultInterpolatedStringHandler.AppendFormatted(Targets.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1905985229));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_200D_200C_202B_206F_200B_202A_206D_202B_200F_206B_206C_206D_202A_200B_200D_206F_200D_202A_206A_200E_206A_200F_200D_206C_202D_206A_202B_200D_206B_200F_200B_202C_200E_202C_202A_200F_206E_202B_202E();
_206C_202E_206B_206E_200D_206A_206C_206F_202A_202B_200F_202E_200E_206C_200E_200D_200F_200D_200D_202B_200C_200B_202A_206E_202B_200D_200F_202D_200F_202E_206A_200D_206B_206B_206E_202A_202A_206B_200D_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1742983719));
_202D_200B_206B_200F_202D_200B_206B_206B_200B_202D_200F_206B_202A_206E_200C_206A_206B_202B_206F_206C_200F_206A_202C_202D_206A_206A_202A_202A_202B_202E_200B_200B_202B_206B_206E_202A_202D_200D_202E_202E(builder, (object)Targets);
return true;
}
[CompilerGenerated]
public bool Equals(UseOnTargets? other)
{
int num = (((object)this == other) ? 877897699 : 877897703);
while (true)
{
int num2 = num;
int num3 = 877897698;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return EqualityComparer<IList<FateActionTarget>>.Default.Equals(Targets, other.Targets);
case 5:
num = (((object)other == null) ? 877897696 : 877897702);
break;
case 0:
num = 877897703;
break;
case 4:
num = ((!_206A_206F_206E_200D_206E_202A_200F_206D_202A_200E_202A_200F_206F_202E_202E_202E_200E_200B_200B_200F_206E_202A_206F_206B_202C_202A_202B_200B_202B_206B_202B_200C_206F_202C_206E_206E_202E_202B_206A_200C_202E(EqualityContract, other.EqualityContract)) ? 877897696 : 877897697);
break;
case 2:
return false;
case 1:
return true;
}
}
}
bool IEquatable<UseOnTargets>.Equals(UseOnTargets? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_200F_200D_206C_200F_206E_206E_202E_200B_206C_206F_206F_200E_202A_206B_206E_206F_202C_200E_206C_206F_202A_206B_200D_206A_206A_200E_200D_206A_206C_206A_206D_206B_200F_200B_200B_202D_206C_206E_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_200D_200C_202B_206F_200B_202A_206D_202B_200F_206B_206C_206D_202A_200B_200D_206F_200D_202A_206A_200E_206A_200F_200D_206C_202D_206A_202B_200D_206B_200F_200B_202C_200E_202C_202A_200F_206E_202B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202E_206B_206E_200D_206A_206C_206F_202A_202B_200F_202E_200E_206C_200E_200D_200F_200D_200D_202B_200C_200B_202A_206E_202B_200D_200F_202D_200F_202E_206A_200D_206B_206B_206E_202A_202A_206B_200D_200E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202D_200B_206B_200F_202D_200B_206B_206B_200B_202D_200F_206B_202A_206E_200C_206A_206B_202B_206F_206C_200F_206A_202C_202D_206A_206A_202A_202A_202B_202E_200B_200B_202B_206B_206E_202A_202D_200D_202E_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206A_206F_206E_200D_206E_202A_200F_206D_202A_200E_202A_200F_206F_202E_202E_202E_200E_200B_200B_200F_206E_202A_206F_206B_202C_202A_202B_200B_202B_206B_202B_200C_206F_202C_206E_206E_202E_202B_206A_200C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseOnTargetsExecutor(GameFunctions gameFunctions, ILogger<UseOnTargets> logger) : TaskExecutor<UseOnTargets>()
internal sealed class UseOnTargetsExecutor(GameFunctions gameFunctions, ILogger<UseOnTargetsExecutor> logger) : TaskExecutor<UseOnTargets>()
{
private DateTime _nextActionAt = DateTime.MinValue;
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<FateActionTarget, string> _003C_003E9__4_0;
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CStart_003Eb__4_0(FateActionTarget t)
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2);
defaultInterpolatedStringHandler.AppendFormatted(_202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(t));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(824360664));
defaultInterpolatedStringHandler.AppendFormatted(_206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(t));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
static uint _202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static EAction _206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(FateActionTarget P_0)
{
return P_0.Action;
}
}
private long _nextActionAt;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
logger.LogInformation("Starting FateAction: {Count} targets [{Targets}]", base.Task.Targets.Count, string.Join(", ", base.Task.Targets.Select((FateActionTarget t) => $"{t.DataId}→{t.Action}")));
_206F_206A_202C_200C_206F_202D_206B_200E_200C_206A_202B_200F_202A_206D_202D_202B_202C_206B_200E_200D_202C_200D_200B_200D_206F_206B_202A_202E_206A_206E_206B_206D_202A_206E_206F_200D_206E_202B_202D_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1134200128), new object[2]
{
base.Task.Targets.Count,
_206D_206D_202C_200B_206E_200F_202C_200F_200F_200E_206A_202D_206A_202B_206E_206D_202B_200E_206B_206D_202A_202C_206B_202D_206D_200D_200D_202C_206B_202E_202E_202D_206D_206D_200D_200C_200F_206C_202C_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1467939024), base.Task.Targets.Select([MethodImpl(MethodImplOptions.NoInlining)] (FateActionTarget t) =>
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2);
defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec._202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(t));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(824360664));
defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec._206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(t));
return defaultInterpolatedStringHandler.ToStringAndClear();
}))
});
return true;
}
public override ETaskResult Update()
{
if (DateTime.Now < _nextActionAt)
int num = ((_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() >= _nextActionAt) ? 106298228 : 106298231);
IGameObject gameObject = default(IGameObject);
FateActionTarget current = default(FateActionTarget);
while (true)
{
return ETaskResult.StillRunning;
}
foreach (FateActionTarget target in base.Task.Targets)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false);
if (gameObject != null && gameObject.IsTargetable)
int num2 = num;
int num3 = 106298229;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
bool flag = gameFunctions.UseAction(gameObject, target.Action);
_nextActionAt = (flag ? DateTime.Now.AddSeconds(2.5) : DateTime.Now.AddSeconds(0.5));
case 0:
goto IL_0054;
case 2:
return ETaskResult.StillRunning;
case 1:
{
IEnumerator<FateActionTarget> enumerator = base.Task.Targets.GetEnumerator();
try
{
num = -1088857839;
while (true)
{
int num5 = num;
num3 = -1088857839;
num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = (_206A_202C_202C_206E_206D_202E_202E_206E_202E_206E_206F_206C_206E_202D_200B_206F_200D_202C_206E_206C_206C_200F_206F_200C_200F_200C_206D_206A_206E_200F_206C_200C_200F_206E_206B_206C_206D_200B_206E_200E_202E((IEnumerator)enumerator) ? (-1088857837) : (-1088857836));
break;
case 1:
num = ((!_202C_200D_200D_200D_200D_206B_202E_200D_202B_206F_202C_200E_200F_206D_200F_202E_200C_200D_206D_202D_200C_202A_200F_202A_206C_200B_202A_206B_202B_202D_206C_200D_200C_206F_202D_200E_202C_200C_200F_202B_202E(gameObject)) ? (-1088857839) : (-1088857835));
break;
case 4:
{
bool flag = gameFunctions.UseAction(gameObject, _202E_200F_206B_206E_206F_206C_202E_200E_202A_202E_202D_200C_202E_200E_202E_206F_202B_202E_202D_202D_202B_206A_206B_206B_202B_202B_206E_200C_206A_206C_206A_202E_206F_200B_206E_202B_206C_206D_206E_206D_202E(current));
_nextActionAt = (flag ? (_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 2500) : (_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 500));
return ETaskResult.StillRunning;
}
case 2:
current = enumerator.Current;
gameObject = gameFunctions.FindObjectByDataId(_202D_206A_202D_202D_206A_206B_200C_206A_200D_202B_200F_206E_200F_200E_200D_206E_206A_200E_206E_202A_200F_202A_200D_206E_202A_202B_206E_206C_206E_202D_206E_202A_200C_202E_200F_206C_200E_206D_202A_202B_202E(current), null, warnIfMissing: false);
num = ((gameObject == null) ? (-1088857839) : (-1088857840));
break;
case 3:
num = -1088857839;
break;
case 5:
goto end_IL_007f;
}
continue;
end_IL_007f:
break;
}
}
finally
{
num = ((enumerator == null) ? (-2091271449) : (-2091271452));
while (true)
{
int num6 = num;
num3 = -2091271450;
num4 = num6;
int num7 = num4 + num3;
int num8 = num4 & num3;
switch (num7 - (num8 + num8))
{
case 0:
num = -2091271452;
break;
case 1:
goto end_IL_01c0;
case 2:
_200D_202A_206C_206C_200B_206E_200C_206E_206A_200E_206A_200B_206D_206B_206F_206E_206E_206D_206A_206C_202E_206C_202D_202C_200F_200B_200F_200F_200B_200D_202D_206E_200F_206F_200F_206D_202A_200E_202E_206C_202E((IDisposable)enumerator);
num = -2091271449;
break;
}
continue;
end_IL_01c0:
break;
}
}
_nextActionAt = _202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 250;
return ETaskResult.StillRunning;
}
}
continue;
IL_0054:
num = 106298231;
}
_nextActionAt = DateTime.Now.AddSeconds(0.25);
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static string _206D_206D_202C_200B_206E_200F_202C_200F_200F_200E_206A_202D_206A_202B_206E_206D_202B_200E_206B_206D_202A_202C_206B_202D_206D_200D_200D_202C_206B_202E_202E_202D_206D_206D_200D_200C_200F_206C_202C_202C_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static void _206F_206A_202C_200C_206F_202D_206B_200E_200C_206A_202B_200F_202A_206D_202D_202B_202C_206B_200E_200D_202C_200D_200B_200D_206F_206B_202A_202E_206A_206E_206B_206D_202A_206E_206F_200D_206E_202B_202D_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E()
{
return Environment.TickCount64;
}
static uint _202D_206A_202D_202D_206A_206B_200C_206A_200D_202B_200F_206E_200F_200E_200D_206E_206A_200E_206E_202A_200F_202A_200D_206E_202A_202B_206E_206C_206E_202D_206E_202A_200C_202E_200F_206C_200E_206D_202A_202B_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static bool _202C_200D_200D_200D_200D_206B_202E_200D_202B_206F_202C_200E_200F_206D_200F_202E_200C_200D_206D_202D_200C_202A_200F_202A_206C_200B_202A_206B_202B_202D_206C_200D_200C_206F_202D_200E_202C_200C_200F_202B_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static EAction _202E_200F_206B_206E_206F_206C_202E_200E_202A_202E_202D_200C_202E_200E_202E_206F_202B_202E_202D_202D_202B_206A_206B_206B_202B_202B_206E_200C_206A_206C_206A_202E_206F_200B_206E_202B_206C_206D_206E_206D_202E(FateActionTarget P_0)
{
return P_0.Action;
}
static bool _206A_202C_202C_206E_206D_202E_202E_206E_202E_206E_206F_206C_206E_202D_200B_206F_200D_202C_206E_206C_206C_200F_206F_200C_200F_200C_206D_206A_206E_200F_206C_200C_200F_206E_206B_206C_206D_200B_206E_200E_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200D_202A_206C_206C_200B_206E_200C_206E_206A_200E_206A_200B_206D_206B_206F_206E_206E_206D_206A_206C_202E_206C_202D_202C_200F_200B_200F_200F_200B_200D_202D_206E_200F_206F_200F_206D_202A_200E_202E_206C_202E(IDisposable P_0)
{
P_0.Dispose();
}
}
}

View file

@ -1,5 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Types;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
@ -11,172 +14,684 @@ internal static class FateFarming
{
internal sealed record WaitForFateTargets(IReadOnlyList<FateActionTarget> Targets) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_200D_200E_202C_202D_202D_200C_206D_206B_206B_206A_200E_200F_206D_202D_206B_206A_202D_200D_206C_206B_206B_206D_206B_206F_206F_202C_200E_200F_202C_206B_202C_202E_202B_202C_202A_202A_202C_206C_202B_202E(typeof(WaitForFateTargets).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"WaitForFateTargets({Targets.Count} targets)";
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>(-764429910));
defaultInterpolatedStringHandler.AppendFormatted(Targets.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(81942764));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206C_202D_202C_200E_202E_206E_206E_200F_206A_200B_200E_206C_206F_200C_202D_206A_202E_200E_206D_200E_202E_206B_202E_202D_202A_202B_206A_206D_206D_202D_200E_206E_206B_202D_206F_206B_200E_206F_202E();
_206C_202C_206F_206E_200C_206E_202A_206A_206A_206C_200C_206D_200E_202D_206D_206A_206E_206D_202D_200E_206D_206E_200F_200E_206D_206D_202E_202D_202C_202A_202D_200E_206D_202A_206F_206E_206D_206F_200C_202C_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1764240763));
_202B_200F_200B_202B_202E_206A_206B_200D_206D_202C_206A_200D_206C_200F_200F_200D_206C_200D_202A_202E_206A_206B_206B_200C_200C_206B_202A_200D_200F_206A_206C_200B_200D_200C_206A_200C_200D_202A_202E_202E(builder, (object)Targets);
return true;
}
[CompilerGenerated]
public bool Equals(WaitForFateTargets? other)
{
int num = (((object)this == other) ? (-989608852) : (-989608851));
while (true)
{
int num2 = num;
int num3 = -989608856;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return false;
case 5:
num = (((object)other == null) ? (-989608854) : (-989608853));
break;
case 1:
return EqualityComparer<IReadOnlyList<FateActionTarget>>.Default.Equals(Targets, other.Targets);
case 4:
return true;
case 3:
num = ((!_206E_202A_200D_206C_202A_202B_206C_206D_206E_202D_202E_206E_206C_206D_202B_206C_206C_202C_200C_206C_202C_202B_206F_202B_202C_200C_202D_206F_206F_206C_200E_206D_206B_206F_206A_202C_202B_206D_200E_206D_202E(EqualityContract, other.EqualityContract)) ? (-989608854) : (-989608855));
break;
case 0:
num = -989608851;
break;
}
}
}
bool IEquatable<WaitForFateTargets>.Equals(WaitForFateTargets? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_200D_200E_202C_202D_202D_200C_206D_206B_206B_206A_200E_200F_206D_202D_206B_206A_202D_200D_206C_206B_206B_206D_206B_206F_206F_202C_200E_200F_202C_206B_202C_202E_202B_202C_202A_202A_202C_206C_202B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206C_202D_202C_200E_202E_206E_206E_200F_206A_200B_200E_206C_206F_200C_202D_206A_202E_200E_206D_200E_202E_206B_202E_202D_202A_202B_206A_206D_206D_202D_200E_206E_206B_202D_206F_206B_200E_206F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202C_206F_206E_200C_206E_202A_206A_206A_206C_200C_206D_200E_202D_206D_206A_206E_206D_202D_200E_206D_206E_200F_200E_206D_206D_202E_202D_202C_202A_202D_200E_206D_202A_206F_206E_206D_206F_200C_202C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202B_200F_200B_202B_202E_206A_206B_200D_206D_202C_206A_200D_206C_200F_200F_200D_206C_200D_202A_202E_206A_206B_206B_200C_200C_206B_202A_200D_200F_206A_206C_200B_200D_200C_206A_200C_200D_202A_202E_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206E_202A_200D_206C_202A_202B_206C_206D_206E_202D_202E_206E_206C_206D_202B_206C_206C_202C_200C_206C_202C_202B_206F_202B_202C_200C_202D_206F_206F_206C_200E_206D_206B_206F_206A_202C_202B_206D_200E_206D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class WaitForFateTargetsExecutor(GameFunctions gameFunctions, ILogger<WaitForFateTargetsExecutor> logger) : TaskExecutor<WaitForFateTargets>()
{
private DateTime _nextPollAt = DateTime.MinValue;
private long _nextPollAt;
private bool _loggedWaitingForFate;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
logger.LogInformation("Waiting for FATE targets to appear ({Count} targets)", base.Task.Targets.Count);
_202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1410411632), new object[1] { base.Task.Targets.Count });
_loggedWaitingForFate = false;
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (DateTime.Now < _nextPollAt)
int num = ((_202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() >= _nextPollAt) ? 347657580 : 347657579);
ushort currentFateId = default(ushort);
FateActionTarget current = default(FateActionTarget);
IGameObject gameObject = default(IGameObject);
while (true)
{
return ETaskResult.StillRunning;
}
ushort currentFateId = gameFunctions.GetCurrentFateId();
if (currentFateId == 0)
{
if (!_loggedWaitingForFate)
int num2 = num;
int num3 = 347657582;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogInformation("No active FATE yet, waiting for FATE to start before checking targets");
case 3:
num = 347657579;
break;
case 5:
return ETaskResult.StillRunning;
case 1:
_nextPollAt = _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() + 1000;
return ETaskResult.StillRunning;
case 4:
_202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1240055981), Array.Empty<object>());
_loggedWaitingForFate = true;
}
_nextPollAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
_loggedWaitingForFate = false;
foreach (FateActionTarget target in base.Task.Targets)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false);
if (gameObject != null && gameObject.IsTargetable)
num = 347657583;
break;
case 2:
currentFateId = gameFunctions.GetCurrentFateId();
num = ((currentFateId != 0) ? 347657576 : 347657582);
break;
case 0:
num = (_loggedWaitingForFate ? 347657583 : 347657578);
break;
case 6:
{
logger.LogInformation("FATE {FateId} active and target {DataId} is targetable", currentFateId, target.DataId);
return ETaskResult.TaskComplete;
_loggedWaitingForFate = false;
IEnumerator<FateActionTarget> enumerator = base.Task.Targets.GetEnumerator();
try
{
num = -373808532;
while (true)
{
int num7 = num;
num3 = -373808536;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -373808532;
break;
case 4:
num = (_202B_200B_206D_206A_200C_206A_200E_202A_200C_206D_202A_200D_200F_202A_202A_200D_206F_206E_200B_200B_206A_206F_206B_206D_206C_206B_200B_206F_202C_200E_202A_206B_206C_206B_206D_206A_202B_200F_206C_206C_202E((IEnumerator)enumerator) ? (-373808535) : (-373808534));
break;
case 1:
current = enumerator.Current;
gameObject = gameFunctions.FindObjectByDataId(_206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(current), null, warnIfMissing: false);
num = ((gameObject == null) ? (-373808532) : (-373808531));
break;
case 3:
_202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(955603109), new object[2]
{
currentFateId,
_206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(current)
});
return ETaskResult.TaskComplete;
case 5:
num = ((!_206E_202E_206B_200E_202C_202C_206D_200F_206F_200E_202C_200F_200E_202B_206E_206A_202C_202D_200F_200B_202C_202B_202E_206A_206A_200C_206B_202E_206C_200F_200F_206B_200F_200D_206F_200C_202D_200F_202E_202C_202E(gameObject)) ? (-373808532) : (-373808533));
break;
case 2:
goto end_IL_0126;
}
continue;
end_IL_0126:
break;
}
}
finally
{
num = ((enumerator == null) ? (-816867460) : (-816867457));
while (true)
{
int num8 = num;
num3 = -816867458;
num4 = num8;
int num9 = num4 + num3;
int num10 = num4 & num3;
switch (num9 - (num10 + num10))
{
case 0:
num = -816867457;
break;
case 2:
goto end_IL_025b;
case 1:
_200D_200B_202C_206E_200C_200D_202E_200F_206E_206B_206F_206F_202C_206C_206B_200B_202E_206E_202E_206F_206B_206E_206B_206C_200B_206D_206C_200E_202B_202E_200D_200D_202D_206B_200B_206C_206C_202C_206D_206D_202E((IDisposable)enumerator);
num = -816867460;
break;
}
continue;
end_IL_025b:
break;
}
}
_nextPollAt = _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() + 1000;
return ETaskResult.StillRunning;
}
}
}
_nextPollAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E()
{
return Environment.TickCount64;
}
static uint _206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static bool _206E_202E_206B_200E_202C_202C_206D_200F_206F_200E_202C_200F_200E_202B_206E_206A_202C_202D_200F_200B_202C_202B_202E_206A_206A_200C_206B_202E_206C_200F_200F_206B_200F_200D_206F_200C_202D_200F_202E_202C_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static bool _202B_200B_206D_206A_200C_206A_200E_202A_200C_206D_202A_200D_200F_202A_202A_200D_206F_206E_200B_200B_206A_206F_206B_206D_206C_206B_200B_206F_202C_200E_202A_206B_206C_206B_206D_206A_202B_200F_206C_206C_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200D_200B_202C_206E_200C_200D_202E_200F_206E_206B_206F_206F_202C_206C_206B_200B_202E_206E_202E_206F_206B_206E_206B_206C_200B_206D_206C_200E_202B_202E_200D_200D_202D_206B_200B_206C_206C_202C_206D_206D_202E(IDisposable P_0)
{
P_0.Dispose();
}
}
internal sealed record SyncFateLevel : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200E_200E_202E_202C_206D_206D_202D_202D_206D_202D_202D_200E_202E_200B_206F_200F_206D_202A_202B_206C_202D_206C_200D_206B_206B_206D_200B_206B_202B_206D_202D_206C_206E_206A_202B_200C_202E_202A_202A_202E(typeof(SyncFateLevel).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "SyncFateLevel";
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>(-475022604);
}
[CompilerGenerated]
public bool Equals(SyncFateLevel? other)
{
int num = (((object)this == other) ? (-1810746369) : (-1810746375));
while (true)
{
int num2 = num;
int num3 = -1810746371;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return false;
case 4:
num = (((object)other == null) ? (-1810746370) : (-1810746372));
break;
case 1:
return _202C_200F_206A_206F_202B_202E_200E_206A_206B_206E_206A_206C_206D_202B_200E_206F_206B_200B_200D_200D_202D_202E_206A_202A_200F_202D_202A_200B_206D_202D_202B_200B_202E_202C_202A_202B_200D_200E_206D_206E_202E(EqualityContract, other.EqualityContract);
case 2:
return true;
case 0:
num = -1810746375;
break;
}
}
}
bool IEquatable<SyncFateLevel>.Equals(SyncFateLevel? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200E_200E_202E_202C_206D_206D_202D_202D_206D_202D_202D_200E_202E_200B_206F_200F_206D_202A_202B_206C_202D_206C_200D_206B_206B_206D_200B_206B_202B_206D_202D_206C_206E_206A_202B_200C_202E_202A_202A_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static bool _202C_200F_206A_206F_202B_202E_200E_206A_206B_206E_206A_206C_206D_202B_200E_206F_206B_200B_200D_200D_202D_202E_206A_202A_200F_202D_202A_200B_206D_202D_202B_200B_202E_202C_202A_202B_200D_200E_206D_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class SyncFateLevelExecutor(GameFunctions gameFunctions, ILogger<SyncFateLevelExecutor> logger) : TaskExecutor<SyncFateLevel>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
logger.LogInformation("Syncing to FATE level");
_206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(245649986), Array.Empty<object>());
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
ushort currentFateId = gameFunctions.GetCurrentFateId();
if (currentFateId == 0)
int num = ((currentFateId != 0) ? (-666684793) : (-666684794));
while (true)
{
logger.LogDebug("No active FATE to sync to, skipping");
return ETaskResult.TaskComplete;
int num2 = num;
int num3 = -666684793;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
gameFunctions.SyncToFate(currentFateId);
return ETaskResult.TaskComplete;
case 1:
_206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1969316216), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 2:
goto IL_007a;
}
continue;
IL_007a:
num = -666684794;
}
gameFunctions.SyncToFate(currentFateId);
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
internal sealed record FateActionLoop(IReadOnlyList<FateActionTarget> Targets, EStatus? RequiredStatusId = null) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200F_202C_206B_202D_200B_200D_206E_202C_202D_202C_206B_202A_200B_206F_206D_200C_202E_200E_202B_202B_206A_206E_200F_202C_206F_200B_202A_206A_200D_206A_206A_200B_202E_200F_200E_206D_206B_206F_202C_202E(typeof(FateActionLoop).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"FateActionLoop({Targets.Count} targets)";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(213111494));
defaultInterpolatedStringHandler.AppendFormatted(Targets.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1905985229));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200D_202A_200E_200D_206D_206D_206E_200F_206D_202A_206F_206E_200D_202E_206D_206C_200C_202E_206D_206F_206C_200F_200C_200C_202E_202B_206C_206F_206C_206E_206F_202A_202A_206D_200E_200D_206B_200F_202E_200C_202E();
_206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-144611919));
_200C_206F_202A_206F_202D_200D_206C_202E_202E_206C_206B_206F_206F_202E_200F_206D_202D_202B_206F_202B_202E_206B_206F_202C_200C_206C_200F_202A_206C_202A_202B_202B_206D_206A_206D_206A_206F_200B_202A_202B_202E(builder, (object)Targets);
_206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1576420107));
_206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, RequiredStatusId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(FateActionLoop? other)
{
int num = (((object)this == other) ? (-346298677) : (-346298676));
while (true)
{
int num2 = num;
int num3 = -346298674;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = ((!EqualityComparer<IReadOnlyList<FateActionTarget>>.Default.Equals(Targets, other.Targets)) ? (-346298680) : (-346298673));
break;
case 2:
num = (((object)other == null) ? (-346298680) : (-346298678));
break;
case 6:
return false;
case 3:
num = -346298676;
break;
case 4:
num = ((!_206D_200C_202E_200C_202A_206D_200C_200B_200C_202B_206C_202E_206D_206B_202E_202B_202C_202B_200E_206D_202B_202C_206F_202D_206F_202C_200D_206B_206A_206C_206B_202C_202B_202A_206E_200F_200C_206E_200B_200D_202E(EqualityContract, other.EqualityContract)) ? (-346298680) : (-346298674));
break;
case 5:
return true;
case 1:
return EqualityComparer<EStatus?>.Default.Equals(RequiredStatusId, other.RequiredStatusId);
}
}
}
bool IEquatable<FateActionLoop>.Equals(FateActionLoop? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200F_202C_206B_202D_200B_200D_206E_202C_202D_202C_206B_202A_200B_206F_206D_200C_202E_200E_202B_202B_206A_206E_200F_202C_206F_200B_202A_206A_200D_206A_206A_200B_202E_200F_200E_206D_206B_206F_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200D_202A_200E_200D_206D_206D_206E_200F_206D_202A_206F_206E_200D_202E_206D_206C_200C_202E_206D_206F_206C_200F_200C_200C_202E_202B_206C_206F_206C_206E_206F_202A_202A_206D_200E_200D_206B_200F_202E_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200C_206F_202A_206F_202D_200D_206C_202E_202E_206C_206B_206F_206F_202E_200F_206D_202D_202B_206F_202B_202E_206B_206F_202C_200C_206C_200F_202A_206C_202A_202B_202B_206D_206A_206D_206A_206F_200B_202A_202B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206D_200C_202E_200C_202A_206D_200C_200B_200C_202B_206C_202E_206D_206B_202E_202B_202C_202B_200E_206D_202B_202C_206F_202D_206F_202C_200D_206B_206A_206C_206B_202C_202B_202A_206E_200F_200C_206E_200B_200D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class FateActionLoopExecutor(GameFunctions gameFunctions, ILogger<FateActionLoopExecutor> logger) : TaskExecutor<FateActionLoop>()
{
private DateTime _nextActionAt = DateTime.MinValue;
private long _nextActionAt;
private ushort _trackedFateId;
private bool _fateWasActive;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_trackedFateId = gameFunctions.GetCurrentFateId();
logger.LogInformation("Starting FATE action loop with {Count} targets, tracking FATE {FateId}", base.Task.Targets.Count, _trackedFateId);
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2063272986), new object[2]
{
base.Task.Targets.Count,
_trackedFateId
});
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (DateTime.Now < _nextActionAt)
int num = ((_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() >= _nextActionAt) ? 464111573 : 464111570);
bool flag2 = default(bool);
ushort currentFateId = default(ushort);
IGameObject gameObject = default(IGameObject);
FateActionTarget current = default(FateActionTarget);
while (true)
{
return ETaskResult.StillRunning;
}
if (base.Task.RequiredStatusId.HasValue && !gameFunctions.HasStatus(base.Task.RequiredStatusId.Value))
{
logger.LogInformation("Required status {StatusId} lost during FATE action loop, ending cycle to re-apply", base.Task.RequiredStatusId.Value);
return ETaskResult.TaskComplete;
}
bool flag = gameFunctions.GetCurrentFateId() != 0;
if (_fateWasActive && !flag)
{
logger.LogInformation("FATE {FateId} is no longer active, cycle complete", _trackedFateId);
return ETaskResult.TaskComplete;
}
_fateWasActive = flag;
if (_trackedFateId == 0)
{
_trackedFateId = gameFunctions.GetCurrentFateId();
if (_trackedFateId != 0)
int num2 = num;
int num3 = 464111571;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogInformation("Now tracking FATE {FateId}", _trackedFateId);
}
}
if (_trackedFateId != 0 && !gameFunctions.IsFateStillActive(_trackedFateId))
{
logger.LogInformation("FATE {FateId} is no longer running, cycle complete", _trackedFateId);
return ETaskResult.TaskComplete;
}
foreach (FateActionTarget target in base.Task.Targets)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false);
if (gameObject != null && gameObject.IsTargetable)
case 10:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1515231479), new object[1] { _trackedFateId });
num = 464111571;
break;
case 2:
_fateWasActive = flag2;
num = ((_trackedFateId != 0) ? 464111571 : 464111572);
break;
case 12:
num = (gameFunctions.HasStatus(base.Task.RequiredStatusId.Value) ? 464111581 : 464111574);
break;
case 7:
_trackedFateId = currentFateId;
num = ((_trackedFateId == 0) ? 464111571 : 464111577);
break;
case 14:
currentFateId = gameFunctions.GetCurrentFateId();
flag2 = currentFateId != 0;
num = ((!_fateWasActive) ? 464111569 : 464111582);
break;
case 0:
num = ((_trackedFateId == 0) ? 464111576 : 464111568);
break;
case 3:
num = (gameFunctions.IsFateStillActive(_trackedFateId) ? 464111576 : 464111579);
break;
case 9:
num = 464111570;
break;
case 6:
num = ((!base.Task.RequiredStatusId.HasValue) ? 464111581 : 464111583);
break;
case 8:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1418980453), new object[1] { _trackedFateId });
return ETaskResult.TaskComplete;
case 5:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1749346970), new object[1] { base.Task.RequiredStatusId.Value });
return ETaskResult.TaskComplete;
case 4:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1750997403), new object[1] { _trackedFateId });
return ETaskResult.TaskComplete;
case 1:
return ETaskResult.StillRunning;
case 13:
num = (flag2 ? 464111569 : 464111575);
break;
case 11:
{
bool flag2 = gameFunctions.UseAction(gameObject, target.Action);
_nextActionAt = (flag2 ? DateTime.Now.AddSeconds(2.5) : DateTime.Now.AddSeconds(0.5));
IEnumerator<FateActionTarget> enumerator = base.Task.Targets.GetEnumerator();
try
{
num = -742577641;
while (true)
{
int num7 = num;
num3 = -742577643;
num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 2:
num = (_206F_202D_200F_206F_200C_206E_206A_200D_200E_202D_206B_200F_202E_206D_202A_206A_202B_206F_200F_202D_200F_206E_200D_202E_206B_200E_206B_200C_202A_200E_206C_200F_206E_206C_202E_202D_206E_202D_200B_202C_202E((IEnumerator)enumerator) ? (-742577647) : (-742577642));
break;
case 1:
num = ((!_200E_202B_202A_200B_200C_206B_206F_202A_202A_202C_206D_206A_206A_206E_206F_202C_202A_202E_202C_202B_200D_202A_200D_202D_206B_200B_202B_206E_206F_202B_206F_200B_202A_200F_206D_202B_206C_200F_202B_206D_202E(gameObject)) ? (-742577641) : (-742577648));
break;
case 5:
{
bool flag = gameFunctions.UseAction(gameObject, _202C_202D_206A_200F_206B_202A_206B_202D_202B_202D_206F_200E_202D_206C_206A_202E_202A_200B_202D_206B_202B_206E_202D_206C_206D_202D_202B_200D_200B_202A_206F_200B_202A_200B_206A_202C_206B_206D_206F_206A_202E(current));
_nextActionAt = (flag ? (_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 2500) : (_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 500));
return ETaskResult.StillRunning;
}
case 4:
current = enumerator.Current;
gameObject = gameFunctions.FindObjectByDataId(_200F_206F_206E_206B_200D_206D_202E_206A_206E_202C_200B_200E_200D_200E_202A_200C_202C_206D_202B_206A_206D_200F_202C_200C_200C_202A_206B_206C_206E_202B_206A_206E_202A_202B_206A_206D_202E_206C_202D_202B_202E(current), null, warnIfMissing: false);
num = ((gameObject == null) ? (-742577641) : (-742577644));
break;
case 0:
num = -742577641;
break;
case 3:
goto end_IL_02d6;
}
continue;
end_IL_02d6:
break;
}
}
finally
{
num = ((enumerator == null) ? (-2077958927) : (-2077958928));
while (true)
{
int num10 = num;
num3 = -2077958927;
num4 = num10;
int num11 = num4 + num3;
int num12 = num4 & num3;
switch (num11 - (num12 + num12))
{
case 0:
goto end_IL_0421;
case 1:
_202C_206B_202B_202B_206B_202C_200C_206D_206F_200B_200B_206C_206F_202E_200F_206C_206A_202B_200E_206D_200D_202E_206F_200F_206E_202B_202D_202B_200C_202C_206C_202B_206D_200F_202A_206A_200C_202A_206D_202E_202E((IDisposable)enumerator);
num = -2077958927;
break;
case 2:
num = -2077958928;
break;
}
continue;
end_IL_0421:
break;
}
}
_nextActionAt = _202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 250;
return ETaskResult.StillRunning;
}
}
}
_nextActionAt = DateTime.Now.AddSeconds(0.25);
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E()
{
return Environment.TickCount64;
}
static uint _200F_206F_206E_206B_200D_206D_202E_206A_206E_202C_200B_200E_200D_200E_202A_200C_202C_206D_202B_206A_206D_200F_202C_200C_200C_202A_206B_206C_206E_202B_206A_206E_202A_202B_206A_206D_202E_206C_202D_202B_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static bool _200E_202B_202A_200B_200C_206B_206F_202A_202A_202C_206D_206A_206A_206E_206F_202C_202A_202E_202C_202B_200D_202A_200D_202D_206B_200B_202B_206E_206F_202B_206F_200B_202A_200F_206D_202B_206C_200F_202B_206D_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static EAction _202C_202D_206A_200F_206B_202A_206B_202D_202B_202D_206F_200E_202D_206C_206A_202E_202A_200B_202D_206B_202B_206E_202D_206C_206D_202D_202B_200D_200B_202A_206F_200B_202A_200B_206A_202C_206B_206D_206F_206A_202E(FateActionTarget P_0)
{
return P_0.Action;
}
static bool _206F_202D_200F_206F_200C_206E_206A_200D_200E_202D_206B_200F_202E_206D_202A_206A_202B_206F_200F_202D_200F_206E_200D_202E_206B_200E_206B_200C_202A_200E_206C_200F_206E_206C_202E_202D_206E_202D_200B_202C_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202C_206B_202B_202B_206B_202C_200C_206D_206F_200B_200B_206C_206F_202E_200F_206C_206A_202B_200E_206D_200D_202E_206F_200F_206E_202B_202D_202B_200C_202C_206C_202B_206D_200F_202A_206A_200C_202A_206D_202E_202E(IDisposable P_0)
{
P_0.Dispose();
}
}
}

View file

@ -1,8 +1,13 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
@ -16,18 +21,62 @@ internal static class Jump
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.Jump)
int num = ((_200E_202A_202E_202C_206A_202E_200E_206A_206E_206E_202C_206E_206D_200D_200E_202D_200F_206E_200D_200D_206D_200C_200D_202B_202A_202A_200B_200B_206D_202B_200F_200B_200F_206D_206B_202E_206A_200C_202D_202B_202E(step) == EInteractionType.Jump) ? 1879754569 : 1879754570);
while (true)
{
return null;
int num2 = num;
int num3 = 1879754571;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return new SingleJumpTask(_200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(step), _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(step));
case 1:
return null;
case 0:
return new RepeatedJumpTask(_200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(step), _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(step));
case 2:
_206E_206C_206A_200C_206A_206C_202B_206C_206F_200C_200B_200B_202C_206D_202A_206B_206B_206A_202A_206B_206D_206A_200E_206B_202E_202D_200D_200B_200F_206E_200B_206B_200B_200C_206F_206B_206C_200F_200F_206F_202E((object)_200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1260133087));
num = ((_200E_206A_206A_206B_200D_200E_200F_202C_200B_202C_206E_206A_206A_202E_200B_200D_202E_206E_202D_202A_202A_202E_200E_206C_206F_206C_202B_206E_200C_206D_200E_202A_200E_200F_202A_200F_206E_206F_202C_200E_202E(_200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step)) != EJumpType.SingleJump) ? 1879754571 : 1879754575);
break;
case 3:
num = 1879754570;
break;
}
}
ArgumentNullException.ThrowIfNull(step.JumpDestination, "step.JumpDestination");
if (step.JumpDestination.Type == EJumpType.SingleJump)
{
return new SingleJumpTask(step.DataId, step.JumpDestination, step.Comment);
}
return new RepeatedJumpTask(step.DataId, step.JumpDestination, step.Comment);
}
static EInteractionType _200E_202A_202E_202C_206A_202E_200E_206A_206E_206E_202C_206E_206D_200D_200E_202D_200F_206E_200D_200D_206D_200C_200D_202B_202A_202A_200B_200B_206D_202B_200F_200B_200F_206D_206B_202E_206A_200C_202D_202B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static JumpDestination _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(QuestStep P_0)
{
return P_0.JumpDestination;
}
static void _206E_206C_206A_200C_206A_206C_202B_206C_206F_200C_200B_200B_202C_206D_202A_206B_206B_206A_202A_206B_206D_206A_200E_206B_202E_202D_200D_200B_200F_206E_200B_206B_200B_200C_206F_206B_206C_200F_200F_206F_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static EJumpType _200E_206A_206A_206B_200D_200E_200F_202C_200B_202C_206E_206A_206A_202E_200B_200D_202E_206E_202D_202A_202A_202E_200E_206C_206F_206C_202B_206E_200C_206D_200E_202A_200E_200F_202A_200F_206E_206F_202C_200E_202E(JumpDestination P_0)
{
return P_0.Type;
}
static uint? _200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(QuestStep P_0)
{
return P_0.DataId;
}
static string _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(QuestStep P_0)
{
return P_0.Comment;
}
}
@ -42,9 +91,106 @@ internal static class Jump
internal sealed record SingleJumpTask(uint? DataId, JumpDestination JumpDestination, string? Comment) : IJumpTask, ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_202D_202A_206A_202C_202B_200C_202D_206B_202B_200F_200B_200D_202C_200F_202A_200C_202B_206D_206E_206B_202D_200E_202E_202E_200D_200C_202D_200F_202A_206D_202A_206B_202E_206B_200B_202B_200D_206E_200E_202E(typeof(SingleJumpTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Jump(" + Comment + ")";
return _200E_206E_200E_200E_202A_202B_206B_200D_200F_200B_200E_202E_202A_206A_206F_202E_200B_206A_202A_200C_206A_202D_202E_206C_206D_202E_206D_206F_202C_200E_206D_200B_202A_206A_202B_202C_206D_202E_200D_206D_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2069957391), Comment, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202D_200D_202B_202B_200B_206F_206D_202D_200D_206E_202A_202D_202B_202B_202A_206C_202E_202E_206F_202B_202B_202A_202B_202B_202A_200B_200C_200D_206E_202D_202A_202D_206F_206C_200B_206C_206E_206A_200B_206D_202E();
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, DataId.ToString());
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(840372176));
_206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(builder, (object)JumpDestination);
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1006174404));
_206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(builder, (object)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(SingleJumpTask? other)
{
int num = (((object)this == other) ? (-1677814898) : (-1677814903));
while (true)
{
int num2 = num;
int num3 = -1677814899;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return true;
case 4:
num = (((object)other == null) ? (-1677814901) : (-1677814902));
break;
case 0:
num = -1677814903;
break;
case 5:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 6:
return false;
case 7:
num = ((!_202E_200D_206E_206E_200B_202B_200F_202D_202D_206D_206B_202C_206E_202E_202C_206D_200C_206D_200D_206C_202C_200D_202C_202B_200D_206B_206A_202C_202C_200C_200B_202D_200D_206B_200D_202D_206A_200F_202E_200E_202E(EqualityContract, other.EqualityContract)) ? (-1677814901) : (-1677814900));
break;
case 1:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? (-1677814901) : (-1677814897));
break;
case 2:
num = ((!EqualityComparer<Questionable.Model.Questing.JumpDestination>.Default.Equals(JumpDestination, other.JumpDestination)) ? (-1677814901) : (-1677814904));
break;
}
}
}
bool IEquatable<SingleJumpTask>.Equals(SingleJumpTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_202D_202A_206A_202C_202B_200C_202D_206B_202B_200F_200B_200D_202C_200F_202A_200C_202B_206D_206E_206B_202D_200E_202E_202E_200D_200C_202D_200F_202A_206D_202A_206B_202E_206B_200B_202B_200D_206E_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _200E_206E_200E_200E_202A_202B_206B_200D_200F_200B_200E_202E_202A_206A_206F_202E_200B_206A_202A_200C_206A_202D_202E_206C_206D_202E_206D_206F_202C_200E_206D_200B_202A_206A_202B_202C_206D_202E_200D_206D_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static void _202D_200D_202B_202B_200B_206F_206D_202D_200D_206E_202A_202D_202B_202B_202A_206C_202E_202E_206F_202B_202B_202A_202B_202B_202A_200B_200C_200D_206E_202D_202A_202D_206F_206C_200B_206C_206E_206A_200B_206D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202E_200D_206E_206E_200B_202B_200F_202D_202D_206D_206B_202C_206E_202E_202C_206D_200C_206D_200D_206C_202C_200D_202C_202B_200D_206B_206A_202C_202C_200C_200B_202D_200D_206B_200D_202D_206A_200F_202E_200E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -52,48 +198,116 @@ internal static class Jump
{
protected unsafe override bool Start()
{
IGameObject gameObject = _003CobjectTable_003EP[0];
if (gameObject == null)
IPlayerCharacter playerCharacter = _206E_200D_202E_206B_206A_202B_200E_202C_202E_206A_202B_206D_200D_202A_200B_200F_206A_202C_206A_206D_202C_206B_200C_200D_200D_202C_206E_206C_200B_202A_202D_202C_206A_206C_200B_206A_200D_202A_202A_202A_202E(_003CobjectTable_003EP);
int num = ((playerCharacter != null) ? 279360376 : 279360377);
float num7 = default(float);
while (true)
{
return false;
int num2 = num;
int num3 = 279360376;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
{
MovementController movementController = _003CmovementController_003EP;
uint? dataId = base.Task.DataId;
int num8 = 1;
List<Vector3> list = new List<Vector3>(num8);
CollectionsMarshal.SetCount(list, num8);
CollectionsMarshal.AsSpan(list)[0] = _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(base.Task.JumpDestination);
movementController.NavigateTo(EMovementType.Quest, dataId, list, fly: false, sprint: false, _206B_206D_206F_202A_206F_202A_200F_202A_200D_202A_202B_206E_202B_202B_202E_200E_202C_200E_206F_200C_200D_202D_200C_202C_206B_202C_200B_200C_206D_200C_206D_202C_206B_202D_206B_200C_206A_200D_202A_206A_202E(base.Task.JumpDestination) ?? num7);
_206A_200C_206D_206D_202B_202C_206F_200E_200B_206C_202D_200E_206C_206D_206E_206E_202D_206D_206C_202B_206D_202E_206E_202B_202D_206C_200C_200F_206C_200F_200D_206B_206E_202C_202C_206E_202D_206C_200B_200F_202E(_003Cframework_003EP, (System.Action)delegate
{
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
}, TimeSpan.FromSeconds(_206E_202C_202D_206C_200F_206E_206D_200E_202B_206C_200E_206C_206C_200F_202D_202D_202B_206A_202D_202A_206C_206B_200B_200B_206B_206F_206D_206D_202A_206D_206F_200D_200F_206C_202E_200B_206F_202A_200F_206D_202E(base.Task.JumpDestination) ?? 0.5f), 0, default(CancellationToken));
return true;
}
case 0:
num7 = _200D_200F_202A_202E_200F_200C_206F_206C_200B_206D_200D_202A_200F_202E_206D_200F_202B_202E_206F_206C_206F_200C_202D_200B_202C_200B_200D_206D_200F_200B_200C_202E_200B_200E_200C_202C_206B_202E_200E_202A_202E(base.Task.JumpDestination);
num = ((!((_206D_202A_206B_206F_202E_202A_206C_206C_200E_206F_206A_200E_206A_206B_202E_202E_206A_206B_202C_206A_200E_200C_200B_206E_202B_206B_206E_200D_206F_206E_206D_200E_206D_200D_202A_202C_206D_206B_202C_202A_202E((IGameObject)playerCharacter) - _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(base.Task.JumpDestination)).Length() <= num7)) ? 279360378 : 279360380);
break;
case 1:
return false;
case 4:
return false;
case 3:
num = 279360377;
break;
}
}
float num = base.Task.JumpDestination.CalculateStopDistance();
if ((gameObject.Position - base.Task.JumpDestination.Position).Length() <= num)
{
return false;
}
MovementController movementController = _003CmovementController_003EP;
uint? dataId = base.Task.DataId;
int num2 = 1;
List<Vector3> list = new List<Vector3>(num2);
CollectionsMarshal.SetCount(list, num2);
CollectionsMarshal.AsSpan(list)[0] = base.Task.JumpDestination.Position;
movementController.NavigateTo(EMovementType.Quest, dataId, list, fly: false, sprint: false, base.Task.JumpDestination.StopDistance ?? num);
_003Cframework_003EP.RunOnTick(delegate
{
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
}, TimeSpan.FromSeconds(base.Task.JumpDestination.DelaySeconds ?? 0.5f));
return true;
}
public override ETaskResult Update()
{
if (_003CmovementController_003EP.IsPathfinding || _003CmovementController_003EP.IsPathRunning)
int num = (_003CmovementController_003EP.IsPathfinding ? (-470159093) : (-470159095));
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = -470159096;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return ETaskResult.StillRunning;
case 1:
num = ((!_003CmovementController_003EP.IsPathRunning) ? (-470159096) : (-470159093));
break;
case 0:
num = (_003CmovementController_003EP.HasBeenMovingForAtLeast(1000) ? (-470159094) : (-470159092));
break;
case 5:
num = -470159095;
break;
case 4:
return ETaskResult.StillRunning;
case 2:
return ETaskResult.TaskComplete;
}
}
DateTime movementStartedAt = _003CmovementController_003EP.MovementStartedAt;
if (movementStartedAt == DateTime.MaxValue || movementStartedAt.AddSeconds(1.0) >= DateTime.Now)
{
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static IPlayerCharacter _206E_200D_202E_206B_206A_202B_200E_202C_202E_206A_202B_206D_200D_202A_200B_200F_206A_202C_206A_206D_202C_206B_200C_200D_200D_202C_206E_206C_200B_202A_202D_202C_206A_206C_200B_206A_200D_202A_202A_202A_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static float _200D_200F_202A_202E_200F_200C_206F_206C_200B_206D_200D_202A_200F_202E_206D_200F_202B_202E_206F_206C_206F_200C_202D_200B_202C_200B_200D_206D_200F_200B_200C_202E_200B_200E_200C_202C_206B_202E_200E_202A_202E(JumpDestination P_0)
{
return P_0.CalculateStopDistance();
}
static Vector3 _206D_202A_206B_206F_202E_202A_206C_206C_200E_206F_206A_200E_206A_206B_202E_202E_206A_206B_202C_206A_200E_200C_200B_206E_202B_206B_206E_200D_206F_206E_206D_200E_206D_200D_202A_202C_206D_206B_202C_202A_202E(IGameObject P_0)
{
return P_0.Position;
}
static Vector3 _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(JumpDestination P_0)
{
return P_0.Position;
}
static float? _206B_206D_206F_202A_206F_202A_200F_202A_200D_202A_202B_206E_202B_202B_202E_200E_202C_200E_206F_200C_200D_202D_200C_202C_206B_202C_200B_200C_206D_200C_206D_202C_206B_202D_206B_200C_206A_200D_202A_206A_202E(JumpDestination P_0)
{
return P_0.StopDistance;
}
static float? _206E_202C_202D_206C_200F_206E_206D_200E_202B_206C_200E_206C_206C_200F_202D_202D_202B_206A_202D_202A_206C_206B_200B_200B_206B_206F_206D_206D_202A_206D_206F_200D_200F_206C_202E_200B_206F_202A_200F_206D_202E(JumpDestination P_0)
{
return P_0.DelaySeconds;
}
static Task _206A_200C_206D_206D_202B_202C_206F_200E_200B_206C_202D_200E_206C_206D_206E_206E_202D_206D_206C_202B_206D_202E_206E_202B_202D_206C_200C_200F_206C_200F_200D_206B_206E_202C_202C_206E_202D_206C_200B_200F_202E(IFramework P_0, System.Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4)
{
return P_0.RunOnTick(P_1, P_2, P_3, P_4);
}
}
internal sealed class DoSingleJump : JumpBase<SingleJumpTask>
@ -106,9 +320,108 @@ internal static class Jump
internal sealed record RepeatedJumpTask(uint? DataId, JumpDestination JumpDestination, string? Comment) : IJumpTask, ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_206C_202B_206C_200C_202A_200E_200D_202B_206C_202A_202C_200F_206E_202C_206D_206A_200F_206C_206D_200E_206C_200D_206B_200D_206E_202C_200D_206E_202B_206C_202C_202E_202E_200D_206B_206C_206B_206E_206B_202E(typeof(RepeatedJumpTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "RepeatedJump(" + Comment + ")";
return _202A_206C_206D_200C_200D_206B_202A_202E_206E_200E_202B_206F_200B_202C_202E_202B_206F_206F_206E_206D_202E_206D_206A_200B_206C_202B_206F_206D_202B_206F_206F_202A_200E_202E_206D_202D_200F_202D_206B_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1812591984), Comment, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1618480346));
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202B_200C_200F_202B_206D_202B_200E_206F_202A_206E_200E_202E_200F_202B_200F_200B_200D_200B_202E_200F_206C_200F_200E_202D_200B_202D_206E_200D_206E_206A_206E_200F_206D_200E_202C_206E_200D_206A_202D_202E();
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, DataId.ToString());
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2048561311));
_206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(builder, (object)JumpDestination);
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(430956117));
_206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(builder, (object)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(RepeatedJumpTask? other)
{
int num = (((object)this == other) ? (-565418878) : (-565418874));
while (true)
{
int num2 = num;
int num3 = -565418873;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = ((!EqualityComparer<Questionable.Model.Questing.JumpDestination>.Default.Equals(JumpDestination, other.JumpDestination)) ? (-565418875) : (-565418880));
break;
case 1:
num = (((object)other == null) ? (-565418875) : (-565418879));
break;
case 6:
num = ((!_206B_206B_206F_202A_202C_206E_206A_206F_206E_200E_206A_206C_206B_202C_206C_206B_200E_202A_206A_206F_200C_206B_206B_202D_206E_202B_206A_202C_206D_202E_200E_206F_200B_200B_206C_200D_202B_200F_206E_202B_202E(EqualityContract, other.EqualityContract)) ? (-565418875) : (-565418877));
break;
case 7:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 4:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? (-565418875) : (-565418873));
break;
case 3:
num = -565418874;
break;
case 5:
return true;
case 2:
return false;
}
}
}
bool IEquatable<RepeatedJumpTask>.Equals(RepeatedJumpTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_206C_202B_206C_200C_202A_200E_200D_202B_206C_202A_202C_200F_206E_202C_206D_206A_200F_206C_206D_200E_206C_200D_206B_200D_206E_202C_200D_206E_202B_206C_202C_202E_202E_200D_206B_206C_206B_206E_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _202A_206C_206D_200C_200D_206B_202A_202E_206E_200E_202B_206F_200B_202C_202E_202B_206F_206F_206E_206D_202E_206D_206A_200B_206C_202B_206F_206D_202B_206F_206F_202A_200E_202E_206D_202D_200F_202D_206B_200E_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static void _202B_200C_200F_202B_206D_202B_200E_206F_202A_206E_200E_202E_200F_202B_200F_200B_200D_200B_202E_200F_206C_200F_200E_202D_200B_202D_206E_200D_206E_206A_206E_200F_206D_200E_202C_206E_200D_206A_202D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206B_206B_206F_202A_202C_206E_206A_206F_206E_200E_206A_206C_206B_202C_206C_206B_200E_202A_206A_206F_200C_206B_206B_202D_206E_202B_206A_202C_206D_202E_200E_206F_200B_200B_206C_200D_202B_200F_206E_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -116,7 +429,7 @@ internal static class Jump
{
private readonly IObjectTable _objectTable;
private DateTime _continueAt;
private long _continueAt;
private int _attempts;
@ -125,43 +438,123 @@ internal static class Jump
_003Ccondition_003EP = condition;
_003Clogger_003EP = logger;
_objectTable = objectTable;
_continueAt = DateTime.MinValue;
base._002Ector(movementController, objectTable, framework);
}
protected override bool Start()
{
_continueAt = DateTime.Now + TimeSpan.FromSeconds(2f * (base.Task.JumpDestination.DelaySeconds ?? 0.5f));
_continueAt = _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() + (long)(2000f * (_202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(base.Task.JumpDestination) ?? 0.5f));
return base.Start();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (DateTime.Now < _continueAt || _003Ccondition_003EP[ConditionFlag.Jumping])
int num = ((_206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() < _continueAt) ? 1172986635 : 1172986637);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 1172986631;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((_attempts < 50) ? 1172986624 : 1172986639);
break;
case 10:
num = ((!_206D_206B_206A_206D_202A_202D_206D_206A_200E_202A_202E_202E_206E_200C_206B_202D_206F_200E_200D_200C_206F_206E_202B_202D_200F_200B_206C_200C_202E_200F_206C_200E_202E_200C_202D_202B_206D_200E_202A_206A_202E(_003Ccondition_003EP, ConditionFlag.Jumping)) ? 1172986626 : 1172986635);
break;
case 2:
_200F_206F_200B_200C_202D_206C_202A_202A_202D_206D_200E_200B_202D_202B_206A_202A_206D_206F_200F_202E_200D_202A_200B_206F_200E_200B_206A_202B_200E_206A_206A_206F_200B_202A_200D_206D_200E_206F_200E_206C_202E((ILogger)_003Clogger_003EP, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1550993377), new object[2]
{
_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter).Y,
_206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination).Y - 0.5f
});
num = ((!ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? 1172986627 : 1172986630);
break;
case 3:
num = 1172986637;
break;
case 7:
_continueAt = _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() + (long)(1000f * (_202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(base.Task.JumpDestination) ?? 0.5f));
return ETaskResult.StillRunning;
case 9:
num = ((!(_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter).Y >= _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination).Y - 0.5f)) ? 1172986629 : 1172986631);
break;
case 6:
return ETaskResult.TaskComplete;
case 12:
return ETaskResult.StillRunning;
case 5:
playerCharacter = _200F_200B_206F_202B_206B_202D_206F_206C_206A_200F_206F_200F_200D_206F_206C_206E_200C_200B_206D_206C_200D_200B_202E_200D_202E_202C_206C_200F_200F_202C_200E_206F_206E_202E_206B_200F_200F_200D_200F_206F_202E(_objectTable);
num = ((playerCharacter != null) ? 1172986636 : 1172986625);
break;
case 0:
return ETaskResult.TaskComplete;
case 8:
throw new TaskException(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1093799648));
case 11:
{
float num9 = _200D_206B_202D_200B_206C_206A_200C_200F_202B_206A_202A_202A_202C_206D_202E_200C_202A_200B_202D_200F_206C_200B_202C_202A_200F_200B_206F_200B_200F_202B_202C_200E_200E_206A_200C_200B_202D_206B_200E_202C_202E(base.Task.JumpDestination);
num = (((_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter) - _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination)).Length() <= num9) ? 1172986631 : 1172986638);
break;
}
case 1:
{
int attempts = _attempts;
num3 = 1;
num4 = attempts;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
_attempts = num7 + (num8 + num8);
num = 1172986627;
break;
}
}
}
IGameObject gameObject = _objectTable[0];
if (gameObject == null)
{
return ETaskResult.TaskComplete;
}
float num = base.Task.JumpDestination.CalculateStopDistance();
if ((gameObject.Position - base.Task.JumpDestination.Position).Length() <= num || gameObject.Position.Y >= base.Task.JumpDestination.Position.Y - 0.5f)
{
return ETaskResult.TaskComplete;
}
_003Clogger_003EP.LogTrace("Y-Heights for jumps: player={A}, target={B}", gameObject.Position.Y, base.Task.JumpDestination.Position.Y - 0.5f);
if (ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null))
{
_attempts++;
}
if (_attempts >= 50)
{
throw new TaskException("Tried to jump too many times, didn't reach the target");
}
_continueAt = DateTime.Now + TimeSpan.FromSeconds(base.Task.JumpDestination.DelaySeconds ?? 0.5f);
return ETaskResult.StillRunning;
}
static long _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E()
{
return Environment.TickCount64;
}
static float? _202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(JumpDestination P_0)
{
return P_0.DelaySeconds;
}
static bool _206D_206B_206A_206D_202A_202D_206D_206A_200E_202A_202E_202E_206E_200C_206B_202D_206F_200E_200D_200C_206F_206E_202B_202D_200F_200B_206C_200C_202E_200F_206C_200E_202E_200C_202D_202B_206D_200E_202A_206A_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static IPlayerCharacter _200F_200B_206F_202B_206B_202D_206F_206C_206A_200F_206F_200F_200D_206F_206C_206E_200C_200B_206D_206C_200D_200B_202E_200D_202E_202C_206C_200F_200F_202C_200E_206F_206E_202E_206B_200F_200F_200D_200F_206F_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static float _200D_206B_202D_200B_206C_206A_200C_200F_202B_206A_202A_202A_202C_206D_202E_200C_202A_200B_202D_200F_206C_200B_202C_202A_200F_200B_206F_200B_200F_202B_202C_200E_200E_206A_200C_200B_202D_206B_200E_202C_202E(JumpDestination P_0)
{
return P_0.CalculateStopDistance();
}
static Vector3 _202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E(IGameObject P_0)
{
return P_0.Position;
}
static Vector3 _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(JumpDestination P_0)
{
return P_0.Position;
}
static void _200F_206F_200B_200C_202D_206C_202A_202A_202D_206D_200E_200B_202D_202B_206A_202A_206D_206F_200F_202E_200D_202A_200B_206F_200E_200B_206A_202B_200E_206A_206A_206F_200B_202A_200D_206D_200E_206F_200E_206C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
}
}

View file

@ -0,0 +1,625 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using LLib;
using LLib.Gear;
using Microsoft.Extensions.Logging;
using Questionable.Model;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Interactions;
internal static class MeldMateria
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
int num = ((_206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(step) == EInteractionType.MeldMateria) ? (-35265804) : (-35265801));
while (true)
{
int num2 = num;
int num3 = -35265802;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0048;
case 2:
_200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E((object)_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(87510835));
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new MeldTask(_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step).Value, _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(step)));
case 1:
return Array.Empty<ITask>();
}
continue;
IL_0048:
num = -35265801;
}
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(QuestStep P_0)
{
return P_0.DataId;
}
}
internal sealed record MeldTask(uint MateriaItemId, uint? TargetItemId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(typeof(MeldTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1811893686));
defaultInterpolatedStringHandler.AppendFormatted(MateriaItemId);
string text = defaultInterpolatedStringHandler.ToStringAndClear();
string text2;
if (!TargetItemId.HasValue)
{
text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-87324410);
}
else
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1399814468));
defaultInterpolatedStringHandler2.AppendFormatted(TargetItemId);
text2 = defaultInterpolatedStringHandler2.ToStringAndClear();
}
return _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(text, text2);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E();
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1788087081));
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, MateriaItemId.ToString());
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-902104469));
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, TargetItemId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(MeldTask? other)
{
int num = (((object)this == other) ? (-74015245) : (-74015243));
while (true)
{
int num2 = num;
int num3 = -74015241;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return EqualityComparer<uint?>.Default.Equals(TargetItemId, other.TargetItemId);
case 1:
return false;
case 4:
return true;
case 3:
num = -74015243;
break;
case 6:
num = ((!EqualityComparer<uint>.Default.Equals(MateriaItemId, other.MateriaItemId)) ? (-74015242) : (-74015241));
break;
case 5:
num = ((!_206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(EqualityContract, other.EqualityContract)) ? (-74015242) : (-74015247));
break;
case 2:
num = (((object)other == null) ? (-74015242) : (-74015246));
break;
}
}
}
bool IEquatable<MeldTask>.Equals(MeldTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static void _200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoMeld(IGameGui gameGui, ILogger<DoMeld> logger) : TaskExecutor<MeldTask>()
{
private enum EMeldState
{
OpeningAgent,
WaitingForAgent,
SelectingCategory,
WaitingAfterCategory,
SelectingItem,
WaitingAfterItem,
SelectingMateria,
WaitingForDialog,
Confirming,
WaitingForCompletion
}
private Throttle _throttle;
private int _materiaStartCount;
private unsafe InventoryItem* _targetItem;
private InventoryType _targetInventoryType;
private EMeldState _state;
private long _stateChangedAt;
public override bool HasTimedOut(float timeoutSeconds)
{
return _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E() - _stateChangedAt > (long)(timeoutSeconds * 1000f);
}
private void SetState(EMeldState state)
{
_state = state;
_stateChangedAt = _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E();
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_materiaStartCount = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId);
int num = ((_materiaStartCount != 0) ? (-739386602) : (-739386601));
while (true)
{
int num2 = num;
int num3 = -739386603;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(545128444));
case 4:
SetState(EMeldState.OpeningAgent);
return true;
case 2:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1528987763), new object[1] { base.Task.MateriaItemId });
return false;
case 0:
num = -739386601;
break;
case 3:
num = (FindTargetItem() ? (-739386607) : (-739386604));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
int num = (_throttle.TryReset(0.5) ? 2029212334 : 2029212339);
int? num9 = default(int?);
int? num8 = default(int?);
int num7 = default(int);
while (true)
{
int num2 = num;
int num3 = 2029212349;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 11:
num = ((!_202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()) ? 2029212348 : 2029212335);
break;
case 22:
SetState(EMeldState.WaitingAfterCategory);
num = 2029212348;
break;
case 24:
goto IL_00fc;
case 23:
num = ((!_206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(num9.Value)) ? 2029212348 : 2029212321);
break;
case 18:
SetState(EMeldState.SelectingCategory);
num = 2029212348;
break;
case 9:
num = 2029212348;
break;
case 3:
_200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-554197545), Array.Empty<object>());
num = 2029212348;
break;
case 12:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1216192232), new object[1] { num8.Value });
SetState(EMeldState.WaitingAfterItem);
num = 2029212348;
break;
case 10:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-15165068), Array.Empty<object>());
SetState(EMeldState.WaitingForCompletion);
num = 2029212348;
break;
case 28:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-775372938), new object[1] { num9.Value });
SetState(EMeldState.WaitingForDialog);
num = 2029212348;
break;
case 7:
num = ((!_206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(num8.Value)) ? 2029212348 : 2029212337);
break;
case 5:
goto IL_025d;
case 20:
SetState(EMeldState.WaitingForAgent);
num = 2029212348;
break;
case 4:
SetState(EMeldState.SelectingItem);
num = 2029212348;
break;
case 26:
goto IL_02ab;
case 14:
return ETaskResult.StillRunning;
case 27:
SetState(EMeldState.Confirming);
num = 2029212348;
break;
case 15:
goto IL_02f5;
case 0:
goto IL_0317;
case 1:
goto IL_0344;
case 21:
goto IL_0346;
case 17:
goto IL_0368;
case 16:
num = 2029212339;
break;
case 13:
goto IL_039c;
case 25:
_200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1073359256), new object[1] { base.Task.MateriaItemId });
num = 2029212348;
break;
case 2:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1739389446), new object[3]
{
base.Task.MateriaItemId,
_materiaStartCount,
num7
});
_202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E();
return ETaskResult.TaskComplete;
case 6:
SetState(EMeldState.SelectingMateria);
num = 2029212348;
break;
case 19:
num7 = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId);
num = ((num7 >= _materiaStartCount) ? 2029212341 : 2029212351);
break;
case 8:
{
switch (_state)
{
case EMeldState.WaitingForAgent:
break;
case EMeldState.WaitingAfterItem:
goto IL_00fc;
case EMeldState.WaitingForDialog:
goto IL_025d;
case EMeldState.SelectingMateria:
goto IL_02ab;
case EMeldState.OpeningAgent:
goto IL_02f5;
case EMeldState.SelectingCategory:
goto IL_0317;
case EMeldState.WaitingForCompletion:
goto IL_0344;
case EMeldState.WaitingAfterCategory:
goto IL_0346;
case EMeldState.Confirming:
goto IL_0368;
case EMeldState.SelectingItem:
goto IL_039c;
default:
goto IL_04cf;
}
goto case 11;
}
IL_04cf:
num = 2029212340;
break;
IL_039c:
num8 = _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(_targetItem);
num = (num8.HasValue ? 2029212346 : 2029212350);
break;
IL_025d:
num = ((!_206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(gameGui)) ? 2029212348 : 2029212326);
break;
IL_0368:
num = ((!_206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(gameGui)) ? 2029212348 : 2029212343);
break;
IL_0346:
num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212345);
break;
IL_00fc:
num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212347);
break;
IL_0344:
return ETaskResult.StillRunning;
IL_0317:
num = ((!_202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E((int)_206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(_targetInventoryType))) ? 2029212348 : 2029212331);
break;
IL_02f5:
num = ((!_206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()) ? 2029212348 : 2029212329);
break;
IL_02ab:
num9 = _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(base.Task.MateriaItemId);
num = (num9.HasValue ? 2029212330 : 2029212324);
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe bool FindTargetItem()
{
InventoryManager* ptr = InventoryManager.Instance();
int num = ((ptr != null) ? (-1479293445) : (-1479293444));
int num5 = default(int);
ReadOnlySpan<InventoryType> readOnlySpan = default(ReadOnlySpan<InventoryType>);
InventoryType inventoryType = default(InventoryType);
InventoryContainer* inventoryContainer = default(InventoryContainer*);
int num6 = default(int);
InventoryItem* inventorySlot = default(InventoryItem*);
while (true)
{
int num2 = num;
int num3 = -1479293451;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 7:
{
int num10 = num5;
num3 = 1;
num4 = num10;
int num11 = num4 ^ num3;
int num12 = num4 & num3;
num5 = num11 + (num12 + num12);
num = -1479293456;
break;
}
case 5:
num = ((num5 < readOnlySpan.Length) ? (-1479293442) : (-1479293455));
break;
case 11:
inventoryType = readOnlySpan[num5];
inventoryContainer = ptr->GetInventoryContainer(inventoryType);
num = ((inventoryContainer == null) ? (-1479293454) : (-1479293452));
break;
case 1:
num6 = 0;
num = -1479293441;
break;
case 13:
_targetItem = inventorySlot;
_targetInventoryType = inventoryType;
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1804696669), new object[3]
{
inventorySlot->ItemId,
inventoryType,
num6
});
return true;
case 12:
num = -1479293444;
break;
case 2:
inventorySlot = inventoryContainer->GetInventorySlot(num6);
num = ((inventorySlot == null) ? (-1479293450) : (-1479293443));
break;
case 14:
readOnlySpan = new InventoryType[15]
{
InventoryType.Inventory1,
InventoryType.Inventory2,
InventoryType.Inventory3,
InventoryType.Inventory4,
InventoryType.ArmoryMainHand,
InventoryType.ArmoryOffHand,
InventoryType.ArmoryHead,
InventoryType.ArmoryBody,
InventoryType.ArmoryHands,
InventoryType.ArmoryLegs,
InventoryType.ArmoryFeets,
InventoryType.ArmoryEar,
InventoryType.ArmoryNeck,
InventoryType.ArmoryWrist,
InventoryType.ArmoryRings
};
num5 = 0;
num = -1479293456;
break;
case 0:
num = ((inventorySlot->ItemId != base.Task.TargetItemId.Value) ? (-1479293450) : (-1479293448));
break;
case 4:
return false;
case 9:
return false;
case 6:
num = ((!base.Task.TargetItemId.HasValue) ? (-1479293448) : (-1479293451));
break;
case 10:
num = ((num6 < inventoryContainer->Size) ? (-1479293449) : (-1479293454));
break;
case 3:
{
int num7 = num6;
num3 = 1;
num4 = num7;
int num8 = num4 ^ num3;
int num9 = num4 & num3;
num6 = num8 + (num9 + num9);
num = -1479293441;
break;
}
case 8:
num = ((inventorySlot->ItemId == 0) ? (-1479293450) : (-1479293453));
break;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E()
{
return Environment.TickCount64;
}
static int _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(uint P_0)
{
return MateriaHelper.CountMateriaInInventory(P_0);
}
static void _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E()
{
MeldActions.CloseMeldAgent();
}
static bool _206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()
{
return MeldActions.TryOpenMeldAgent();
}
static bool _202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()
{
return MeldActions.IsMeldAgentReady();
}
static AgentMateriaAttach.FilterCategory _206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(InventoryType P_0)
{
return MeldActions.GetFilterCategory(P_0);
}
static bool _202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E(int P_0)
{
return MeldActions.TrySelectItemCategory(P_0);
}
static bool _200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E()
{
return MeldActions.IsAgentLoading();
}
unsafe static int? _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(InventoryItem* P_0)
{
return MeldActions.FindItemIndex(P_0);
}
static void _200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(int P_0)
{
return MeldActions.TrySelectItem(P_0);
}
static int? _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(uint P_0)
{
return MeldActions.FindMateriaIndex(P_0);
}
static bool _206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(int P_0)
{
return MeldActions.TrySelectMateria(P_0);
}
static bool _206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(IGameGui P_0)
{
return MeldActions.IsMeldDialogReady(P_0);
}
static bool _206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(IGameGui P_0)
{
return MeldActions.TryConfirmMeld(P_0);
}
}
}

View file

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Controller.Steps.Common;
using Questionable.Functions;
using Questionable.Model;
@ -11,42 +13,189 @@ internal static class Say
{
internal sealed class Factory(ExcelFunctions excelFunctions) : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
EInteractionType interactionType = step.InteractionType;
if ((uint)(interactionType - 28) <= 1u)
EInteractionType eInteractionType = _200F_200B_202D_200D_206C_200C_200F_200B_200D_202E_200C_202D_202C_200F_200D_202B_206A_206C_202E_200B_206A_206B_206B_206E_202D_206D_202E_206B_200F_206C_202C_200E_200E_206B_202B_200C_202A_206D_206C_206D_202E(step);
int num = (((uint)(eInteractionType - 30) > 1u) ? (-860411763) : (-860411770));
bool flag = default(bool);
while (true)
{
if (step.ChatMessage == null)
int num2 = num;
int num3 = -860411762;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
flag = false;
num = -860411767;
break;
case 1:
{
_206E_200C_202C_200D_206A_206A_202C_206A_202B_202B_200D_202C_202E_202D_206D_200B_202B_206E_206E_200B_206F_202C_200B_200B_202E_200C_206F_202A_202E_206C_206A_202E_202D_200F_200F_200F_206A_200B_200F_202E((object)_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-312135304));
string? text = excelFunctions.GetDialogueText(quest, _206F_200C_206F_206F_206B_200F_202C_202D_206D_200C_200E_206C_206A_200C_202C_200F_206A_202C_202E_206F_206A_206A_206F_200F_202A_200F_206E_200D_206D_200F_202E_206C_200C_206C_200D_206B_206E_200C_206E_202E(_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step)), _206C_206B_206C_200D_200E_202C_202C_202A_202B_206A_202C_202D_206B_202C_200C_206A_202E_202E_200D_202B_202A_200B_206A_200E_200F_200E_206D_200B_206B_202B_200B_202E_206E_200C_200F_202E_202D_200F_200D_202E(_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step)), isRegex: false).GetString();
_206E_200C_202C_200D_206A_206A_202C_206A_202B_202B_200D_202C_202E_202D_206D_200B_202B_206E_206E_200B_206F_202C_200B_200B_202E_200C_206F_202A_202E_206C_206A_202E_202D_200F_200F_200F_206A_200B_200F_202E((object)text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1509183422));
Mount.UnmountTask unmountTask = new Mount.UnmountTask();
Task task = new Task(text);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, task });
}
case 2:
num = -860411770;
break;
case 5:
num = ((_200F_200B_202D_200D_206C_200C_200F_200B_200D_202E_200C_202D_202C_200F_200D_202B_206A_206C_202E_200B_206A_206B_206B_206E_202D_206D_202E_206B_200F_206C_202C_200E_200E_206B_202B_200C_202A_206D_206C_206D_202E(step) == EInteractionType.Say) ? (-860411761) : (-860411768));
break;
case 8:
flag = true;
num = -860411767;
break;
case 7:
num = ((!flag) ? (-860411765) : (-860411766));
break;
case 0:
return Array.Empty<ITask>();
case 6:
return Array.Empty<ITask>();
case 4:
num = ((_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step) != null) ? (-860411761) : (-860411762));
break;
}
}
else if (step.InteractionType != EInteractionType.Say)
{
return Array.Empty<ITask>();
}
ArgumentNullException.ThrowIfNull(step.ChatMessage, "step.ChatMessage");
string? text = excelFunctions.GetDialogueText(quest, step.ChatMessage.ExcelSheet, step.ChatMessage.Key, isRegex: false).GetString();
ArgumentNullException.ThrowIfNull(text, "excelString");
Mount.UnmountTask unmountTask = new Mount.UnmountTask();
Task task = new Task(text);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, task });
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _200F_200B_202D_200D_206C_200C_200F_200B_200D_202E_200C_202D_202C_200F_200D_202B_206A_206C_202E_200B_206A_206B_206B_206E_202D_206D_202E_206B_200F_206C_202C_200E_200E_206B_202B_200C_202A_206D_206C_206D_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static ChatMessage _206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(QuestStep P_0)
{
return P_0.ChatMessage;
}
static void _206E_200C_202C_200D_206A_206A_202C_206A_202B_202B_200D_202C_202E_202D_206D_200B_202B_206E_206E_200B_206F_202C_200B_200B_202E_200C_206F_202A_202E_206C_206A_202E_202D_200F_200F_200F_206A_200B_200F_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static string _206F_200C_206F_206F_206B_200F_202C_202D_206D_200C_200E_206C_206A_200C_202C_200F_206A_202C_202E_206F_206A_206A_206F_200F_202A_200F_206E_200D_206D_200F_202E_206C_200C_206C_200D_206B_206E_200C_206E_202E(ChatMessage P_0)
{
return P_0.ExcelSheet;
}
static string _206C_206B_206C_200D_200E_202C_202C_202A_202B_206A_202C_202D_206B_202C_200C_206A_202E_202E_200D_202B_202A_200B_206A_200E_200F_200E_206D_200B_206B_202B_200B_202E_206E_200C_200F_202E_202D_200F_200D_202E(ChatMessage P_0)
{
return P_0.Key;
}
}
internal sealed record Task(string ChatMessage) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_200D_200F_202A_206D_206C_202C_200F_206A_206F_206C_200E_200F_200C_202E_200D_206C_202A_206E_200B_206F_206D_202E_206E_200B_200C_206A_200D_206B_202A_202A_206F_202C_202E_202A_202D_206E_202B_202A_202E_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Say(" + ChatMessage + ")";
return _206D_200F_202C_202C_202B_202B_202C_200F_200C_202B_206B_206A_202C_206E_200D_206C_200F_206F_200C_206F_206D_200F_206B_202C_202C_206B_202D_200C_206F_200C_202C_200E_206C_202D_200C_200B_200E_206C_202D_206B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-738399246), ChatMessage, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_202C_202A_200C_202C_206F_206B_206E_200B_200B_200F_202B_202D_202B_200C_200D_206A_200F_206A_200D_206C_206D_200D_206E_202E_206C_206F_206F_200B_202B_202B_206D_202B_200D_206F_202B_206A_202A_202C_202B_202E();
_206E_206C_200E_206E_202B_200C_200D_200B_202C_206F_206C_202C_202C_206B_200D_200D_202A_200E_206C_206C_200E_200E_206B_206B_202A_200D_206C_206D_202A_202C_206F_200D_202D_200D_206C_206A_200E_206F_206B_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1224470914));
_206B_206F_200B_202D_202E_202D_206E_200F_206B_206F_200D_206F_200D_206C_202D_200F_202C_206D_202E_206A_206B_202A_202B_200C_200B_200E_200F_200D_202E_206B_206D_206D_200C_200E_200B_202D_202D_200E_202E_202B_202E(builder, (object)ChatMessage);
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? (-652063251) : (-652063254));
while (true)
{
int num2 = num;
int num3 = -652063250;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return true;
case 4:
num = (((object)other == null) ? (-652063249) : (-652063250));
break;
case 1:
return false;
case 2:
return EqualityComparer<string>.Default.Equals(ChatMessage, other.ChatMessage);
case 0:
num = ((!_202E_202D_202C_202D_202B_202D_202E_206E_200B_200F_200E_200E_206E_206A_202C_200F_202B_206D_200D_202A_202D_206A_206B_200D_206A_206E_200E_206F_202A_200C_202E_206D_200C_200B_202B_206B_206C_202B_200B_206F_202E(EqualityContract, other.EqualityContract)) ? (-652063249) : (-652063252));
break;
case 5:
num = -652063254;
break;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_200D_200F_202A_206D_206C_202C_200F_206A_206F_206C_200E_200F_200C_202E_200D_206C_202A_206E_200B_206F_206D_202E_206E_200B_200C_206A_200D_206B_202A_202A_206F_202C_202E_202A_202D_206E_202B_202A_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _206D_200F_202C_202C_202B_202B_202C_200F_200C_202B_206B_206A_202C_206E_200D_206C_200F_206F_200C_206F_206D_200F_206B_202C_202C_206B_202D_200C_206F_200C_202C_200E_206C_202D_200C_200B_200E_206C_202D_206B_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static void _200B_202C_202A_200C_202C_206F_206B_206E_200B_200B_200F_202B_202D_202B_200C_200D_206A_200F_206A_200D_206C_206D_200D_206E_202E_206C_206F_206F_200B_202B_202B_206D_202B_200D_206F_202B_206A_202A_202C_202B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206E_206C_200E_206E_202B_200C_200D_200B_202C_206F_206C_202C_202C_206B_200D_200D_202A_200E_206C_206C_200E_200E_206B_206B_202A_200D_206C_206D_202A_202C_206F_200D_202D_200D_206C_206A_200E_206F_206B_200E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206B_206F_200B_202D_202E_202D_206E_200F_206B_206F_200D_206F_200D_206C_202D_200F_202C_206D_202E_206A_206B_202A_202B_200C_200B_200E_200F_200D_202E_206B_206D_206D_200C_200E_200B_202D_202D_200E_202E_202B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202E_202D_202C_202D_202B_202D_202E_206E_200B_200F_200E_200E_206E_206A_202C_200F_202B_206D_200D_202A_202D_206A_206B_200D_206A_206E_200E_206F_202A_200C_202E_206D_200C_200B_202B_206B_206C_202B_200B_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseChat(ChatFunctions chatFunctions) : AbstractDelayedTaskExecutor<Task>()
internal sealed class UseChat : AbstractDelayedTaskExecutor<Task>
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool StartInternal()
{
chatFunctions.ExecuteCommand("/say " + base.Task.ChatMessage);
ChatFunctions.ExecuteCommand(_206E_206D_200E_202D_200C_206C_202E_200F_206E_200B_202E_206D_202D_202D_206B_202A_202D_202B_200E_202A_200C_200B_206D_202D_200E_206E_202D_206A_200C_206D_202C_206C_202C_206E_202E_202A_200C_202E_202E_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-565060687), base.Task.ChatMessage));
return true;
}
@ -54,5 +203,10 @@ internal static class Say
{
return true;
}
static string _206E_206D_200E_202D_200C_206C_202E_200F_206E_200B_202E_206D_202D_202D_206B_202A_202D_202B_200E_202A_200C_200B_206D_202D_200E_206E_202D_206A_200C_206D_202C_206C_202C_206E_202E_202A_200C_202E_202E_202E_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
}
}

View file

@ -1,5 +1,7 @@
using System;
using Questionable.Controller.Steps.Common;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Questing;
@ -10,48 +12,199 @@ internal static class StatusOff
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.StatusOff)
int num = ((_200E_200F_206A_206B_202A_202D_202D_206B_200E_200C_202E_202A_206B_202A_206E_206E_206F_202B_202B_200E_200B_202C_202D_200E_206E_200C_200B_200C_206D_206C_206D_206B_206A_200B_206D_206A_202B_200D_202C_206D_202E(step) == EInteractionType.StatusOff) ? 693666408 : 693666411);
while (true)
{
return null;
int num2 = num;
int num3 = 693666410;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0048;
case 1:
return null;
case 2:
_200D_200C_200F_206F_200D_200C_206D_206C_200B_206F_200D_206D_206C_202E_200C_206F_206A_202D_206E_202C_200D_202D_200F_200E_206E_200F_206E_202E_206B_206B_202B_202D_206E_206A_206D_206F_202D_206F_206C_206B_202E((object)_200F_206B_206A_200E_200C_206E_200C_202D_206C_202B_200F_200B_202D_200F_200C_206B_200C_202C_200C_200E_206B_202A_206D_200C_206D_202A_200B_202E_202E_202A_202D_200B_206A_200B_206F_202B_206A_202E_202D_200E_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1410720020));
return new Task(_200F_206B_206A_200E_200C_206E_200C_202D_206C_202B_200F_200B_202D_200F_200C_206B_200C_202C_200C_200E_206B_202A_206D_200C_206D_202A_200B_202E_202E_202A_202D_200B_206A_200B_206F_202B_206A_202E_202D_200E_202E(step).Value);
}
continue;
IL_0048:
num = 693666411;
}
ArgumentNullException.ThrowIfNull(step.Status, "step.Status");
return new Task(step.Status.Value);
}
static EInteractionType _200E_200F_206A_206B_202A_202D_202D_206B_200E_200C_202E_202A_206B_202A_206E_206E_206F_202B_202B_200E_200B_202C_202D_200E_206E_200C_200B_200C_206D_206C_206D_206B_206A_200B_206D_206A_202B_200D_202C_206D_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EStatus? _200F_206B_206A_200E_200C_206E_200C_202D_206C_202B_200F_200B_202D_200F_200C_206B_200C_202C_200C_200E_206B_202A_206D_200C_206D_202A_200B_202E_202E_202A_202D_200B_206A_200B_206F_202B_206A_202E_202D_200E_202E(QuestStep P_0)
{
return P_0.Status;
}
static void _200D_200C_200F_206F_200D_200C_206D_206C_200B_206F_200D_206D_206C_202E_200C_206F_206A_202D_206E_202C_200D_202D_200F_200E_206E_200F_206E_202E_206B_206B_202B_202D_206E_206A_206D_206F_202D_206F_206C_206B_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Task(EStatus Status) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_206C_206E_202B_200D_206F_202A_206C_200C_200F_206C_202C_200D_202E_202D_206C_206F_202A_200F_200F_202E_200C_206F_206D_202E_202E_202E_202E_200D_202D_200F_202A_206C_202E_206A_202D_206F_200B_206A_200E_202E(typeof(Task).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"StatusOff({Status})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1347082361));
defaultInterpolatedStringHandler.AppendFormatted(Status);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_206B_200D_206E_202D_200B_206F_200C_202B_200B_206A_206C_206E_202A_206C_200B_200F_200C_206B_202D_206F_202D_202E_206D_206C_206D_206D_206D_206D_206E_200B_200B_206B_206A_206E_200D_202A_206A_200C_200C_202E();
_202A_206D_202B_202E_202C_206D_200E_206A_200C_200C_200E_202C_202E_206C_202C_200E_206F_206B_202C_202C_206F_200C_202E_206E_202A_206C_206D_200E_202B_202B_200C_200F_206D_206F_206D_206E_202D_200E_206C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1195039164));
_202A_206D_202B_202E_202C_206D_200E_206A_200C_200C_200E_202C_202E_206C_202C_200E_206F_206B_202C_202C_206F_200C_202E_206E_202A_206C_206D_200E_202B_202B_200C_200F_206D_206F_206D_206E_202D_200E_206C_202E(builder, Status.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 1615016880 : 1615016884);
while (true)
{
int num2 = num;
int num3 = 1615016885;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
return true;
case 1:
num = (((object)other == null) ? 1615016885 : 1615016886);
break;
case 4:
num = 1615016884;
break;
case 0:
return false;
case 3:
num = ((!_206A_206F_202E_202E_200F_202A_200B_200F_202D_206D_206B_206C_206E_206D_200D_202C_200D_206C_206C_200D_200C_202B_206D_200C_206D_202D_206E_202A_206C_200F_202D_200D_206C_200D_202B_202E_202A_206B_200F_206D_202E(EqualityContract, other.EqualityContract)) ? 1615016885 : 1615016887);
break;
case 2:
return EqualityComparer<EStatus>.Default.Equals(Status, other.Status);
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_206C_206E_202B_200D_206F_202A_206C_200C_200F_206C_202C_200D_202E_202D_206C_206F_202A_200F_200F_202E_200C_206F_206D_202E_202E_202E_202E_200D_202D_200F_202A_206C_202E_206A_202D_206F_200B_206A_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200B_206B_200D_206E_202D_200B_206F_200C_202B_200B_206A_206C_206E_202A_206C_200B_200F_200C_206B_202D_206F_202D_202E_206D_206C_206D_206D_206D_206D_206E_200B_200B_206B_206A_206E_200D_202A_206A_200C_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202A_206D_202B_202E_202C_206D_200E_206A_200C_200C_200E_202C_202E_206C_202C_200E_206F_206B_202C_202C_206F_200C_202E_206E_202A_206C_206D_200E_202B_202B_200C_200F_206D_206F_206D_206E_202D_200E_206C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206A_206F_202E_202E_200F_202A_200B_200F_202D_206D_206B_206C_206E_206D_200D_202C_200D_206C_206C_200D_200C_202B_206D_200C_206D_202D_206E_202A_206C_200F_202D_200D_206C_200D_202B_202E_202A_206B_200F_206D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoStatusOff(GameFunctions gameFunctions) : AbstractDelayedTaskExecutor<Task>()
internal sealed class DoStatusOff(GameFunctions gameFunctions) : TaskExecutor<Task>()
{
protected override bool StartInternal()
protected override bool Start()
{
if (gameFunctions.HasStatus(base.Task.Status))
int num = ((!gameFunctions.HasStatus(base.Task.Status)) ? 1955807885 : 1955807886);
while (true)
{
return GameFunctions.RemoveStatus(base.Task.Status);
int num2 = num;
int num3 = 1955807884;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0058;
case 1:
return false;
case 2:
return GameFunctions.RemoveStatus(base.Task.Status);
}
continue;
IL_0058:
num = 1955807886;
}
return false;
}
public override ETaskResult Update()
{
if (!gameFunctions.HasStatus(base.Task.Status))
int num = (gameFunctions.HasStatus(base.Task.Status) ? 2085538414 : 2085538413);
while (true)
{
return ETaskResult.TaskComplete;
int num2 = num;
int num3 = 2085538412;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0058;
case 1:
return ETaskResult.TaskComplete;
case 2:
return ETaskResult.StillRunning;
}
continue;
IL_0058:
num = 2085538413;
}
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()

View file

@ -0,0 +1,284 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using LLib.Gear;
using LLib.Inventory;
using Microsoft.Extensions.Logging;
using Questionable.Model;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Interactions;
internal static class UnequipItem
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
int num = ((_206A_202E_200F_200C_206A_200D_200E_200B_202B_206F_206B_206C_200C_206A_202C_206C_202D_200C_200C_202D_200C_206C_202C_200E_200C_206E_202B_206A_206C_206D_206C_200E_200D_202D_200F_206E_202E_200B_202B_206A_202E(step) == EInteractionType.UnequipItem) ? (-861222854) : (-861222855));
while (true)
{
int num2 = num;
int num3 = -861222853;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004a;
case 1:
_202E_206D_200F_200D_206C_206A_202A_202B_202E_200E_206B_200C_202A_202B_200E_200F_200F_206C_202B_206F_202C_206F_200C_202C_206D_202B_202A_200E_202E_206A_200F_202D_202C_200B_206E_206A_202D_206E_202B_202A_202E((object)_202E_200F_206D_200C_202D_206D_200F_206C_206C_200E_200D_200B_200E_202B_200D_200F_200D_202D_206A_202B_200E_202B_206B_206B_202D_206C_206F_200D_200E_200D_200F_200D_202D_206B_206E_206C_200B_202E_206F_206E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1496371967));
return new Task(_202E_200F_206D_200C_202D_206D_200F_206C_206C_200E_200D_200B_200E_202B_200D_200F_200D_202D_206A_202B_200E_202B_206B_206B_202D_206C_206F_200D_200E_200D_200F_200D_202D_206B_206E_206C_200B_202E_206F_206E_202E(step).Value);
case 2:
return null;
}
continue;
IL_004a:
num = -861222855;
}
}
static EInteractionType _206A_202E_200F_200C_206A_200D_200E_200B_202B_206F_206B_206C_200C_206A_202C_206C_202D_200C_200C_202D_200C_206C_202C_200E_200C_206E_202B_206A_206C_206D_206C_200E_200D_202D_200F_206E_202E_200B_202B_206A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _202E_200F_206D_200C_202D_206D_200F_206C_206C_200E_200D_200B_200E_202B_200D_200F_200D_202D_206A_202B_200E_202B_206B_206B_202D_206C_206F_200D_200E_200D_200F_200D_202D_206B_206E_206C_200B_202E_206F_206E_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _202E_206D_200F_200D_206C_206A_202A_202B_202E_200E_206B_200C_202A_202B_200E_200F_200F_206C_202B_206F_202C_206F_200C_202C_206D_202B_202A_200E_202E_206A_200F_202D_202C_200B_206E_206A_202D_206E_202B_202A_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Task(uint ItemId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200C_200D_202C_202C_200C_206D_206D_206D_200C_206C_202A_206E_202B_200B_206C_202A_200F_202D_202D_206F_202B_206F_206E_200F_200D_200B_200F_206B_206B_202B_200C_202B_202C_206A_200C_200B_202E_206E_200E_202D_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-582671275));
defaultInterpolatedStringHandler.AppendFormatted(ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200C_200E_200E_202C_200C_202C_200D_206E_206F_206A_200D_200B_200C_202D_202E_200E_202A_206A_200B_200F_206B_202A_206E_200E_202E_206D_202E_206F_200F_200B_200F_202D_202A_206D_200E_206C_202B_200F_206F_206E_202E();
_200F_200B_206D_200C_202E_206B_200F_206B_200E_206E_206C_206D_206F_200B_200C_200E_206D_206B_200B_206A_200F_206E_202D_202B_206E_206C_206D_200B_200E_202D_200E_206A_206F_200D_202D_202C_206A_202A_200C_202E_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1176260912));
_200F_200B_206D_200C_202E_206B_200F_206B_200E_206E_206C_206D_206F_200B_200C_200E_206D_206B_200B_206A_200F_206E_202D_202B_206E_206C_206D_200B_200E_202D_200E_206A_206F_200D_202D_202C_206A_202A_200C_202E_202E(builder, ItemId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 2131945258 : 2131945256);
while (true)
{
int num2 = num;
int num3 = 2131945259;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
return EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId);
case 3:
num = (((object)other == null) ? 2131945257 : 2131945263);
break;
case 2:
return false;
case 4:
num = ((!_200B_202B_202C_206B_206C_202A_206C_200B_200C_200B_202E_200E_206C_200D_200F_200D_206C_206C_206D_200E_200B_200C_206E_206E_206B_200D_202D_202E_206A_202C_202B_206F_202B_206D_206E_202B_202B_200B_200E_206F_202E(EqualityContract, other.EqualityContract)) ? 2131945257 : 2131945262);
break;
case 0:
num = 2131945256;
break;
case 1:
return true;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200C_200D_202C_202C_200C_206D_206D_206D_200C_206C_202A_206E_202B_200B_206C_202A_200F_202D_202D_206F_202B_206F_206E_200F_200D_200B_200F_206B_206B_202B_200C_202B_202C_206A_200C_200B_202E_206E_200E_202D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200C_200E_200E_202C_200C_202C_200D_206E_206F_206A_200D_200B_200C_202D_202E_200E_202A_206A_200B_200F_206B_202A_206E_200E_202E_206D_202E_206F_200F_200B_200F_202D_202A_206D_200E_206C_202B_200F_206F_206E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200F_200B_206D_200C_202E_206B_200F_206B_200E_206E_206C_206D_206F_200B_200C_200E_206D_206B_200B_206A_200F_206E_202D_202B_206E_206C_206D_200B_200E_202D_200E_206A_206F_200D_202D_202C_206A_202A_200C_202E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200B_202B_202C_206B_206C_202A_206C_200B_200C_200B_202E_200E_206C_200D_200F_200D_206C_206C_206D_200E_200B_200C_206E_206E_206B_200D_202D_202E_206A_202C_202B_206F_202B_206D_206E_202B_202B_200B_200E_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoUnequip(ILogger<DoUnequip> logger) : TaskExecutor<Task>()
{
private long _continueAt;
private int _attempts;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
int num = _200F_200E_202E_200C_200F_202C_202B_206B_206C_202A_206E_202A_206B_200B_206B_206E_200C_200E_200D_202D_206B_202E_202A_200D_206D_206C_202C_206E_206B_206B_202D_200E_202A_202D_206D_206D_200C_202C_202D_202E(base.Task.ItemId);
int num2 = ((num >= 0) ? 206916703 : 206916700);
while (true)
{
int num3 = num2;
int num4 = 206916702;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 0:
num2 = 206916700;
break;
case 3:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(50, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-547465777));
defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(271275153));
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 2:
_202B_206F_206B_200B_206A_202E_206C_206E_206F_202C_206B_200D_200D_202D_202E_206B_202A_202D_200D_202A_206A_200D_206A_202E_200B_202B_200B_206F_200D_206E_202B_202B_200F_202D_202A_200C_200D_206B_200B_200D_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(539896609), new object[1] { base.Task.ItemId });
return false;
case 1:
num2 = (_206F_200E_202D_202D_202E_202B_202A_206A_206B_206B_200D_202A_202C_206B_206C_200F_200C_202B_200E_202D_202D_206B_206B_206C_206D_206B_202B_200C_200C_202D_202E_200F_206C_206F_200E_206A_206A_202D_200F_202E(num) ? 206916698 : 206916701);
break;
case 4:
_continueAt = _206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() + 1000;
_attempts = 1;
return true;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
int num = ((_206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() >= _continueAt) ? 77146182 : 77146191);
int num5 = default(int);
while (true)
{
int num2 = num;
int num3 = 77146190;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(36, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1782220482));
defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-441186023));
defaultInterpolatedStringHandler.AppendFormatted(_attempts);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-770584815));
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 1:
return ETaskResult.StillRunning;
case 5:
_continueAt = _206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() + 1000;
return ETaskResult.StillRunning;
case 2:
_206F_200E_202D_202D_202E_202B_202A_206A_206B_206B_200D_202A_202C_206B_206C_200F_200C_202B_200E_202D_202D_206B_206B_206C_206D_206B_202B_200C_200C_202D_202E_200F_206C_206F_200E_206A_206A_202D_200F_202E(num5);
num = 77146187;
break;
case 0:
{
int attempts = _attempts;
num3 = 1;
num4 = attempts;
int num6 = num4 ^ num3;
int num7 = num4 & num3;
_attempts = num6 + (num7 + num7);
num = ((_attempts <= 3) ? 77146185 : 77146184);
break;
}
case 7:
num5 = _200F_200E_202E_200C_200F_202C_202B_206B_206C_202A_206E_202A_206B_200B_206B_206E_200C_200E_200D_202D_206B_202E_202A_200D_206D_206C_202C_206E_206B_206B_202D_200E_202A_202D_206D_206D_200C_202C_202D_202E(base.Task.ItemId);
num = ((num5 < 0) ? 77146187 : 77146188);
break;
case 8:
num = (_202D_206D_206B_200D_206E_202E_206F_206B_200F_200C_202C_206D_200E_206E_202B_200C_206D_206F_200B_206E_200F_200F_200E_202B_202C_206F_200D_202C_202A_206E_206F_206A_202E_200F_206A_206E_202B_206F_202B_200F_202E(base.Task.ItemId) ? 77146190 : 77146189);
break;
case 4:
num = 77146191;
break;
case 3:
return ETaskResult.TaskComplete;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static int _200F_200E_202E_200C_200F_202C_202B_206B_206C_202A_206E_202A_206B_200B_206B_206E_200C_200E_200D_202D_206B_202E_202A_200D_206D_206C_202C_206E_206B_206B_202D_200E_202A_202D_206D_206D_200C_202C_202D_202E(uint P_0)
{
return InventoryHelper.GetEquippedItemSlot(P_0);
}
static void _202B_206F_206B_200B_206A_202E_206C_206E_206F_202C_206B_200D_200D_202D_202E_206B_202A_202D_200D_202A_206A_200D_206A_202E_200B_202B_200B_206F_200D_206E_202B_202B_200F_202D_202A_200C_200D_206B_200B_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206F_200E_202D_202D_202E_202B_202A_206A_206B_206B_200D_202A_202C_206B_206C_200F_200C_202B_200E_202D_202D_206B_206B_206C_206D_206B_202B_200C_200C_202D_202E_200F_206C_206F_200E_206A_206A_202D_200F_202E(int P_0)
{
return EEquipSlotCategoryExtensions.TryUnequipItem(P_0);
}
static long _206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E()
{
return Environment.TickCount64;
}
static bool _202D_206D_206B_200D_206E_202E_206F_206B_200F_200C_202C_206D_200E_206E_202B_200C_206D_206F_200B_206E_200F_200F_200E_202B_202C_206F_200D_202C_202A_206E_206F_206A_202E_200F_206A_206E_202B_206F_202B_200F_202E(uint P_0)
{
return InventoryHelper.IsItemEquipped(P_0);
}
}
}