From a1ead2bef343f3fc63b6f82f6f1a4385ca92ef71 Mon Sep 17 00:00:00 2001 From: Weiyou Wang <44151844+Alan-Charred@users.noreply.github.com> Date: Wed, 19 Nov 2025 21:50:32 +1100 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=9B=86=E6=88=90?= =?UTF-8?q?=E6=88=98=E7=95=A5=E8=90=A8=E7=B1=B3=E4=B8=BB=E9=A2=98=E4=B8=8B?= =?UTF-8?q?=E5=87=B9=E5=AF=86=E9=97=BB=E6=9D=BF=E7=9B=B8=E5=85=B3=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20(#14755)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp | 3 ++- .../Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp index 1f147a0f19..820b70a7ea 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp @@ -179,7 +179,8 @@ bool asst::RoguelikeCustomStartTaskPlugin::hijack_reward() m_config->set_run_for_collectible(true); m_control_ptr->exit_then_stop(true); } - else if (m_config->get_start_with_elite_two()) { + else if (m_config->get_start_with_elite_two() || m_config->get_first_floor_foldartal()) { + // 之后还要凹开局精二或第一层密文板,不停止任务,继续探索 ctrler()->click(ret->rect); sleep(Config.get_options().task_delay); } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 94811f47bd..e2c98b9b18 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -569,9 +569,16 @@ bool asst::RoguelikeRecruitTaskPlugin::recruit_appointed_char(const std::string& if (it != chars.cend()) { // !get_run_for_collectible() 即当前没有在烧开水/水已经烧好了 // 需要凹直升且,要么已经烧好了水,要么只需要凹直升不需要烧水 - if (start_with_elite_two && (!m_config->get_run_for_collectible() || only_start_with_elite_two)) { + // 凹直升只对第一位招募的干员生效 + if (start_with_elite_two && (!m_config->get_run_for_collectible() || only_start_with_elite_two) && + m_recruit_count == 1) { if (it->elite == 2) { - m_task_ptr->set_enable(false); + if (m_config->get_first_floor_foldartal()) { + select_oper(*it); // 放心选择精二,之后还要继续凹密文板 + } + else { + m_task_ptr->set_enable(false); // 仅当之后没有东西要凹了才停止 + } } else { // 非只凹直升时,重新烧水