1
0
Fork 0
forked from aly/qstbak
qstbak/Questionable/Questionable.Controller.Steps.Interactions/UnequipItem.cs
2026-08-17 20:27:25 +10:00

284 lines
15 KiB
C#

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