qstbak/Questionable/Questionable.Controller.Steps.Interactions/StatusOff.cs
2026-08-17 20:27:25 +10:00

215 lines
8.7 KiB
C#

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