diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index e986b17169..7f6b1c661d 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -760,7 +760,8 @@ namespace MaaWpfGui.Main case AsstMsg.TaskChainError: { // 对剿灭的特殊处理,如果刷完了剿灭还选了剿灭会因为找不到入口报错 - if (taskChain == "Fight" && (TaskQueueViewModel.FightTask.Stage == "Annihilation")) + _tasksStatus.TryGetValue(taskId, out var value); + if (value is { Type: TaskType.Fight } && (TaskQueueViewModel.FightTask.Stage == "Annihilation")) { if (TaskQueueViewModel.FightTask.Stages.Any(stage => Instances.TaskQueueViewModel.IsStageOpen(stage) && (stage != "Annihilation"))) { @@ -2060,6 +2061,7 @@ namespace MaaWpfGui.Main StartUp, CloseDown, Fight, + FightAnnihilationAlternate, FightRemainingSanity, Recruit, Infrast, diff --git a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs index a98990c69a..409c5eebba 100644 --- a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs @@ -1616,7 +1616,7 @@ namespace MaaWpfGui.ViewModels.UI task.Stone = 0; task.MaxTimes = int.MaxValue; task.Drops = []; - mainFightRet = Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.FightRemainingSanity, type, task.Serialize().Params); + mainFightRet = Instances.AsstProxy.AsstAppendTaskWithEncoding(TaskType.FightAnnihilationAlternate, type, task.Serialize().Params); break; } }