muffin v7.4.15

This commit is contained in:
alydev 2026-03-01 00:29:23 +10:00
parent 9bf3dbdf69
commit 0b1b2d38c7
14 changed files with 1215 additions and 1057 deletions

View file

@ -102,16 +102,12 @@ internal sealed class FateController : MiniTaskController<FateController>
}
if (_currentFate.RequiredStatusId.HasValue && _currentFate.TransformNpcDataId.HasValue && _currentFate.TransformNpcPosition.HasValue && !_gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value))
{
ILogger<FateController> logger = _logger;
object[] array = new object[1];
EStatus? requiredStatusId = _currentFate.RequiredStatusId;
array[0] = requiredStatusId.Value;
logger.LogInformation("Player missing required status {StatusId}, enqueuing transform", array);
_logger.LogInformation("Player missing required status {StatusId}, enqueuing transform", _currentFate.RequiredStatusId.Value);
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.TransformNpcPosition.Value, null, 3f));
_taskQueue.Enqueue(new Mount.UnmountTask());
TaskQueue taskQueue = _taskQueue;
uint value = _currentFate.TransformNpcDataId.Value;
requiredStatusId = _currentFate.RequiredStatusId.Value;
EStatus? requiredStatusId = _currentFate.RequiredStatusId;
taskQueue.Enqueue(new Interact.Task(value, null, EInteractionType.Interact, SkipMarkerCheck: true, null, null, null, null, requiredStatusId));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2L)));
}
@ -119,7 +115,7 @@ internal sealed class FateController : MiniTaskController<FateController>
_taskQueue.Enqueue(new Mount.UnmountTask());
_taskQueue.Enqueue(new FateFarming.WaitForFateTargets(_currentFate.Targets));
_taskQueue.Enqueue(new FateFarming.SyncFateLevel());
_taskQueue.Enqueue(new FateFarming.FateActionLoop(_currentFate.Targets));
_taskQueue.Enqueue(new FateFarming.FateActionLoop(_currentFate.Targets, _currentFate.RequiredStatusId));
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L)));
}
}
@ -129,6 +125,11 @@ internal sealed class FateController : MiniTaskController<FateController>
if (_currentFate != null)
{
_logger.LogInformation("Stopping FATE farming: {Label} (completed {Cycles} cycles)", label, _completedCycles);
if (_currentFate.StopAction.HasValue && _currentFate.RequiredStatusId.HasValue && _gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value))
{
_logger.LogInformation("Using stop action {Action} to remove transformation", _currentFate.StopAction.Value);
_gameFunctions.UseAction(_currentFate.StopAction.Value);
}
_currentFate = null;
_completedCycles = 0;
_cycleLimit = null;