muffin v7.4.8
This commit is contained in:
parent
63f975ff4f
commit
a9e1cdc5f1
4 changed files with 932 additions and 880 deletions
|
|
@ -357,6 +357,7 @@ internal static class Duty
|
||||||
{
|
{
|
||||||
logger.LogInformation("Reached required level {RequiredLevel} (current: {CurrentLevel})", base.Task.RequiredLevel, b);
|
logger.LogInformation("Reached required level {RequiredLevel} (current: {CurrentLevel})", base.Task.RequiredLevel, b);
|
||||||
chatGui.Print($"Reached level {b}, can now continue MSQ.", "Questionable", 576);
|
chatGui.Print($"Reached level {b}, can now continue MSQ.", "Questionable", 576);
|
||||||
|
autoDutyIpc.DisableLevelingMode();
|
||||||
return ETaskResult.TaskComplete;
|
return ETaskResult.TaskComplete;
|
||||||
}
|
}
|
||||||
if (autoDutyIpc.IsStopped() && !flag && !flag2)
|
if (autoDutyIpc.IsStopped() && !flag && !flag2)
|
||||||
|
|
|
||||||
|
|
@ -682,11 +682,16 @@ internal sealed class QuestController : MiniTaskController<QuestController>
|
||||||
}
|
}
|
||||||
questProgress = null;
|
questProgress = null;
|
||||||
}
|
}
|
||||||
|
else 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
|
else
|
||||||
{
|
{
|
||||||
if (_startedQuest == null || _startedQuest.Quest.Id != elementId)
|
|
||||||
{
|
|
||||||
Quest quest;
|
|
||||||
if (_configuration.Stop.Enabled && _startedQuest != null && _configuration.Stop.QuestsToStopAfter.Contains(_startedQuest.Quest.Id) && _questFunctions.IsQuestComplete(_startedQuest.Quest.Id))
|
if (_configuration.Stop.Enabled && _startedQuest != null && _configuration.Stop.QuestsToStopAfter.Contains(_startedQuest.Quest.Id) && _questFunctions.IsQuestComplete(_startedQuest.Quest.Id))
|
||||||
{
|
{
|
||||||
ElementId id = _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);
|
_chatGui.Print("Completed quest '" + _startedQuest.Quest.Info.Name + "', which is configured as a stopping point.", "Questionable", 576);
|
||||||
_startedQuest = null;
|
_startedQuest = null;
|
||||||
Stop($"Stopping point [{id}] reached");
|
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);
|
_logger.LogInformation("New quest: {QuestName}", quest.Info.Name);
|
||||||
_startedQuest = new QuestProgress(quest, b);
|
_startedQuest = new QuestProgress(quest, b);
|
||||||
|
|
@ -723,15 +729,20 @@ internal sealed class QuestController : MiniTaskController<QuestController>
|
||||||
}
|
}
|
||||||
CheckNextTasks("Different Quest");
|
CheckNextTasks("Different Quest");
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if (_startedQuest != null)
|
if (_startedQuest != null)
|
||||||
{
|
{
|
||||||
_logger.LogInformation("No active quest anymore? Not sure what happened...");
|
_logger.LogInformation("No active quest anymore? Not sure what happened...");
|
||||||
_startedQuest = null;
|
_startedQuest = null;
|
||||||
Stop("No active Quest");
|
Stop("No active Quest");
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
questProgress = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
questProgress = _startedQuest;
|
questProgress = _startedQuest;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -125,6 +125,7 @@ internal sealed class AutoDutyIpc
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
_setConfig.InvokeAction("leveling", "None");
|
||||||
_setConfig.InvokeAction("Unsynced", $"{dutyMode == DutyMode.UnsyncRegular}");
|
_setConfig.InvokeAction("Unsynced", $"{dutyMode == DutyMode.UnsyncRegular}");
|
||||||
ICallGateSubscriber<string, string, object> setConfig = _setConfig;
|
ICallGateSubscriber<string, string, object> setConfig = _setConfig;
|
||||||
setConfig.InvokeAction("dutyModeEnum", dutyMode switch
|
setConfig.InvokeAction("dutyModeEnum", dutyMode switch
|
||||||
|
|
@ -182,16 +183,36 @@ internal sealed class AutoDutyIpc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DisableLevelingMode()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_logger.LogInformation("Disabling AutoDuty leveling mode");
|
||||||
|
_setConfig.InvokeAction("leveling", "None");
|
||||||
|
}
|
||||||
|
catch (IpcError ipcError)
|
||||||
|
{
|
||||||
|
_logger.LogWarning("Unable to disable AutoDuty leveling mode: {Message}", ipcError.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Stop()
|
public void Stop()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_logger.LogInformation("Calling AutoDuty.Stop");
|
_logger.LogInformation("Calling AutoDuty.Stop");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_setConfig.InvokeAction("leveling", "None");
|
||||||
|
}
|
||||||
|
catch (IpcError)
|
||||||
|
{
|
||||||
|
}
|
||||||
_stop.InvokeAction();
|
_stop.InvokeAction();
|
||||||
}
|
}
|
||||||
catch (IpcError ipcError)
|
catch (IpcError ipcError2)
|
||||||
{
|
{
|
||||||
throw new TaskException("Unable to stop AutoDuty: " + ipcError.Message, ipcError);
|
throw new TaskException("Unable to stop AutoDuty: " + ipcError2.Message, ipcError2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue