muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
|
|
@ -0,0 +1,603 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Dalamud.Game.ClientState.Objects.SubKinds;
|
||||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.System.Framework;
|
||||
using FFXIVClientStructs.FFXIV.Common.Component.BGCollision;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps;
|
||||
using Questionable.External;
|
||||
using Questionable.Functions;
|
||||
using Questionable.Model;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class DeliveryNpcApproachExecutor(NavmeshIpc navmeshIpc, MovementController movementController, GameFunctions gameFunctions, IObjectTable objectTable, IClientState clientState, ILogger<DeliveryNpcApproachExecutor> logger) : TaskExecutor<DeliveryNpcApproachTask>(), IStoppableTaskExecutor, ITaskExecutor, IDisposable
|
||||
{
|
||||
private readonly List<Vector3> _candidates = new List<Vector3>();
|
||||
|
||||
private CancellationTokenSource? _cancellationTokenSource;
|
||||
|
||||
private Task<NavPathfindResult>? _pathfindTask;
|
||||
|
||||
private int _candidateIndex;
|
||||
|
||||
private bool _moving;
|
||||
|
||||
private float _interactionDistance;
|
||||
|
||||
private Vector3 _npcPosition;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
protected override bool Start()
|
||||
{
|
||||
_candidates.Clear();
|
||||
_candidateIndex = 0;
|
||||
_moving = false;
|
||||
_pathfindTask = null;
|
||||
_cancellationTokenSource = _202C_206C_202B_200E_200E_206D_202D_202C_200E_206F_206A_202B_202B_202A_206B_206A_206E_206B_200E_200F_206A_206B_200B_200D_206A_206D_200E_206C_200D_202D_202E_202B_202B_202A_200F_200F_200D_200F_202A_202A_202E(TimeSpan.FromSeconds(30L));
|
||||
IPlayerCharacter playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
|
||||
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId, null, warnIfMissing: false);
|
||||
_npcPosition = ((gameObject != null) ? _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E(gameObject) : base.Task.NpcPosition);
|
||||
_interactionDistance = 3f + ((gameObject != null) ? _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E(gameObject) : 0f) + ((playerCharacter != null) ? _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E((IGameObject)playerCharacter) : 0f);
|
||||
int num = ((playerCharacter == null) ? (-965250056) : (-965250059));
|
||||
int num5 = default(int);
|
||||
Vector3? pointOnFloor = default(Vector3?);
|
||||
float num6 = default(float);
|
||||
float num7 = default(float);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -965250056;
|
||||
int num4 = num2;
|
||||
int num14;
|
||||
int num15;
|
||||
float num16;
|
||||
Vector3 position;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 7:
|
||||
_202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E((ILogger)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>(90792700), new object[3]
|
||||
{
|
||||
_candidates.Count,
|
||||
base.Task.NpcDataId,
|
||||
_interactionDistance
|
||||
});
|
||||
StartNextPathfind();
|
||||
return true;
|
||||
case 12:
|
||||
num = ((num5 == 0) ? (-965250052) : (-965250055));
|
||||
break;
|
||||
case 4:
|
||||
num14 = 0;
|
||||
goto IL_01a9;
|
||||
case 9:
|
||||
num = ((!(Vector2.Distance(new Vector2(pointOnFloor.Value.X, pointOnFloor.Value.Z), new Vector2(_npcPosition.X, _npcPosition.Z)) <= _interactionDistance)) ? (-965250064) : (-965250051));
|
||||
break;
|
||||
case 13:
|
||||
num = ((_200C_202B_200C_206A_206D_206A_202E_202B_206A_200F_200F_200F_202A_206F_206D_202B_200B_202C_200F_200D_206B_206D_200B_202E_202A_202A_202C_200C_206F_202E_200C_200F_202B_200D_200D_202C_202E_202E_200D_206A_202E(clientState) == base.Task.TerritoryId) ? (-965250054) : (-965250056));
|
||||
break;
|
||||
case 5:
|
||||
num = ((!HasLineOfSight(pointOnFloor.Value, _npcPosition)) ? (-965250064) : (-965250061));
|
||||
break;
|
||||
case 0:
|
||||
return true;
|
||||
case 1:
|
||||
{
|
||||
int num11 = num5;
|
||||
num3 = 1;
|
||||
num4 = num11;
|
||||
int num12 = num4 ^ num3;
|
||||
int num13 = num4 & num3;
|
||||
num14 = (num12 + (num13 + num13)) / 2 * ((num5 % 2 == 1) ? 1 : (-1));
|
||||
goto IL_01a9;
|
||||
}
|
||||
case 10:
|
||||
num = ((num5 < 24) ? (-965250060) : (-965250049));
|
||||
break;
|
||||
case 8:
|
||||
{
|
||||
int num8 = num5;
|
||||
num3 = 1;
|
||||
num4 = num8;
|
||||
int num9 = num4 ^ num3;
|
||||
int num10 = num4 & num3;
|
||||
num5 = num9 + (num10 + num10);
|
||||
num = -965250062;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
num = -965250059;
|
||||
break;
|
||||
case 2:
|
||||
num6 = _200E_200F_200D_206C_206A_202C_206B_206F_202B_202C_200E_200D_206A_200E_206D_200B_200B_202A_206E_202A_202D_202E_206B_200C_200B_206A_200B_200C_206E_200B_200D_206D_200C_202B_206F_200F_200B_202B_200C_200E_202E(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter).X - _npcPosition.X, _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter).Z - _npcPosition.Z);
|
||||
num7 = _202B_200F_200E_206C_200E_206B_202C_202D_200B_200C_202A_206C_200F_200B_200D_200C_200B_206E_206D_202C_202D_200E_200D_202C_202A_206F_200B_200C_202B_206E_200B_202B_200F_206B_206A_200B_206E_202A_206D_206F_202E(1f, _interactionDistance - 0.5f);
|
||||
num5 = 0;
|
||||
num = -965250062;
|
||||
break;
|
||||
case 11:
|
||||
num = ((!HasBodyClearance(pointOnFloor.Value, _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E((IGameObject)playerCharacter) + 0.5f)) ? (-965250064) : (-965250050));
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
_candidates.Add(pointOnFloor.Value);
|
||||
num = -965250064;
|
||||
break;
|
||||
}
|
||||
IL_01a9:
|
||||
num15 = num14;
|
||||
num16 = num6 + MathF.PI * 2f * (float)num15 / 24f;
|
||||
position = new Vector3(_npcPosition.X + _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(num16) * num7, _npcPosition.Y + 5f, _npcPosition.Z + _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(num16) * num7);
|
||||
pointOnFloor = navmeshIpc.GetPointOnFloor(position, unlandable: false, 0.75f);
|
||||
num = ((!pointOnFloor.HasValue) ? (-965250064) : (-965250063));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
int num = ((!_moving) ? (-1907182923) : (-1907182931));
|
||||
Vector3 vector = default(Vector3);
|
||||
NavPathfindResult result = default(NavPathfindResult);
|
||||
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
|
||||
float num6 = default(float);
|
||||
IPlayerCharacter playerCharacter2 = default(IPlayerCharacter);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1907182938;
|
||||
int num4 = num2;
|
||||
float num5;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 17:
|
||||
{
|
||||
List<Vector3> candidates = _candidates;
|
||||
int candidateIndex = _candidateIndex;
|
||||
num3 = 1;
|
||||
num4 = candidateIndex;
|
||||
vector = candidates[~(~num4 + num3)];
|
||||
result = _pathfindTask.Result;
|
||||
num = (result.HasPartialInfo ? (-1907182936) : (-1907182924));
|
||||
break;
|
||||
}
|
||||
case 16:
|
||||
num = ((_candidateIndex < _candidates.Count) ? (-1907182927) : (-1907182930));
|
||||
break;
|
||||
case 19:
|
||||
num = ((_pathfindTask != null) ? (-1907182940) : (-1907182922));
|
||||
break;
|
||||
case 8:
|
||||
throw new MovementController.PathfindingFailedException(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>(1585195763));
|
||||
case 6:
|
||||
num = ((!movementController.IsPathRunning) ? (-1907182925) : (-1907182941));
|
||||
break;
|
||||
case 29:
|
||||
num = ((!_202C_202E_202A_200B_206B_200F_200F_206E_202A_206B_202A_206A_202C_202A_200C_206A_202A_200C_200D_200C_202A_206E_206A_200D_206C_206E_206C_202C_202C_206E_206C_200D_202A_206D_202C_206A_202D_202C_202C_200E_202E((System.Threading.Tasks.Task)_pathfindTask)) ? (-1907182937) : (-1907182928));
|
||||
break;
|
||||
case 7:
|
||||
_202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_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>(190605907), new object[1] { vector });
|
||||
movementController.NavigateTo(EMovementType.Quest, base.Task.NpcDataId, result.Waypoints, fly: false, sprint: true, 0.5f);
|
||||
_moving = true;
|
||||
return ETaskResult.StillRunning;
|
||||
case 24:
|
||||
num = (result.IsPartial ? (-1907182929) : (-1907182933));
|
||||
break;
|
||||
case 20:
|
||||
throw new MovementController.PathfindingFailedException(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>(-1442579003));
|
||||
case 2:
|
||||
num = (_200F_200F_202B_206F_206E_202E_206A_206B_202B_200D_200F_200F_202A_206E_206A_200F_200E_200D_206B_202E_206E_206D_206B_202E_206C_200C_200E_202B_202E_200B_200F_202D_200B_200E_200E_206B_202B_200C_206E_206D_202E((System.Threading.Tasks.Task)_pathfindTask) ? (-1907182917) : (-1907182913));
|
||||
break;
|
||||
case 22:
|
||||
throw new MovementController.PathfindingFailedException(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>(688174064));
|
||||
case 27:
|
||||
num = ((playerCharacter == null) ? (-1907182929) : (-1907182942));
|
||||
break;
|
||||
case 14:
|
||||
num5 = result.EndDistance;
|
||||
goto IL_02ae;
|
||||
case 23:
|
||||
StartNextPathfind();
|
||||
return ETaskResult.StillRunning;
|
||||
case 11:
|
||||
num = (movementController.IsPathfinding ? (-1907182941) : (-1907182944));
|
||||
break;
|
||||
case 1:
|
||||
num = ((!_202E_202B_206F_200E_200D_206D_206B_206F_206B_200B_206F_206F_200D_200D_200C_200F_200C_206F_200D_200B_200C_202D_206D_202D_206A_200D_206D_206B_206E_202E_206C_202C_206B_202E_200E_200F_202E_200D_206F_206B_202E((System.Threading.Tasks.Task)_pathfindTask)) ? (-1907182921) : (-1907182939));
|
||||
break;
|
||||
case 0:
|
||||
num = -1907182931;
|
||||
break;
|
||||
case 12:
|
||||
num = ((!result.HasPartialInfo) ? (-1907182933) : (-1907182914));
|
||||
break;
|
||||
case 13:
|
||||
num = ((!(num6 <= 1f)) ? (-1907182929) : (-1907182915));
|
||||
break;
|
||||
case 15:
|
||||
{
|
||||
List<Vector3> waypoints = result.Waypoints;
|
||||
num5 = Vector3.Distance(waypoints[waypoints.Count - 1], vector);
|
||||
goto IL_02ae;
|
||||
}
|
||||
case 21:
|
||||
playerCharacter2 = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
|
||||
num = ((playerCharacter2 == null) ? (-1907182926) : (-1907182918));
|
||||
break;
|
||||
case 3:
|
||||
_200E_206D_206E_206A_200C_202B_206B_202D_206B_200C_200D_202C_206A_206B_200F_206C_200D_200F_206B_202B_206E_202E_206B_202A_200C_206F_206A_206D_200E_200F_202D_202E_206E_206B_202D_200B_202C_202D_202B_200E_202E((ILogger)logger, (Exception)_206B_206A_200F_206E_202E_206D_200C_202A_200E_202A_202A_206F_206C_200B_202C_202E_206A_202C_202B_200D_200C_206D_200E_202C_206E_202B_206B_202C_202E_200C_200D_206E_206A_200D_200E_206B_200E_202A_206D_200D_202E((System.Threading.Tasks.Task)_pathfindTask), 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>(-1595020908), Array.Empty<object>());
|
||||
_pathfindTask = null;
|
||||
return ETaskResult.StillRunning;
|
||||
case 28:
|
||||
num = ((!(Vector3.Distance(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter2), _npcPosition) <= _interactionDistance + 0.5f)) ? (-1907182926) : (-1907182916));
|
||||
break;
|
||||
case 25:
|
||||
return ETaskResult.StillRunning;
|
||||
case 26:
|
||||
return ETaskResult.TaskComplete;
|
||||
case 18:
|
||||
num = ((result.Waypoints.Count > 0) ? (-1907182935) : (-1907182932));
|
||||
break;
|
||||
case 10:
|
||||
num5 = float.MaxValue;
|
||||
goto IL_02ae;
|
||||
case 9:
|
||||
_pathfindTask = null;
|
||||
return ETaskResult.StillRunning;
|
||||
case 4:
|
||||
num = ((!HasCollisionFreePath(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter), result.Waypoints)) ? (-1907182929) : (-1907182943));
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
IL_02ae:
|
||||
num6 = num5;
|
||||
playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
|
||||
num = ((result.Waypoints.Count <= 0) ? (-1907182929) : (-1907182934));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void StartNextPathfind()
|
||||
{
|
||||
IPlayerCharacter playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
|
||||
int num = ((playerCharacter == null) ? 461991521 : 461991527);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 461991523;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
num = ((_cancellationTokenSource != null) ? 461991520 : 461991521);
|
||||
break;
|
||||
case 4:
|
||||
num = ((_candidateIndex >= _candidates.Count) ? 461991521 : 461991522);
|
||||
break;
|
||||
case 2:
|
||||
return;
|
||||
case 0:
|
||||
num = 461991527;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
List<Vector3> candidates = _candidates;
|
||||
int candidateIndex = _candidateIndex;
|
||||
num3 = 1;
|
||||
num4 = candidateIndex;
|
||||
int num5 = num4 ^ num3;
|
||||
int num6 = num4 & num3;
|
||||
_candidateIndex = num5 + (num6 + num6);
|
||||
Vector3 targetPosition = candidates[candidateIndex];
|
||||
_pathfindTask = navmeshIpc.Pathfind(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter), targetPosition, fly: false, _202E_206E_200F_206F_200D_200C_206D_202A_200C_200D_202C_200F_202D_206F_206D_206F_206E_200D_206E_202C_200C_206E_200C_206F_206B_206B_200D_200C_200F_200D_202E_206E_202A_206F_202D_202C_206D_200C_206F_200D_202E(_cancellationTokenSource));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool HasLineOfSight(Vector3 from, Vector3 to)
|
||||
{
|
||||
return HasLineOfSightAtHeight(from, to, 2f);
|
||||
}
|
||||
|
||||
private static bool HasBodyClearance(Vector3 position, float radius)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 883120263;
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 883120261;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 4:
|
||||
num2 = 883120263;
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
case 1:
|
||||
return true;
|
||||
case 2:
|
||||
num2 = ((num < 8) ? 883120262 : 883120260);
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
int num9 = num;
|
||||
num4 = 1;
|
||||
num5 = num9;
|
||||
num = (num5 | num4) + (num5 & num4);
|
||||
num2 = 883120263;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
float num8 = MathF.PI * 2f * (float)num / 8f;
|
||||
num2 = (HasLineOfSightAtHeight(to: new Vector3(position.X + _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(num8) * radius, position.Y, position.Z + _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(num8) * radius), from: position, height: 1f) ? 883120256 : 883120261);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool HasCollisionFreePath(Vector3 start, IReadOnlyList<Vector3> waypoints)
|
||||
{
|
||||
Vector3 vector = start;
|
||||
IEnumerator<Vector3> enumerator = waypoints.GetEnumerator();
|
||||
try
|
||||
{
|
||||
int num = -1337017310;
|
||||
Vector3 current = default(Vector3);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1337017311;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 6:
|
||||
num = -1337017310;
|
||||
break;
|
||||
case 4:
|
||||
return false;
|
||||
case 1:
|
||||
current = enumerator.Current;
|
||||
num = ((!HasLineOfSightAtHeight(vector, current, 0.75f)) ? (-1337017307) : (-1337017309));
|
||||
break;
|
||||
case 2:
|
||||
num = (HasLineOfSightAtHeight(vector, current, 1.5f) ? (-1337017311) : (-1337017307));
|
||||
break;
|
||||
case 3:
|
||||
num = (_206D_202B_202E_200E_202C_206A_200E_200B_206E_202E_206F_206A_200C_206D_200B_206E_200F_202D_202C_206D_200D_206F_202A_200C_206D_200B_202E_200D_206A_206B_202D_202A_202A_206F_202D_200C_202C_206A_200B_200D_202E((IEnumerator)enumerator) ? (-1337017312) : (-1337017308));
|
||||
break;
|
||||
case 0:
|
||||
vector = current;
|
||||
num = -1337017310;
|
||||
break;
|
||||
case 5:
|
||||
goto end_IL_0015;
|
||||
}
|
||||
continue;
|
||||
end_IL_0015:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((enumerator == null) ? (-1236481576) : (-1236481575));
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
int num3 = -1236481576;
|
||||
int num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 2:
|
||||
num = -1236481575;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_011d;
|
||||
case 1:
|
||||
_200F_200B_206B_200E_202D_202A_202C_200F_202B_206E_200D_200B_206D_206C_202C_206F_202D_200C_206F_202D_202A_202D_206F_202E_206B_206F_200B_202D_200B_200D_200E_202A_200F_200E_200E_200E_200F_206F_206E_206E_202E((IDisposable)enumerator);
|
||||
num = -1236481576;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_011d:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private unsafe static bool HasLineOfSightAtHeight(Vector3 from, Vector3 to, float height)
|
||||
{
|
||||
Framework* ptr = Framework.Instance();
|
||||
int num = ((ptr == null) ? (-2105382518) : (-2105382517));
|
||||
Vector3 vector = default(Vector3);
|
||||
float num7 = default(float);
|
||||
RaycastHit raycastHit = default(RaycastHit);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2105382513;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 5:
|
||||
return true;
|
||||
case 1:
|
||||
return true;
|
||||
case 3:
|
||||
{
|
||||
Vector3 vector2 = vector / num7;
|
||||
int* flags = stackalloc int[4] { 16384, 0, 16384, 0 };
|
||||
return !ptr->BGCollisionModule->RaycastMaterialFilter(&raycastHit, &from, &vector2, num7, 1, flags);
|
||||
}
|
||||
case 0:
|
||||
num = -2105382517;
|
||||
break;
|
||||
case 4:
|
||||
num = ((ptr->BGCollisionModule != null) ? (-2105382515) : (-2105382518));
|
||||
break;
|
||||
case 2:
|
||||
from.Y += height;
|
||||
to.Y += height;
|
||||
vector = to - from;
|
||||
num7 = vector.Length();
|
||||
num = ((!(num7 < 0.1f)) ? (-2105382516) : (-2105382514));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void StopNow()
|
||||
{
|
||||
CancellationTokenSource? cancellationTokenSource = _cancellationTokenSource;
|
||||
if (cancellationTokenSource != null)
|
||||
{
|
||||
_200B_206A_202A_202E_200F_206E_206D_200F_206D_206C_206E_202E_200F_206A_202A_206A_206E_200F_202A_206F_206A_206F_202A_206D_200E_200B_202A_200E_206C_202E_202B_206F_206D_206C_206C_200E_206F_200C_202D_202D_202E(cancellationTokenSource);
|
||||
}
|
||||
movementController.Stop();
|
||||
}
|
||||
|
||||
void IStoppableTaskExecutor.StopNow()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in StopNow
|
||||
this.StopNow();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
((DeliveryNpcApproachExecutor)(object)_cancellationTokenSource)?._206B_200B_202D_206F_206A_206E_202D_202A_206A_206E_206B_206B_200B_202B_202E_206C_202E_200B_200C_200C_200F_206A_200F_206C_206B_200C_206C_206C_200B_202D_206C_202C_206E_202A_200C_200F_206A_206F_206B_206F_202E();
|
||||
}
|
||||
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Dispose
|
||||
this.Dispose();
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static CancellationTokenSource _202C_206C_202B_200E_200E_206D_202D_202C_200E_206F_206A_202B_202B_202A_206B_206A_206E_206B_200E_200F_206A_206B_200B_200D_206A_206D_200E_206C_200D_202D_202E_202B_202B_202A_200F_200F_200D_200F_202A_202A_202E(TimeSpan P_0)
|
||||
{
|
||||
return new CancellationTokenSource(P_0);
|
||||
}
|
||||
|
||||
static IPlayerCharacter _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(IObjectTable P_0)
|
||||
{
|
||||
return P_0.LocalPlayer;
|
||||
}
|
||||
|
||||
static Vector3 _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.Position;
|
||||
}
|
||||
|
||||
static float _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.HitboxRadius;
|
||||
}
|
||||
|
||||
static uint _200C_202B_200C_206A_206D_206A_202E_202B_206A_200F_200F_200F_202A_206F_206D_202B_200B_202C_200F_200D_206B_206D_200B_202E_202A_202A_202C_200C_206F_202E_200C_200F_202B_200D_200D_202C_202E_202E_200D_206A_202E(IClientState P_0)
|
||||
{
|
||||
return P_0.TerritoryType;
|
||||
}
|
||||
|
||||
static float _200E_200F_200D_206C_206A_202C_206B_206F_202B_202C_200E_200D_206A_200E_206D_200B_200B_202A_206E_202A_202D_202E_206B_200C_200B_206A_200B_200C_206E_200B_200D_206D_200C_202B_206F_200F_200B_202B_200C_200E_202E(float P_0, float P_1)
|
||||
{
|
||||
return MathF.Atan2(P_0, P_1);
|
||||
}
|
||||
|
||||
static float _202B_200F_200E_206C_200E_206B_202C_202D_200B_200C_202A_206C_200F_200B_200D_200C_200B_206E_206D_202C_202D_200E_200D_202C_202A_206F_200B_200C_202B_206E_200B_202B_200F_206B_206A_200B_206E_202A_206D_206F_202E(float P_0, float P_1)
|
||||
{
|
||||
return MathF.Max(P_0, P_1);
|
||||
}
|
||||
|
||||
static float _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(float P_0)
|
||||
{
|
||||
return MathF.Sin(P_0);
|
||||
}
|
||||
|
||||
static float _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(float P_0)
|
||||
{
|
||||
return MathF.Cos(P_0);
|
||||
}
|
||||
|
||||
static void _202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _200F_200F_202B_206F_206E_202E_206A_206B_202B_200D_200F_200F_202A_206E_206A_200F_200E_200D_206B_202E_206E_206D_206B_202E_206C_200C_200E_202B_202E_200B_200F_202D_200B_200E_200E_206B_202B_200C_206E_206D_202E(System.Threading.Tasks.Task P_0)
|
||||
{
|
||||
return P_0.IsCompleted;
|
||||
}
|
||||
|
||||
static bool _202C_202E_202A_200B_206B_200F_200F_206E_202A_206B_202A_206A_202C_202A_200C_206A_202A_200C_200D_200C_202A_206E_206A_200D_206C_206E_206C_202C_202C_206E_206C_200D_202A_206D_202C_206A_202D_202C_202C_200E_202E(System.Threading.Tasks.Task P_0)
|
||||
{
|
||||
return P_0.IsCanceled;
|
||||
}
|
||||
|
||||
static bool _202E_202B_206F_200E_200D_206D_206B_206F_206B_200B_206F_206F_200D_200D_200C_200F_200C_206F_200D_200B_200C_202D_206D_202D_206A_200D_206D_206B_206E_202E_206C_202C_206B_202E_200E_200F_202E_200D_206F_206B_202E(System.Threading.Tasks.Task P_0)
|
||||
{
|
||||
return P_0.IsFaulted;
|
||||
}
|
||||
|
||||
static AggregateException _206B_206A_200F_206E_202E_206D_200C_202A_200E_202A_202A_206F_206C_200B_202C_202E_206A_202C_202B_200D_200C_206D_200E_202C_206E_202B_206B_202C_202E_200C_200D_206E_206A_200D_200E_206B_200E_202A_206D_200D_202E(System.Threading.Tasks.Task P_0)
|
||||
{
|
||||
return P_0.Exception;
|
||||
}
|
||||
|
||||
static void _200E_206D_206E_206A_200C_202B_206B_202D_206B_200C_200D_202C_206A_206B_200F_206C_200D_200F_206B_202B_206E_202E_206B_202A_200C_206F_206A_206D_200E_200F_202D_202E_206E_206B_202D_200B_202C_202D_202B_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static CancellationToken _202E_206E_200F_206F_200D_200C_206D_202A_200C_200D_202C_200F_202D_206F_206D_206F_206E_200D_206E_202C_200C_206E_200C_206F_206B_206B_200D_200C_200F_200D_202E_206E_202A_206F_202D_202C_206D_200C_206F_200D_202E(CancellationTokenSource P_0)
|
||||
{
|
||||
return P_0.Token;
|
||||
}
|
||||
|
||||
static bool _206D_202B_202E_200E_202C_206A_200E_200B_206E_202E_206F_206A_200C_206D_200B_206E_200F_202D_202C_206D_200D_206F_202A_200C_206D_200B_202E_200D_206A_206B_202D_202A_202A_206F_202D_200C_202C_206A_200B_200D_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200F_200B_206B_200E_202D_202A_202C_200F_202B_206E_200D_200B_206D_206C_202C_206F_202D_200C_206F_202D_202A_202D_206F_202E_206B_206F_200B_202D_200B_200D_200E_202A_200F_200E_200E_200E_200F_206F_206E_206E_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static void _200B_206A_202A_202E_200F_206E_206D_200F_206D_206C_206E_202E_200F_206A_202A_206A_206E_200F_202A_206F_206A_206F_202A_206D_200E_200B_202A_200E_206C_202E_202B_206F_206D_206C_206C_200E_206F_200C_202D_202D_202E(CancellationTokenSource P_0)
|
||||
{
|
||||
P_0.Cancel();
|
||||
}
|
||||
|
||||
void _206B_200B_202D_206F_206A_206E_202D_202A_206A_206E_206B_206B_200B_202B_202E_206C_202E_200B_200C_200C_200F_206A_200F_206C_206B_200C_206C_206C_200B_202D_206C_202C_206E_202A_200C_200F_206A_206F_206B_206F_202E()
|
||||
{
|
||||
((CancellationTokenSource)(object)this).Dispose();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Questionable.Controller.Steps;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed record DeliveryNpcApproachTask(ushort TerritoryId, Vector3 NpcPosition, uint NpcDataId) : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202B_206C_200F_206B_200B_202D_200D_200F_200C_206C_202A_206C_200E_206B_206A_200F_202A_200F_202E_206D_206D_202A_200C_206C_200D_200C_200D_202A_202C_202D_206F_206C_202B_206F_200C_202E_202C_202E_202C_206E_202E(typeof(DeliveryNpcApproachTask).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 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>(853725271));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(NpcDataId);
|
||||
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)
|
||||
{
|
||||
_202A_202A_202C_202E_206B_206A_200C_200E_206E_206A_200D_206C_200E_202D_206E_206E_200F_200E_202C_200E_202D_206F_200D_200D_200D_206E_200D_202D_206F_206E_206A_202A_206E_206C_206E_202C_202B_200C_202E_200C_202E();
|
||||
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_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>(2145374973));
|
||||
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, TerritoryId.ToString());
|
||||
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_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>(-1319777869));
|
||||
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, NpcPosition.ToString());
|
||||
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_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>(-323573035));
|
||||
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, NpcDataId.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(DeliveryNpcApproachTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-2005585280) : (-2005585273));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2005585274;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = -2005585273;
|
||||
break;
|
||||
case 7:
|
||||
num = ((!_200C_202D_202D_202D_200F_200C_200E_202E_200C_200E_206E_200E_200B_202E_206A_206A_202D_202D_200C_202E_200C_202D_206F_200E_202E_206D_200E_206A_202B_200F_200C_202A_206E_202B_206A_206A_200E_206A_200E_202B_202E(EqualityContract, other.EqualityContract)) ? (-2005585274) : (-2005585275));
|
||||
break;
|
||||
case 1:
|
||||
num = (((object)other == null) ? (-2005585274) : (-2005585279));
|
||||
break;
|
||||
case 6:
|
||||
return true;
|
||||
case 5:
|
||||
return EqualityComparer<uint>.Default.Equals(NpcDataId, other.NpcDataId);
|
||||
case 0:
|
||||
return false;
|
||||
case 3:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-2005585274) : (-2005585278));
|
||||
break;
|
||||
case 4:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(NpcPosition, other.NpcPosition)) ? (-2005585274) : (-2005585277));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<DeliveryNpcApproachTask>.Equals(DeliveryNpcApproachTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202B_206C_200F_206B_200B_202D_200D_200F_200C_206C_202A_206C_200E_206B_206A_200F_202A_200F_202E_206D_206D_202A_200C_206C_200D_200C_200D_202A_202C_202D_206F_206C_202B_206F_200C_202E_202C_202E_202C_206E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _202A_202A_202C_202E_206B_206A_200C_200E_206E_206A_200D_206C_200E_202D_206E_206E_200F_200E_202C_200E_202D_206F_200D_200D_200D_206E_200D_202D_206F_206E_206A_202A_206E_206C_206E_202C_202B_200C_202E_200C_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _200C_202D_202D_202D_200F_200C_200E_202E_200C_200E_206E_200E_200B_202E_206A_206A_202D_202D_200C_202E_200C_202D_206F_200E_202E_206D_200E_206A_202B_200F_200C_202A_206E_202B_206A_206A_200E_206A_200E_202B_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class DeliveryPlan
|
||||
{
|
||||
public required int NpcIndex { get; init; }
|
||||
|
||||
public required EDeliverySlot Slot { get; init; }
|
||||
|
||||
public required uint ItemId { get; init; }
|
||||
|
||||
public required ushort Collectability { get; init; }
|
||||
|
||||
public required int DeliveryCount { get; init; }
|
||||
|
||||
public VendorResolverService.RecipeInfo? Recipe { get; init; }
|
||||
|
||||
public IReadOnlyList<IngredientPlan> IngredientPlans { get; init; } = Array.Empty<IngredientPlan>();
|
||||
}
|
||||
|
|
@ -0,0 +1,659 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using LLib.GameData;
|
||||
using LLib.Inventory;
|
||||
using LLib.Shop;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.External;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class DeliveryPlannerService
|
||||
{
|
||||
private readonly SatisfactionSupplyHelper _supplyHelper;
|
||||
|
||||
private readonly VendorResolverService _vendorResolver;
|
||||
|
||||
private readonly DeliveryRewardCalculator _rewardCalculator;
|
||||
|
||||
private readonly IDataManager _dataManager;
|
||||
|
||||
private readonly Configuration _configuration;
|
||||
|
||||
private readonly ILogger<DeliveryPlannerService> _logger;
|
||||
|
||||
public DeliveryPlannerService(SatisfactionSupplyHelper supplyHelper, VendorResolverService vendorResolver, DeliveryRewardCalculator rewardCalculator, IDataManager dataManager, Configuration configuration, ILogger<DeliveryPlannerService> logger)
|
||||
{
|
||||
_supplyHelper = supplyHelper;
|
||||
_vendorResolver = vendorResolver;
|
||||
_rewardCalculator = rewardCalculator;
|
||||
_dataManager = dataManager;
|
||||
_configuration = configuration;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public unsafe DeliveryPlan? CreatePlan(int npcIndex, EDeliverySlot slot)
|
||||
{
|
||||
int num = (_200D_206E_202C_202A_202A_202E_202E_206C_200D_200C_200E_200C_206B_206C_200D_200B_206B_206D_206C_202E_202A_206C_206E_200D_200B_206C_200D_200F_206B_202A_202C_202D_206A_206B_206F_200B_200F_202E_200F_200D_202E() ? (-1888935827) : (-1888935840));
|
||||
uint rowId = default(uint);
|
||||
SatisfactionSupply subrow = default(SatisfactionSupply);
|
||||
Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier = default(Configuration.CustomDeliveryConfiguration.ECollectabilityTier);
|
||||
int num20 = default(int);
|
||||
int num21 = default(int);
|
||||
int num30 = default(int);
|
||||
SatisfactionSupplyActions.NpcState npcState = default(SatisfactionSupplyActions.NpcState);
|
||||
uint supplyIndex = default(uint);
|
||||
SatisfactionNpc row = default(SatisfactionNpc);
|
||||
uint num28 = default(uint);
|
||||
uint num29 = default(uint);
|
||||
Configuration.AchievementGoal value = default(Configuration.AchievementGoal);
|
||||
int num27 = default(int);
|
||||
int num9 = default(int);
|
||||
int num19 = default(int);
|
||||
VendorResolverService.RecipeInfo? recipe = default(VendorResolverService.RecipeInfo?);
|
||||
List<IngredientPlan> list = default(List<IngredientPlan>);
|
||||
ushort num7 = default(ushort);
|
||||
ushort num18 = default(ushort);
|
||||
ushort levelUnlock = default(ushort);
|
||||
int satisfactionRequired = default(int);
|
||||
int num26 = default(int);
|
||||
VendorResolverService.IngredientInfo current = default(VendorResolverService.IngredientInfo);
|
||||
int num15 = default(int);
|
||||
int count = default(int);
|
||||
int num14 = default(int);
|
||||
VendorResolverService.VendorInfo? vendor = default(VendorResolverService.VendorInfo?);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1888935819;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 14:
|
||||
rowId = subrow.Item.RowId;
|
||||
collectabilityTier = _configuration.CustomDeliveries.CollectabilityTier;
|
||||
num = ((collectabilityTier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? (-1888935855) : (-1888935835));
|
||||
continue;
|
||||
case 23:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(-1441943308), new object[3] { npcIndex, num20, num21 });
|
||||
return null;
|
||||
case 1:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(-325747451), new object[1] { npcIndex });
|
||||
return null;
|
||||
case 30:
|
||||
{
|
||||
uint rowId2 = subrow.Reward.RowId;
|
||||
bool isBonus = subrow.IsBonus;
|
||||
num30 = _rewardCalculator.MaxDeliveriesBeforeOvercap(rowId2, isBonus, _configuration.CustomDeliveries.CollectabilityTier);
|
||||
num = ((num30 > 0) ? (-1888935826) : (-1888935820));
|
||||
continue;
|
||||
}
|
||||
case 39:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(72727050), new object[1] { npcIndex });
|
||||
return null;
|
||||
case 31:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(350000111), new object[2] { npcIndex, npcState.Rank });
|
||||
return null;
|
||||
case 40:
|
||||
supplyIndex = (uint)row.SatisfactionNpcParams[npcState.Rank].SupplyIndex;
|
||||
num28 = _202C_206E_206A_202A_206E_206D_206D_206C_200E_200C_206B_200C_202B_202E_200C_200B_206A_200D_202A_202D_202D_206D_206E_206A_206D_206F_200C_206C_206B_206B_202B_202E_206D_206A_206E_202A_202C_206F_200B_200E_202E(_supplyHelper, supplyIndex, num29)[(int)slot];
|
||||
num = ((num28 != uint.MaxValue) ? (-1888935833) : (-1888935823));
|
||||
continue;
|
||||
case 6:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_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>(1592384275), new object[3] { npcIndex, npcState.UsedDeliveries, value.TargetCount });
|
||||
return null;
|
||||
case 18:
|
||||
num = (_dataManager.GetSubrowExcelSheet<SatisfactionSupply>().TryGetSubrow(supplyIndex, (ushort)num28, out subrow) ? (-1888935813) : (-1888935852));
|
||||
continue;
|
||||
case 29:
|
||||
num = ((num27 >= num9) ? (-1888935844) : (-1888935810));
|
||||
continue;
|
||||
case 13:
|
||||
{
|
||||
ExcelSheet<SatisfactionNpc> excelSheet = _dataManager.GetExcelSheet<SatisfactionNpc>();
|
||||
num3 = 1;
|
||||
num4 = npcIndex;
|
||||
int num22 = num4 ^ num3;
|
||||
int num23 = num4 & num3;
|
||||
num = (excelSheet.TryGetRow((uint)(num22 + (num23 + num23)), out row) ? (-1888935842) : (-1888935849));
|
||||
continue;
|
||||
}
|
||||
case 35:
|
||||
num = ((_configuration.CustomDeliveries.ScripOvercapMode == Configuration.CustomDeliveryConfiguration.EScripOvercapMode.Ignore) ? (-1888935856) : (-1888935829));
|
||||
continue;
|
||||
case 2:
|
||||
num19 = (int)value.TargetCount - npcState.UsedDeliveries;
|
||||
num = ((num19 <= 0) ? (-1888935821) : (-1888935836));
|
||||
continue;
|
||||
case 16:
|
||||
num = ((collectabilityTier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? (-1888935824) : (-1888935818));
|
||||
continue;
|
||||
case 37:
|
||||
recipe = null;
|
||||
list = new List<IngredientPlan>();
|
||||
if (slot == EDeliverySlot.Craft)
|
||||
{
|
||||
num = -1888935831;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 15:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(-349074918), Array.Empty<object>());
|
||||
return null;
|
||||
case 33:
|
||||
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_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>(-583199100), new object[2] { supplyIndex, num28 });
|
||||
return null;
|
||||
case 32:
|
||||
num7 = num18;
|
||||
num = ((rowId != 0) ? (-1888935837) : (-1888935811));
|
||||
continue;
|
||||
case 36:
|
||||
num18 = subrow.CollectabilityMid;
|
||||
num = -1888935851;
|
||||
continue;
|
||||
case 19:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(758096436), new object[3] { levelUnlock, slot, npcIndex });
|
||||
return null;
|
||||
case 22:
|
||||
num20 = row.DeliveriesPerWeek - npcState.UsedDeliveries;
|
||||
num9 = _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(num20, num21);
|
||||
num = ((num9 > 0) ? (-1888935822) : (-1888935838));
|
||||
continue;
|
||||
case 17:
|
||||
num9 = _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(num9, num19);
|
||||
num = -1888935850;
|
||||
continue;
|
||||
case 27:
|
||||
num = ((num30 >= num9) ? (-1888935856) : (-1888935812));
|
||||
continue;
|
||||
case 9:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_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>(-252217524), new object[3] { num9, num30, npcIndex });
|
||||
num9 = num30;
|
||||
num = -1888935856;
|
||||
continue;
|
||||
case 43:
|
||||
levelUnlock = row.LevelUnlock;
|
||||
num = (HasJobAtLevel(slot, levelUnlock) ? (-1888935843) : (-1888935834));
|
||||
continue;
|
||||
case 8:
|
||||
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_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>(-1074922241), new object[2] { supplyIndex, num28 });
|
||||
return null;
|
||||
case 12:
|
||||
npcState = _200F_206F_206A_200F_202C_206F_206E_200E_202B_200C_200B_200D_200B_202C_206D_202B_206E_200B_202C_202D_202D_200D_206D_202E_200B_206E_202A_202D_202A_206E_202D_200B_202E_202E_202A_200B_202B_202D_202E_206C_202E(npcIndex);
|
||||
num21 = _206F_206A_202D_202B_200F_206F_202E_206D_206F_200D_202D_206C_206C_206D_202C_206C_202B_202E_206D_202B_200D_202B_200D_200E_202E_206D_206B_206D_200E_202A_202A_206A_200C_202A_206F_202B_206C_206D_200E_200D_202E();
|
||||
num29 = _200C_206C_200F_202B_206A_206F_200B_206C_202A_206F_206F_206C_206B_202B_200F_202A_206D_206A_200D_206E_202A_206A_206D_206C_206D_202C_206F_200D_202E_200D_200E_202D_200E_206F_202C_206E_202C_202E_202A_206F_202E();
|
||||
num = ((npcState.Rank > 0) ? (-1888935853) : (-1888935830));
|
||||
continue;
|
||||
case 10:
|
||||
num = -1888935840;
|
||||
continue;
|
||||
case 38:
|
||||
num = ((num21 > 0) ? (-1888935816) : (-1888935814));
|
||||
continue;
|
||||
case 11:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(1847422502), new object[5] { num9, num27, npcState.SatisfactionCurrent, satisfactionRequired, num26 });
|
||||
num9 = num27;
|
||||
num = -1888935844;
|
||||
continue;
|
||||
case 0:
|
||||
num27 = (satisfactionRequired - npcState.SatisfactionCurrent + num26 - 1) / num26;
|
||||
num = ((num27 <= 0) ? (-1888935844) : (-1888935832));
|
||||
continue;
|
||||
case 34:
|
||||
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_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>(-1005271434), new object[1] { npcIndex });
|
||||
return null;
|
||||
case 28:
|
||||
recipe = _vendorResolver.ResolveRecipe(rowId);
|
||||
num = (recipe.HasValue ? (-1888935828) : (-1888935825));
|
||||
continue;
|
||||
case 24:
|
||||
num = (IsNpcUnlocked(npcIndex) ? (-1888935815) : (-1888935854));
|
||||
continue;
|
||||
case 42:
|
||||
{
|
||||
Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier2 = _configuration.CustomDeliveries.CollectabilityTier;
|
||||
num26 = _rewardCalculator.CalculateSatisfactionPerDelivery(subrow.Reward.RowId, subrow.IsBonus, collectabilityTier2);
|
||||
num = ((num26 <= 0) ? (-1888935844) : (-1888935819));
|
||||
continue;
|
||||
}
|
||||
case 21:
|
||||
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_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>(929546920), Array.Empty<object>());
|
||||
return null;
|
||||
case 41:
|
||||
{
|
||||
num3 = 1;
|
||||
num4 = npcIndex;
|
||||
int num24 = num4 ^ num3;
|
||||
int num25 = num4 & num3;
|
||||
ushort key = (ushort)(num24 + (num25 + num25));
|
||||
num = ((!_configuration.CustomDeliveries.AchievementGoals.TryGetValue(key, out value)) ? (-1888935850) : (-1888935839));
|
||||
continue;
|
||||
}
|
||||
case 7:
|
||||
satisfactionRequired = row.SatisfactionNpcParams[npcState.Rank].SatisfactionRequired;
|
||||
num = ((satisfactionRequired <= 0) ? (-1888935844) : (-1888935841));
|
||||
continue;
|
||||
case 26:
|
||||
_202E_202D_202C_206E_202C_206A_206E_202D_202E_202D_206C_200B_200E_202E_206C_200B_206A_202E_206B_206D_206B_200E_200B_200E_206B_206D_202A_206F_200C_202D_206E_206D_206C_206A_206B_200F_202E_200E_202B_200E_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>(-375018658), new object[1] { rowId });
|
||||
return null;
|
||||
case 20:
|
||||
num = ((!value.Active) ? (-1888935850) : (-1888935817));
|
||||
continue;
|
||||
case 3:
|
||||
num18 = subrow.CollectabilityLow;
|
||||
num = -1888935851;
|
||||
continue;
|
||||
case 5:
|
||||
num18 = subrow.CollectabilityHigh;
|
||||
num = -1888935851;
|
||||
continue;
|
||||
case 4:
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(1585031772), new object[2] { npcIndex, slot });
|
||||
return null;
|
||||
case 25:
|
||||
{
|
||||
int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(rowId, isHq: false, checkEquipped: true, checkArmory: true, (short)num7);
|
||||
int num8 = num9;
|
||||
num3 = inventoryItemCount;
|
||||
num4 = num8;
|
||||
int num10 = _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(0, ~(~num4 + num3));
|
||||
IEnumerator<VendorResolverService.IngredientInfo> enumerator = recipe.Value.Ingredients.GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = -2147286294;
|
||||
while (true)
|
||||
{
|
||||
int num11 = num;
|
||||
num3 = -2147286291;
|
||||
num4 = num11;
|
||||
int num12 = num4 + num3;
|
||||
int num13 = num4 & num3;
|
||||
switch (num12 - (num13 + num13))
|
||||
{
|
||||
case 2:
|
||||
num = -2147286294;
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
current = enumerator.Current;
|
||||
num15 = num10 * current.CountPerCraft;
|
||||
count = ((ItemHandle)current.ItemId).GetCount();
|
||||
int num16 = num15;
|
||||
num3 = count;
|
||||
num4 = num16;
|
||||
num14 = _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(0, ~(~num4 + num3));
|
||||
vendor = null;
|
||||
num = ((num14 <= 0) ? (-2147286293) : (-2147286291));
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
num = (vendor.HasValue ? (-2147286296) : (-2147286299));
|
||||
break;
|
||||
case 6:
|
||||
num = ((num14 <= 0) ? (-2147286296) : (-2147286290));
|
||||
break;
|
||||
case 7:
|
||||
num = (_202D_202B_206D_202B_202E_200E_200E_206F_202C_200E_200F_200E_200D_206B_202A_202C_206B_202E_202D_200F_200E_206C_200D_200D_202E_206C_202A_206A_200E_200D_202E_200E_206A_202E_206D_206D_206B_206B_202C_202B_202E((IEnumerator)enumerator) ? (-2147286292) : (-2147286295));
|
||||
break;
|
||||
case 5:
|
||||
list.Add(new IngredientPlan
|
||||
{
|
||||
ItemId = current.ItemId,
|
||||
TotalNeeded = num15,
|
||||
InInventory = count,
|
||||
ToBuy = num14,
|
||||
Vendor = vendor
|
||||
});
|
||||
num = -2147286294;
|
||||
break;
|
||||
case 0:
|
||||
vendor = _vendorResolver.ResolveVendor(current.ItemId);
|
||||
num = -2147286293;
|
||||
break;
|
||||
case 8:
|
||||
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_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>(1168604579), new object[3] { rowId, num14, current.ItemId });
|
||||
return null;
|
||||
case 4:
|
||||
goto end_IL_097f;
|
||||
}
|
||||
continue;
|
||||
end_IL_097f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator == null) ? 903605072 : 903605073);
|
||||
while (true)
|
||||
{
|
||||
int num17 = num;
|
||||
num3 = 903605072;
|
||||
num4 = num17;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 903605073;
|
||||
break;
|
||||
case 1:
|
||||
_206B_202C_200B_202D_202C_206A_202A_202E_200B_202D_200E_202B_202A_200D_206A_206E_202D_202A_202A_206D_200E_206D_202A_206B_206C_206A_200F_200E_206B_202E_200D_200E_206D_200D_206C_202E_202E_202D_206D_200C_202E((IDisposable)enumerator);
|
||||
num = 903605072;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_0b81;
|
||||
}
|
||||
continue;
|
||||
end_IL_0b81:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
DeliveryPlan result = new DeliveryPlan
|
||||
{
|
||||
NpcIndex = npcIndex,
|
||||
Slot = slot,
|
||||
ItemId = rowId,
|
||||
Collectability = num7,
|
||||
DeliveryCount = num9,
|
||||
Recipe = recipe,
|
||||
IngredientPlans = list
|
||||
};
|
||||
int num31 = 0;
|
||||
using (List<IngredientPlan>.Enumerator enumerator2 = list.GetEnumerator())
|
||||
{
|
||||
num = -832133554;
|
||||
while (true)
|
||||
{
|
||||
int num32 = num;
|
||||
int num3 = -832133554;
|
||||
int num4 = num32;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = (enumerator2.MoveNext() ? (-832133553) : (-832133555));
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
IngredientPlan current2 = enumerator2.Current;
|
||||
num31 += current2.ToBuy;
|
||||
num = -832133554;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
num = -832133554;
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_0c22;
|
||||
}
|
||||
continue;
|
||||
end_IL_0c22:
|
||||
break;
|
||||
}
|
||||
}
|
||||
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_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>(-251047374), new object[5] { npcIndex, slot, rowId, num9, num31 });
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool IsNpcUnlocked(int npcIndex)
|
||||
{
|
||||
ExcelSheet<SatisfactionNpc> excelSheet = _dataManager.GetExcelSheet<SatisfactionNpc>();
|
||||
int num = 1;
|
||||
int num2 = npcIndex;
|
||||
int num3 = num2 ^ num;
|
||||
int num4 = num2 & num;
|
||||
SatisfactionNpc row;
|
||||
int num5 = (excelSheet.TryGetRow((uint)(num3 + (num4 + num4)), out row) ? (-1323628219) : (-1323628220));
|
||||
uint rowId = default(uint);
|
||||
while (true)
|
||||
{
|
||||
int num6 = num5;
|
||||
num = -1323628219;
|
||||
num2 = num6;
|
||||
int num7 = num2 + num;
|
||||
int num8 = num2 & num;
|
||||
switch (num7 - (num8 + num8))
|
||||
{
|
||||
case 3:
|
||||
num5 = -1323628220;
|
||||
break;
|
||||
case 2:
|
||||
return true;
|
||||
case 0:
|
||||
rowId = row.QuestRequired.RowId;
|
||||
num5 = ((rowId != 0) ? (-1323628223) : (-1323628217));
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 4:
|
||||
return QuestManager.IsQuestComplete((ushort)rowId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool HasJobAtLevel(EDeliverySlot slot, ushort requiredLevel)
|
||||
{
|
||||
ExcelSheet<ClassJob> excelSheet = _dataManager.GetExcelSheet<ClassJob>();
|
||||
int num;
|
||||
EClassJob[] array = default(EClassJob[]);
|
||||
int num8 = default(int);
|
||||
ClassJob row = default(ClassJob);
|
||||
EClassJob[] array2;
|
||||
switch (slot)
|
||||
{
|
||||
default:
|
||||
num = 208972121;
|
||||
goto IL_0034;
|
||||
case EDeliverySlot.Fish:
|
||||
array = new EClassJob[1] { EClassJob.Fisher };
|
||||
num = 208972119;
|
||||
goto IL_0034;
|
||||
case EDeliverySlot.Gather:
|
||||
goto IL_00fb;
|
||||
case EDeliverySlot.Craft:
|
||||
goto IL_0192;
|
||||
IL_0034:
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 208972117;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 4:
|
||||
goto IL_008a;
|
||||
case 12:
|
||||
num = 208972112;
|
||||
break;
|
||||
case 10:
|
||||
goto IL_00c2;
|
||||
case 7:
|
||||
goto end_IL_0034;
|
||||
case 6:
|
||||
goto IL_00fb;
|
||||
case 2:
|
||||
array = array;
|
||||
num8 = 0;
|
||||
num = 208972127;
|
||||
break;
|
||||
case 3:
|
||||
num = 208972121;
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
int num7 = num8;
|
||||
num3 = 1;
|
||||
num4 = num7;
|
||||
num8 = (num4 | num3) + (num4 & num3);
|
||||
num = 208972127;
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
return false;
|
||||
case 8:
|
||||
return true;
|
||||
case 5:
|
||||
array = Array.Empty<EClassJob>();
|
||||
num = 208972119;
|
||||
break;
|
||||
case 0:
|
||||
goto IL_0168;
|
||||
case 9:
|
||||
goto IL_0192;
|
||||
}
|
||||
continue;
|
||||
IL_0168:
|
||||
num = ((_202D_206B_206F_200C_200E_200F_202A_206D_202D_202D_202C_202D_206F_206F_202D_202E_202A_206B_202A_202D_206E_202D_200D_200D_202D_202A_200C_200B_200E_202E_200D_206A_206D_202B_206F_202D_200B_200E_206F_202A_202E((int)row.ExpArrayIndex) < requiredLevel) ? 208972116 : 208972125);
|
||||
continue;
|
||||
IL_00c2:
|
||||
num = ((num8 < array.Length) ? 208972113 : 208972126);
|
||||
continue;
|
||||
IL_008a:
|
||||
EClassJob rowId = array[num8];
|
||||
num = ((!excelSheet.TryGetRow((uint)rowId, out row)) ? 208972116 : 208972117);
|
||||
continue;
|
||||
end_IL_0034:
|
||||
break;
|
||||
}
|
||||
goto case EDeliverySlot.Fish;
|
||||
IL_0192:
|
||||
array2 = new EClassJob[8];
|
||||
_202A_200D_202C_202B_202D_202B_202B_202C_200F_202A_206F_200B_200D_202E_206E_202A_200B_200B_202D_206E_206B_202C_206C_200D_202A_206A_206F_200B_202E_202E_200E_200B_206A_200C_206F_206D_202B_202B_206C_206C_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
||||
array = array2;
|
||||
num = 208972119;
|
||||
goto IL_0034;
|
||||
IL_00fb:
|
||||
array = new EClassJob[2]
|
||||
{
|
||||
EClassJob.Miner,
|
||||
EClassJob.Botanist
|
||||
};
|
||||
num = 208972119;
|
||||
goto IL_0034;
|
||||
}
|
||||
}
|
||||
|
||||
public EDeliverySlot? AutoSelectSlot(int npcIndex, ArtisanIpc artisanIpc, AutoHookIpc autoHookIpc)
|
||||
{
|
||||
int num = ((!artisanIpc.IsAvailable()) ? 1675924989 : 1675924988);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1675924986;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = ((!autoHookIpc.IsAvailable()) ? 1675924990 : 1675924985);
|
||||
break;
|
||||
case 4:
|
||||
return null;
|
||||
case 1:
|
||||
return EDeliverySlot.Gather;
|
||||
case 2:
|
||||
num = 1675924988;
|
||||
break;
|
||||
case 8:
|
||||
return EDeliverySlot.Fish;
|
||||
case 3:
|
||||
num = ((CreatePlan(npcIndex, EDeliverySlot.Fish) == null) ? 1675924990 : 1675924978);
|
||||
break;
|
||||
case 7:
|
||||
num = ((CreatePlan(npcIndex, EDeliverySlot.Gather) == null) ? 1675924986 : 1675924987);
|
||||
break;
|
||||
case 5:
|
||||
return EDeliverySlot.Craft;
|
||||
case 6:
|
||||
num = ((CreatePlan(npcIndex, EDeliverySlot.Craft) == null) ? 1675924989 : 1675924991);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static bool _200D_206E_202C_202A_202A_202E_202E_206C_200D_200C_200E_200C_206B_206C_200D_200B_206B_206D_206C_202E_202A_206C_206E_200D_200B_206C_200D_200F_206B_202A_202C_202D_206A_206B_206F_200B_200F_202E_200F_200D_202E()
|
||||
{
|
||||
return InventoryHelper.HasFreeInventorySlot();
|
||||
}
|
||||
|
||||
static void _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static SatisfactionSupplyActions.NpcState _200F_206F_206A_200F_202C_206F_206E_200E_202B_200C_200B_200D_200B_202C_206D_202B_206E_200B_202C_202D_202D_200D_206D_202E_200B_206E_202A_202D_202A_206E_202D_200B_202E_202E_202A_200B_202B_202D_202E_206C_202E(int P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.GetNpcState(P_0);
|
||||
}
|
||||
|
||||
static int _206F_206A_202D_202B_200F_206F_202E_206D_206F_200D_202D_206C_206C_206D_202C_206C_202B_202E_206D_202B_200D_202B_200D_200E_202E_206D_206B_206D_200E_202A_202A_206A_200C_202A_206F_202B_206C_206D_200E_200D_202E()
|
||||
{
|
||||
return SatisfactionSupplyActions.GetRemainingAllowances();
|
||||
}
|
||||
|
||||
static uint _200C_206C_200F_202B_206A_206F_200B_206C_202A_206F_206F_206C_206B_202B_200F_202A_206D_206A_200D_206E_202A_206A_206D_206C_206D_202C_206F_200D_202E_200D_200E_202D_200E_206F_202C_206E_202C_202E_202A_206F_202E()
|
||||
{
|
||||
return SatisfactionSupplyActions.GetSupplySeed();
|
||||
}
|
||||
|
||||
static uint[] _202C_206E_206A_202A_206E_206D_206D_206C_200E_200C_206B_200C_202B_202E_200C_200B_206A_200D_202A_202D_202D_206D_206E_206A_206D_206F_200C_206C_206B_206B_202B_202E_206D_206A_206E_202A_202C_206F_200B_200E_202E(SatisfactionSupplyHelper P_0, uint P_1, uint P_2)
|
||||
{
|
||||
return P_0.CalculateRequestedItems(P_1, P_2);
|
||||
}
|
||||
|
||||
static int _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(int P_0, int P_1)
|
||||
{
|
||||
return Math.Min(P_0, P_1);
|
||||
}
|
||||
|
||||
static void _202E_202D_202C_206E_202C_206A_206E_202D_202E_202D_206C_200B_200E_202E_206C_200B_206A_202E_206B_206D_206B_200E_200B_200E_206B_206D_202A_206F_200C_202D_206E_206D_206C_206A_206B_200F_202E_200E_202B_200E_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogError(P_1, P_2);
|
||||
}
|
||||
|
||||
static int _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(int P_0, int P_1)
|
||||
{
|
||||
return Math.Max(P_0, P_1);
|
||||
}
|
||||
|
||||
static bool _202D_202B_206D_202B_202E_200E_200E_206F_202C_200E_200F_200E_200D_206B_202A_202C_206B_202E_202D_200F_200E_206C_200D_200D_202E_206C_202A_206A_200E_200D_202E_200E_206A_202E_206D_206D_206B_206B_202C_202B_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _206B_202C_200B_202D_202C_206A_202A_202E_200B_202D_200E_202B_202A_200D_206A_206E_202D_202A_202A_206D_200E_206D_202A_206B_206C_206A_200F_200E_206B_202E_200D_200E_206D_200D_206C_202E_202E_202D_206D_200C_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static void _202A_200D_202C_202B_202D_202B_202B_202C_200F_202A_206F_200B_200D_202E_206E_202A_200B_200B_202D_206E_206B_202C_206C_200D_202A_206A_206F_200B_202E_202E_200E_200B_206A_200C_206F_206D_202B_202B_206C_206C_202E(Array P_0, RuntimeFieldHandle P_1)
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(P_0, P_1);
|
||||
}
|
||||
|
||||
static short _202D_206B_206F_200C_200E_200F_202A_206D_202D_202D_202C_202D_206F_206F_202D_202E_202A_206B_202A_202D_206E_202D_200D_200D_202D_202A_200C_200B_200E_202E_200D_206A_206D_202B_206F_202D_200B_200E_206F_202A_202E(int P_0)
|
||||
{
|
||||
return PlayerStateHelper.GetClassJobLevel(P_0);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,411 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib.Inventory;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class DeliveryRewardCalculator(IDataManager dataManager)
|
||||
{
|
||||
internal record struct CurrencyReward(uint CurrencyItemId, string CurrencyName, int AmountPerDelivery)
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override readonly string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206A_200C_202B_206F_202E_202C_202C_200D_200D_206E_200C_206C_202C_200F_206F_206E_202C_200D_200C_202E_206A_206A_206C_202A_206C_206A_200E_200D_202E_200B_206A_202D_202A_206A_206B_206F_206C_200B_206B_202B_202E();
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(stringBuilder, 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>(175214569));
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(stringBuilder, 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>(1664411125));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 851670769 : 851670770);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 851670771;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = 851670770;
|
||||
break;
|
||||
case 2:
|
||||
_206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(stringBuilder, '}');
|
||||
return _200C_200D_200C_200E_206A_202A_206A_202A_202B_200B_200D_200E_200C_200F_200B_200D_206B_206D_200F_200D_206B_206B_206C_202E_206F_202E_200E_200C_200E_206F_200B_206B_202A_206A_206D_206C_200C_206C_206A_206E_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(stringBuilder, ' ');
|
||||
num = 851670769;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private readonly bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_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>(557355409));
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, CurrencyItemId.ToString());
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_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>(-1370044589));
|
||||
_200B_206F_200D_202B_202B_200C_206C_206F_202B_202C_206D_200F_206F_200D_206D_206C_200F_206B_206A_206A_200F_202E_206B_202B_206B_200D_206E_202B_206A_200E_206F_202E_206B_206C_202B_200F_200F_202D_200E_206C_202E(builder, (object)CurrencyName);
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_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>(1289637212));
|
||||
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, AmountPerDelivery.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public readonly bool Equals(CurrencyReward other)
|
||||
{
|
||||
int num = ((!EqualityComparer<uint>.Default.Equals(CurrencyItemId, other.CurrencyItemId)) ? (-1286878871) : (-1286878870));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1286878869;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
return false;
|
||||
case 1:
|
||||
num = ((!EqualityComparer<string>.Default.Equals(CurrencyName, other.CurrencyName)) ? (-1286878871) : (-1286878869));
|
||||
break;
|
||||
case 0:
|
||||
return EqualityComparer<int>.Default.Equals(AmountPerDelivery, other.AmountPerDelivery);
|
||||
case 3:
|
||||
num = -1286878870;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<CurrencyReward>.Equals(CurrencyReward other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static StringBuilder _206A_200C_202B_206F_202E_202C_202C_200D_200D_206E_200C_206C_202C_200F_206F_206E_202C_200D_200C_202E_206A_206A_206C_202A_206C_206A_200E_200D_202E_200B_206A_202D_202A_206A_206B_206F_206C_200B_206B_202B_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _200C_200D_200C_200E_206A_202A_206A_202A_202B_200B_200D_200E_200C_200F_200B_200D_206B_206D_200F_200D_206B_206B_206C_202E_206F_202E_200E_200C_200E_206F_200B_206B_202A_206A_206D_206C_200C_206C_206A_206E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static StringBuilder _200B_206F_200D_202B_202B_200C_206C_206F_202B_202C_206D_200F_206F_200D_206D_206C_200F_206B_206A_206A_200F_202E_206B_202B_206B_200D_206E_202B_206A_200E_206F_202E_206B_206C_202B_200F_200F_202D_200E_206C_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly Dictionary<uint, int> ScripCaps = new Dictionary<uint, int>
|
||||
{
|
||||
[33913u] = 4000,
|
||||
[41784u] = 4000
|
||||
};
|
||||
|
||||
internal List<CurrencyReward> CalculateRewards(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High)
|
||||
{
|
||||
List<CurrencyReward> list = new List<CurrencyReward>();
|
||||
int num = (dataManager.GetExcelSheet<SatisfactionSupplyReward>().TryGetRow(rewardRowId, out var row) ? 1083172624 : 1083172627);
|
||||
uint rewardCurrency = default(uint);
|
||||
int num8 = default(int);
|
||||
ushort num9 = default(ushort);
|
||||
SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct current = default(SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1083172625;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_006c;
|
||||
case 2:
|
||||
return list;
|
||||
case 1:
|
||||
{
|
||||
using Collection<SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct>.Enumerator enumerator = row.SatisfactionSupplyRewardData.GetEnumerator();
|
||||
num = 328961127;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = 328961135;
|
||||
num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 6:
|
||||
{
|
||||
string currencyName = GetCurrencyName(rewardCurrency);
|
||||
list.Add(new CurrencyReward(rewardCurrency, currencyName, num8));
|
||||
num = 328961127;
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
num = ((tier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? 328961125 : 328961132);
|
||||
break;
|
||||
case 4:
|
||||
num = ((tier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? 328961128 : 328961126);
|
||||
break;
|
||||
case 1:
|
||||
num8 = num9;
|
||||
num = ((!hasBonus) ? 328961129 : 328961135);
|
||||
break;
|
||||
case 11:
|
||||
num = 328961127;
|
||||
break;
|
||||
case 10:
|
||||
num9 = current.QuantityHigh;
|
||||
num = 328961134;
|
||||
break;
|
||||
case 3:
|
||||
num9 = current.QuantityLow;
|
||||
num = 328961134;
|
||||
break;
|
||||
case 8:
|
||||
num = (enumerator.MoveNext() ? 328961130 : 328961133);
|
||||
break;
|
||||
case 5:
|
||||
current = enumerator.Current;
|
||||
rewardCurrency = current.RewardCurrency;
|
||||
num = ((rewardCurrency == 0) ? 328961127 : 328961131);
|
||||
break;
|
||||
case 7:
|
||||
num9 = current.QuantityMid;
|
||||
num = 328961134;
|
||||
break;
|
||||
case 0:
|
||||
num8 = num8 * row.BonusMultiplier / 100;
|
||||
num = 328961129;
|
||||
break;
|
||||
case 2:
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_006c:
|
||||
num = 1083172627;
|
||||
}
|
||||
}
|
||||
|
||||
internal static bool WouldOvercap(uint currencyItemId, int amountPerDelivery, int deliveryCount)
|
||||
{
|
||||
int value;
|
||||
int num = (ScripCaps.TryGetValue(currencyItemId, out value) ? (-1863089792) : (-1863089789));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1863089790;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004d;
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(currencyItemId, false, false) + amountPerDelivery * deliveryCount > value;
|
||||
}
|
||||
continue;
|
||||
IL_004d:
|
||||
num = -1863089789;
|
||||
}
|
||||
}
|
||||
|
||||
internal int MaxDeliveriesBeforeOvercap(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High)
|
||||
{
|
||||
List<CurrencyReward> list = CalculateRewards(rewardRowId, hasBonus, tier);
|
||||
int num = int.MaxValue;
|
||||
int num2;
|
||||
using (List<CurrencyReward>.Enumerator enumerator = list.GetEnumerator())
|
||||
{
|
||||
num2 = -1256353988;
|
||||
int num10 = default(int);
|
||||
CurrencyReward current = default(CurrencyReward);
|
||||
int value = default(int);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1256353985;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
int num12;
|
||||
int num11;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 4:
|
||||
num12 = num10 / current.AmountPerDelivery;
|
||||
goto IL_006d;
|
||||
case 1:
|
||||
current = enumerator.Current;
|
||||
num2 = ((!ScripCaps.TryGetValue(current.CurrencyItemId, out value)) ? (-1256353988) : (-1256353985));
|
||||
break;
|
||||
case 2:
|
||||
num2 = -1256353988;
|
||||
break;
|
||||
case 5:
|
||||
num12 = 0;
|
||||
goto IL_006d;
|
||||
case 3:
|
||||
num2 = (enumerator.MoveNext() ? (-1256353986) : (-1256353992));
|
||||
break;
|
||||
case 0:
|
||||
num2 = ((current.AmountPerDelivery <= 0) ? (-1256353988) : (-1256353991));
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
int num8 = _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(current.CurrencyItemId, false, false);
|
||||
int num9 = value;
|
||||
num4 = num8;
|
||||
num5 = num9;
|
||||
num10 = ~(~num5 + num4);
|
||||
num2 = ((num10 > 0) ? (-1256353989) : (-1256353990));
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
goto end_IL_0021;
|
||||
IL_006d:
|
||||
num11 = num12;
|
||||
num = _200E_202E_200C_200F_206B_206C_200E_200B_202A_206A_200D_200D_200D_202A_200D_200C_206B_202A_200B_206C_206C_202A_200E_200F_206E_206E_200D_206B_206B_206F_202E_206C_200B_202B_206B_206A_202B_200E_206A_200D_202E(num, num11);
|
||||
num2 = -1256353988;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_0021:
|
||||
break;
|
||||
}
|
||||
}
|
||||
num2 = ((num == int.MaxValue) ? 1414795502 : 1414795503);
|
||||
while (true)
|
||||
{
|
||||
int num13 = num2;
|
||||
int num4 = 1414795502;
|
||||
int num5 = num13;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 2:
|
||||
goto IL_01c5;
|
||||
case 1:
|
||||
return num;
|
||||
case 0:
|
||||
return int.MaxValue;
|
||||
}
|
||||
continue;
|
||||
IL_01c5:
|
||||
num2 = 1414795503;
|
||||
}
|
||||
}
|
||||
|
||||
internal int CalculateSatisfactionPerDelivery(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High)
|
||||
{
|
||||
SatisfactionSupplyReward row;
|
||||
int num = (dataManager.GetExcelSheet<SatisfactionSupplyReward>().TryGetRow(rewardRowId, out row) ? 284816978 : 284816979);
|
||||
ushort num8 = default(ushort);
|
||||
int num7 = default(int);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 284816978;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 5:
|
||||
num8 = row.SatisfactionHigh;
|
||||
num = 284816981;
|
||||
break;
|
||||
case 4:
|
||||
num = ((tier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? 284816983 : 284816977);
|
||||
break;
|
||||
case 0:
|
||||
num = ((tier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? 284816980 : 284816982);
|
||||
break;
|
||||
case 6:
|
||||
num8 = row.SatisfactionMid;
|
||||
num = 284816981;
|
||||
break;
|
||||
case 9:
|
||||
return num7;
|
||||
case 7:
|
||||
num7 = num8;
|
||||
num = ((!hasBonus) ? 284816987 : 284816986);
|
||||
break;
|
||||
case 2:
|
||||
num = 284816979;
|
||||
break;
|
||||
case 3:
|
||||
num8 = row.SatisfactionLow;
|
||||
num = 284816981;
|
||||
break;
|
||||
case 8:
|
||||
num7 = num7 * row.BonusMultiplier / 100;
|
||||
num = 284816987;
|
||||
break;
|
||||
case 1:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private string GetCurrencyName(uint currencyItemId)
|
||||
{
|
||||
Item row;
|
||||
int num = ((!dataManager.GetExcelSheet<Item>().TryGetRow(currencyItemId, out row)) ? (-1217003400) : (-1217003397));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1217003399;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 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>(1297490435));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(currencyItemId);
|
||||
return defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
}
|
||||
case 2:
|
||||
return row.Name.ToString();
|
||||
case 0:
|
||||
goto IL_00a7;
|
||||
}
|
||||
continue;
|
||||
IL_00a7:
|
||||
num = -1217003397;
|
||||
}
|
||||
}
|
||||
|
||||
static int _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(uint P_0, bool P_1, bool P_2)
|
||||
{
|
||||
return InventoryHelper.GetItemCount(P_0, P_1, P_2);
|
||||
}
|
||||
|
||||
static int _200E_202E_200C_200F_206B_206C_200E_200B_202A_206A_200D_200D_200D_202A_200D_200C_206B_202A_200B_206C_206C_202A_200E_200F_206E_206E_200D_206B_206B_206F_202E_206C_200B_202B_206B_206A_202B_200E_206A_200D_202E(int P_0, int P_1)
|
||||
{
|
||||
return Math.Min(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal enum EDeliverySlot
|
||||
{
|
||||
Craft,
|
||||
Gather,
|
||||
Fish
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class IngredientPlan
|
||||
{
|
||||
public required uint ItemId { get; init; }
|
||||
|
||||
public required int TotalNeeded { get; init; }
|
||||
|
||||
public required int InInventory { get; init; }
|
||||
|
||||
public required int ToBuy { get; init; }
|
||||
|
||||
public VendorResolverService.VendorInfo? Vendor { get; init; }
|
||||
}
|
||||
|
|
@ -0,0 +1,428 @@
|
|||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib;
|
||||
using LLib.Shop;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps;
|
||||
using Questionable.Functions;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class SatisfactionSupplyTurnInExecutor(GameFunctions gameFunctions, IGameGui gameGui, ICondition condition, ILogger<SatisfactionSupplyTurnInExecutor> logger) : TaskExecutor<SatisfactionSupplyTurnInTask>()
|
||||
{
|
||||
private enum EPhase
|
||||
{
|
||||
InteractWithNpc,
|
||||
WaitForAddon,
|
||||
SelectSlot,
|
||||
ConfirmTrade,
|
||||
WaitForCutsceneStart,
|
||||
WaitForCutsceneEnd,
|
||||
CheckCompletion,
|
||||
Closing
|
||||
}
|
||||
|
||||
private const long PhaseTimeoutMs = 15000L;
|
||||
|
||||
private const long CutsceneTimeoutMs = 60000L;
|
||||
|
||||
private Throttle _throttle;
|
||||
|
||||
private EPhase _phase;
|
||||
|
||||
private int _remaining;
|
||||
|
||||
private int _lastUsedDeliveries;
|
||||
|
||||
private long _phaseStartMs;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
protected override bool Start()
|
||||
{
|
||||
_phase = EPhase.InteractWithNpc;
|
||||
_remaining = base.Task.DeliveryCount;
|
||||
_lastUsedDeliveries = _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries;
|
||||
_throttle.Clear();
|
||||
_phaseStartMs = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E();
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(1474000530), new object[3]
|
||||
{
|
||||
base.Task.NpcIndex,
|
||||
base.Task.Slot,
|
||||
base.Task.DeliveryCount
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override ETaskResult Update()
|
||||
{
|
||||
long num = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E() - _phaseStartMs;
|
||||
int num2 = ((_phase != EPhase.WaitForCutsceneEnd) ? 427799827 : 427799864);
|
||||
int usedDeliveries = default(int);
|
||||
int num6 = default(int);
|
||||
bool flag = default(bool);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 427799834;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 2:
|
||||
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799857);
|
||||
continue;
|
||||
case 44:
|
||||
SetPhase(EPhase.Closing);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 20:
|
||||
num2 = 427799864;
|
||||
continue;
|
||||
case 31:
|
||||
goto IL_015d;
|
||||
case 19:
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 11:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_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>(350961385), Array.Empty<object>());
|
||||
SetPhase(EPhase.CheckCompletion);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 3:
|
||||
goto IL_01c7;
|
||||
case 25:
|
||||
{
|
||||
int remaining = _remaining;
|
||||
int num7 = usedDeliveries;
|
||||
num4 = _lastUsedDeliveries;
|
||||
num5 = num7;
|
||||
num4 = ~(~num5 + num4);
|
||||
num5 = remaining;
|
||||
_remaining = _206F_200D_200C_202C_200F_202A_206B_200B_206D_202A_206D_202B_200E_202D_200D_200C_202B_206D_202A_206F_200B_202E_206F_202E_206A_206A_200D_200E_200E_200E_206B_202A_200E_206A_202C_206B_206A_200B_202D_202E_202E(0, ~(~num5 + num4));
|
||||
_lastUsedDeliveries = usedDeliveries;
|
||||
num6 = _202D_200F_202C_202A_206D_206A_200C_206F_206E_206E_202C_206E_202D_206A_200B_206F_202E_202A_200C_202A_202C_200D_202E_200D_202C_206D_200D_206B_206F_200C_202A_200F_200B_202E_200D_206F_206C_200D_202D_200F_202E();
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-306504982), new object[2] { _remaining, num6 });
|
||||
num2 = ((_remaining <= 0) ? 427799862 : 427799860);
|
||||
continue;
|
||||
}
|
||||
case 34:
|
||||
flag = num > 60000;
|
||||
num2 = 427799835;
|
||||
continue;
|
||||
case 32:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(1631440184), new object[1] { base.Task.Slot });
|
||||
SetPhase(EPhase.WaitForCutsceneStart);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 33:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(1374604529), Array.Empty<object>());
|
||||
return ETaskResult.TaskComplete;
|
||||
case 40:
|
||||
goto IL_02fd;
|
||||
case 4:
|
||||
num2 = ((!_206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(gameGui)) ? 427799836 : 427799815);
|
||||
continue;
|
||||
case 28:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-1574397942), Array.Empty<object>());
|
||||
return ETaskResult.TaskComplete;
|
||||
case 24:
|
||||
num2 = ((!_206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(gameGui)) ? 427799816 : 427799826);
|
||||
continue;
|
||||
case 5:
|
||||
num2 = (TryDismissResultAddon() ? 427799816 : 427799856);
|
||||
continue;
|
||||
case 42:
|
||||
num2 = ((!_200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(gameGui)) ? 427799828 : 427799867);
|
||||
continue;
|
||||
case 22:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(1456862888), Array.Empty<object>());
|
||||
SetPhase(EPhase.ConfirmTrade);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 18:
|
||||
return ETaskResult.StillRunning;
|
||||
case 0:
|
||||
num2 = ((!_200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(condition, ConditionFlag.OccupiedInCutSceneEvent)) ? 427799816 : 427799829);
|
||||
continue;
|
||||
case 26:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_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>(1394771024), Array.Empty<object>());
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 21:
|
||||
goto IL_0464;
|
||||
case 37:
|
||||
SetPhase(EPhase.InteractWithNpc);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 12:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-251211365), new object[1] { base.Task.NpcDataId });
|
||||
SetPhase(EPhase.WaitForAddon);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 10:
|
||||
SetPhase(EPhase.WaitForAddon);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 38:
|
||||
goto IL_0509;
|
||||
case 9:
|
||||
flag = num > 15000;
|
||||
num2 = 427799835;
|
||||
continue;
|
||||
case 17:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_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>(1397355813), Array.Empty<object>());
|
||||
SetPhase(EPhase.CheckCompletion);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 29:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-1083762627), Array.Empty<object>());
|
||||
SetPhase(EPhase.SelectSlot);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 13:
|
||||
num2 = ((!TryDismissResultAddon()) ? 427799810 : 427799871);
|
||||
continue;
|
||||
case 27:
|
||||
num2 = ((!gameFunctions.InteractWith(base.Task.NpcDataId)) ? 427799816 : 427799830);
|
||||
continue;
|
||||
case 43:
|
||||
num2 = ((base.Task.NpcDataId == 0) ? 427799816 : 427799809);
|
||||
continue;
|
||||
case 1:
|
||||
num2 = ((!flag) ? 427799818 : 427799863);
|
||||
continue;
|
||||
case 16:
|
||||
switch (_phase)
|
||||
{
|
||||
case EPhase.InteractWithNpc:
|
||||
break;
|
||||
case EPhase.SelectSlot:
|
||||
goto IL_015d;
|
||||
case EPhase.WaitForAddon:
|
||||
goto IL_01c7;
|
||||
case EPhase.ConfirmTrade:
|
||||
goto IL_02fd;
|
||||
case EPhase.CheckCompletion:
|
||||
goto IL_0464;
|
||||
case EPhase.WaitForCutsceneEnd:
|
||||
goto IL_0509;
|
||||
default:
|
||||
goto IL_0678;
|
||||
case EPhase.WaitForCutsceneStart:
|
||||
goto IL_06e7;
|
||||
case EPhase.Closing:
|
||||
goto end_IL_0047;
|
||||
}
|
||||
goto case 2;
|
||||
case 46:
|
||||
num2 = ((num6 <= 0) ? 427799862 : 427799824);
|
||||
continue;
|
||||
case 23:
|
||||
num2 = ((!_202E_200B_202B_202C_202B_202D_206D_206A_202B_206F_200D_200B_206B_206D_206C_206C_206A_202C_206E_206D_202E_206B_200F_200B_202D_200B_206D_202D_200B_202E_200F_202D_206F_206D_202A_202D_202E_202E_206E_206C_202E()) ? 427799816 : 427799866);
|
||||
continue;
|
||||
case 7:
|
||||
num2 = ((!_200E_200F_206E_206C_200E_200F_206D_202C_202E_200E_202A_200D_202E_202D_206E_200B_206C_206A_200C_200E_202A_206E_202B_206C_206E_200C_200E_202E_200F_200C_206D_202B_206C_206E_200F_206B_206C_202A_202B_202B_202E()) ? 427799831 : 427799820);
|
||||
continue;
|
||||
case 30:
|
||||
goto IL_06e7;
|
||||
case 45:
|
||||
_206C_202A_206F_200F_206C_202A_200B_200D_206D_206D_202E_206C_202D_206D_206D_202E_200D_202C_200B_200E_202D_200B_200E_202B_200B_202D_202A_206A_200E_206B_202B_202D_206E_206F_206D_200C_202E_202E_206E_206F_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>(-1661028568), new object[2] { _phase, num });
|
||||
TryDismissResultAddon();
|
||||
_200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(gameGui);
|
||||
return ETaskResult.RetryStep;
|
||||
case 15:
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)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>(-285034380), Array.Empty<object>());
|
||||
SetPhase(EPhase.WaitForCutsceneEnd);
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 36:
|
||||
num2 = (TryDismissResultAddon() ? 427799816 : 427799838);
|
||||
continue;
|
||||
case 6:
|
||||
num2 = ((!_200F_206A_200F_200E_206A_202E_206C_202E_202A_206D_202D_202B_202D_206B_206B_206F_202D_200E_202A_202C_206A_202C_200C_206A_202C_200B_202C_206A_200E_206F_206E_200C_206F_206A_206E_202B_200C_200B_206A_202E_202E(gameGui)) ? 427799859 : 427799865);
|
||||
continue;
|
||||
case 14:
|
||||
num2 = (_202E_200B_202E_200D_206C_206F_206E_200D_202B_206B_202D_200B_200D_202A_206D_202E_200D_202A_200E_200F_206F_206C_202E_206E_206E_206D_200F_202A_206D_206B_202A_200D_206B_200E_200E_206B_202C_206D_200B_202D_202E(gameGui) ? 427799816 : 427799814);
|
||||
continue;
|
||||
case 41:
|
||||
num2 = ((!_200C_206A_206B_200D_200C_202C_206D_206A_206D_206C_202E_200C_202E_202A_206C_206E_202E_206D_202D_200B_200F_202B_200D_206E_200E_200D_206A_206B_206A_206B_206F_206E_200C_202A_202E_206E_202D_206F_200B_200F_202E(gameGui)) ? 427799816 : 427799808);
|
||||
continue;
|
||||
case 8:
|
||||
_202C_200D_206E_206E_200B_202C_206A_206D_206C_202E_200F_206C_206A_200F_202C_206B_206C_202B_202A_206D_206E_202C_206C_200B_206A_202A_200C_202C_200F_202E_200F_206E_206A_206A_202D_200C_206C_202A_206A_206F_202E(gameGui, (int)base.Task.Slot);
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-1693755949), new object[1] { base.Task.Slot });
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 35:
|
||||
_202A_206D_206A_200C_202B_200C_206F_200F_200E_200D_206C_202C_200D_202A_202C_206E_206F_200C_202B_206F_206A_202E_206D_206E_202E_206D_202B_206E_202C_202D_206C_206D_200E_206F_200F_206C_200C_200B_200D_206A_202E(gameGui, 0);
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-2145457438), Array.Empty<object>());
|
||||
num2 = 427799816;
|
||||
continue;
|
||||
case 39:
|
||||
break;
|
||||
IL_0464:
|
||||
usedDeliveries = _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries;
|
||||
num2 = ((usedDeliveries <= _lastUsedDeliveries) ? 427799816 : 427799811);
|
||||
continue;
|
||||
IL_02fd:
|
||||
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799821);
|
||||
continue;
|
||||
IL_06e7:
|
||||
num2 = ((!HasDeliveryRegistered()) ? 427799834 : 427799819);
|
||||
continue;
|
||||
IL_0678:
|
||||
num2 = 427799817;
|
||||
continue;
|
||||
IL_015d:
|
||||
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799837);
|
||||
continue;
|
||||
IL_01c7:
|
||||
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799870);
|
||||
continue;
|
||||
IL_0509:
|
||||
num2 = (_200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(condition, ConditionFlag.OccupiedInCutSceneEvent) ? 427799816 : 427799825);
|
||||
continue;
|
||||
end_IL_0047:
|
||||
break;
|
||||
}
|
||||
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799839);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool TryDismissResultAddon()
|
||||
{
|
||||
int num = (_200D_206D_202C_206F_200E_200D_206D_206A_206D_206F_202C_200C_200D_202E_200F_202C_206D_200C_202D_202E_202A_206A_206F_200F_206A_200D_200C_200E_206B_206A_202E_200D_200B_202C_202B_206C_206D_206C_206C_200F_202E(gameGui) ? 1612697595 : 1612697592);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1612697593;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004d;
|
||||
case 2:
|
||||
_206D_200B_200E_202D_206C_202D_202A_206C_206A_206B_202A_206F_202D_200B_200D_202D_202C_202C_202D_206C_202A_200B_206B_202A_200D_206F_202B_202C_206B_202D_200F_202B_200C_200B_202C_202D_206C_200B_206C_206B_202E(gameGui);
|
||||
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_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>(-1119009587), Array.Empty<object>());
|
||||
return true;
|
||||
case 1:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_004d:
|
||||
num = 1612697592;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPhase(EPhase phase)
|
||||
{
|
||||
_phase = phase;
|
||||
_phaseStartMs = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E();
|
||||
}
|
||||
|
||||
private bool HasDeliveryRegistered()
|
||||
{
|
||||
return _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries > _lastUsedDeliveries;
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static SatisfactionSupplyActions.NpcState _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(int P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.GetNpcState(P_0);
|
||||
}
|
||||
|
||||
static long _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
|
||||
static void _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206C_202A_206F_200F_206C_202A_200B_200D_206D_206D_202E_206C_202D_206D_206D_202E_200D_202C_200B_200E_202D_200B_200E_202B_200B_202D_202A_206A_200E_206B_202B_202D_206E_206F_206D_200C_202E_202E_206E_206F_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(IGameGui P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.TryCloseSatisfactionSupply(P_0);
|
||||
}
|
||||
|
||||
static bool _206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(IGameGui P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.IsSatisfactionSupplyFullyReady(P_0);
|
||||
}
|
||||
|
||||
static bool _200F_206A_200F_200E_206A_202E_206C_202E_202A_206D_202D_202B_202D_206B_206B_206F_202D_200E_202A_202C_206A_202C_200C_206A_202C_200B_202C_206A_200E_206F_206E_200C_206F_206A_206E_202B_200C_200B_206A_202E_202E(IGameGui P_0)
|
||||
{
|
||||
return VendorPurchaseActions.IsDialogReady(P_0);
|
||||
}
|
||||
|
||||
static bool _202A_206D_206A_200C_202B_200C_206F_200F_200E_200D_206C_202C_200D_202A_202C_206E_206F_200C_202B_206F_206A_202E_206D_206E_202E_206D_202B_206E_202C_202D_206C_206D_200E_206F_200F_206C_200C_200B_200D_206A_202E(IGameGui P_0, int P_1)
|
||||
{
|
||||
return VendorPurchaseActions.TrySelectDialogOption(P_0, P_1);
|
||||
}
|
||||
|
||||
static bool _200C_206A_206B_200D_200C_202C_206D_206A_206D_206C_202E_200C_202E_202A_206C_206E_202E_206D_202D_200B_200F_202B_200D_206E_200E_200D_206A_206B_206A_206B_206F_206E_200C_202A_202E_206E_202D_206F_200B_200F_202E(IGameGui P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.TryProgressTalk(P_0);
|
||||
}
|
||||
|
||||
static bool _200E_200F_206E_206C_200E_200F_206D_202C_202E_200E_202A_200D_202E_202D_206E_200B_206C_206A_200C_200E_202A_206E_202B_206C_206E_200C_200E_202E_200F_200C_206D_202B_206C_206E_200F_206B_206C_202A_202B_202B_202E()
|
||||
{
|
||||
return SatisfactionSupplyActions.IsNpcTradeReady();
|
||||
}
|
||||
|
||||
static bool _202C_200D_206E_206E_200B_202C_206A_206D_206C_202E_200F_206C_206A_200F_202C_206B_206C_202B_202A_206D_206E_202C_206C_200B_206A_202A_200C_202C_200F_202E_200F_206E_206A_206A_202D_200C_206C_202A_206A_206F_202E(IGameGui P_0, int P_1)
|
||||
{
|
||||
return SatisfactionSupplyActions.TrySelectDeliverySlot(P_0, P_1);
|
||||
}
|
||||
|
||||
static bool _202E_200B_202B_202C_202B_202D_206D_206A_202B_206F_200D_200B_206B_206D_206C_206C_206A_202C_206E_206D_202E_206B_200F_200B_202D_200B_206D_202D_200B_202E_200F_202D_206F_206D_202A_202D_202E_202E_206E_206C_202E()
|
||||
{
|
||||
return SatisfactionSupplyActions.TryConfirmTrade();
|
||||
}
|
||||
|
||||
static bool _200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(ICondition P_0, ConditionFlag P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
|
||||
static int _206F_200D_200C_202C_200F_202A_206B_200B_206D_202A_206D_202B_200E_202D_200D_200C_202B_206D_202A_206F_200B_202E_206F_202E_206A_206A_200D_200E_200E_200E_206B_202A_200E_206A_202C_206B_206A_200B_202D_202E_202E(int P_0, int P_1)
|
||||
{
|
||||
return Math.Max(P_0, P_1);
|
||||
}
|
||||
|
||||
static int _202D_200F_202C_202A_206D_206A_200C_206F_206E_206E_202C_206E_202D_206A_200B_206F_202E_202A_200C_202A_202C_200D_202E_200D_202C_206D_200D_206B_206F_200C_202A_200F_200B_202E_200D_206F_206C_200D_202D_200F_202E()
|
||||
{
|
||||
return SatisfactionSupplyActions.GetRemainingAllowances();
|
||||
}
|
||||
|
||||
static bool _202E_200B_202E_200D_206C_206F_206E_200D_202B_206B_202D_200B_200D_202A_206D_202E_200D_202A_200E_200F_206F_206C_202E_206E_206E_206D_200F_202A_206D_206B_202A_200D_206B_200E_200E_206B_202C_206D_200B_202D_202E(IGameGui P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.IsSatisfactionSupplyReady(P_0);
|
||||
}
|
||||
|
||||
static bool _200D_206D_202C_206F_200E_200D_206D_206A_206D_206F_202C_200C_200D_202E_200F_202C_206D_200C_202D_202E_202A_206A_206F_200F_206A_200D_200C_200E_206B_206A_202E_200D_200B_202C_202B_206C_206D_206C_206C_200F_202E(IGameGui P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.IsSatisfactionSupplyResultVisible(P_0);
|
||||
}
|
||||
|
||||
static bool _206D_200B_200E_202D_206C_202D_202A_206C_206A_206B_202A_206F_202D_200B_200D_202D_202C_202C_202D_206C_202A_200B_206B_202A_200D_206F_202B_202C_206B_202D_200F_202B_200C_200B_202C_202D_206C_200B_206C_206B_202E(IGameGui P_0)
|
||||
{
|
||||
return SatisfactionSupplyActions.TryCloseSatisfactionSupplyResult(P_0);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Questionable.Controller.Steps;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed record SatisfactionSupplyTurnInTask(int NpcIndex, EDeliverySlot Slot, int DeliveryCount, uint NpcDataId) : ITask
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200F_206E_202C_200D_206E_200F_200F_202C_200C_206B_206A_202A_206C_202E_202B_206D_200C_206F_206B_206E_200F_200E_200F_202E_206B_200D_206A_202A_206D_200D_202D_206A_202A_202C_206B_206F_202B_202E_202D_206C_202E(typeof(SatisfactionSupplyTurnInTask).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 3);
|
||||
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>(-1300446303));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(NpcIndex);
|
||||
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>(1337890915));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(Slot);
|
||||
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>(1866089119));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(DeliveryCount);
|
||||
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>(444206578));
|
||||
return defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_206C_206B_206E_200D_200C_200F_200C_206F_202C_202E_206D_200C_202D_202C_202C_200F_202B_202E_200F_202B_202E_206D_200E_200F_206E_206E_200F_202E_202D_206B_206D_206A_200C_206E_202C_200F_200D_202B_206D_200C_202E();
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_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>(-1595512881));
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, NpcIndex.ToString());
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_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>(1002596104));
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, Slot.ToString());
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_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>(1495805969));
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, DeliveryCount.ToString());
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_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>(1084145586));
|
||||
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, NpcDataId.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(SatisfactionSupplyTurnInTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 887679026 : 887679031);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 887679025;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 8:
|
||||
return EqualityComparer<uint>.Default.Equals(NpcDataId, other.NpcDataId);
|
||||
case 1:
|
||||
num = ((!EqualityComparer<int>.Default.Equals(DeliveryCount, other.DeliveryCount)) ? 887679029 : 887679033);
|
||||
break;
|
||||
case 5:
|
||||
num = ((!EqualityComparer<int>.Default.Equals(NpcIndex, other.NpcIndex)) ? 887679029 : 887679027);
|
||||
break;
|
||||
case 6:
|
||||
num = (((object)other == null) ? 887679029 : 887679030);
|
||||
break;
|
||||
case 2:
|
||||
num = ((!EqualityComparer<EDeliverySlot>.Default.Equals(Slot, other.Slot)) ? 887679029 : 887679024);
|
||||
break;
|
||||
case 3:
|
||||
return true;
|
||||
case 4:
|
||||
return false;
|
||||
case 0:
|
||||
num = 887679031;
|
||||
break;
|
||||
case 7:
|
||||
num = ((!_200F_206E_202C_200B_206A_200D_206E_202C_206E_202D_202D_200D_202B_200B_202E_206E_200F_200D_200C_200C_206F_206C_200B_200E_202E_200F_200E_206F_200D_200C_202A_200F_202C_206C_202E_200D_206B_206F_202A_200F_202E(EqualityContract, other.EqualityContract)) ? 887679029 : 887679028);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<SatisfactionSupplyTurnInTask>.Equals(SatisfactionSupplyTurnInTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _200F_206E_202C_200D_206E_200F_200F_202C_200C_206B_206A_202A_206C_202E_202B_206D_200C_206F_206B_206E_200F_200E_200F_202E_206B_200D_206A_202A_206D_200D_202D_206A_202A_202C_206B_206F_202B_202E_202D_206C_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _206C_206B_206E_200D_200C_200F_200C_206F_202C_202E_206D_200C_202D_202C_202C_200F_202B_202E_200F_202B_202E_206D_200E_200F_206E_206E_200F_202E_202D_206B_206D_206A_200C_206E_202C_200F_200D_202B_206D_200C_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _200F_206E_202C_200B_206A_200D_206E_202C_206E_202D_202D_200D_202B_200B_202E_206E_200F_200D_200C_200C_206F_206C_200B_200E_202E_200F_200E_206F_200D_200C_202A_200F_202C_206C_202E_200D_206B_206F_202A_200F_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,419 @@
|
|||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using LLib;
|
||||
using LLib.Shop;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps;
|
||||
using Questionable.Functions;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class VendorPurchaseExecutor(GameFunctions gameFunctions, IGameGui gameGui, ICondition condition, ILogger<VendorPurchaseExecutor> logger) : TaskExecutor<VendorPurchaseTask>()
|
||||
{
|
||||
private enum EState
|
||||
{
|
||||
InteractWithNpc,
|
||||
WaitForShopOrDialog,
|
||||
BuyItem,
|
||||
WaitForBuy,
|
||||
CloseShop,
|
||||
WaitForClose
|
||||
}
|
||||
|
||||
private const long StateTimeoutMs = 15000L;
|
||||
|
||||
private const long BuyConfirmationTimeoutMs = 2000L;
|
||||
|
||||
private const int MaxBuyAttempts = 3;
|
||||
|
||||
private EState _state;
|
||||
|
||||
private Throttle _throttle;
|
||||
|
||||
private int _purchaseIndex;
|
||||
|
||||
private long _stateStartMs;
|
||||
|
||||
private bool _failed;
|
||||
|
||||
private int _countBeforeBuy;
|
||||
|
||||
private int _buyAttempts;
|
||||
|
||||
private bool _confirmationClicked;
|
||||
|
||||
protected override bool Start()
|
||||
{
|
||||
_state = EState.InteractWithNpc;
|
||||
_throttle.Clear();
|
||||
_purchaseIndex = 0;
|
||||
_stateStartMs = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E();
|
||||
_failed = false;
|
||||
_countBeforeBuy = 0;
|
||||
_buyAttempts = 0;
|
||||
_confirmationClicked = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public unsafe override ETaskResult Update()
|
||||
{
|
||||
long num = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E() - _stateStartMs;
|
||||
int num2 = ((_state == EState.WaitForBuy) ? 839409606 : 839409644);
|
||||
int inventoryItemCount = default(int);
|
||||
VendorPurchaseTask.PurchaseItem purchaseItem = default(VendorPurchaseTask.PurchaseItem);
|
||||
VendorPurchaseTask.PurchaseItem purchaseItem2 = default(VendorPurchaseTask.PurchaseItem);
|
||||
int num16 = default(int);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 839409609;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 11:
|
||||
num2 = 839409644;
|
||||
break;
|
||||
case 26:
|
||||
return ETaskResult.StillRunning;
|
||||
case 10:
|
||||
return ETaskResult.StillRunning;
|
||||
case 7:
|
||||
return ETaskResult.StillRunning;
|
||||
case 34:
|
||||
num2 = ((!_206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(gameGui)) ? 839409635 : 839409631);
|
||||
break;
|
||||
case 37:
|
||||
num2 = ((num <= 15000) ? 839409606 : 839409622);
|
||||
break;
|
||||
case 6:
|
||||
goto IL_0195;
|
||||
case 23:
|
||||
return ETaskResult.StillRunning;
|
||||
case 21:
|
||||
inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
|
||||
num2 = ((inventoryItemCount > _countBeforeBuy) ? 839409605 : 839409604);
|
||||
break;
|
||||
case 51:
|
||||
return ETaskResult.StillRunning;
|
||||
case 32:
|
||||
return ETaskResult.StillRunning;
|
||||
case 35:
|
||||
num2 = (_202D_202E_202D_206E_202A_202A_206B_206B_202C_202E_200B_200D_202B_202C_202E_200B_202B_200E_200D_206E_202B_206B_206C_206C_202A_202D_202B_202E_200C_200C_206C_202A_200D_200C_200F_202C_202C_200F_206B_202D_202E(condition, ConditionFlag.OccupiedInEvent) ? 839409603 : 839409656);
|
||||
break;
|
||||
case 30:
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_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>(-1366453963), Array.Empty<object>());
|
||||
SetState(EState.WaitForClose);
|
||||
num2 = 839409637;
|
||||
break;
|
||||
case 44:
|
||||
return ETaskResult.StillRunning;
|
||||
case 46:
|
||||
num2 = (_throttle.TryReset(0.5) ? 839409607 : 839409614);
|
||||
break;
|
||||
case 56:
|
||||
goto IL_0292;
|
||||
case 52:
|
||||
{
|
||||
int buyAttempts2 = _buyAttempts;
|
||||
num4 = 1;
|
||||
num5 = buyAttempts2;
|
||||
int num14 = num5 ^ num4;
|
||||
int num15 = num5 & num4;
|
||||
_buyAttempts = num14 + (num15 + num15);
|
||||
_confirmationClicked = false;
|
||||
ILogger<VendorPurchaseExecutor> logger3 = logger;
|
||||
string text3 = 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>(1763985144);
|
||||
object[] obj2 = new object[7] { purchaseItem2.ItemId, num16, purchaseItem2.Quantity, _buyAttempts, 3, null, null };
|
||||
int purchaseIndex3 = _purchaseIndex;
|
||||
num4 = 1;
|
||||
num5 = purchaseIndex3;
|
||||
int num17 = num5 ^ num4;
|
||||
int num18 = num5 & num4;
|
||||
obj2[5] = num17 + (num18 + num18);
|
||||
obj2[6] = base.Task.Purchases.Count;
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger3, text3, obj2);
|
||||
SetState(EState.WaitForBuy);
|
||||
num2 = 839409636;
|
||||
break;
|
||||
}
|
||||
case 33:
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_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>(519166747), Array.Empty<object>());
|
||||
SetState(EState.BuyItem);
|
||||
num2 = 839409658;
|
||||
break;
|
||||
case 14:
|
||||
num2 = ((!_200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(gameGui, base.Task.DialogOptionIndex)) ? 839409658 : 839409638);
|
||||
break;
|
||||
case 17:
|
||||
num2 = ((!gameFunctions.InteractWith(base.Task.VendorNpcId)) ? 839409618 : 839409616);
|
||||
break;
|
||||
case 55:
|
||||
return ETaskResult.StillRunning;
|
||||
case 47:
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)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>(457605072), new object[1] { base.Task.DialogOptionIndex });
|
||||
num2 = 839409658;
|
||||
break;
|
||||
case 53:
|
||||
num2 = ((_buyAttempts >= 3) ? 839409659 : 839409633);
|
||||
break;
|
||||
case 9:
|
||||
return ETaskResult.StillRunning;
|
||||
case 41:
|
||||
{
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_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>(-87832125), new object[3] { purchaseItem.ItemId, _countBeforeBuy, inventoryItemCount });
|
||||
int purchaseIndex = _purchaseIndex;
|
||||
num4 = 1;
|
||||
num5 = purchaseIndex;
|
||||
int num8 = num5 ^ num4;
|
||||
int num9 = num5 & num4;
|
||||
_purchaseIndex = num8 + (num9 + num9);
|
||||
num2 = ((_purchaseIndex >= base.Task.Purchases.Count) ? 839409629 : 839409601);
|
||||
break;
|
||||
}
|
||||
case 36:
|
||||
purchaseItem2 = base.Task.Purchases[_purchaseIndex];
|
||||
num16 = _200B_206D_202D_202A_202A_202E_206A_206E_206A_200C_202A_206C_206D_200E_206D_200D_206B_202D_202D_206A_206C_202C_202D_200F_206E_202D_206F_206F_206C_202C_202B_202A_200E_200E_200D_202B_200E_200C_206C_200D_202E(gameGui, purchaseItem2.ItemId);
|
||||
num2 = ((num16 >= 0) ? 839409611 : 839409617);
|
||||
break;
|
||||
case 1:
|
||||
goto IL_055e;
|
||||
case 2:
|
||||
_countBeforeBuy = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem2.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
|
||||
num2 = ((!_206F_200D_206B_206C_202C_202D_206A_200F_200B_206E_206A_206B_200C_206D_200D_200E_206B_202E_200F_206B_200C_200E_206F_206D_202A_202C_200B_206D_202A_206D_200E_202D_202A_200E_202A_200F_200C_202E_202B_202A_202E(gameGui, num16, purchaseItem2.Quantity)) ? 839409636 : 839409661);
|
||||
break;
|
||||
case 50:
|
||||
_200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_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>(-968313219), new object[2] { purchaseItem.ItemId, _buyAttempts });
|
||||
_failed = true;
|
||||
SetState(EState.CloseShop);
|
||||
return ETaskResult.StillRunning;
|
||||
case 24:
|
||||
_200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_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>(326113005), new object[1] { purchaseItem2.ItemId });
|
||||
_failed = true;
|
||||
SetState(EState.CloseShop);
|
||||
return ETaskResult.StillRunning;
|
||||
case 18:
|
||||
_confirmationClicked = true;
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_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>(-1038383555), new object[1] { purchaseItem.ItemId });
|
||||
SetState(EState.WaitForBuy);
|
||||
return ETaskResult.StillRunning;
|
||||
case 13:
|
||||
num2 = ((num >= 2000) ? 839409660 : 839409641);
|
||||
break;
|
||||
case 31:
|
||||
_206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_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>(-208232877), new object[2] { _state, num });
|
||||
return ETaskResult.RetryStep;
|
||||
case 19:
|
||||
num2 = (_throttle.TryReset(0.5) ? 839409657 : 839409600);
|
||||
break;
|
||||
case 54:
|
||||
return ETaskResult.StillRunning;
|
||||
case 38:
|
||||
return ETaskResult.StillRunning;
|
||||
case 8:
|
||||
{
|
||||
_buyAttempts = 0;
|
||||
ILogger<VendorPurchaseExecutor> logger2 = logger;
|
||||
string text2 = 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>(-274284666);
|
||||
object[] array = new object[2];
|
||||
int purchaseIndex2 = _purchaseIndex;
|
||||
num4 = 1;
|
||||
num5 = purchaseIndex2;
|
||||
int num12 = num5 ^ num4;
|
||||
int num13 = num5 & num4;
|
||||
array[0] = num12 + (num13 + num13);
|
||||
array[1] = base.Task.Purchases.Count;
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger2, text2, array);
|
||||
SetState(EState.BuyItem);
|
||||
num2 = 839409663;
|
||||
break;
|
||||
}
|
||||
case 20:
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)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>(1561512200), Array.Empty<object>());
|
||||
SetState(EState.CloseShop);
|
||||
num2 = 839409663;
|
||||
break;
|
||||
case 27:
|
||||
return ETaskResult.StillRunning;
|
||||
case 49:
|
||||
num2 = ((!_failed) ? 839409610 : 839409625);
|
||||
break;
|
||||
case 25:
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)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>(816270239), new object[1] { base.Task.VendorNpcId });
|
||||
SetState(EState.WaitForShopOrDialog);
|
||||
num2 = 839409618;
|
||||
break;
|
||||
case 22:
|
||||
return ETaskResult.StillRunning;
|
||||
case 39:
|
||||
num2 = 839409662;
|
||||
break;
|
||||
case 43:
|
||||
goto IL_0831;
|
||||
case 15:
|
||||
switch (_state)
|
||||
{
|
||||
case EState.WaitForClose:
|
||||
break;
|
||||
case EState.BuyItem:
|
||||
goto IL_0195;
|
||||
case EState.WaitForShopOrDialog:
|
||||
goto IL_0292;
|
||||
case EState.CloseShop:
|
||||
goto IL_055e;
|
||||
case EState.WaitForBuy:
|
||||
goto IL_0831;
|
||||
default:
|
||||
goto IL_0892;
|
||||
case EState.InteractWithNpc:
|
||||
goto IL_0a14;
|
||||
}
|
||||
goto case 34;
|
||||
case 40:
|
||||
{
|
||||
ILogger<VendorPurchaseExecutor> logger = logger;
|
||||
string text = 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>(-366147931);
|
||||
object[] obj = new object[3] { purchaseItem.ItemId, null, null };
|
||||
int buyAttempts = _buyAttempts;
|
||||
num4 = 1;
|
||||
num5 = buyAttempts;
|
||||
int num10 = num5 ^ num4;
|
||||
int num11 = num5 & num4;
|
||||
obj[1] = num10 + (num11 + num11);
|
||||
obj[2] = 3;
|
||||
_206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, text, obj);
|
||||
SetState(EState.BuyItem);
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
case 42:
|
||||
num2 = ((!_206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(gameGui)) ? 839409642 : 839409626);
|
||||
break;
|
||||
case 45:
|
||||
return ETaskResult.StillRunning;
|
||||
case 0:
|
||||
num2 = ((!_206B_200B_206C_202D_206B_206C_202E_202E_202C_206E_206E_200C_206F_202D_200B_200C_206A_200B_202B_202C_206C_206D_206A_202A_200F_200C_206C_200F_202A_200D_206A_206C_200E_202A_206B_206B_202C_200D_200C_200D_202E(gameGui)) ? 839409628 : 839409627);
|
||||
break;
|
||||
case 12:
|
||||
num2 = (_throttle.TryReset(0.5) ? 839409632 : 839409647);
|
||||
break;
|
||||
case 29:
|
||||
num2 = ((!_206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(gameGui)) ? 839409658 : 839409639);
|
||||
break;
|
||||
case 3:
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_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>(-1460452754), Array.Empty<object>());
|
||||
return ETaskResult.TaskComplete;
|
||||
case 4:
|
||||
return ETaskResult.StillRunning;
|
||||
case 28:
|
||||
num2 = ((!_206D_202A_202D_200F_206C_202A_200D_206A_202E_206A_206B_200C_206F_206B_202C_206D_200C_206C_202D_200F_202D_200F_206C_206C_200C_200D_202D_200C_202A_200D_202D_206D_200B_200D_202C_206D_206F_206A_202A_202C_202E(gameGui)) ? 839409637 : 839409623);
|
||||
break;
|
||||
case 48:
|
||||
_200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(gameGui, -1);
|
||||
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_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>(408167584), Array.Empty<object>());
|
||||
return ETaskResult.StillRunning;
|
||||
case 5:
|
||||
goto IL_0a14;
|
||||
case 16:
|
||||
{
|
||||
_206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_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>(1743816671), Array.Empty<object>());
|
||||
return ETaskResult.RetryStep;
|
||||
}
|
||||
IL_0a14:
|
||||
num2 = (_throttle.TryReset(1.0) ? 839409624 : 839409619);
|
||||
break;
|
||||
IL_0892:
|
||||
num2 = 839409646;
|
||||
break;
|
||||
IL_0831:
|
||||
purchaseItem = base.Task.Purchases[_purchaseIndex];
|
||||
num2 = (_confirmationClicked ? 839409628 : 839409609);
|
||||
break;
|
||||
IL_0292:
|
||||
num2 = ((!_206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(gameGui)) ? 839409620 : 839409640);
|
||||
break;
|
||||
IL_0195:
|
||||
num2 = (_throttle.TryReset(0.5) ? 839409645 : 839409613);
|
||||
break;
|
||||
IL_055e:
|
||||
num2 = (_throttle.TryReset(0.5) ? 839409621 : 839409630);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetState(EState state)
|
||||
{
|
||||
_state = state;
|
||||
_stateStartMs = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E();
|
||||
}
|
||||
|
||||
public override bool ShouldInterruptOnDamage()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static long _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
|
||||
static void _206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(IGameGui P_0)
|
||||
{
|
||||
return VendorPurchaseActions.IsShopReady(P_0);
|
||||
}
|
||||
|
||||
static bool _206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(IGameGui P_0)
|
||||
{
|
||||
return VendorPurchaseActions.IsDialogReady(P_0);
|
||||
}
|
||||
|
||||
static bool _200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(IGameGui P_0, int P_1)
|
||||
{
|
||||
return VendorPurchaseActions.TrySelectDialogOption(P_0, P_1);
|
||||
}
|
||||
|
||||
static int _200B_206D_202D_202A_202A_202E_206A_206E_206A_200C_202A_206C_206D_200E_206D_200D_206B_202D_202D_206A_206C_202C_202D_200F_206E_202D_206F_206F_206C_202C_202B_202A_200E_200E_200D_202B_200E_200C_206C_200D_202E(IGameGui P_0, uint P_1)
|
||||
{
|
||||
return VendorPurchaseActions.FindItemDisplayIndex(P_0, P_1);
|
||||
}
|
||||
|
||||
static void _200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogError(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206F_200D_206B_206C_202C_202D_206A_200F_200B_206E_206A_206B_200C_206D_200D_200E_206B_202E_200F_206B_200C_200E_206F_206D_202A_202C_200B_206D_202A_206D_200E_202D_202A_200E_202A_200F_200C_202E_202B_202A_202E(IGameGui P_0, int P_1, int P_2)
|
||||
{
|
||||
return VendorPurchaseActions.TryBuyItem(P_0, P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206B_200B_206C_202D_206B_206C_202E_202E_202C_206E_206E_200C_206F_202D_200B_200C_206A_200B_202B_202C_206C_206D_206A_202A_200F_200C_206C_200F_202A_200D_206A_206C_200E_202A_206B_206B_202C_200D_200C_200D_202E(IGameGui P_0)
|
||||
{
|
||||
return VendorPurchaseActions.TryConfirmPurchase(P_0);
|
||||
}
|
||||
|
||||
static bool _206D_202A_202D_200F_206C_202A_200D_206A_202E_206A_206B_200C_206F_206B_202C_206D_200C_206C_202D_200F_202D_200F_206C_206C_200C_200D_202D_200C_202A_200D_202D_206D_200B_200D_202C_206D_206F_206A_202A_202C_202E(IGameGui P_0)
|
||||
{
|
||||
return VendorPurchaseActions.TryCloseShop(P_0);
|
||||
}
|
||||
|
||||
static bool _202D_202E_202D_206E_202A_202A_206B_206B_202C_202E_200B_200D_202B_202C_202E_200B_202B_200E_200D_206E_202B_206B_206C_206C_202A_202D_202B_202E_200C_200C_206C_202A_200D_200C_200F_202C_202C_200F_206B_202D_202E(ICondition P_0, ConditionFlag P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,244 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Questionable.Controller.Steps;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed record VendorPurchaseTask(uint VendorNpcId, IReadOnlyList<PurchaseItem> Purchases, int DialogOptionIndex = 0) : ITask
|
||||
{
|
||||
internal readonly record struct PurchaseItem(uint ItemId, int Quantity)
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206F_200F_200F_206B_200C_206F_200D_202E_206F_202D_200D_200E_202C_202E_206F_206C_200D_206D_206F_206D_206E_206A_206B_206F_206E_200D_200C_206B_200F_200D_200C_202A_202B_200F_206D_200E_202C_202D_206A_202C_202E();
|
||||
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(stringBuilder, 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>(1504160608));
|
||||
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(stringBuilder, 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>(1664411125));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 1320909858 : 1320909859);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1320909858;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = 1320909859;
|
||||
break;
|
||||
case 1:
|
||||
_202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(stringBuilder, ' ');
|
||||
num = 1320909858;
|
||||
break;
|
||||
case 0:
|
||||
_202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(stringBuilder, '}');
|
||||
return _206C_202D_206D_200E_200B_200F_200E_200C_202C_206D_206A_202E_202E_200C_206D_202E_200B_202C_206B_200F_206A_200D_202E_206D_200B_206A_202B_202C_200F_200F_200B_202E_202C_202B_200E_202B_206C_206E_200E_200C_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_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));
|
||||
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, ItemId.ToString());
|
||||
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_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>(-640041388));
|
||||
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, Quantity.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(PurchaseItem other)
|
||||
{
|
||||
int num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? (-997799700) : (-997799699));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -997799700;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0058;
|
||||
case 1:
|
||||
return EqualityComparer<int>.Default.Equals(Quantity, other.Quantity);
|
||||
case 0:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_0058:
|
||||
num = -997799699;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<PurchaseItem>.Equals(PurchaseItem other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static StringBuilder _206F_200F_200F_206B_200C_206F_200D_202E_206F_202D_200D_200E_202C_202E_206F_206C_200D_206D_206F_206D_206E_206A_206B_206F_206E_200D_200C_206B_200F_200D_200C_202A_202B_200F_206D_200E_202C_202D_206A_202C_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206C_202D_206D_200E_200B_200F_200E_200C_202C_206D_206A_202E_202E_200C_206D_202E_200B_202C_206B_200F_206A_200D_202E_206D_200B_206A_202B_202C_200F_200F_200B_202E_202C_202B_200E_202B_206C_206E_200E_200C_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206B_206B_206F_200C_206F_202C_206A_200C_206B_206C_200C_200B_200F_200B_202E_202A_200E_200C_206E_206B_202D_202E_202D_206A_200F_202B_202E_202B_206A_206F_206A_200B_200C_200D_200B_206A_206D_200B_206B_202E(typeof(VendorPurchaseTask).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public override string ToString()
|
||||
{
|
||||
int num = ((Purchases.Count == 1) ? 681809870 : 681809871);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 681809870;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0052;
|
||||
case 0:
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(34, 4);
|
||||
defaultInterpolatedStringHandler2.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>(-426748651));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(VendorNpcId);
|
||||
defaultInterpolatedStringHandler2.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>(-1317325121));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(Purchases[0].ItemId);
|
||||
defaultInterpolatedStringHandler2.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>(-1725354679));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(Purchases[0].Quantity);
|
||||
defaultInterpolatedStringHandler2.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>(1203794399));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(DialogOptionIndex);
|
||||
defaultInterpolatedStringHandler2.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>(1618480346));
|
||||
return defaultInterpolatedStringHandler2.ToStringAndClear();
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(33, 3);
|
||||
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>(-1531781508));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(VendorNpcId);
|
||||
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>(1467939024));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(Purchases.Count);
|
||||
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>(1987907938));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(DialogOptionIndex);
|
||||
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();
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_0052:
|
||||
num = 681809871;
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200C_200B_202C_202A_206A_206D_206B_200C_202A_202C_202A_202A_202E_206E_206B_206B_200B_206B_200B_200E_206A_200C_206A_206C_206E_200F_202E_200E_202D_206E_202D_202C_202E_202A_206A_206C_206D_200D_200E_200E_202E();
|
||||
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_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>(206754998));
|
||||
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, VendorNpcId.ToString());
|
||||
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_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>(166759684));
|
||||
_202E_206F_200B_202B_202B_202E_200F_206C_200B_200B_202A_206F_200E_200E_206B_202E_202B_206E_206C_202B_200F_200E_202B_206F_202D_202A_206A_200E_200E_206F_206A_200B_206E_206D_206F_206F_202C_202D_206A_202A_202E(builder, (object)Purchases);
|
||||
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_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>(474766985));
|
||||
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, DialogOptionIndex.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(VendorPurchaseTask? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1933996366) : (-1933996367));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1933996361;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -1933996367;
|
||||
break;
|
||||
case 5:
|
||||
return true;
|
||||
case 6:
|
||||
num = (((object)other == null) ? (-1933996364) : (-1933996362));
|
||||
break;
|
||||
case 2:
|
||||
return EqualityComparer<int>.Default.Equals(DialogOptionIndex, other.DialogOptionIndex);
|
||||
case 7:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(VendorNpcId, other.VendorNpcId)) ? (-1933996364) : (-1933996365));
|
||||
break;
|
||||
case 4:
|
||||
num = ((!EqualityComparer<IReadOnlyList<PurchaseItem>>.Default.Equals(Purchases, other.Purchases)) ? (-1933996364) : (-1933996363));
|
||||
break;
|
||||
case 1:
|
||||
num = ((!_202C_202E_200C_202E_202C_200D_200B_200F_206C_202E_202A_200D_200C_200D_202E_206F_202A_202C_202A_200F_200D_202D_206F_206D_206B_206F_206A_202E_200F_202D_202A_202A_200E_200B_202D_206D_206B_200B_202A_202B_202E(EqualityContract, other.EqualityContract)) ? (-1933996364) : (-1933996368));
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<VendorPurchaseTask>.Equals(VendorPurchaseTask? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206B_206B_206F_200C_206F_202C_206A_200C_206B_206C_200C_200B_200F_200B_202E_202A_200E_200C_206E_206B_202D_202E_202D_206A_200F_202B_202E_202B_206A_206F_206A_200B_200C_200D_200B_206A_206D_200B_206B_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static void _200C_200B_202C_202A_206A_206D_206B_200C_202A_202C_202A_202A_202E_206E_206B_206B_200B_206B_200B_200E_206A_200C_206A_206C_206E_200F_202E_200E_202D_206E_202D_202C_202E_202A_206A_206C_206D_200D_200E_200E_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202E_206F_200B_202B_202B_202E_200F_206C_200B_200B_202A_206F_200E_200E_206B_202E_202B_206E_206C_202B_200F_200E_202B_206F_202D_202A_206A_200E_200E_206F_206A_200B_206E_206D_206F_206F_202C_202D_206A_202A_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _202C_202E_200C_202E_202C_200D_200B_200F_206C_202E_202A_200D_200C_200D_202E_206F_202A_202C_202A_200F_200D_202D_206F_206D_206B_206F_206A_202E_200F_202D_202A_202A_200E_200B_202D_206D_206B_200B_202A_202B_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,592 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib.GameData;
|
||||
using LLib.Shop;
|
||||
using LLib.Shop.Model;
|
||||
using Lumina.Excel.Sheets;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Questionable.Controller.CustomDelivery;
|
||||
|
||||
internal sealed class VendorResolverService(IDataManager dataManager, VendorResolver vendorResolver, NpcPositionCache npcPositionCache, ILogger<VendorResolverService> logger)
|
||||
{
|
||||
internal readonly record struct IngredientInfo(uint ItemId, int CountPerCraft)
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _200E_206E_200E_206F_200D_200E_202C_206A_200C_202A_206B_200E_200E_202E_202C_200D_202A_206E_206D_200C_200F_202A_206C_200E_202D_200B_200C_206D_206A_206B_202D_206B_200C_206C_206F_206B_202D_202E_206C_200D_202E();
|
||||
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(stringBuilder, 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>(1900362320));
|
||||
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(stringBuilder, 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>(556540328));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 985551290 : 985551291);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 985551290;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 985551291;
|
||||
break;
|
||||
case 0:
|
||||
_202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(stringBuilder, '}');
|
||||
return _200C_206D_202E_202B_202E_202D_206B_200C_206B_202B_206D_200B_206F_206F_200C_200E_206F_202B_200B_200C_202D_206A_202C_206A_206D_200F_206E_200F_200E_206C_202B_200B_202E_202E_200B_202C_202D_202D_200E_206E_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(stringBuilder, ' ');
|
||||
num = 985551290;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_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>(-1176260912));
|
||||
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, ItemId.ToString());
|
||||
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_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>(-710805120));
|
||||
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, CountPerCraft.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(IngredientInfo other)
|
||||
{
|
||||
int num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? (-577386697) : (-577386700));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -577386698;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return EqualityComparer<int>.Default.Equals(CountPerCraft, other.CountPerCraft);
|
||||
case 0:
|
||||
goto IL_0071;
|
||||
}
|
||||
continue;
|
||||
IL_0071:
|
||||
num = -577386700;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<IngredientInfo>.Equals(IngredientInfo other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static StringBuilder _200E_206E_200E_206F_200D_200E_202C_206A_200C_202A_206B_200E_200E_202E_202C_200D_202A_206E_206D_200C_200F_202A_206C_200E_202D_200B_200C_206D_206A_206B_202D_206B_200C_206C_206F_206B_202D_202E_206C_200D_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _200C_206D_202E_202B_202E_202D_206B_200C_206B_202B_206D_200B_206F_206F_200C_200E_206F_202B_200B_200C_202D_206A_202C_206A_206D_200F_206E_200F_200E_206C_202B_200B_202E_202E_200B_202C_202D_202D_200E_206E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
internal readonly record struct RecipeInfo(uint RecipeId, uint CraftedItemId, IReadOnlyList<IngredientInfo> Ingredients, EClassJob CraftingClass)
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206C_206D_202C_206A_206C_206D_206A_200C_202C_206A_206A_202B_206F_200E_206C_206F_206F_200D_200F_200C_206E_202C_206E_206F_202D_202B_200F_206F_202A_206E_202E_202E_206F_202C_202C_206F_202E_200E_202A_206F_202E();
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(stringBuilder, 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>(1038169593));
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(stringBuilder, 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>(1664411125));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 935744891 : 935744888);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 935744890;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = 935744888;
|
||||
break;
|
||||
case 1:
|
||||
_202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(stringBuilder, '}');
|
||||
return _206C_202A_202D_202C_206F_206A_200C_202B_200C_200E_206B_200C_200E_206D_206E_202C_206F_206E_200E_200C_202C_206E_206A_202D_206B_202B_200D_200E_202E_206D_206C_202C_200C_206F_200B_202C_200F_202B_200F_206D_202E((object)stringBuilder);
|
||||
case 2:
|
||||
_202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(stringBuilder, ' ');
|
||||
num = 935744891;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_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>(-1168472186));
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, RecipeId.ToString());
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_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>(-229385593));
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, CraftedItemId.ToString());
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_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>(-1346587480));
|
||||
_200D_202A_202C_206A_206F_202D_206A_202C_206D_206F_206D_202A_202B_200E_200E_206B_200F_206C_206D_206D_206E_202B_200C_200D_200D_202D_202C_200C_200F_206F_202D_206A_202E_206A_200F_202B_206C_206A_200D_206B_202E(builder, (object)Ingredients);
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_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>(-356853243));
|
||||
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, CraftingClass.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(RecipeInfo other)
|
||||
{
|
||||
int num = ((!EqualityComparer<uint>.Default.Equals(RecipeId, other.RecipeId)) ? 1163014536 : 1163014541);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1163014537;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 3:
|
||||
num = 1163014541;
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<IReadOnlyList<IngredientInfo>>.Default.Equals(Ingredients, other.Ingredients)) ? 1163014536 : 1163014539);
|
||||
break;
|
||||
case 2:
|
||||
return EqualityComparer<EClassJob>.Default.Equals(CraftingClass, other.CraftingClass);
|
||||
case 4:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(CraftedItemId, other.CraftedItemId)) ? 1163014536 : 1163014537);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<RecipeInfo>.Equals(RecipeInfo other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static StringBuilder _206C_206D_202C_206A_206C_206D_206A_200C_202C_206A_206A_202B_206F_200E_206C_206F_206F_200D_200F_200C_206E_202C_206E_206F_202D_202B_200F_206F_202A_206E_202E_202E_206F_202C_202C_206F_202E_200E_202A_206F_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206C_202A_202D_202C_206F_206A_200C_202B_200C_200E_206B_200C_200E_206D_206E_202C_206F_206E_200E_200C_202C_206E_206A_202D_206B_202B_200D_200E_202E_206D_206C_202C_200C_206F_200B_202C_200F_202B_200F_206D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static StringBuilder _200D_202A_202C_206A_206F_202D_206A_202C_206D_206F_206D_202A_202B_200E_200E_206B_200F_206C_206D_206D_206E_202B_200C_200D_200D_202D_202C_200C_200F_206F_202D_206A_202E_206A_200F_202B_206C_206A_200D_206B_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
}
|
||||
|
||||
internal readonly record struct VendorInfo(uint ShopId, uint VendorNpcId, ushort TerritoryId, Vector3 Position, int DialogOptionIndex)
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206E_200F_206A_202A_206C_202A_202A_200B_202D_206E_202E_202B_206C_206D_206D_202A_202A_206F_202A_202B_206B_200C_200E_206F_206F_200F_202D_206F_206F_206C_206C_202A_206B_202D_200C_200B_200E_202A_206E_200D_202E();
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(stringBuilder, 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>(-1730025500));
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(stringBuilder, 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>(1664411125));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? (-1077906353) : (-1077906356));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1077906354;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -1077906356;
|
||||
break;
|
||||
case 2:
|
||||
_206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(stringBuilder, ' ');
|
||||
num = -1077906353;
|
||||
break;
|
||||
case 1:
|
||||
_206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(stringBuilder, '}');
|
||||
return _206D_200E_200B_202D_202E_206B_200F_202B_206D_206A_202E_206C_202B_200C_202B_206D_200D_202C_202E_202A_202D_200E_206B_202B_206B_202E_202D_206C_202E_200D_202A_206B_206F_200D_200E_200F_206D_202B_206A_206F_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_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>(317359128));
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, ShopId.ToString());
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_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>(-88160107));
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, VendorNpcId.ToString());
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_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>(-1428648191));
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, TerritoryId.ToString());
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_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));
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, Position.ToString());
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_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>(2076481420));
|
||||
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, DialogOptionIndex.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(VendorInfo other)
|
||||
{
|
||||
int num = ((!EqualityComparer<uint>.Default.Equals(ShopId, other.ShopId)) ? 756999807 : 756999806);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 756999804;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 756999807 : 756999800);
|
||||
break;
|
||||
case 2:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(VendorNpcId, other.VendorNpcId)) ? 756999807 : 756999805);
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 1:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 756999807 : 756999804);
|
||||
break;
|
||||
case 5:
|
||||
num = 756999806;
|
||||
break;
|
||||
case 4:
|
||||
return EqualityComparer<int>.Default.Equals(DialogOptionIndex, other.DialogOptionIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<VendorInfo>.Equals(VendorInfo other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static StringBuilder _206E_200F_206A_202A_206C_202A_202A_200B_202D_206E_202E_202B_206C_206D_206D_202A_202A_206F_202A_202B_206B_200C_200E_206F_206F_200F_202D_206F_206F_206C_206C_202A_206B_202D_200C_200B_200E_202A_206E_200D_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206D_200E_200B_202D_202E_206B_200F_202B_206D_206A_202E_206C_202B_200C_202B_206D_200D_202C_202E_202A_202D_200E_206B_202B_206B_202E_202D_206C_202E_200D_202A_206B_206F_200D_200E_200F_206D_202B_206A_206F_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public RecipeInfo? ResolveRecipe(uint craftedItemId, EClassJob? preferredJob = null)
|
||||
{
|
||||
RecipeLookup row;
|
||||
int num = (dataManager.GetExcelSheet<RecipeLookup>().TryGetRow(craftedItemId, out row) ? (-1604445138) : (-1604445150));
|
||||
List<IngredientInfo> list = default(List<IngredientInfo>);
|
||||
Recipe row3 = default(Recipe);
|
||||
List<IngredientInfo> list2 = default(List<IngredientInfo>);
|
||||
Recipe row2 = default(Recipe);
|
||||
uint item = default(uint);
|
||||
(EClassJob, uint)[] array2 = default((EClassJob, uint)[]);
|
||||
int num5 = default(int);
|
||||
EClassJob item2 = default(EClassJob);
|
||||
(EClassJob, uint)[] array = default((EClassJob, uint)[]);
|
||||
EClassJob item4 = default(EClassJob);
|
||||
uint item3 = default(uint);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1604445143;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 9:
|
||||
list = CollectIngredients(row3);
|
||||
num = ((list.Count == 0) ? (-1604445141) : (-1604445146));
|
||||
break;
|
||||
case 4:
|
||||
list2 = CollectIngredients(row2);
|
||||
num = ((list2.Count == 0) ? (-1604445143) : (-1604445128));
|
||||
break;
|
||||
case 8:
|
||||
num = ((item == 0) ? (-1604445148) : (-1604445145));
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
(EClassJob, uint) tuple = array2[num5];
|
||||
item2 = tuple.Item1;
|
||||
item = tuple.Item2;
|
||||
num = ((item2 != preferredJob.Value) ? (-1604445148) : (-1604445151));
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
array2 = array;
|
||||
num5 = 0;
|
||||
num = -1604445125;
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
(EClassJob, uint) tuple2 = array2[num5];
|
||||
item4 = tuple2.Item1;
|
||||
item3 = tuple2.Item2;
|
||||
num = ((item3 == 0) ? (-1604445143) : (-1604445147));
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
num = -1604445150;
|
||||
break;
|
||||
case 12:
|
||||
num = ((!dataManager.GetExcelSheet<Recipe>().TryGetRow(item3, out row2)) ? (-1604445143) : (-1604445139));
|
||||
break;
|
||||
case 14:
|
||||
num = ((!dataManager.GetExcelSheet<Recipe>().TryGetRow(item, out row3)) ? (-1604445141) : (-1604445152));
|
||||
break;
|
||||
case 0:
|
||||
{
|
||||
int num7 = num5;
|
||||
num3 = 1;
|
||||
num4 = num7;
|
||||
int num8 = num4 ^ num3;
|
||||
int num9 = num4 & num3;
|
||||
num5 = num8 + (num9 + num9);
|
||||
num = -1604445125;
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_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>(-1431969650), new object[1] { craftedItemId });
|
||||
return null;
|
||||
case 16:
|
||||
num = ((num5 < array2.Length) ? (-1604445142) : (-1604445141));
|
||||
break;
|
||||
case 10:
|
||||
array2 = array;
|
||||
num5 = 0;
|
||||
num = -1604445127;
|
||||
break;
|
||||
case 18:
|
||||
num = ((num5 < array2.Length) ? (-1604445140) : (-1604445144));
|
||||
break;
|
||||
case 13:
|
||||
{
|
||||
int num6 = num5;
|
||||
num3 = 1;
|
||||
num4 = num6;
|
||||
num5 = (num4 | num3) + (num4 & num3);
|
||||
num = -1604445127;
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
array = new(EClassJob, uint)[8]
|
||||
{
|
||||
(EClassJob.Carpenter, row.CRP.RowId),
|
||||
(EClassJob.Blacksmith, row.BSM.RowId),
|
||||
(EClassJob.Armorer, row.ARM.RowId),
|
||||
(EClassJob.Goldsmith, row.GSM.RowId),
|
||||
(EClassJob.Leatherworker, row.LTW.RowId),
|
||||
(EClassJob.Weaver, row.WVR.RowId),
|
||||
(EClassJob.Alchemist, row.ALC.RowId),
|
||||
(EClassJob.Culinarian, row.CUL.RowId)
|
||||
};
|
||||
num = ((!preferredJob.HasValue) ? (-1604445141) : (-1604445149));
|
||||
break;
|
||||
case 17:
|
||||
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_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>(1407786323), new object[4] { item3, item4, craftedItemId, list2.Count });
|
||||
return new RecipeInfo(item3, craftedItemId, list2, item4);
|
||||
case 1:
|
||||
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_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>(1806969075), new object[1] { craftedItemId });
|
||||
return null;
|
||||
case 15:
|
||||
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_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>(1664800932), new object[4] { item, item2, craftedItemId, list.Count });
|
||||
return new RecipeInfo(item, craftedItemId, list, item2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public VendorInfo? ResolveVendor(uint ingredientId)
|
||||
{
|
||||
int num = (_200B_202E_200F_200C_206F_202B_206F_200E_206B_200E_200E_206E_206D_202D_200E_206C_206A_200F_200C_206F_202D_202E_206C_206B_202D_206E_206C_200E_206B_206B_202E_202E_200C_200F_206B_206D_202B_200C_200E_202B_202E(npcPositionCache) ? 1075940384 : 1075940385);
|
||||
ShopSearchResult shopSearchResult = default(ShopSearchResult);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1075940386;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 1:
|
||||
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_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>(-563414727), new object[1] { ingredientId });
|
||||
return null;
|
||||
case 3:
|
||||
_200D_202E_206C_202D_200B_202A_202E_202B_202D_200D_200F_206E_206B_200E_200C_200C_200D_206F_206C_202D_200E_206D_202C_202A_200C_200E_200C_200C_206F_202A_202C_200D_202B_202D_200C_206B_200B_206E_200E_202D_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>(1813598717), new object[1] { ingredientId });
|
||||
return null;
|
||||
case 4:
|
||||
num = 1075940385;
|
||||
break;
|
||||
case 0:
|
||||
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_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>(1256305400), new object[5]
|
||||
{
|
||||
_202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(shopSearchResult),
|
||||
ingredientId,
|
||||
_200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(shopSearchResult),
|
||||
_206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(shopSearchResult),
|
||||
_206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(shopSearchResult)
|
||||
});
|
||||
return new VendorInfo(_200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(shopSearchResult), _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(shopSearchResult), _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(shopSearchResult), _202A_200E_206F_206C_202B_202E_200F_206F_202C_202A_206E_200C_200B_202B_200D_206C_206F_206F_200F_206E_206C_200D_202B_202D_200F_206D_206B_200C_206D_206A_206C_206F_200C_206C_200C_206A_200B_202A_200B_202A_202E(shopSearchResult), _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(shopSearchResult));
|
||||
case 2:
|
||||
shopSearchResult = _206A_202E_202A_200E_202C_202E_202A_200D_200B_200C_200F_200B_202A_206F_202A_200F_202E_202E_206B_202A_200C_200F_206F_200B_200B_200B_202B_206B_202D_202B_206C_202B_206B_200C_206F_200C_206F_206A_206C_206E_202E(vendorResolver, ingredientId);
|
||||
num = ((!_206D_200F_206D_202D_202D_200E_206B_206A_200E_200F_200C_202D_202C_202E_206D_206F_202C_200F_206A_200B_202A_206A_202B_206C_200D_202B_202C_202A_200B_206E_202E_206D_200E_200D_200C_206C_200D_200D_206B_206A_202E(shopSearchResult, (ShopSearchResult)null)) ? 1075940386 : 1075940387);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static List<IngredientInfo> CollectIngredients(Recipe recipe)
|
||||
{
|
||||
List<IngredientInfo> list = new List<IngredientInfo>();
|
||||
int num = 0;
|
||||
int num2 = 1773501195;
|
||||
uint rowId = default(uint);
|
||||
int num6 = default(int);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 1773501198;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 5:
|
||||
num2 = ((num < recipe.Ingredient.Count) ? 1773501197 : 1773501196);
|
||||
break;
|
||||
case 1:
|
||||
list.Add(new IngredientInfo(rowId, num6));
|
||||
num2 = 1773501192;
|
||||
break;
|
||||
case 2:
|
||||
return list;
|
||||
case 0:
|
||||
num2 = ((num6 <= 0) ? 1773501192 : 1773501199);
|
||||
break;
|
||||
case 4:
|
||||
num2 = 1773501195;
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
int num7 = num;
|
||||
num4 = 1;
|
||||
num5 = num7;
|
||||
num = (num5 | num4) + (num5 & num4);
|
||||
num2 = 1773501195;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
rowId = recipe.Ingredient[num].RowId;
|
||||
num6 = recipe.AmountIngredient[num];
|
||||
num2 = ((rowId == 0) ? 1773501192 : 1773501198);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _200B_202E_200F_200C_206F_202B_206F_200E_206B_200E_200E_206E_206D_202D_200E_206C_206A_200F_200C_206F_202D_202E_206C_206B_202D_206E_206C_200E_206B_206B_202E_202E_200C_200F_206B_206D_202B_200C_200E_202B_202E(NpcPositionCache P_0)
|
||||
{
|
||||
return P_0.IsBuilt;
|
||||
}
|
||||
|
||||
static void _200D_202E_206C_202D_200B_202A_202E_202B_202D_200D_200F_206E_206B_200E_200C_200C_200D_206F_206C_202D_200E_206D_202C_202A_200C_200E_200C_200C_206F_202A_202C_200D_202B_202D_200C_206B_200B_206E_200E_202D_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static ShopSearchResult _206A_202E_202A_200E_202C_202E_202A_200D_200B_200C_200F_200B_202A_206F_202A_200F_202E_202E_206B_202A_200C_200F_206F_200B_200B_200B_202B_206B_202D_202B_206C_202B_206B_200C_206F_200C_206F_206A_206C_206E_202E(VendorResolver P_0, uint P_1)
|
||||
{
|
||||
return P_0.FindGilVendor(P_1);
|
||||
}
|
||||
|
||||
static bool _206D_200F_206D_202D_202D_200E_206B_206A_200E_200F_200C_202D_202C_202E_206D_206F_202C_200F_206A_200B_202A_206A_202B_206C_200D_202B_202C_202A_200B_206E_202E_206D_200E_200D_200C_206C_200D_200D_206B_206A_202E(ShopSearchResult P_0, ShopSearchResult P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
|
||||
static uint _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(ShopSearchResult P_0)
|
||||
{
|
||||
return P_0.NpcId;
|
||||
}
|
||||
|
||||
static uint _200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(ShopSearchResult P_0)
|
||||
{
|
||||
return P_0.ShopId;
|
||||
}
|
||||
|
||||
static ushort _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(ShopSearchResult P_0)
|
||||
{
|
||||
return P_0.TerritoryId;
|
||||
}
|
||||
|
||||
static int _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(ShopSearchResult P_0)
|
||||
{
|
||||
return P_0.DialogOptionIndex;
|
||||
}
|
||||
|
||||
static Vector3 _202A_200E_206F_206C_202B_202E_200F_206F_202C_202A_206E_200C_200B_202B_200D_206C_206F_206F_200F_206E_206C_200D_202B_202D_200F_206D_206B_200C_206D_206A_206C_206F_200C_206C_200C_206A_200B_202A_200B_202A_202E(ShopSearchResult P_0)
|
||||
{
|
||||
return P_0.NpcPosition;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue