muffin v7.4.8

This commit is contained in:
alydev 2025-12-29 11:41:48 +10:00
parent 63f975ff4f
commit a9e1cdc5f1
4 changed files with 932 additions and 880 deletions

View file

@ -682,11 +682,16 @@ internal sealed class QuestController : MiniTaskController<QuestController>
}
questProgress = null;
}
else
else if (_startedQuest == null || _startedQuest.Quest.Id != elementId)
{
if (_startedQuest == null || _startedQuest.Quest.Id != elementId)
if (_startedQuest != null && !_taskQueue.AllTasksComplete)
{
_logger.LogTrace("Not switching from quest {CurrentQuestId} to {NewQuestId} because tasks are still running", _startedQuest.Quest.Id, elementId);
questProgress = _startedQuest;
b = _startedQuest.Sequence;
}
else
{
Quest quest;
if (_configuration.Stop.Enabled && _startedQuest != null && _configuration.Stop.QuestsToStopAfter.Contains(_startedQuest.Quest.Id) && _questFunctions.IsQuestComplete(_startedQuest.Quest.Id))
{
ElementId id = _startedQuest.Quest.Id;
@ -694,8 +699,9 @@ internal sealed class QuestController : MiniTaskController<QuestController>
_chatGui.Print("Completed quest '" + _startedQuest.Quest.Info.Name + "', which is configured as a stopping point.", "Questionable", 576);
_startedQuest = null;
Stop($"Stopping point [{id}] reached");
return;
}
else if (_questRegistry.TryGetQuest(elementId, out quest))
if (_questRegistry.TryGetQuest(elementId, out Quest quest))
{
_logger.LogInformation("New quest: {QuestName}", quest.Info.Name);
_startedQuest = new QuestProgress(quest, b);
@ -723,15 +729,20 @@ internal sealed class QuestController : MiniTaskController<QuestController>
}
CheckNextTasks("Different Quest");
}
return;
}
else if (_startedQuest != null)
if (_startedQuest != null)
{
_logger.LogInformation("No active quest anymore? Not sure what happened...");
_startedQuest = null;
Stop("No active Quest");
return;
}
return;
questProgress = null;
}
}
else
{
questProgress = _startedQuest;
}
}