From b2d2b007b0e09fabaf009098d7232b3d0ccac55f Mon Sep 17 00:00:00 2001 From: Roland125 <44255013+Roland125@users.noreply.github.com> Date: Thu, 27 Feb 2025 21:27:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=85=AC=E6=8B=9B?= =?UTF-8?q?=E7=9A=84=E5=87=A0=E4=B8=AA=E9=97=AE=E9=A2=98=20(#12056)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 修复不自动招募4星干员时,执行空招募的问题 * chore: Auto update by pre-commit hooks [skip changelog] * fix: 修改is_calc_only_task()的判断条件,避免正常招募流程的一种情形(所有星级都不执行招募)被错判为仅公招计算。从公招计算启动招募时,加入-1作为标识。 fix: 在正常招募流程中,自动招募1星时,将1星也加入comfirm_level * chore: Auto update by pre-commit hooks [skip changelog] --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- src/MaaCore/Task/Miscellaneous/AutoRecruitTask.h | 5 ++++- src/MaaWpfGui/Main/AsstProxy.cs | 2 +- .../TaskQueue/RecruitSettingsUserControlModel.cs | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.h b/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.h index b56b702441..fbb203cd1d 100644 --- a/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.h +++ b/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.h @@ -40,7 +40,10 @@ protected: virtual bool _run() override; virtual void click_return_button() override; - bool is_calc_only_task() { return m_max_times <= 0 && m_confirm_level.empty(); } + bool is_calc_only_task() + { + return (std::find(m_confirm_level.begin(), m_confirm_level.end(), (-1)) != m_confirm_level.end()); + } std::optional try_get_start_button(const cv::Mat&); bool recruit_one(const Rect&); diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index bb6463773b..0571febd85 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -2591,7 +2591,7 @@ namespace MaaWpfGui.Main { ["refresh"] = false, ["select"] = new JArray(selectLevel), - ["confirm"] = new JArray(), + ["confirm"] = new JArray(-1), // 仅公招识别时将-1加入comfirm_level ["times"] = 0, ["set_time"] = setTime, ["expedite"] = false, diff --git a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/RecruitSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/RecruitSettingsUserControlModel.cs index 6b05a017a1..8e52ea3a45 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/RecruitSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/RecruitSettingsUserControlModel.cs @@ -374,7 +374,7 @@ public class RecruitSettingsUserControlModel : TaskViewModel /// 加急次数,仅在 时有效。 /// 首选 Tags,仅在 Tag 等级为 3 时有效。 /// 会去点击标签的 Tag 等级。 - /// 会去点击确认的 Tag 等级。若仅公招计算,可设置为空数组。 + /// 会去点击确认的 Tag 等级。若仅公招计算,将-1加入数组。 /// 是否刷新三星 Tags。 /// 无招募许可时是否继续尝试刷新 Tags。 /// 是否使用加急许可。 @@ -404,6 +404,10 @@ public class RecruitSettingsUserControlModel : TaskViewModel { var reqList = new List(); var cfmList = new List(); + if (!NotChooseLevel1) + { + cfmList.Add(1); + } if (ChooseLevel3) {