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

217 lines
6.8 KiB
C#

using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Shared;
internal sealed class ExtraConditionUtils
{
private readonly IClientState _clientState;
private readonly IObjectTable _objectTable;
public ExtraConditionUtils(IClientState clientState, IObjectTable objectTable)
{
_clientState = clientState;
_objectTable = objectTable;
}
public bool MatchesExtraCondition(EExtraSkipCondition skipCondition)
{
IPlayerCharacter playerCharacter = _206A_202B_202C_200B_200B_200E_206C_200B_206C_206C_206F_206F_200B_202D_206A_206E_206B_202B_206B_202C_206B_202E_206F_202D_200F_206C_202A_202C_206B_206D_200B_202E_206F_206F_200F_206C_206E_200D_206A_206D_202E(_objectTable);
Vector3? vector = ((playerCharacter != null) ? new Vector3?(_206B_202E_202E_206A_200D_200B_202D_200F_206E_206B_206C_200C_206B_206A_206B_200D_202A_202B_202B_202C_200C_200B_200C_200C_206E_202D_202E_202A_206A_200D_202A_206F_206E_200D_202E_206B_202E_200B_202D_202E_202E((IGameObject)playerCharacter)) : ((Vector3?)null));
int num = ((!vector.HasValue) ? 1142844286 : 1142844285);
while (true)
{
int num2 = num;
int num3 = 1142844284;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 1142844285;
break;
case 3:
return MatchesExtraCondition(skipCondition, vector.Value, _202B_206D_206D_200E_206E_200C_206D_206B_206D_202D_206E_200F_200C_206D_202C_200B_206A_200D_202A_206C_202B_200D_206B_202D_206E_202A_200D_200C_202A_206B_202B_200B_200C_206C_206D_202A_202C_200F_206C_206F_202E(_clientState));
case 2:
return false;
case 1:
num = ((_202B_206D_206D_200E_206E_200C_206D_206B_206D_202D_206E_200F_200C_206D_202C_200B_206A_200D_202A_206C_202B_200D_206B_202D_206E_202A_200D_200C_202A_206B_202B_200B_200C_206C_206D_202A_202C_200F_206C_206F_202E(_clientState) == 0) ? 1142844286 : 1142844287);
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static bool MatchesExtraCondition(EExtraSkipCondition skipCondition, Vector3 position, uint territoryType)
{
int num;
bool result = default(bool);
switch (skipCondition)
{
default:
num = 1143569671;
goto IL_002b;
case EExtraSkipCondition.DockStorehouse:
num = ((territoryType != 137) ? 1143569672 : 1143569666);
goto IL_002b;
case EExtraSkipCondition.WakingSandsMainArea:
goto IL_00cc;
case EExtraSkipCondition.NotRoguesGuild:
goto IL_0115;
case EExtraSkipCondition.RoguesGuild:
goto IL_0209;
case EExtraSkipCondition.RisingStonesSolar:
goto IL_022c;
case EExtraSkipCondition.WakingSandsSolar:
goto IL_024d;
IL_002b:
while (true)
{
int num2 = num;
int num3 = 1143569666;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
int num12;
int num11;
int num10;
int num8;
int num9;
int num7;
switch (num5 - (num6 + num6))
{
case 16:
num12 = 0;
goto IL_009f;
case 18:
goto end_IL_002b;
case 19:
goto IL_00cc;
case 5:
num = 1143569683;
break;
case 12:
num12 = ((position.Y > -115f) ? 1 : 0);
goto IL_009f;
case 1:
goto IL_0115;
case 17:
throw _206B_200F_200F_200D_200F_202A_206D_200D_200D_202D_206C_206A_206E_206C_206E_202E_202B_206C_206C_200D_202C_200B_200C_202C_206A_200F_206D_206B_206C_202D_206F_202E_206F_202C_200B_206E_206A_200D_206B_206A_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-226080792), (object)skipCondition, (string)null);
case 0:
num11 = ((position.Y <= -20f) ? 1 : 0);
goto IL_018e;
case 7:
num10 = ((position.Z <= -28f) ? 1 : 0);
goto IL_01c5;
case 10:
num11 = 0;
goto IL_018e;
case 4:
num8 = ((position.X < 24f) ? 1 : 0);
goto IL_026f;
case 14:
num9 = 0;
goto IL_01b8;
case 13:
num10 = 0;
goto IL_01c5;
case 11:
num7 = 0;
goto IL_01d2;
case 20:
num = 1143569671;
break;
case 6:
num9 = ((position.X >= 24f) ? 1 : 0);
goto IL_01b8;
case 9:
goto IL_0209;
case 3:
return result;
case 15:
goto IL_022c;
case 8:
goto IL_024d;
case 2:
num8 = 0;
goto IL_026f;
case 21:
{
num7 = ((position.Y <= -115f) ? 1 : 0);
goto IL_01d2;
}
IL_01d2:
result = (byte)num7 != 0;
num = 1143569665;
break;
IL_01b8:
result = (byte)num9 != 0;
num = 1143569665;
break;
IL_026f:
result = (byte)num8 != 0;
num = 1143569665;
break;
IL_01c5:
result = (byte)num10 != 0;
num = 1143569665;
break;
IL_018e:
result = (byte)num11 != 0;
num = 1143569665;
break;
IL_009f:
result = (byte)num12 != 0;
num = 1143569665;
break;
}
continue;
end_IL_002b:
break;
}
goto case EExtraSkipCondition.DockStorehouse;
IL_024d:
num = ((territoryType != 212) ? 1143569676 : 1143569668);
goto IL_002b;
IL_0209:
num = ((territoryType != 129) ? 1143569673 : 1143569687);
goto IL_002b;
IL_0115:
num = ((territoryType != 129) ? 1143569682 : 1143569678);
goto IL_002b;
IL_022c:
num = ((territoryType != 351) ? 1143569679 : 1143569669);
goto IL_002b;
IL_00cc:
num = ((territoryType != 212) ? 1143569664 : 1143569670);
goto IL_002b;
}
}
static IPlayerCharacter _206A_202B_202C_200B_200B_200E_206C_200B_206C_206C_206F_206F_200B_202D_206A_206E_206B_202B_206B_202C_206B_202E_206F_202D_200F_206C_202A_202C_206B_206D_200B_202E_206F_206F_200F_206C_206E_200D_206A_206D_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static Vector3 _206B_202E_202E_206A_200D_200B_202D_200F_206E_206B_206C_200C_206B_206A_206B_200D_202A_202B_202B_202C_200C_200B_200C_200C_206E_202D_202E_202A_206A_200D_202A_206F_206E_200D_202E_206B_202E_200B_202D_202E_202E(IGameObject P_0)
{
return P_0.Position;
}
static uint _202B_206D_206D_200E_206E_200C_206D_206B_206D_202D_206E_200F_200C_206D_202C_200B_206A_200D_202A_206C_202B_200D_206B_202D_206E_202A_200D_200C_202A_206B_202B_200B_200C_206C_206D_202A_202C_200F_206C_206F_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static ArgumentOutOfRangeException _206B_200F_200F_200D_200F_202A_206D_200D_200D_202D_206C_206A_206E_206C_206E_202E_202B_206C_206C_200D_202C_200B_200C_202C_206A_200F_206D_206B_206C_202D_206F_202E_206F_202C_200B_206E_206A_200D_206B_206A_202E(string P_0, object P_1, string P_2)
{
return new ArgumentOutOfRangeException(P_0, P_1, P_2);
}
}