forked from aly/qstbak
54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using System.Runtime.CompilerServices;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Controller.Conditions;
|
|
|
|
internal sealed class BeforeDutyCondition : StopCondition
|
|
{
|
|
public override bool IsSession => false;
|
|
|
|
public override EStopConditionType Type => EStopConditionType.BeforeDuty;
|
|
|
|
public override bool Evaluate(StopEvaluationContext context)
|
|
{
|
|
EInteractionType? upcomingInteractionType = context.UpcomingInteractionType;
|
|
int num = ((!upcomingInteractionType.HasValue) ? (-1887031172) : (-1887031170));
|
|
bool result = default(bool);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1887031171;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 1:
|
|
result = false;
|
|
num = -1887031171;
|
|
break;
|
|
case 4:
|
|
result = true;
|
|
num = -1887031171;
|
|
break;
|
|
case 3:
|
|
{
|
|
EInteractionType valueOrDefault = upcomingInteractionType.GetValueOrDefault();
|
|
num = (((uint)(valueOrDefault - 19) > 1u) ? (-1887031172) : (-1887031175));
|
|
break;
|
|
}
|
|
case 0:
|
|
return result;
|
|
case 2:
|
|
num = -1887031170;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public override string GetDescription()
|
|
{
|
|
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>(-2024271967);
|
|
}
|
|
}
|