muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
|
|
@ -4,7 +4,7 @@ namespace Questionable.Controller.Steps.Common;
|
|||
|
||||
internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> where T : class, ITask
|
||||
{
|
||||
private DateTime _continueAt;
|
||||
private long _continueAtMs;
|
||||
|
||||
protected TimeSpan Delay { get; set; }
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> where T
|
|||
protected sealed override bool Start()
|
||||
{
|
||||
bool result = StartInternal();
|
||||
_continueAt = DateTime.Now.Add(Delay);
|
||||
_continueAtMs = _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() + (long)Delay.TotalMilliseconds;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
@ -29,15 +29,36 @@ internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> where T
|
|||
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
if (_continueAt >= DateTime.Now)
|
||||
int num = ((_200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() >= _continueAtMs) ? 741757895 : 741757892);
|
||||
while (true)
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
int num2 = num;
|
||||
int num3 = 741757894;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004d;
|
||||
case 1:
|
||||
return UpdateInternal();
|
||||
case 2:
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
continue;
|
||||
IL_004d:
|
||||
num = 741757892;
|
||||
}
|
||||
return UpdateInternal();
|
||||
}
|
||||
|
||||
protected virtual ETaskResult UpdateInternal()
|
||||
{
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
|
||||
static long _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.ClientState.Objects.SubKinds;
|
||||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
|
|
@ -17,17 +20,28 @@ internal static class Mount
|
|||
{
|
||||
internal sealed record MountTask : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206E_202A_200B_206E_202B_206B_202B_206B_200B_206D_206C_206B_206B_202D_206B_200E_202C_200B_202E_200F_202A_200B_202A_200E_200C_206C_206C_206D_200B_206A_206E_206F_202A_200D_200C_200E_200C_202C_202E_202E(typeof(MountTask).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
public ushort TerritoryId { get; init; }
|
||||
|
||||
public EMountIf MountIf { get; init; }
|
||||
|
||||
public FFXIVClientStructs.FFXIV.Common.Math.Vector3? Position { get; }
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public MountTask(ushort TerritoryId, EMountIf MountIf, FFXIVClientStructs.FFXIV.Common.Math.Vector3? Position = null)
|
||||
{
|
||||
this.TerritoryId = TerritoryId;
|
||||
this.MountIf = MountIf;
|
||||
this.Position = ((MountIf == EMountIf.AwayFromPosition) ? new FFXIVClientStructs.FFXIV.Common.Math.Vector3?(Position ?? throw new ArgumentNullException("Position")) : ((FFXIVClientStructs.FFXIV.Common.Math.Vector3?)null));
|
||||
this.Position = ((MountIf == EMountIf.AwayFromPosition) ? new FFXIVClientStructs.FFXIV.Common.Math.Vector3?(Position ?? throw _202C_200E_202C_200D_200F_206F_202E_206F_202A_202E_202D_206A_200D_206A_206D_200C_200C_206A_206E_206B_200B_200B_200B_200D_206A_202A_200F_206A_202B_202E_200E_200D_202A_202A_206F_200E_200C_202B_200D_206A_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>(1692510639))) : ((FFXIVClientStructs.FFXIV.Common.Math.Vector3?)null));
|
||||
base._002Ector();
|
||||
}
|
||||
|
||||
|
|
@ -36,9 +50,72 @@ internal static class Mount
|
|||
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 "Mount";
|
||||
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-9684774);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_206A_206A_206A_206C_206E_200C_200D_202A_200C_200C_202B_202D_202A_206A_202C_206E_206D_206F_202A_206E_206F_202E_202E_206E_200E_206B_202A_200F_202B_202C_206B_202B_200F_200C_206F_206D_200B_200B_200C_206D_202E();
|
||||
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_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>(-871596524));
|
||||
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, TerritoryId.ToString());
|
||||
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_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>(1100545370));
|
||||
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, MountIf.ToString());
|
||||
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1993330002));
|
||||
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, Position.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(MountTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-244243578) : (-244243579));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -244243580;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -244243579;
|
||||
break;
|
||||
case 5:
|
||||
return EqualityComparer<FFXIVClientStructs.FFXIV.Common.Math.Vector3?>.Default.Equals(Position, other.Position);
|
||||
case 1:
|
||||
num = (((object)other == null) ? (-244243582) : (-244243584));
|
||||
break;
|
||||
case 6:
|
||||
return false;
|
||||
case 3:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-244243582) : (-244243581));
|
||||
break;
|
||||
case 4:
|
||||
num = ((!_206A_206E_206B_202B_206B_206A_200C_200D_202E_206B_202B_200B_206B_202E_202B_206A_206B_202A_200B_206D_202E_202A_202B_202B_206A_200F_202E_206A_206D_206C_206B_206F_206B_202E_202A_202D_202D_200F_202C_202B_202E(EqualityContract, other.EqualityContract)) ? (-244243582) : (-244243577));
|
||||
break;
|
||||
case 2:
|
||||
return true;
|
||||
case 7:
|
||||
num = ((!EqualityComparer<EMountIf>.Default.Equals(MountIf, other.MountIf)) ? (-244243582) : (-244243583));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<MountTask>.Equals(MountTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
|
|
@ -48,50 +125,150 @@ internal static class Mount
|
|||
MountIf = this.MountIf;
|
||||
Position = this.Position;
|
||||
}
|
||||
|
||||
static ArgumentNullException _202C_200E_202C_200D_200F_206F_202E_206F_202A_202E_202D_206A_200D_206A_206D_200C_200C_206A_206E_206B_200B_200B_200B_200D_206A_202A_200F_206A_202B_202E_200E_200D_202A_202A_206F_200E_200C_202B_200D_206A_202E(string P_0)
|
||||
{
|
||||
return new ArgumentNullException(P_0);
|
||||
}
|
||||
|
||||
static Type _206E_202A_200B_206E_202B_206B_202B_206B_200B_206D_206C_206B_206B_202D_206B_200E_202C_200B_202E_200F_202A_200B_202A_200E_200C_206C_206C_206D_200B_206A_206E_206F_202A_200D_200C_200E_200C_202C_202E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _206A_206A_206A_206C_206E_200C_200D_202A_200C_200C_202B_202D_202A_206A_202C_206E_206D_206F_202A_206E_206F_202E_202E_206E_200E_206B_202A_200F_202B_202C_206B_202B_200F_200C_206F_206D_200B_200B_200C_206D_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206A_206E_206B_202B_206B_206A_200C_200D_202E_206B_202B_200B_206B_202E_202B_206A_206B_202A_200B_206D_202E_202A_202B_202B_206A_200F_202E_206A_206D_206C_206B_206F_206B_202E_202A_202D_202D_200F_202C_202B_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class MountEvaluator(GameFunctions gameFunctions, ICondition condition, TerritoryData territoryData, IClientState clientState, IObjectTable objectTable, ILogger<MountEvaluator> logger)
|
||||
{
|
||||
public unsafe MountResult EvaluateMountState(MountTask task, bool dryRun, ref DateTime retryAt)
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public unsafe MountResult EvaluateMountState(MountTask task, bool dryRun, ref long retryAtMs)
|
||||
{
|
||||
if (condition[ConditionFlag.Mounted])
|
||||
int num = ((!_200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(condition, ConditionFlag.Mounted)) ? (-1122253637) : (-1122253641));
|
||||
float num8 = default(float);
|
||||
LogLevel logLevel = default(LogLevel);
|
||||
while (true)
|
||||
{
|
||||
return MountResult.DontMount;
|
||||
}
|
||||
LogLevel logLevel = (dryRun ? LogLevel.None : LogLevel.Information);
|
||||
if (!territoryData.CanUseMount(task.TerritoryId))
|
||||
{
|
||||
logger.Log(logLevel, "Can't use mount in current territory {Id}", task.TerritoryId);
|
||||
return MountResult.DontMount;
|
||||
}
|
||||
if (gameFunctions.HasStatusPreventingMount())
|
||||
{
|
||||
logger.Log(logLevel, "Can't mount due to status preventing sprint or mount");
|
||||
return MountResult.DontMount;
|
||||
}
|
||||
if (task.MountIf == EMountIf.AwayFromPosition)
|
||||
{
|
||||
float num = System.Numerics.Vector3.Distance((FFXIVClientStructs.FFXIV.Common.Math.Vector3)(objectTable[0]?.Position ?? ((System.Numerics.Vector3)FFXIVClientStructs.FFXIV.Common.Math.Vector3.Zero)), task.Position.GetValueOrDefault());
|
||||
if (task.TerritoryId == clientState.TerritoryType && num < 30f && !Conditions.Instance()->Diving)
|
||||
int num2 = num;
|
||||
int num3 = -1122253647;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
int num7;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
logger.Log(logLevel, "Not using mount, as we're close to the target");
|
||||
case 14:
|
||||
num = ((!(num8 < 30f)) ? (-1122253635) : (-1122253640));
|
||||
break;
|
||||
case 3:
|
||||
num7 = 6;
|
||||
goto IL_00b6;
|
||||
case 8:
|
||||
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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>(-353154207), new object[1] { task.TerritoryId });
|
||||
num = (_200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(condition, ConditionFlag.InCombat) ? (-1122253644) : (-1122253643));
|
||||
break;
|
||||
case 4:
|
||||
num = ((!dryRun) ? (-1122253642) : (-1122253663));
|
||||
break;
|
||||
case 5:
|
||||
return MountResult.WhenOutOfCombat;
|
||||
case 12:
|
||||
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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>(-1123067859), new object[2] { num8, task.TerritoryId });
|
||||
num = -1122253639;
|
||||
break;
|
||||
case 2:
|
||||
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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>(603618635), Array.Empty<object>());
|
||||
return MountResult.DontMount;
|
||||
}
|
||||
logger.Log(logLevel, "Want to use mount if away from destination ({Distance} yalms), trying (in territory {Id})...", num, task.TerritoryId);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Log(logLevel, "Want to use mount, trying (in territory {Id})...", task.TerritoryId);
|
||||
}
|
||||
if (!condition[ConditionFlag.InCombat])
|
||||
{
|
||||
if (dryRun)
|
||||
case 11:
|
||||
num7 = 1;
|
||||
goto IL_00b6;
|
||||
case 6:
|
||||
return MountResult.DontMount;
|
||||
case 10:
|
||||
num = (dryRun ? (-1122253646) : (-1122253638));
|
||||
break;
|
||||
case 17:
|
||||
{
|
||||
retryAt = DateTime.Now.AddSeconds(0.5);
|
||||
IPlayerCharacter playerCharacter = _206D_202A_206A_206C_206E_206B_206D_200F_200D_206C_202B_200F_206D_202B_202B_202A_200F_200D_206A_202D_200F_200C_206B_202A_202E_200B_202C_206B_206E_206D_206D_200C_202E_206B_200C_200F_200B_202B_202C_206F_202E(objectTable);
|
||||
num8 = System.Numerics.Vector3.Distance((FFXIVClientStructs.FFXIV.Common.Math.Vector3)((playerCharacter != null) ? _206A_202D_206A_206C_202C_206D_200C_200D_202A_206C_202B_202D_206C_206D_206C_206C_202E_206D_200C_202C_206E_206B_202A_206C_200B_200B_206B_200E_206D_202D_200F_202D_206B_200F_206F_202B_202C_206B_200D_200D_202E((IGameObject)playerCharacter) : ((System.Numerics.Vector3)FFXIVClientStructs.FFXIV.Common.Math.Vector3.Zero)), task.Position.GetValueOrDefault());
|
||||
num = ((task.TerritoryId != _200D_200E_200C_202C_200D_202A_200E_206A_202B_206E_202E_206B_200B_202B_200D_202E_200C_206F_202A_206A_206D_206D_202B_206F_202A_206B_206F_200E_206E_200D_202C_206A_202C_202D_206C_206B_200E_200C_200B_200D_202E(clientState)) ? (-1122253635) : (-1122253633));
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
return MountResult.Mount;
|
||||
case 1:
|
||||
num = ((task.MountIf != EMountIf.AwayFromPosition) ? (-1122253639) : (-1122253664));
|
||||
break;
|
||||
case 15:
|
||||
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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>(1312445464), Array.Empty<object>());
|
||||
return MountResult.DontMount;
|
||||
case 0:
|
||||
num = -1122253641;
|
||||
break;
|
||||
case 13:
|
||||
num = ((!gameFunctions.HasStatusPreventingMount()) ? (-1122253648) : (-1122253634));
|
||||
break;
|
||||
case 9:
|
||||
num = (FFXIVClientStructs.FFXIV.Client.Game.Conditions.Instance()->Diving ? (-1122253635) : (-1122253645));
|
||||
break;
|
||||
case 18:
|
||||
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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>(2123178136), new object[1] { task.TerritoryId });
|
||||
return MountResult.DontMount;
|
||||
case 16:
|
||||
{
|
||||
retryAtMs = _202A_206E_202A_202E_200C_200F_200E_206C_206A_206A_202A_206A_206C_202D_200D_202D_200B_202B_206C_206B_206A_200F_200C_206D_206C_206C_200E_200B_200B_202A_206C_202D_200F_200D_206E_200D_200D_206F_206A_202D_202E() + 500;
|
||||
num = -1122253642;
|
||||
break;
|
||||
}
|
||||
IL_00b6:
|
||||
logLevel = (LogLevel)num7;
|
||||
num = (territoryData.CanUseMount(task.TerritoryId) ? (-1122253636) : (-1122253661));
|
||||
break;
|
||||
}
|
||||
return MountResult.Mount;
|
||||
}
|
||||
return MountResult.WhenOutOfCombat;
|
||||
}
|
||||
|
||||
static bool _200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(ICondition P_0, ConditionFlag P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
|
||||
static void _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E(ILogger P_0, LogLevel P_1, string P_2, object[] P_3)
|
||||
{
|
||||
P_0.Log(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static IPlayerCharacter _206D_202A_206A_206C_206E_206B_206D_200F_200D_206C_202B_200F_206D_202B_202B_202A_200F_200D_206A_202D_200F_200C_206B_202A_202E_200B_202C_206B_206E_206D_206D_200C_202E_206B_200C_200F_200B_202B_202C_206F_202E(IObjectTable P_0)
|
||||
{
|
||||
return P_0.LocalPlayer;
|
||||
}
|
||||
|
||||
static System.Numerics.Vector3 _206A_202D_206A_206C_202C_206D_200C_200D_202A_206C_202B_202D_206C_206D_206C_206C_202E_206D_200C_202C_206E_206B_202A_206C_200B_200B_206B_200E_206D_202D_200F_202D_206B_200F_206F_202B_202C_206B_200D_200D_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.Position;
|
||||
}
|
||||
|
||||
static uint _200D_200E_200C_202C_200D_202A_200E_206A_202B_206E_202E_206B_200B_202B_200D_202E_200C_206F_202A_206A_206D_206D_202B_206F_202A_206B_206F_200E_206E_200D_202C_206A_202C_202D_206C_206B_200E_200C_200B_200D_202E(IClientState P_0)
|
||||
{
|
||||
return P_0.TerritoryType;
|
||||
}
|
||||
|
||||
static long _202A_206E_202A_202E_200C_200F_200E_206C_206A_206A_202A_206A_206C_202D_200D_202D_200B_202B_206C_206B_206A_200F_200C_206D_206C_206C_200E_200B_200B_202A_206C_202D_200F_200D_206E_200D_200D_206F_206A_202D_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -99,44 +276,104 @@ internal static class Mount
|
|||
{
|
||||
private bool _mountTriggered;
|
||||
|
||||
private DateTime _retryAt = DateTime.MinValue;
|
||||
private long _retryAtMs;
|
||||
|
||||
protected override bool Start()
|
||||
{
|
||||
_mountTriggered = false;
|
||||
return mountEvaluator.EvaluateMountState(base.Task, dryRun: false, ref _retryAt) == MountResult.Mount;
|
||||
return mountEvaluator.EvaluateMountState(base.Task, dryRun: false, ref _retryAtMs) == MountResult.Mount;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
if (_mountTriggered && !condition[ConditionFlag.Mounted] && DateTime.Now > _retryAt)
|
||||
int num = ((!_mountTriggered) ? (-694294955) : (-694294952));
|
||||
while (true)
|
||||
{
|
||||
logger.LogInformation("Not mounted, retrying...");
|
||||
_mountTriggered = false;
|
||||
_retryAt = DateTime.MaxValue;
|
||||
}
|
||||
if (!_mountTriggered)
|
||||
{
|
||||
if (gameFunctions.HasStatusPreventingMount())
|
||||
int num2 = num;
|
||||
int num3 = -694294945;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
logger.LogInformation("Can't mount due to status preventing sprint or mount");
|
||||
case 2:
|
||||
num = ((!gameFunctions.HasStatusPreventingMount()) ? (-694294957) : (-694294950));
|
||||
break;
|
||||
case 3:
|
||||
ResetProgressTimer();
|
||||
return ETaskResult.TaskComplete;
|
||||
case 5:
|
||||
_200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1137964517), Array.Empty<object>());
|
||||
return ETaskResult.TaskComplete;
|
||||
case 6:
|
||||
_200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(614136280), Array.Empty<object>());
|
||||
_mountTriggered = false;
|
||||
_retryAtMs = long.MaxValue;
|
||||
num = -694294955;
|
||||
break;
|
||||
case 11:
|
||||
ResetProgressTimer();
|
||||
num = -694294945;
|
||||
break;
|
||||
case 10:
|
||||
num = (_mountTriggered ? (-694294946) : (-694294947));
|
||||
break;
|
||||
case 9:
|
||||
num = ((!base.ProgressContext.WasInterrupted()) ? (-694294958) : (-694294953));
|
||||
break;
|
||||
case 15:
|
||||
num = ((base.ProgressContext == null) ? (-694294945) : (-694294954));
|
||||
break;
|
||||
case 14:
|
||||
num = ((_206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() <= _retryAtMs) ? (-694294955) : (-694294951));
|
||||
break;
|
||||
case 7:
|
||||
num = (_200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(condition, ConditionFlag.Mounted) ? (-694294955) : (-694294959));
|
||||
break;
|
||||
case 13:
|
||||
num = ((!base.ProgressContext.WasSuccessful()) ? (-694294945) : (-694294956));
|
||||
break;
|
||||
case 1:
|
||||
num = ((!_200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(condition, ConditionFlag.Mounted)) ? (-694294960) : (-694294948));
|
||||
break;
|
||||
case 4:
|
||||
num = -694294952;
|
||||
break;
|
||||
case 8:
|
||||
_200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1257322524), Array.Empty<object>());
|
||||
_mountTriggered = false;
|
||||
return ETaskResult.StillRunning;
|
||||
case 0:
|
||||
return ETaskResult.StillRunning;
|
||||
case 12:
|
||||
base.ProgressContext = InteractionProgressContext.FromActionUse(() => _mountTriggered = gameFunctions.Mount());
|
||||
ResetProgressTimer();
|
||||
_retryAtMs = _206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() + 5000;
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
base.ProgressContext = InteractionProgressContext.FromActionUse(() => _mountTriggered = gameFunctions.Mount());
|
||||
_retryAt = DateTime.Now.AddSeconds(5.0);
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
if (!condition[ConditionFlag.Mounted])
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool _200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(ICondition P_0, ConditionFlag P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
|
||||
static long _206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
|
||||
static void _200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
}
|
||||
|
||||
internal enum MountResult
|
||||
|
|
@ -148,91 +385,238 @@ internal static class Mount
|
|||
|
||||
internal sealed record UnmountTask : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200C_206C_200F_206C_202C_202E_200C_200D_202B_202B_200C_206B_200D_206D_202E_206E_206F_206E_206E_202B_202B_200C_206E_202B_200F_206C_200C_200E_206F_206C_206D_200B_200C_206D_206D_202C_206E_200F_200E_202B_202E(typeof(UnmountTask).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 "Unmount";
|
||||
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2092040442);
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(UnmountTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-325437699) : (-325437704));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -325437700;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
return false;
|
||||
case 0:
|
||||
return _202E_200D_202B_206F_202E_206C_200C_200E_202A_206F_200E_206F_202E_202D_202C_206D_202E_200C_206D_206D_200F_200B_206F_202C_202D_206E_200E_206B_206F_200C_202E_206C_206C_206F_206B_206D_206B_200D_202D_206F_202E(EqualityContract, other.EqualityContract);
|
||||
case 4:
|
||||
num = (((object)other == null) ? (-325437697) : (-325437700));
|
||||
break;
|
||||
case 1:
|
||||
return true;
|
||||
case 2:
|
||||
num = -325437704;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<UnmountTask>.Equals(UnmountTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _200C_206C_200F_206C_202C_202E_200C_200D_202B_202B_200C_206B_200D_206D_202E_206E_206F_206E_206E_202B_202B_200C_206E_202B_200F_206C_200C_200E_206F_206C_206D_200B_200C_206D_206D_202C_206E_200F_200E_202B_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static bool _202E_200D_202B_206F_202E_206C_200C_200E_202A_206F_200E_206F_202E_202D_202C_206D_202E_200C_206D_206D_200F_200B_206F_202C_202D_206E_200E_206B_206F_200C_202E_206C_206C_206F_206B_206D_206B_200D_202D_206F_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class UnmountExecutor(ICondition condition, ILogger<UnmountTask> logger, GameFunctions gameFunctions, IObjectTable objectTable) : TaskExecutor<UnmountTask>()
|
||||
internal sealed class UnmountExecutor(ICondition condition, ILogger<UnmountExecutor> logger, GameFunctions gameFunctions, IObjectTable objectTable) : TaskExecutor<UnmountTask>()
|
||||
{
|
||||
private bool _unmountTriggered;
|
||||
|
||||
private DateTime _continueAt = DateTime.MinValue;
|
||||
private long _continueAtMs;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
protected override bool Start()
|
||||
{
|
||||
if (!condition[ConditionFlag.Mounted])
|
||||
int num = (_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted) ? 488246470 : 488246469);
|
||||
while (true)
|
||||
{
|
||||
return false;
|
||||
int num2 = num;
|
||||
int num3 = 488246471;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
_unmountTriggered = gameFunctions.Unmount();
|
||||
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
|
||||
return true;
|
||||
case 2:
|
||||
return false;
|
||||
case 4:
|
||||
gameFunctions.Unmount();
|
||||
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
|
||||
return true;
|
||||
case 3:
|
||||
num = 488246469;
|
||||
break;
|
||||
case 1:
|
||||
_202C_202D_200C_202C_200B_206C_200E_200F_202B_200F_200C_200E_206C_206A_200C_206F_202A_200B_202D_206E_206A_202D_206A_206A_200C_202B_200D_206B_206D_206F_202C_206F_202A_206D_202E_202E_202B_200F_200D_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-194036115), Array.Empty<object>());
|
||||
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InFlight)) ? 488246471 : 488246467);
|
||||
break;
|
||||
}
|
||||
}
|
||||
logger.LogInformation("Step explicitly wants no mount, trying to unmount...");
|
||||
if (condition[ConditionFlag.InFlight])
|
||||
{
|
||||
gameFunctions.Unmount();
|
||||
_continueAt = DateTime.Now.AddSeconds(1.0);
|
||||
return true;
|
||||
}
|
||||
_unmountTriggered = gameFunctions.Unmount();
|
||||
_continueAt = DateTime.Now.AddSeconds(1.0);
|
||||
return true;
|
||||
}
|
||||
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
if (_continueAt >= DateTime.Now)
|
||||
int num = ((_202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() >= _continueAtMs) ? 353264902 : 353264910);
|
||||
while (true)
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
if (IsUnmounting())
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
if (!_unmountTriggered)
|
||||
{
|
||||
if (condition[ConditionFlag.InFlight])
|
||||
{
|
||||
gameFunctions.Unmount();
|
||||
}
|
||||
else
|
||||
int num2 = num;
|
||||
int num3 = 353264907;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 13:
|
||||
num = ((!IsUnmounting()) ? 353264903 : 353264898);
|
||||
break;
|
||||
case 14:
|
||||
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InCombat)) ? 353264899 : 353264904);
|
||||
break;
|
||||
case 6:
|
||||
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
|
||||
return ETaskResult.StillRunning;
|
||||
case 1:
|
||||
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted)) ? 353264899 : 353264901);
|
||||
break;
|
||||
case 0:
|
||||
num = 353264910;
|
||||
break;
|
||||
case 2:
|
||||
return ETaskResult.TaskComplete;
|
||||
case 3:
|
||||
_unmountTriggered = gameFunctions.Unmount();
|
||||
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
|
||||
return ETaskResult.StillRunning;
|
||||
case 11:
|
||||
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InFlight)) ? 353264911 : 353264897);
|
||||
break;
|
||||
case 12:
|
||||
num = (_unmountTriggered ? 353264906 : 353264896);
|
||||
break;
|
||||
case 5:
|
||||
return ETaskResult.StillRunning;
|
||||
case 7:
|
||||
return ETaskResult.StillRunning;
|
||||
case 4:
|
||||
_unmountTriggered = gameFunctions.Unmount();
|
||||
num = 353264909;
|
||||
break;
|
||||
case 8:
|
||||
num = (_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted) ? 353264908 : 353264905);
|
||||
break;
|
||||
case 10:
|
||||
gameFunctions.Unmount();
|
||||
num = 353264909;
|
||||
break;
|
||||
case 9:
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
_continueAt = DateTime.Now.AddSeconds(1.0);
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
if (condition[ConditionFlag.Mounted] && condition[ConditionFlag.InCombat])
|
||||
{
|
||||
_unmountTriggered = gameFunctions.Unmount();
|
||||
_continueAt = DateTime.Now.AddSeconds(1.0);
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
if (!condition[ConditionFlag.Mounted])
|
||||
{
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
|
||||
private unsafe bool IsUnmounting()
|
||||
{
|
||||
if (objectTable[0] is IPlayerCharacter playerCharacter)
|
||||
IPlayerCharacter playerCharacter = _200B_202D_206D_206F_206B_202D_206B_206C_200C_202B_206F_206C_206E_200C_200E_202E_202D_202E_206C_206B_202B_200D_202B_206A_202B_206E_202B_206A_206E_206D_206D_200D_202D_202B_206E_200C_202D_206C_202E_202A_202E(objectTable);
|
||||
int num = ((playerCharacter == null) ? 117430025 : 117430026);
|
||||
while (true)
|
||||
{
|
||||
BattleChara* address = (BattleChara*)playerCharacter.Address;
|
||||
return (address->Mount.Flags & 1) == 1;
|
||||
int num2 = num;
|
||||
int num3 = 117430027;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0052;
|
||||
case 2:
|
||||
return false;
|
||||
case 1:
|
||||
{
|
||||
BattleChara* ptr = (BattleChara*)_200F_202B_206E_200F_206E_200C_200C_200F_206E_206D_206C_200D_202D_206E_200C_200E_206B_202D_202C_206D_206A_206D_200C_206E_200D_202E_202B_206F_200B_202D_206F_202A_206C_200E_206E_200E_206A_200D_202E_202E((IGameObject)playerCharacter);
|
||||
byte flags = ptr->Mount.Flags;
|
||||
num3 = 1;
|
||||
num4 = flags;
|
||||
return num4 + num3 - (num4 | num3) == 1;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_0052:
|
||||
num = 117430026;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool _202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(ICondition P_0, ConditionFlag P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
|
||||
static void _202C_202D_200C_202C_200B_206C_200E_200F_202B_200F_200C_200E_206C_206A_200C_206F_202A_200B_202D_206E_206A_202D_206A_206A_200C_202B_200D_206B_206D_206F_202C_206F_202A_206D_202E_202E_202B_200F_200D_202A_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static long _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
|
||||
static IPlayerCharacter _200B_202D_206D_206F_206B_202D_206B_206C_200C_202B_206F_206C_206E_200C_200E_202E_202D_202E_206C_206B_202B_200D_202B_206A_202B_206E_202B_206A_206E_206D_206D_200D_202D_202B_206E_200C_202D_206C_202E_202A_202E(IObjectTable P_0)
|
||||
{
|
||||
return P_0.LocalPlayer;
|
||||
}
|
||||
|
||||
static nint _200F_202B_206E_200F_206E_200C_200C_200F_206E_206D_206C_200D_202D_206E_200C_200E_206B_202D_202C_206D_206A_206D_200C_206E_200D_202E_202B_206F_200B_202D_206F_202A_206C_200E_206E_200E_206A_200D_202E_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.Address;
|
||||
}
|
||||
}
|
||||
|
||||
public enum EMountIf
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Functions;
|
||||
using Questionable.Model;
|
||||
|
|
@ -11,66 +15,234 @@ internal static class NextQuest
|
|||
{
|
||||
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
|
||||
{
|
||||
if (step.InteractionType != EInteractionType.CompleteQuest)
|
||||
int num = ((_202A_206F_206D_206A_200D_206F_200C_206B_202E_202D_202A_206A_206F_200C_200C_206C_202E_206D_202C_206A_206E_202E_202A_200E_206E_202B_202E_202B_206B_202C_200B_200D_200C_202E_202D_200B_202C_202B_206E_206E_202E(step) == EInteractionType.CompleteQuest) ? (-1909378292) : (-1909378290));
|
||||
while (true)
|
||||
{
|
||||
return null;
|
||||
int num2 = num;
|
||||
int num3 = -1909378291;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 7:
|
||||
num = -1909378290;
|
||||
break;
|
||||
case 0:
|
||||
return null;
|
||||
case 5:
|
||||
return new SetQuestTask(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), quest.Id);
|
||||
case 4:
|
||||
return null;
|
||||
case 1:
|
||||
num = ((!_200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), (ElementId)null)) ? (-1909378293) : (-1909378299));
|
||||
break;
|
||||
case 6:
|
||||
num = ((!_200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), quest.Id)) ? (-1909378289) : (-1909378295));
|
||||
break;
|
||||
case 2:
|
||||
num = ((!questFunctions.GetPriorityQuests(onlyClassAndRoleQuests: true).Contains(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step))) ? (-1909378296) : (-1909378291));
|
||||
break;
|
||||
case 3:
|
||||
return null;
|
||||
case 8:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
if (step.NextQuestId == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (step.NextQuestId == quest.Id)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (questFunctions.GetPriorityQuests(onlyClassAndRoleQuests: true).Contains(step.NextQuestId))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return new SetQuestTask(step.NextQuestId, quest.Id);
|
||||
}
|
||||
|
||||
static EInteractionType _202A_206F_206D_206A_200D_206F_200C_206B_202E_202D_202A_206A_206F_200C_200C_206C_202E_206D_202C_206A_206E_202E_202A_200E_206E_202B_202E_202B_206B_202C_200B_200D_200C_202E_202D_200B_202C_202B_206E_206E_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.InteractionType;
|
||||
}
|
||||
|
||||
static ElementId _206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.NextQuestId;
|
||||
}
|
||||
|
||||
static bool _200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(ElementId P_0, ElementId P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed record SetQuestTask(ElementId NextQuestId, ElementId CurrentQuestId) : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200E_202A_206A_200C_200D_202E_206B_206B_202B_206F_200D_202C_200C_202C_206A_200C_206B_206C_206C_206F_200E_202B_206C_200B_200C_206B_202A_200D_202A_206A_200B_200C_202C_202D_206A_202D_206E_202C_200B_206D_202E(typeof(SetQuestTask).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 $"SetNextQuest({NextQuestId})";
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 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>(-2031144159));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(NextQuestId);
|
||||
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)
|
||||
{
|
||||
_202E_206B_202E_200B_200D_200B_206F_206B_202D_202C_200C_200E_206B_206F_206C_202E_206A_206B_200D_202D_206B_206F_206F_202A_202C_206B_202C_206F_202C_206D_200E_200B_202B_202D_206C_200E_202D_206E_202D_200D_202E();
|
||||
_206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(129873473));
|
||||
_202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(builder, (object)NextQuestId);
|
||||
_206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1559739733));
|
||||
_202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(builder, (object)CurrentQuestId);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(SetQuestTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1393326810) : (-1393326816));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1393326814;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 3:
|
||||
return EqualityComparer<ElementId>.Default.Equals(CurrentQuestId, other.CurrentQuestId);
|
||||
case 2:
|
||||
num = (((object)other == null) ? (-1393326813) : (-1393326809));
|
||||
break;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<ElementId>.Default.Equals(NextQuestId, other.NextQuestId)) ? (-1393326813) : (-1393326815));
|
||||
break;
|
||||
case 4:
|
||||
return true;
|
||||
case 5:
|
||||
num = ((!_206E_200E_200E_200D_202D_206B_206B_200E_200F_206E_202B_200B_202D_206C_202B_202B_200C_206E_200C_202B_202A_206D_202C_200B_206D_206E_206C_206E_202D_202C_200F_206B_200D_200D_200B_200C_202A_206F_200B_202D_202E(EqualityContract, other.EqualityContract)) ? (-1393326813) : (-1393326812));
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 0:
|
||||
num = -1393326816;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<SetQuestTask>.Equals(SetQuestTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _200E_202A_206A_200C_200D_202E_206B_206B_202B_206F_200D_202C_200C_202C_206A_200C_206B_206C_206C_206F_200E_202B_206C_200B_200C_206B_202A_200D_202A_206A_200B_200C_202C_202D_206A_202D_206E_202C_200B_206D_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _202E_206B_202E_200B_200D_200B_206F_206B_202D_202C_200C_200E_206B_206F_206C_202E_206A_206B_200D_202D_206B_206F_206F_202A_202C_206B_202C_206F_202C_206D_200E_200B_202B_202D_206C_200E_202D_206E_202D_200D_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206E_200E_200E_200D_202D_206B_206B_200E_200F_206E_202B_200B_202D_206C_202B_202B_200C_206E_200C_202B_202A_206D_202C_200B_206D_206E_206C_206E_202D_202C_200F_206B_200D_200D_200B_200C_202A_206F_200B_202D_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class NextQuestExecutor(QuestRegistry questRegistry, QuestController questController, QuestFunctions questFunctions, ILogger<NextQuestExecutor> logger) : TaskExecutor<SetQuestTask>()
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
protected override bool Start()
|
||||
{
|
||||
QuestController.EAutomationType automationType = questController.AutomationType;
|
||||
Quest quest;
|
||||
if ((uint)(automationType - 3) <= 1u)
|
||||
int num = (((uint)(automationType - 3) > 1u) ? (-54591417) : (-54591410));
|
||||
bool flag = default(bool);
|
||||
Quest quest = default(Quest);
|
||||
while (true)
|
||||
{
|
||||
logger.LogInformation("Won't set next quest to {QuestId}, automation type is CurrentQuestOnly", base.Task.NextQuestId);
|
||||
questController.SetNextQuest(null);
|
||||
int num2 = num;
|
||||
int num3 = -54591409;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = ((!flag) ? (-54591415) : (-54591411));
|
||||
break;
|
||||
case 8:
|
||||
flag = false;
|
||||
num = -54591409;
|
||||
break;
|
||||
case 7:
|
||||
return true;
|
||||
case 6:
|
||||
num = ((!questFunctions.IsQuestLocked(base.Task.NextQuestId, base.Task.CurrentQuestId)) ? (-54591414) : (-54591418));
|
||||
break;
|
||||
case 3:
|
||||
num = -54591410;
|
||||
break;
|
||||
case 2:
|
||||
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_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>(-517035289), new object[1] { base.Task.NextQuestId });
|
||||
questController.SetNextQuest(null);
|
||||
num = -54591416;
|
||||
break;
|
||||
case 10:
|
||||
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_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>(-2109635352), new object[2]
|
||||
{
|
||||
base.Task.NextQuestId,
|
||||
quest.Info.Name
|
||||
});
|
||||
questController.SetNextQuest(quest);
|
||||
num = -54591416;
|
||||
break;
|
||||
case 9:
|
||||
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_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>(-1849595001), new object[1] { base.Task.NextQuestId });
|
||||
questController.SetNextQuest(null);
|
||||
num = -54591416;
|
||||
break;
|
||||
case 1:
|
||||
flag = true;
|
||||
num = -54591409;
|
||||
break;
|
||||
case 4:
|
||||
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_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>(1489956066), new object[1] { base.Task.NextQuestId });
|
||||
questController.SetNextQuest(null);
|
||||
num = -54591416;
|
||||
break;
|
||||
case 5:
|
||||
num = ((!questRegistry.TryGetQuest(base.Task.NextQuestId, out quest)) ? (-54591413) : (-54591419));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (questFunctions.IsQuestLocked(base.Task.NextQuestId, base.Task.CurrentQuestId))
|
||||
{
|
||||
logger.LogInformation("Can't set next quest to {QuestId}, quest is locked", base.Task.NextQuestId);
|
||||
questController.SetNextQuest(null);
|
||||
}
|
||||
else if (questRegistry.TryGetQuest(base.Task.NextQuestId, out quest))
|
||||
{
|
||||
logger.LogInformation("Setting next quest to {QuestId}: '{QuestName}'", base.Task.NextQuestId, quest.Info.Name);
|
||||
questController.SetNextQuest(quest);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.LogInformation("Next quest with id {QuestId} not found", base.Task.NextQuestId);
|
||||
questController.SetNextQuest(null);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public override ETaskResult Update()
|
||||
|
|
@ -82,5 +254,10 @@ internal static class NextQuest
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static void _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogInformation(P_1, P_2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
628
Questionable/Questionable.Controller.Steps.Common/RepairGear.cs
Normal file
628
Questionable/Questionable.Controller.Steps.Common/RepairGear.cs
Normal file
|
|
@ -0,0 +1,628 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib.Gear;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Data;
|
||||
using Questionable.Functions;
|
||||
|
||||
namespace Questionable.Controller.Steps.Common;
|
||||
|
||||
internal static class RepairGear
|
||||
{
|
||||
internal sealed record SelfRepairTask : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(typeof(SelfRepairTask).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1902425230);
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(SelfRepairTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 995045173 : 995045172);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 995045173;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = 995045172;
|
||||
break;
|
||||
case 0:
|
||||
return true;
|
||||
case 4:
|
||||
return false;
|
||||
case 1:
|
||||
num = (((object)other == null) ? 995045169 : 995045174);
|
||||
break;
|
||||
case 3:
|
||||
return _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(EqualityContract, other.EqualityContract);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<SelfRepairTask>.Equals(SelfRepairTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static bool _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed record MenderRepairTask(MenderNpc Npc) : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(typeof(MenderRepairTask).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 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>(-1987309815));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(Npc.DataId);
|
||||
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)
|
||||
{
|
||||
_206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E();
|
||||
_202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2086626931));
|
||||
_206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(builder, (object)Npc);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(MenderRepairTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-799172425) : (-799172431));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -799172430;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 1:
|
||||
return EqualityComparer<MenderNpc>.Default.Equals(Npc, other.Npc);
|
||||
case 5:
|
||||
return true;
|
||||
case 4:
|
||||
num = -799172431;
|
||||
break;
|
||||
case 2:
|
||||
num = ((!_206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(EqualityContract, other.EqualityContract)) ? (-799172430) : (-799172429));
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
case 3:
|
||||
num = (((object)other == null) ? (-799172430) : (-799172432));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<MenderRepairTask>.Equals(MenderRepairTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal enum EState
|
||||
{
|
||||
Interacting,
|
||||
SelectingMenu,
|
||||
OpeningWindow,
|
||||
WaitingForAddon,
|
||||
FiringRepair,
|
||||
Confirming,
|
||||
Settling,
|
||||
Closing,
|
||||
WaitingForClose
|
||||
}
|
||||
|
||||
internal abstract class RepairExecutorBase<T>(IGameGui gameGui, ILogger logger) : TaskExecutor<T>(), IStoppableTaskExecutor, ITaskExecutor where T : class, ITask
|
||||
{
|
||||
private const long StateTimeoutMs = 5000L;
|
||||
|
||||
private const long SettleMs = 1000L;
|
||||
|
||||
private const long PollIntervalMs = 250L;
|
||||
|
||||
private const int MaxAttempts = 3;
|
||||
|
||||
private EState _state;
|
||||
|
||||
private long _stateDeadline;
|
||||
|
||||
private long _nextPollAt;
|
||||
|
||||
private int? _conditionBefore;
|
||||
|
||||
private int _attempt;
|
||||
|
||||
protected IGameGui GameGui { get; } = gameGui;
|
||||
|
||||
protected ILogger Logger { get; } = logger;
|
||||
|
||||
protected abstract EState InitialState { get; }
|
||||
|
||||
protected abstract bool UpdateCustomState(EState state);
|
||||
|
||||
protected sealed override bool Start()
|
||||
{
|
||||
_conditionBefore = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E();
|
||||
_attempt = 1;
|
||||
EnterState(InitialState);
|
||||
_nextPollAt = 0L;
|
||||
return true;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public sealed override ETaskResult Update()
|
||||
{
|
||||
long num = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E();
|
||||
int num2 = ((num >= _nextPollAt) ? 2095781305 : 2095781289);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 2095781295;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 11:
|
||||
num2 = 2095781289;
|
||||
break;
|
||||
case 5:
|
||||
num2 = (UpdateCustomState(_state) ? 2095781294 : 2095781281);
|
||||
break;
|
||||
case 1:
|
||||
return ETaskResult.StillRunning;
|
||||
case 12:
|
||||
num2 = 2095781290;
|
||||
break;
|
||||
case 22:
|
||||
{
|
||||
long num6 = 250L;
|
||||
long num7 = num;
|
||||
_nextPollAt = (num7 | num6) + (num7 & num6);
|
||||
num2 = ((num <= _stateDeadline) ? 2095781287 : 2095781309);
|
||||
break;
|
||||
}
|
||||
case 17:
|
||||
EnterState(EState.FiringRepair);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 6:
|
||||
return ETaskResult.StillRunning;
|
||||
case 3:
|
||||
goto IL_0140;
|
||||
case 24:
|
||||
goto IL_0166;
|
||||
case 4:
|
||||
goto IL_018c;
|
||||
case 19:
|
||||
_200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 8:
|
||||
switch (_state)
|
||||
{
|
||||
case EState.Settling:
|
||||
break;
|
||||
case EState.Confirming:
|
||||
goto IL_0140;
|
||||
case EState.WaitingForClose:
|
||||
goto IL_0166;
|
||||
case EState.FiringRepair:
|
||||
goto IL_018c;
|
||||
default:
|
||||
goto IL_01f4;
|
||||
case EState.Closing:
|
||||
goto IL_0245;
|
||||
case EState.WaitingForAddon:
|
||||
goto IL_026b;
|
||||
case EState.OpeningWindow:
|
||||
goto IL_0291;
|
||||
}
|
||||
goto case 1;
|
||||
case 18:
|
||||
num2 = ((_state != EState.Settling) ? 2095781304 : 2095781302);
|
||||
break;
|
||||
case 13:
|
||||
EnterState(EState.Settling);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 25:
|
||||
EnterState(EState.Closing);
|
||||
num2 = 2095781287;
|
||||
break;
|
||||
case 15:
|
||||
goto IL_0245;
|
||||
case 20:
|
||||
goto IL_026b;
|
||||
case 7:
|
||||
goto IL_0291;
|
||||
case 16:
|
||||
EnterState(EState.WaitingForAddon);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 0:
|
||||
EnterState(EState.Settling);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 21:
|
||||
EnterState(EState.WaitingForClose);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 10:
|
||||
EnterState(EState.Confirming);
|
||||
num2 = 2095781294;
|
||||
break;
|
||||
case 23:
|
||||
_206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-310683176), new object[2]
|
||||
{
|
||||
_state,
|
||||
_200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(GameGui)
|
||||
});
|
||||
_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui);
|
||||
return Finish();
|
||||
case 2:
|
||||
return Finish();
|
||||
case 9:
|
||||
num2 = ((!HasConditionImproved()) ? 2095781308 : 2095781295);
|
||||
break;
|
||||
case 14:
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 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>(1145949598));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(_state);
|
||||
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
|
||||
}
|
||||
IL_018c:
|
||||
num2 = ((!_200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui)) ? 2095781294 : 2095781285);
|
||||
break;
|
||||
IL_0166:
|
||||
num2 = (_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui) ? 2095781294 : 2095781293);
|
||||
break;
|
||||
IL_0291:
|
||||
num2 = ((!_202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E()) ? 2095781294 : 2095781311);
|
||||
break;
|
||||
IL_026b:
|
||||
num2 = ((!_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui)) ? 2095781294 : 2095781310);
|
||||
break;
|
||||
IL_0140:
|
||||
num2 = ((!_202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(GameGui)) ? 2095781286 : 2095781282);
|
||||
break;
|
||||
IL_0245:
|
||||
num2 = ((!_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui)) ? 2095781294 : 2095781306);
|
||||
break;
|
||||
IL_01f4:
|
||||
num2 = 2095781283;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void EnterState(EState state)
|
||||
{
|
||||
_state = state;
|
||||
_stateDeadline = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E() + ((state == EState.Settling) ? 1000 : 5000);
|
||||
}
|
||||
|
||||
private bool HasConditionImproved()
|
||||
{
|
||||
int? num = _conditionBefore;
|
||||
int num2 = ((!num.HasValue) ? (-1406824238) : (-1406824240));
|
||||
int valueOrDefault = default(int);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1406824237;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 0:
|
||||
num2 = -1406824240;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
int valueOrDefault2 = num.GetValueOrDefault();
|
||||
return valueOrDefault2 > valueOrDefault;
|
||||
}
|
||||
case 1:
|
||||
return false;
|
||||
case 3:
|
||||
valueOrDefault = num.GetValueOrDefault();
|
||||
num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E();
|
||||
num2 = ((!num.HasValue) ? (-1406824238) : (-1406824239));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private ETaskResult Finish()
|
||||
{
|
||||
int? num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E();
|
||||
int num2 = ((!HasConditionImproved()) ? 1917505746 : 1917505745);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 1917505746;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
int attempt = _attempt;
|
||||
num4 = 1;
|
||||
num5 = attempt;
|
||||
_attempt = (num5 | num4) + (num5 & num4);
|
||||
_206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(146386847), new object[3] { num, _attempt, 3 });
|
||||
_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui);
|
||||
EnterState(InitialState);
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
case 3:
|
||||
_200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(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>(-1763627757), new object[2] { _conditionBefore, num });
|
||||
return ETaskResult.TaskComplete;
|
||||
case 0:
|
||||
num2 = ((_attempt >= 3) ? 1917505750 : 1917505747);
|
||||
break;
|
||||
case 2:
|
||||
num2 = 1917505745;
|
||||
break;
|
||||
case 4:
|
||||
_206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(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>(1921865562), new object[1] { num });
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void StopNow()
|
||||
{
|
||||
_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui);
|
||||
}
|
||||
|
||||
void IStoppableTaskExecutor.StopNow()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in StopNow
|
||||
this.StopNow();
|
||||
}
|
||||
|
||||
static int? _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E()
|
||||
{
|
||||
return GearConditionHelper.GetLowestConditionPercent();
|
||||
}
|
||||
|
||||
static long _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
|
||||
static string _200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(IGameGui P_0)
|
||||
{
|
||||
return RepairActions.DescribeRepairAddon(P_0);
|
||||
}
|
||||
|
||||
static void _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(IGameGui P_0)
|
||||
{
|
||||
return RepairActions.TryCloseRepairWindow(P_0);
|
||||
}
|
||||
|
||||
static bool _202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E()
|
||||
{
|
||||
return RepairActions.TryOpenRepairWindow();
|
||||
}
|
||||
|
||||
static bool _206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(IGameGui P_0)
|
||||
{
|
||||
return RepairActions.IsRepairAddonReady(P_0);
|
||||
}
|
||||
|
||||
static bool _200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(IGameGui P_0)
|
||||
{
|
||||
return RepairActions.TryRepairAll(P_0);
|
||||
}
|
||||
|
||||
static bool _202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(IGameGui P_0)
|
||||
{
|
||||
return RepairActions.TryConfirmDialog(P_0);
|
||||
}
|
||||
|
||||
static void _200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogInformation(P_1, P_2);
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class SelfRepairExecutor : RepairExecutorBase<SelfRepairTask>
|
||||
{
|
||||
protected override EState InitialState => EState.OpeningWindow;
|
||||
|
||||
public SelfRepairExecutor(IGameGui gameGui, ILogger<SelfRepairExecutor> logger)
|
||||
: base(gameGui, (ILogger)logger)
|
||||
{
|
||||
}
|
||||
|
||||
protected override bool UpdateCustomState(EState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class MenderRepairExecutor : RepairExecutorBase<MenderRepairTask>
|
||||
{
|
||||
protected override EState InitialState => EState.Interacting;
|
||||
|
||||
public MenderRepairExecutor(IGameGui gameGui, GameFunctions gameFunctions, IDataManager dataManager, ILogger<MenderRepairExecutor> logger)
|
||||
{
|
||||
_003CgameFunctions_003EP = gameFunctions;
|
||||
_003CdataManager_003EP = dataManager;
|
||||
base._002Ector(gameGui, (ILogger)logger);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
protected override bool UpdateCustomState(EState state)
|
||||
{
|
||||
int num = ((state == EState.Interacting) ? 293305294 : 293305289);
|
||||
int? num7 = default(int?);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 293305291;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 12:
|
||||
EnterState(EState.FiringRepair);
|
||||
return true;
|
||||
case 11:
|
||||
return true;
|
||||
case 2:
|
||||
num = ((state == EState.SelectingMenu) ? 293305290 : 293305282);
|
||||
break;
|
||||
case 5:
|
||||
num = ((!_003CgameFunctions_003EP.InteractWith(base.Task.Npc.DataId)) ? 293305280 : 293305283);
|
||||
break;
|
||||
case 9:
|
||||
num = 293305281;
|
||||
break;
|
||||
case 4:
|
||||
_202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(base.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>(2096442858), new object[1] { base.Task.Npc.DataId });
|
||||
EnterState(EState.Closing);
|
||||
return true;
|
||||
case 0:
|
||||
num = ((!_206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(base.GameGui, num7.Value)) ? 293305292 : 293305288);
|
||||
break;
|
||||
case 6:
|
||||
num7 = _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(_003CdataManager_003EP, base.Task.Npc.DataId);
|
||||
num = (num7.HasValue ? 293305291 : 293305295);
|
||||
break;
|
||||
case 3:
|
||||
EnterState(EState.WaitingForAddon);
|
||||
num = 293305292;
|
||||
break;
|
||||
case 10:
|
||||
return false;
|
||||
case 13:
|
||||
num = 293305289;
|
||||
break;
|
||||
case 1:
|
||||
num = ((!_206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(base.GameGui)) ? 293305293 : 293305287);
|
||||
break;
|
||||
case 8:
|
||||
EnterState(EState.SelectingMenu);
|
||||
num = 293305280;
|
||||
break;
|
||||
case 7:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool _206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(IGameGui P_0)
|
||||
{
|
||||
return RepairActions.IsRepairAddonReady(P_0);
|
||||
}
|
||||
|
||||
static int? _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(IDataManager P_0, uint P_1)
|
||||
{
|
||||
return RepairActions.FindRepairIndex(P_0, P_1);
|
||||
}
|
||||
|
||||
static void _202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(IGameGui P_0, int P_1)
|
||||
{
|
||||
return RepairActions.TrySelectRepairFromMenu(P_0, P_1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Dalamud.Game.Text;
|
||||
using Dalamud.Game.Text.SeStringHandling;
|
||||
using Dalamud.Plugin.Services;
|
||||
|
|
@ -5,144 +9,410 @@ using Questionable.Data;
|
|||
using Questionable.External;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
using Questionable.Notifications;
|
||||
|
||||
namespace Questionable.Controller.Steps.Common;
|
||||
|
||||
internal static class SendNotification
|
||||
{
|
||||
internal sealed class Factory(Configuration configuration, AutoDutyIpc autoDutyIpc, BossModIpc bossModIpc, TerritoryData territoryData) : SimpleTaskFactory()
|
||||
internal sealed class Factory(Configuration configuration, AutoDutyIpc autoDutyIpc, AutoHookIpc autoHookIpc, BossModIpc bossModIpc, TerritoryData territoryData) : SimpleTaskFactory()
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
|
||||
{
|
||||
switch (step.InteractionType)
|
||||
EInteractionType eInteractionType = _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step);
|
||||
int num = ((eInteractionType > EInteractionType.SinglePlayerDuty) ? (-1478149782) : (-1478149769));
|
||||
Task result = default(Task);
|
||||
while (true)
|
||||
{
|
||||
case EInteractionType.Snipe:
|
||||
if (!configuration.General.AutoSnipe)
|
||||
int num2 = num;
|
||||
int num3 = -1478149766;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
return new Task(step.InteractionType, step.Comment);
|
||||
}
|
||||
break;
|
||||
case EInteractionType.Duty:
|
||||
if (!autoDutyIpc.IsConfiguredToRunContent(step.DutyOptions))
|
||||
case 4:
|
||||
num = -1478149773;
|
||||
break;
|
||||
case 1:
|
||||
num = (autoHookIpc.IsAvailable() ? (-1478149773) : (-1478149767));
|
||||
break;
|
||||
case 11:
|
||||
num = (bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, _202B_206C_206E_202D_202E_206F_206B_200E_200B_202D_200C_206C_206E_200F_206D_202E_206D_200C_200D_200D_202C_206B_206D_200D_200B_200C_206A_200B_200C_206E_202C_206E_202B_202A_202B_200E_206F_200D_206A_206A_202E(step)) ? (-1478149773) : (-1478149776));
|
||||
break;
|
||||
case 15:
|
||||
return result;
|
||||
case 13:
|
||||
num = ((eInteractionType == EInteractionType.Duty) ? (-1478149761) : (-1478149763));
|
||||
break;
|
||||
case 0:
|
||||
{
|
||||
EInteractionType interactionType = step.InteractionType;
|
||||
uint? num = step.DutyOptions?.ContentFinderConditionId;
|
||||
EInteractionType interactionType = _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step);
|
||||
DutyOptions dutyOptions = _200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(step);
|
||||
uint? num5 = ((dutyOptions != null) ? new uint?(_202C_200E_202A_200D_200D_202D_200D_200B_200E_206F_206F_206C_200D_202C_200C_202D_206F_200E_202B_200B_200C_200D_206D_206B_206D_200D_206B_200D_202E_202B_206E_200B_202D_206C_200B_200E_206C_202D_202E_206D_202E(dutyOptions)) : ((uint?)null));
|
||||
object comment;
|
||||
if (num.HasValue)
|
||||
if (num5.HasValue)
|
||||
{
|
||||
uint valueOrDefault = num.GetValueOrDefault();
|
||||
uint valueOrDefault = num5.GetValueOrDefault();
|
||||
comment = territoryData.GetContentFinderCondition(valueOrDefault)?.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
comment = step.Comment;
|
||||
comment = _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step);
|
||||
}
|
||||
return new Task(interactionType, (string?)comment);
|
||||
result = new Task(interactionType, (string?)comment);
|
||||
num = -1478149771;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case EInteractionType.SinglePlayerDuty:
|
||||
if (!bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, step.SinglePlayerDutyOptions))
|
||||
{
|
||||
return new Task(step.InteractionType, quest.Info.Name);
|
||||
case 3:
|
||||
result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_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>(-1221849415));
|
||||
num = -1478149771;
|
||||
break;
|
||||
case 6:
|
||||
num = -1478149773;
|
||||
break;
|
||||
case 2:
|
||||
num = (configuration.General.AutoSnipe ? (-1478149773) : (-1478149772));
|
||||
break;
|
||||
case 12:
|
||||
num = ((eInteractionType == EInteractionType.Fish) ? (-1478149765) : (-1478149764));
|
||||
break;
|
||||
case 14:
|
||||
result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step));
|
||||
num = -1478149771;
|
||||
break;
|
||||
case 5:
|
||||
num = (autoDutyIpc.IsConfiguredToRunContent(_200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(step)) ? (-1478149773) : (-1478149766));
|
||||
break;
|
||||
case 9:
|
||||
result = null;
|
||||
num = -1478149771;
|
||||
break;
|
||||
case 10:
|
||||
result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), quest.Info.Name);
|
||||
num = -1478149771;
|
||||
break;
|
||||
case 16:
|
||||
num = ((eInteractionType == EInteractionType.Snipe) ? (-1478149768) : (-1478149770));
|
||||
break;
|
||||
case 7:
|
||||
num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? (-1478149775) : (-1478149762));
|
||||
break;
|
||||
case 8:
|
||||
num = -1478149769;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static EInteractionType _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.InteractionType;
|
||||
}
|
||||
|
||||
static string _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.Comment;
|
||||
}
|
||||
|
||||
static DutyOptions _200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.DutyOptions;
|
||||
}
|
||||
|
||||
static uint _202C_200E_202A_200D_200D_202D_200D_200B_200E_206F_206F_206C_200D_202C_200C_202D_206F_200E_202B_200B_200C_200D_206D_206B_206D_200D_206B_200D_202E_202B_206E_200B_202D_206C_200B_200E_206C_202D_202E_206D_202E(DutyOptions P_0)
|
||||
{
|
||||
return P_0.ContentFinderConditionId;
|
||||
}
|
||||
|
||||
static SinglePlayerDutyOptions _202B_206C_206E_202D_202E_206F_206B_200E_200B_202D_200C_206C_206E_200F_206D_202E_206D_200C_200D_200D_202C_206B_206D_200D_200B_200C_206A_200B_200C_206E_202C_206E_202B_202A_202B_200E_206F_200D_206A_206A_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.SinglePlayerDutyOptions;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed record Task(EInteractionType InteractionType, string? Comment) : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202B_206F_206A_202C_200B_202C_206E_202E_206C_206A_200D_202E_206C_200D_200F_202B_206C_200F_202D_206A_206E_202E_202E_202C_200C_206B_202A_202C_200F_206E_200B_206A_206E_206A_206E_200B_206C_206B_202A_200E_202E(typeof(Task).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
return "SendNotification";
|
||||
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>(1681305913);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_206E_206C_202B_200D_206C_200F_206B_200F_202E_200E_200B_206E_206B_200C_206B_206A_202B_206D_202A_200C_200F_206B_200D_200F_202D_200D_200D_206A_200F_206E_200F_202A_202A_200F_200C_202B_206B_206E_202A_202A_202E();
|
||||
_200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_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>(702947867));
|
||||
_200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, InteractionType.ToString());
|
||||
_200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_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));
|
||||
_202E_202C_200C_206C_202E_206C_206F_206E_202B_200B_200D_206C_200D_202B_206B_202C_200C_206E_206D_206E_206E_200B_206A_202E_200D_206B_200D_202B_202A_202E_200D_206C_206C_206F_206A_200B_200D_200E_202C_202B_202E(builder, (object?)Comment);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(Task? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-845795892) : (-845795894));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -845795889;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 4:
|
||||
num = ((!_206C_200B_202D_200D_200D_206B_206C_200D_200F_200C_200F_202B_200F_200C_206A_202E_200F_206E_206C_202C_202B_202D_206F_200C_206A_206A_202D_206D_206B_200E_206E_202D_200F_200C_200D_206A_202A_206D_202C_206F_202E(EqualityContract, other.EqualityContract)) ? (-845795895) : (-845795891));
|
||||
break;
|
||||
case 5:
|
||||
num = (((object)other == null) ? (-845795895) : (-845795893));
|
||||
break;
|
||||
case 6:
|
||||
return false;
|
||||
case 0:
|
||||
num = -845795894;
|
||||
break;
|
||||
case 2:
|
||||
num = ((!EqualityComparer<EInteractionType>.Default.Equals(InteractionType, other.InteractionType)) ? (-845795895) : (-845795890));
|
||||
break;
|
||||
case 1:
|
||||
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
|
||||
case 3:
|
||||
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? _202B_206F_206A_202C_200B_202C_206E_202E_206C_206A_200D_202E_206C_200D_200F_202B_206C_200F_202D_206A_206E_202E_202E_202C_200C_206B_202A_202C_200F_206E_200B_206A_206E_206A_206E_200B_206C_206B_202A_200E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _206E_206C_202B_200D_206C_200F_206B_200F_202E_200E_200B_206E_206B_200C_206B_206A_202B_206D_202A_200C_200F_206B_200D_200F_202D_200D_200D_206A_200F_206E_200F_202A_202A_200F_200C_202B_206B_206E_202A_202A_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder? _200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(StringBuilder? P_0, string? P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder? _202E_202C_200C_206C_202E_206C_206F_206E_202B_200B_200D_206C_200D_202B_206B_202C_200C_206E_206D_206E_206E_200B_206A_202E_200D_206B_200D_202B_202A_202E_200D_206C_206C_206F_206A_200B_200D_200E_202C_202B_202E(StringBuilder? P_0, object? P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206C_200B_202D_200D_200D_206B_206C_200D_200F_200C_200F_202B_200F_200C_206A_202E_200F_206E_206C_202C_202B_202D_206F_200C_206A_206A_202D_206D_206B_200E_206E_202D_200F_200C_200D_206A_202A_206D_202C_206F_202E(Type? P_0, Type? P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class Executor(IChatGui chatGui, Configuration configuration) : TaskExecutor<Task>()
|
||||
internal sealed class Executor(NotificationService notificationService, IChatGui chatGui, Configuration configuration) : TaskExecutor<Task>()
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
protected override bool Start()
|
||||
{
|
||||
if (!configuration.Notifications.Enabled)
|
||||
int num = (configuration.Notifications.Enabled ? 1129159902 : 1129159890);
|
||||
string text = default(string);
|
||||
string text2 = default(string);
|
||||
EInteractionType interactionType = default(EInteractionType);
|
||||
XivChatType chatType = default(XivChatType);
|
||||
XivChatEntry xivChatEntry2 = default(XivChatEntry);
|
||||
while (true)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
string text;
|
||||
switch (base.Task.InteractionType)
|
||||
{
|
||||
case EInteractionType.Duty:
|
||||
text = "Duty";
|
||||
break;
|
||||
case EInteractionType.SinglePlayerDuty:
|
||||
text = "Single player duty";
|
||||
break;
|
||||
case EInteractionType.WaitForManualProgress:
|
||||
case EInteractionType.Snipe:
|
||||
case EInteractionType.Instruction:
|
||||
text = "Manual interaction required";
|
||||
break;
|
||||
default:
|
||||
text = $"{base.Task.InteractionType}";
|
||||
break;
|
||||
}
|
||||
string text2 = text;
|
||||
if (!string.IsNullOrEmpty(base.Task.Comment))
|
||||
{
|
||||
text2 = text2 + " - " + base.Task.Comment;
|
||||
}
|
||||
if (configuration.Notifications.ChatType != XivChatType.None)
|
||||
{
|
||||
XivChatEntry xivChatEntry;
|
||||
switch (configuration.Notifications.ChatType)
|
||||
int num2 = num;
|
||||
int num3 = 1129159886;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case XivChatType.Say:
|
||||
case XivChatType.Shout:
|
||||
case XivChatType.TellOutgoing:
|
||||
case XivChatType.TellIncoming:
|
||||
case XivChatType.Party:
|
||||
case XivChatType.Alliance:
|
||||
case XivChatType.Ls1:
|
||||
case XivChatType.Ls2:
|
||||
case XivChatType.Ls3:
|
||||
case XivChatType.Ls4:
|
||||
case XivChatType.Ls5:
|
||||
case XivChatType.Ls6:
|
||||
case XivChatType.Ls7:
|
||||
case XivChatType.Ls8:
|
||||
case XivChatType.FreeCompany:
|
||||
case XivChatType.NoviceNetwork:
|
||||
case XivChatType.Yell:
|
||||
case XivChatType.CrossParty:
|
||||
case XivChatType.PvPTeam:
|
||||
case XivChatType.CrossLinkShell1:
|
||||
case XivChatType.NPCDialogue:
|
||||
case XivChatType.NPCDialogueAnnouncements:
|
||||
case XivChatType.CrossLinkShell2:
|
||||
case XivChatType.CrossLinkShell3:
|
||||
case XivChatType.CrossLinkShell4:
|
||||
case XivChatType.CrossLinkShell5:
|
||||
case XivChatType.CrossLinkShell6:
|
||||
case XivChatType.CrossLinkShell7:
|
||||
case XivChatType.CrossLinkShell8:
|
||||
xivChatEntry = new XivChatEntry
|
||||
{
|
||||
Message = text2,
|
||||
Type = configuration.Notifications.ChatType,
|
||||
Name = new SeStringBuilder().AddUiForeground("Questionable", 576).Build()
|
||||
};
|
||||
case 18:
|
||||
text = $"{base.Task.InteractionType}";
|
||||
num = 1129159877;
|
||||
break;
|
||||
default:
|
||||
xivChatEntry = new XivChatEntry
|
||||
case 8:
|
||||
text = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-279581808);
|
||||
num = 1129159877;
|
||||
break;
|
||||
case 10:
|
||||
num = 1129159915;
|
||||
break;
|
||||
case 6:
|
||||
num = 1129159900;
|
||||
break;
|
||||
case 21:
|
||||
notificationService.Notify(base.Task.InteractionType, text2);
|
||||
return true;
|
||||
case 33:
|
||||
num = ((interactionType == EInteractionType.Snipe) ? 1129159891 : 1129159880);
|
||||
break;
|
||||
case 3:
|
||||
switch (interactionType)
|
||||
{
|
||||
Message = new SeStringBuilder().AddUiForeground("[Questionable] ", 576).Append(text2).Build(),
|
||||
Type = configuration.Notifications.ChatType
|
||||
};
|
||||
case EInteractionType.Duty:
|
||||
break;
|
||||
default:
|
||||
goto IL_019b;
|
||||
case EInteractionType.WaitForManualProgress:
|
||||
goto IL_037c;
|
||||
case EInteractionType.SinglePlayerDuty:
|
||||
goto IL_0559;
|
||||
}
|
||||
goto case 8;
|
||||
case 30:
|
||||
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>(-1806447196);
|
||||
num = 1129159877;
|
||||
break;
|
||||
case 23:
|
||||
num = 1129159900;
|
||||
break;
|
||||
case 22:
|
||||
num = 1129159890;
|
||||
break;
|
||||
case 28:
|
||||
return false;
|
||||
case 11:
|
||||
text2 = text;
|
||||
num = (_206E_202D_200F_202A_200F_202D_202D_200C_206F_206D_206B_206A_200D_206F_202C_206D_200C_206A_202E_200D_202C_202C_206F_200E_206D_202A_202B_200F_206A_206E_206D_206E_206F_200F_206B_200E_202C_206B_206E_202E(base.Task.Comment) ? 1129159912 : 1129159898);
|
||||
break;
|
||||
case 1:
|
||||
num = ((chatType - 10 > (XivChatType)5) ? 1129159915 : 1129159883);
|
||||
break;
|
||||
case 16:
|
||||
interactionType = base.Task.InteractionType;
|
||||
num = ((interactionType > EInteractionType.Snipe) ? 1129159892 : 1129159885);
|
||||
break;
|
||||
case 19:
|
||||
num = 1129159915;
|
||||
break;
|
||||
case 17:
|
||||
{
|
||||
XivChatEntry xivChatEntry = xivChatEntry2;
|
||||
_206A_200D_202B_200E_202B_200E_206E_206F_206B_206D_200E_206F_202A_206F_206D_202D_206F_206A_206F_206A_206A_200C_206B_206C_206F_200C_206C_200F_202D_206C_206D_206F_200C_200B_202A_200E_200D_202D_202B_202E_202E(chatGui, xivChatEntry);
|
||||
num = 1129159899;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num = (((int)chatType <= 107) ? 1129159883 : 1129159894);
|
||||
break;
|
||||
case 7:
|
||||
num = ((chatType == XivChatType.NPCDialogueAnnouncements) ? 1129159883 : 1129159901);
|
||||
break;
|
||||
case 38:
|
||||
num = ((configuration.Notifications.ChatType == XivChatType.None) ? 1129159899 : 1129159882);
|
||||
break;
|
||||
case 13:
|
||||
num = ((interactionType == EInteractionType.CriticalEncounter) ? 1129159888 : 1129159897);
|
||||
break;
|
||||
case 31:
|
||||
num = ((chatType == XivChatType.NPCDialogue) ? 1129159883 : 1129159881);
|
||||
break;
|
||||
case 24:
|
||||
num = 1129159915;
|
||||
break;
|
||||
case 32:
|
||||
num = ((interactionType == EInteractionType.Fish) ? 1129159891 : 1129159875);
|
||||
break;
|
||||
case 9:
|
||||
num = (((int)chatType < 16) ? 1129159887 : 1129159914);
|
||||
break;
|
||||
case 29:
|
||||
goto IL_037c;
|
||||
case 37:
|
||||
{
|
||||
XivChatEntry xivChatEntry4 = _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E();
|
||||
_200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(xivChatEntry4, _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(_200F_202C_202D_200C_206D_200C_206A_200C_202B_206A_200D_200E_200C_206F_206D_202A_206C_200B_206E_200C_200B_206D_202A_202E_202E_202A_202E_200B_200E_200E_202D_206D_202A_202C_200D_206F_200B_200F_206A_202A_202E(_200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(_200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_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>(-365234196), (ushort)576), text2)));
|
||||
_200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(xivChatEntry4, (XivChatType?)configuration.Notifications.ChatType);
|
||||
xivChatEntry2 = xivChatEntry4;
|
||||
num = 1129159903;
|
||||
break;
|
||||
}
|
||||
case 20:
|
||||
text2 = _202C_200E_206A_200E_206D_200E_200F_206D_206F_200C_202B_206E_200D_200C_202A_206E_202C_200C_206C_200F_206B_206A_206A_200F_202B_202D_206B_200F_202E_202E_206E_206A_202C_206B_200D_202C_202B_200D_206B_206A_202E(text2, 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>(-1186344051), base.Task.Comment);
|
||||
num = 1129159912;
|
||||
break;
|
||||
case 14:
|
||||
num = ((chatType - 36 <= XivChatType.Debug) ? 1129159883 : 1129159874);
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
XivChatEntry xivChatEntry3 = _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E();
|
||||
_200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(xivChatEntry3, _200C_206A_206D_202A_202C_202B_202B_202D_202D_200F_200E_206C_206B_206B_202A_200B_200C_200F_200D_206C_202E_206B_200F_206C_206D_206F_206D_206E_206A_202C_206E_202E_200B_206A_206F_200E_206D_206D_200E_206B_202E(text2));
|
||||
_200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(xivChatEntry3, (XivChatType?)configuration.Notifications.ChatType);
|
||||
_206B_206A_200E_202D_200D_200E_202D_202A_200E_202B_206E_206E_202D_206B_202A_202C_206D_206A_206E_206D_202D_206B_202D_200E_206A_202D_200B_202B_206D_206E_202C_200E_206B_200E_202C_200C_206C_206C_200B_202D_202E(xivChatEntry3, _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(_200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(_200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_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>(-1179749275), (ushort)576)));
|
||||
xivChatEntry2 = xivChatEntry3;
|
||||
num = 1129159903;
|
||||
break;
|
||||
}
|
||||
case 39:
|
||||
num = ((chatType == XivChatType.NoviceNetwork) ? 1129159883 : 1129159884);
|
||||
break;
|
||||
case 15:
|
||||
num = ((chatType == XivChatType.FreeCompany) ? 1129159883 : 1129159913);
|
||||
break;
|
||||
case 36:
|
||||
num = (((int)chatType <= 23) ? 1129159883 : 1129159893);
|
||||
break;
|
||||
case 27:
|
||||
num = ((chatType > XivChatType.Yell) ? 1129159895 : 1129159873);
|
||||
break;
|
||||
case 26:
|
||||
num = ((interactionType == EInteractionType.Instruction) ? 1129159891 : 1129159918);
|
||||
break;
|
||||
case 25:
|
||||
num = ((chatType > XivChatType.CrossLinkShell1) ? 1129159889 : 1129159917);
|
||||
break;
|
||||
case 34:
|
||||
goto IL_0559;
|
||||
case 35:
|
||||
num = ((chatType == XivChatType.CrossParty) ? 1129159883 : 1129159872);
|
||||
break;
|
||||
case 2:
|
||||
num = ((chatType == XivChatType.Yell) ? 1129159883 : 1129159876);
|
||||
break;
|
||||
case 12:
|
||||
num = 1129159915;
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
chatType = configuration.Notifications.ChatType;
|
||||
num = (((int)chatType < 101) ? 1129159879 : 1129159886);
|
||||
break;
|
||||
}
|
||||
IL_0559:
|
||||
text = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-984674976);
|
||||
num = 1129159877;
|
||||
break;
|
||||
IL_037c:
|
||||
text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2076274604);
|
||||
num = 1129159877;
|
||||
break;
|
||||
IL_019b:
|
||||
num = 1129159919;
|
||||
break;
|
||||
}
|
||||
XivChatEntry chat = xivChatEntry;
|
||||
chatGui.Print(chat);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public override ETaskResult Update()
|
||||
|
|
@ -154,5 +424,65 @@ internal static class SendNotification
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool _206E_202D_200F_202A_200F_202D_202D_200C_206F_206D_206B_206A_200D_206F_202C_206D_200C_206A_202E_200D_202C_202C_206F_200E_206D_202A_202B_200F_206A_206E_206D_206E_206F_200F_206B_200E_202C_206B_206E_202E(string P_0)
|
||||
{
|
||||
return string.IsNullOrEmpty(P_0);
|
||||
}
|
||||
|
||||
static string _202C_200E_206A_200E_206D_200E_200F_206D_206F_200C_202B_206E_200D_200C_202A_206E_202C_200C_206C_200F_206B_206A_206A_200F_202B_202D_206B_200F_202E_202E_206E_206A_202C_206B_200D_202C_202B_200D_206B_206A_202E(string P_0, string P_1, string P_2)
|
||||
{
|
||||
return P_0 + P_1 + P_2;
|
||||
}
|
||||
|
||||
static XivChatEntry _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E()
|
||||
{
|
||||
return new XivChatEntry();
|
||||
}
|
||||
|
||||
static SeString _200C_206A_206D_202A_202C_202B_202B_202D_202D_200F_200E_206C_206B_206B_202A_200B_200C_200F_200D_206C_202E_206B_200F_206C_206D_206F_206D_206E_206A_202C_206E_202E_200B_206A_206F_200E_206D_206D_200E_206B_202E(string P_0)
|
||||
{
|
||||
return P_0;
|
||||
}
|
||||
|
||||
static void _200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(XivChatEntry P_0, SeString P_1)
|
||||
{
|
||||
P_0.Message = P_1;
|
||||
}
|
||||
|
||||
static void _200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(XivChatEntry P_0, XivChatType? P_1)
|
||||
{
|
||||
P_0.Type = P_1;
|
||||
}
|
||||
|
||||
static SeStringBuilder _200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E()
|
||||
{
|
||||
return new SeStringBuilder();
|
||||
}
|
||||
|
||||
static SeStringBuilder _200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(SeStringBuilder P_0, string P_1, ushort P_2)
|
||||
{
|
||||
return P_0.AddUiForeground(P_1, P_2);
|
||||
}
|
||||
|
||||
static SeString _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(SeStringBuilder P_0)
|
||||
{
|
||||
return P_0.Build();
|
||||
}
|
||||
|
||||
static void _206B_206A_200E_202D_200D_200E_202D_202A_200E_202B_206E_206E_202D_206B_202A_202C_206D_206A_206E_206D_202D_206B_202D_200E_206A_202D_200B_202B_206D_206E_202C_200E_206B_200E_202C_200C_206C_206C_200B_202D_202E(XivChatEntry P_0, SeString P_1)
|
||||
{
|
||||
P_0.Name = P_1;
|
||||
}
|
||||
|
||||
static SeStringBuilder _200F_202C_202D_200C_206D_200C_206A_200C_202B_206A_200D_200E_200C_206F_206D_202A_206C_200B_206E_200C_200B_206D_202A_202E_202E_202A_202E_200B_200E_200E_202D_206D_202A_202C_200D_206F_200B_200F_206A_202A_202E(SeStringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static void _206A_200D_202B_200E_202B_200E_206E_206F_206B_206D_200E_206F_202A_206F_206D_202D_206F_206A_206F_206A_206A_200C_206B_206C_206F_200C_206C_200F_202D_206C_206D_206F_200C_200B_202A_200E_200D_202D_202B_202E_202E(IChatGui P_0, XivChatEntry P_1)
|
||||
{
|
||||
P_0.Print(P_1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace Questionable.Controller.Steps.Common;
|
||||
|
||||
|
|
@ -6,15 +9,101 @@ internal static class WaitCondition
|
|||
{
|
||||
internal sealed record Task(Func<bool> Predicate, string Description) : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200C_200D_206B_202D_200F_206C_206B_206C_200B_206B_202B_202D_200C_200C_202D_202C_202D_200F_202B_202E_202D_206E_202A_200F_200C_202C_206F_206F_206F_206F_206F_202A_202A_206B_200F_200B_206E_206E_206C_202D_202E(typeof(Task).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Description;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200F_206C_202E_200F_206D_200B_200B_206E_200B_202D_200F_202B_202E_200E_202B_206A_202A_206E_202E_200F_200E_206C_206B_206F_206A_202C_202A_202E_202A_206B_200C_202B_200D_206D_202D_200C_200C_200D_206F_206D_202E();
|
||||
_206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_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>(-466916562));
|
||||
_206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(builder, (object)Predicate);
|
||||
_206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_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>(-127749891));
|
||||
_206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(builder, (object)Description);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(Task? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 1126109151 : 1126109144);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1126109146;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 6:
|
||||
return false;
|
||||
case 3:
|
||||
num = ((!EqualityComparer<Func<bool>>.Default.Equals(Predicate, other.Predicate)) ? 1126109148 : 1126109147);
|
||||
break;
|
||||
case 4:
|
||||
num = ((!_200D_206C_206C_206C_206B_206D_206C_206A_206F_202B_200F_206B_200B_206B_206C_202B_200B_206D_200E_206F_202C_200E_202C_200B_206E_206C_202A_200C_202A_200F_206B_200B_206E_206C_200E_202B_200F_206D_200B_200F_202E(EqualityContract, other.EqualityContract)) ? 1126109148 : 1126109145);
|
||||
break;
|
||||
case 1:
|
||||
return EqualityComparer<string>.Default.Equals(Description, other.Description);
|
||||
case 2:
|
||||
num = (((object)other == null) ? 1126109148 : 1126109150);
|
||||
break;
|
||||
case 5:
|
||||
return true;
|
||||
case 0:
|
||||
num = 1126109144;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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_206B_202D_200F_206C_206B_206C_200B_206B_202B_202D_200C_200C_202D_202C_202D_200F_202B_202E_202D_206E_202A_200F_200C_202C_206F_206F_206F_206F_206F_202A_202A_206B_200F_200B_206E_206E_206C_202D_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _200F_206C_202E_200F_206D_200B_200B_206E_200B_202D_200F_202B_202E_200E_202B_206A_202A_206E_202E_200F_200E_206C_206B_206F_206A_202C_202A_202E_202A_206B_200C_202B_200D_206D_202D_200C_200C_200D_206F_206D_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _200D_206C_206C_206C_206B_206D_206C_206A_206F_202B_200F_206B_200B_206B_206C_202B_200B_206D_200E_206F_202C_200E_202C_200B_206E_206C_202A_200C_202A_200F_206B_200B_206E_206C_200E_202B_200F_206D_200B_200F_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class WaitConditionExecutor : TaskExecutor<Task>
|
||||
{
|
||||
private DateTime _continueAt = DateTime.MaxValue;
|
||||
private long _continueAtMs;
|
||||
|
||||
protected override bool Start()
|
||||
{
|
||||
|
|
@ -23,20 +112,46 @@ internal static class WaitCondition
|
|||
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
if (_continueAt == DateTime.MaxValue && base.Task.Predicate())
|
||||
int num = ((_continueAtMs != 0L) ? (-757332820) : (-757332817));
|
||||
while (true)
|
||||
{
|
||||
_continueAt = DateTime.Now.AddSeconds(0.5);
|
||||
int num2 = num;
|
||||
int num3 = -757332822;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
_continueAtMs = _200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() + 500;
|
||||
num = -757332820;
|
||||
break;
|
||||
case 4:
|
||||
return ETaskResult.TaskComplete;
|
||||
case 2:
|
||||
num = -757332817;
|
||||
break;
|
||||
case 6:
|
||||
num = ((_continueAtMs <= 0) ? (-757332821) : (-757332823));
|
||||
break;
|
||||
case 1:
|
||||
return ETaskResult.StillRunning;
|
||||
case 5:
|
||||
num = ((!base.Task.Predicate()) ? (-757332820) : (-757332822));
|
||||
break;
|
||||
case 3:
|
||||
num = ((_200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() >= _continueAtMs) ? (-757332818) : (-757332821));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!(DateTime.Now >= _continueAt))
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static long _200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,71 @@
|
|||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Questionable.Controller.Steps.Common;
|
||||
|
||||
internal sealed class WaitNavmesh
|
||||
{
|
||||
internal sealed record Task : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206B_200E_202D_206D_200E_206C_202E_206C_202E_202C_202C_200C_200B_202D_202C_202C_202C_206B_202C_206A_206F_202C_202C_202D_200B_200E_206A_202B_200D_206B_202C_206F_206A_206F_202A_200F_200C_202A_202D_206D_202E(typeof(Task).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
return "Wait(navmesh)";
|
||||
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>(93055531);
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(Task? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 772746660 : 772746657);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 772746656;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 4:
|
||||
return true;
|
||||
case 3:
|
||||
return _202E_202C_206A_202B_206A_202B_200C_206D_200F_200E_206C_200E_200B_200C_200D_206F_200B_206A_202E_200E_206D_206C_202D_202C_200F_200B_200C_202D_206B_206F_206E_200D_206E_206D_206E_206A_206E_206F_202B_202E_202E(EqualityContract, other.EqualityContract);
|
||||
case 1:
|
||||
num = (((object)other == null) ? 772746656 : 772746659);
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
case 2:
|
||||
num = 772746657;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<Task>.Equals(Task? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206B_200E_202D_206D_200E_206C_202E_206C_202E_202C_202C_200C_200B_202D_202C_202C_202C_206B_202C_206A_206F_202C_202C_202D_200B_200E_206A_202B_200D_206B_202C_206F_206A_206F_202A_200F_200C_202A_202D_206D_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static bool _202E_202C_206A_202B_206A_202B_200C_206D_200F_200E_206C_200E_200B_200C_200D_206F_200B_206A_202E_200E_206D_206C_202D_202C_200F_200B_200C_202D_206B_206F_206E_200D_206E_206D_206E_206A_206E_206F_202B_202E_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -19,11 +78,27 @@ internal sealed class WaitNavmesh
|
|||
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
if (!movementController.IsNavmeshReady)
|
||||
int num = (movementController.IsNavmeshReady ? 1367983807 : 1367983806);
|
||||
while (true)
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
int num2 = num;
|
||||
int num3 = 1367983807;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
goto IL_004d;
|
||||
case 0:
|
||||
return ETaskResult.TaskComplete;
|
||||
case 1:
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
continue;
|
||||
IL_004d:
|
||||
num = 1367983806;
|
||||
}
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
|
|
@ -31,13 +106,40 @@ internal sealed class WaitNavmesh
|
|||
return false;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public string? GetDebugState()
|
||||
{
|
||||
if (!movementController.IsNavmeshReady)
|
||||
int num = (movementController.IsNavmeshReady ? (-446165234) : (-446165233));
|
||||
while (true)
|
||||
{
|
||||
return $"Navmesh: {movementController.BuiltNavmeshPercent}%";
|
||||
int num2 = num;
|
||||
int num3 = -446165234;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
goto IL_004b;
|
||||
case 0:
|
||||
return null;
|
||||
case 1:
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 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>(-1778800167));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(movementController.BuiltNavmeshPercent);
|
||||
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>(1720204560));
|
||||
return defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_004b:
|
||||
num = -446165233;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
string? IDebugStateProvider.GetDebugState()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in GetDebugState
|
||||
return this.GetDebugState();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue