muffin v7.5.11

This commit is contained in:
alydev 2026-08-17 20:29:32 +10:00
parent addf2d530f
commit 3102923ce2
522 changed files with 41082 additions and 211592 deletions

View file

@ -1,9 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
using Questionable.Controller.Steps.Common;
@ -17,195 +14,57 @@ internal sealed class SmartNavReRouteService(ReRoutePolicy reRoutePolicy, SmartN
{
public void SetDestination(uint territoryId, Vector3 position)
{
_202A_200D_200E_206F_202C_206E_200D_202E_202C_200D_200C_206C_202A_200C_206B_206A_202A_202E_206A_206F_200D_206E_206B_200C_202D_206A_206C_206D_206A_202E_206A_202B_200D_202E_206D_206E_202A_202E_202C_206E_202E(reRoutePolicy, territoryId, position);
reRoutePolicy.SetDestination(territoryId, position);
}
public void ClearDestination()
{
_206E_200E_202B_200E_200B_200B_200D_200C_202C_202B_202A_200D_202B_206A_200D_206E_206F_200D_206D_206F_200C_202B_206E_206E_206E_206F_206F_206D_206A_202B_202A_202B_200C_202D_202E_202D_206F_200C_206E_206B_202E(reRoutePolicy);
reRoutePolicy.ClearDestination();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool HandleMovementFailure(TaskQueue taskQueue)
{
int num = (configuration.Navigation.ReRouteOnFailure ? 1710893574 : 1710893572);
ReRouteDecision reRouteDecision = default(ReRouteDecision);
List<ITask> list = default(List<ITask>);
string routeTargetNodeId = default(string);
MoveTask moveTask = default(MoveTask);
string text = default(string);
string text2 = default(string);
while (true)
if (!configuration.Navigation.ReRouteOnFailure)
{
int num2 = num;
int num3 = 1710893573;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
return false;
}
string failedTargetNodeId = null;
string failedApproachNodeId = null;
if (taskQueue.CurrentTaskExecutor?.CurrentTask is MoveTask moveTask)
{
string routeTargetNodeId = moveTask.RouteTargetNodeId;
if (routeTargetNodeId != null)
{
case 4:
{
if (!(reRouteDecision is ReRouteDecision.Replan replan))
{
num = 1710893570;
break;
}
taskQueue.Reset();
IEnumerator<ITask> enumerator2 = taskMapper.MapInstructions(_206F_206E_200E_202C_202E_202C_202A_202B_202D_200E_200D_202B_200C_200D_200F_206B_200D_206B_202A_202C_206D_202E_202B_206B_200E_200E_206C_206F_200F_200D_202A_200E_206F_206E_202A_200E_206F_206D_206D_200F_202E(replan)).GetEnumerator();
try
{
num = 82705300;
while (true)
{
int num6 = num;
num3 = 82705303;
num4 = num6;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = (_200D_206F_200C_202D_202C_202C_202C_200D_206C_202C_202A_206A_206F_202B_200D_202C_206B_200E_206C_200B_200D_200D_200D_202A_202E_202C_206B_200C_206C_202B_202C_206E_206F_202C_200D_200C_206F_202D_202D_200E_202E((IEnumerator)enumerator2) ? 82705302 : 82705303);
break;
case 1:
{
ITask current2 = enumerator2.Current;
taskQueue.Enqueue(current2);
num = 82705300;
break;
}
case 2:
num = 82705300;
break;
case 0:
goto end_IL_026e;
}
continue;
end_IL_026e:
break;
}
}
finally
{
num = ((enumerator2 == null) ? 1773046636 : 1773046637);
while (true)
{
int num7 = num;
num3 = 1773046636;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 1773046637;
break;
case 0:
goto end_IL_030f;
case 1:
_206E_202B_200E_206F_202B_202E_202D_206C_206F_200D_202E_206E_200D_200B_200B_200B_206F_200D_200B_206E_202E_202A_202E_206D_202E_206D_206D_200B_200C_206C_202D_200D_206A_206C_206D_200C_202E_202C_202B_200F_202E((IDisposable)enumerator2);
num = 1773046636;
break;
}
continue;
end_IL_030f:
break;
}
}
using (List<ITask>.Enumerator enumerator = list.GetEnumerator())
{
num = -1421091636;
while (true)
{
int num8 = num;
num3 = -1421091636;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = (enumerator.MoveNext() ? (-1421091635) : (-1421091634));
break;
case 1:
{
ITask current3 = enumerator.Current;
taskQueue.Enqueue(current3);
num = -1421091636;
break;
}
case 3:
num = -1421091636;
break;
case 2:
goto end_IL_0370;
}
continue;
end_IL_0370:
break;
}
}
return true;
}
case 6:
routeTargetNodeId = moveTask.RouteTargetNodeId;
num = ((routeTargetNodeId == null) ? 1710893575 : 1710893573);
break;
case 1:
return false;
case 0:
text = routeTargetNodeId;
text2 = moveTask.RouteApproachNodeId;
num = 1710893575;
break;
case 8:
num = 1710893572;
break;
case 3:
text = null;
text2 = null;
moveTask = taskQueue.CurrentTaskExecutor?.CurrentTask as MoveTask;
num = (((object)moveTask == null) ? 1710893575 : 1710893571);
break;
case 2:
list = ExtractNonMovementTasks(taskQueue);
reRouteDecision = _202A_206C_202A_200F_202D_200E_206B_202C_200D_200D_206C_206D_202C_202C_200B_200D_202E_202C_202C_202E_200E_206D_206A_206E_206F_200D_206E_200B_202E_202B_200E_200B_200D_200B_206D_206D_200D_206B_206F_206C_202E(reRoutePolicy, text, text2, list.Count > 0);
num = ((reRouteDecision is ReRouteDecision.SkipMovement) ? 1710893568 : 1710893569);
break;
case 5:
{
taskQueue.Reset();
using (List<ITask>.Enumerator enumerator = list.GetEnumerator())
{
num = -1903368627;
while (true)
{
int num5 = num;
num3 = -1903368628;
num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
num = (enumerator.MoveNext() ? (-1903368625) : (-1903368626));
break;
case 3:
{
ITask current = enumerator.Current;
taskQueue.Enqueue(current);
num = -1903368627;
break;
}
case 0:
num = -1903368627;
break;
case 2:
goto end_IL_0186;
}
continue;
end_IL_0186:
break;
}
}
_200E_200C_202D_206D_206E_206D_202D_202E_206F_200F_206F_200B_206B_206D_202C_206B_202C_206B_202D_206F_206B_206D_206F_200D_206E_206E_206C_202C_200E_202B_202B_206C_200B_202B_206A_202C_200D_202D_202B_202C_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>(563060847), new object[1] { list.Count });
return true;
}
case 7:
return false;
failedTargetNodeId = routeTargetNodeId;
failedApproachNodeId = moveTask.RouteApproachNodeId;
}
}
List<ITask> list = ExtractNonMovementTasks(taskQueue);
ReRouteDecision reRouteDecision = reRoutePolicy.HandleMovementFailure(failedTargetNodeId, failedApproachNodeId, list.Count > 0);
if (!(reRouteDecision is ReRouteDecision.SkipMovement))
{
if (reRouteDecision is ReRouteDecision.Replan replan)
{
taskQueue.Reset();
foreach (ITask item in taskMapper.MapInstructions(replan.Instructions))
{
taskQueue.Enqueue(item);
}
foreach (ITask item2 in list)
{
taskQueue.Enqueue(item2);
}
return true;
}
return false;
}
taskQueue.Reset();
foreach (ITask item3 in list)
{
taskQueue.Enqueue(item3);
}
logger.LogInformation("Re-route: skipping movement with {TaskCount} preserved tasks", list.Count);
return true;
}
private static List<ITask> ExtractNonMovementTasks(TaskQueue taskQueue)
@ -215,96 +74,10 @@ internal sealed class SmartNavReRouteService(ReRoutePolicy reRoutePolicy, SmartN
private static bool IsMovementTask(ITask task)
{
int num = ((task is MoveTask) ? (-89420229) : (-89420235));
bool result = default(bool);
while (true)
if (task is MoveTask || task is LandTask || task is Mount.MountTask || task is AetheryteTeleport.Task || task is AethernetRide.Task || task is WaitNavmesh.Task || task is WaitCondition.Task || task is WarpInteract.Task || task is TaxiInteract.Task || task is SubRegionTransport.Task || task is TicketTeleport.Task)
{
int num2 = num;
int num3 = -89420240;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((task is TaxiInteract.Task) ? (-89420229) : (-89420238));
break;
case 11:
result = true;
num = -89420230;
break;
case 6:
num = ((task is WaitCondition.Task) ? (-89420229) : (-89420228));
break;
case 13:
num = ((task is AethernetRide.Task) ? (-89420229) : (-89420239));
break;
case 12:
num = ((task is WarpInteract.Task) ? (-89420229) : (-89420236));
break;
case 9:
result = false;
num = -89420230;
break;
case 7:
num = ((task is Mount.MountTask) ? (-89420229) : (-89420237));
break;
case 8:
num = -89420235;
break;
case 3:
num = ((task is AetheryteTeleport.Task) ? (-89420229) : (-89420227));
break;
case 2:
num = ((task is SubRegionTransport.Task) ? (-89420229) : (-89420240));
break;
case 1:
num = ((task is WaitNavmesh.Task) ? (-89420229) : (-89420234));
break;
case 0:
num = ((!(task is TicketTeleport.Task)) ? (-89420231) : (-89420229));
break;
case 10:
return result;
case 5:
num = ((task is LandTask) ? (-89420229) : (-89420233));
break;
}
return true;
}
}
static void _202A_200D_200E_206F_202C_206E_200D_202E_202C_200D_200C_206C_202A_200C_206B_206A_202A_202E_206A_206F_200D_206E_206B_200C_202D_206A_206C_206D_206A_202E_206A_202B_200D_202E_206D_206E_202A_202E_202C_206E_202E(ReRoutePolicy P_0, uint P_1, Vector3 P_2)
{
P_0.SetDestination(P_1, P_2);
}
static void _206E_200E_202B_200E_200B_200B_200D_200C_202C_202B_202A_200D_202B_206A_200D_206E_206F_200D_206D_206F_200C_202B_206E_206E_206E_206F_206F_206D_206A_202B_202A_202B_200C_202D_202E_202D_206F_200C_206E_206B_202E(ReRoutePolicy P_0)
{
P_0.ClearDestination();
}
static ReRouteDecision _202A_206C_202A_200F_202D_200E_206B_202C_200D_200D_206C_206D_202C_202C_200B_200D_202E_202C_202C_202E_200E_206D_206A_206E_206F_200D_206E_200B_202E_202B_200E_200B_200D_200B_206D_206D_200D_206B_206F_206C_202E(ReRoutePolicy P_0, string P_1, string P_2, bool P_3)
{
return P_0.HandleMovementFailure(P_1, P_2, P_3);
}
static void _200E_200C_202D_206D_206E_206D_202D_202E_206F_200F_206F_200B_206B_206D_202C_206B_202C_206B_202D_206F_206B_206D_206F_200D_206E_206E_206C_202C_200E_202B_202B_206C_200B_202B_206A_202C_200D_202D_202B_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static IReadOnlyList<NavInstruction> _206F_206E_200E_202C_202E_202C_202A_202B_202D_200E_200D_202B_200C_200D_200F_206B_200D_206B_202A_202C_206D_202E_202B_206B_200E_200E_206C_206F_200F_200D_202A_200E_206F_206E_202A_200E_206F_206D_206D_200F_202E(ReRouteDecision.Replan P_0)
{
return P_0.Instructions;
}
static bool _200D_206F_200C_202D_202C_202C_202C_200D_206C_202C_202A_206A_206F_202B_200D_202C_206B_200E_206C_200B_200D_200D_200D_202A_202E_202C_206B_200C_206C_202B_202C_206E_206F_202C_200D_200C_206F_202D_202D_200E_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _206E_202B_200E_206F_202B_202E_202D_206C_206F_200D_202E_206E_200D_200B_200B_200B_206F_200D_200B_206E_202E_202A_202E_206D_202E_206D_206D_200B_200C_206C_202D_200D_206A_206C_206D_200C_202E_202C_202B_200F_202E(IDisposable P_0)
{
P_0.Dispose();
return false;
}
}