diff --git a/src/MaaCore/Task/Interface/FightTask.cpp b/src/MaaCore/Task/Interface/FightTask.cpp index da462f958e..24d50614b4 100644 --- a/src/MaaCore/Task/Interface/FightTask.cpp +++ b/src/MaaCore/Task/Interface/FightTask.cpp @@ -75,12 +75,16 @@ bool asst::FightTask::set_params(const json::value& params) const int times = params.get("times", INT_MAX); int series = params.get("series", 1); + // 重置插件状态 1000 表示自动连战,-1 表示禁用连战切换 + m_fight_times_task_plugin_prt->set_enable(series != -1); m_fight_series_adjust_plugin_ptr->set_close_stone_page_next(false); - m_fight_series_adjust_plugin_ptr->set_enable(false); + m_fight_series_adjust_plugin_ptr->set_enable(series == 1000); if (series == 1000) { - m_fight_series_adjust_plugin_ptr->set_enable(true); series = 6; } + else if (series == -1) { + series = 1; + } else if (series < 1 || series > 6) { Log.error("Invalid series"); return false; diff --git a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs index 1a324dbab6..ba7fcce20f 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs @@ -112,6 +112,7 @@ public class FightSettingsUserControlModel : TaskViewModel { "3", 6 }, { "2", 2 }, { "1", 1 }, + { LocalizationHelper.GetString("NotSelected"), -1 }, }; public string?[] Stages => [Stage1, Stage2, Stage3];