From 4ff7bf2bb83d77329a34f3dea8ce0983860cdd6b Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 30 Aug 2025 09:52:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=82=96=E8=AE=BA=E6=A8=A1=E6=8B=9F?= =?UTF-8?q?=E6=88=98=E6=96=97=E5=88=97=E8=A1=A8=E6=94=AF=E6=8C=81=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=E6=9C=AA=E6=8B=A5=E6=9C=89=E7=9A=84=E5=B9=B2=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Miscellaneous/ParadoxRecognitionTask.cpp | 31 ++++++++++++------- .../Miscellaneous/ParadoxRecognitionTask.h | 2 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.cpp b/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.cpp index 088767ff2b..dfcd21319e 100644 --- a/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.cpp @@ -36,10 +36,9 @@ bool asst::ParadoxRecognitionTask::_run() } } - return_initial_oper(); // 回干员列表(默认在最左侧),折叠filter,切换sort + return_initial_oper(); // 回干员列表(默认在最左侧) - bool result = swipe_and_analyze(); - if (result) { + if (bool result = swipe_and_analyze()) { enter_paradox(m_skill_num); } @@ -69,17 +68,25 @@ void asst::ParadoxRecognitionTask::swipe_page() ProcessTask(*this, { "OperBoxSlowlySwipeToTheRight" }).run(); } -void asst::ParadoxRecognitionTask::return_initial_oper() +void asst::ParadoxRecognitionTask::return_initial_oper() const { - if (ProcessTask(*this, { "ParadoxReturnOperListFlag" }).set_ignore_error(true).set_retry_times(0).run()) { - return; + if (!ProcessTask(*this, { "ParadoxReturnOperListFlag" }).set_retry_times(0).run()) { + ProcessTask(*this, { "ParadoxReturnUntilOperList" }).run(); } - - ProcessTask(*this, { "ParadoxReturnUntilOperList" }).run(); // 回到干员列表 - ProcessTask(*this, { "OperBoxRoleTabSelect" }) - .set_ignore_error(true) - .set_retry_times(0) - .run(); // 折叠filter,切换sort + ProcessTask(*this, { "BattleQuickFormationExpandRole" }).set_retry_times(3).run(); + ProcessTask(*this, { "BattleQuickFormationRole-All", "BattleQuickFormationRole-All-OCR" }).run(); + ProcessTask( + *this, + { "BattleQuickFormationRole-Pioneer", + "BattleQuickFormationRole-Warrior", + "BattleQuickFormationRole-Tank", + "BattleQuickFormationRole-Caster", + "BattleQuickFormationRole-Medic", + "BattleQuickFormationRole-Sniper", + "BattleQuickFormationRole-Special", + "BattleQuickFormationRole-Support" }) + .run(); + ProcessTask(*this, { "BattleQuickFormationRole-All", "BattleQuickFormationRole-All-OCR" }).run(); } bool asst::ParadoxRecognitionTask::swipe_and_analyze() diff --git a/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.h b/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.h index 3c87dffc3c..434870fda5 100644 --- a/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.h +++ b/src/MaaCore/Task/Miscellaneous/ParadoxRecognitionTask.h @@ -16,7 +16,7 @@ public: private: virtual bool _run() override; void swipe_page(); // 翻页 - void return_initial_oper(); // 回到最左侧的干员 + void return_initial_oper() const; // 回到最左侧的干员 bool swipe_and_analyze(); // 找干员 bool match_oper(const std::string& oper_name); // oper_name 和 m_navigate_name 匹配 std::string standardize_name(const std::string& navigate_name);