From 29ec7e04d29e3f12524bd7d49dce0a578acd3ae4 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Thu, 9 May 2024 10:06:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=B3=E5=8D=A1=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E8=AF=86=E5=88=AB=E9=83=A8=E5=88=86=E5=85=B3?= =?UTF-8?q?=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Task/Fight/StageNavigationTask.cpp | 14 +++++-- src/MaaCore/Task/Interface/CopilotTask.cpp | 42 ++++++++++++------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/src/MaaCore/Task/Fight/StageNavigationTask.cpp b/src/MaaCore/Task/Fight/StageNavigationTask.cpp index f52d281bcb..80b64f1fc9 100644 --- a/src/MaaCore/Task/Fight/StageNavigationTask.cpp +++ b/src/MaaCore/Task/Fight/StageNavigationTask.cpp @@ -62,8 +62,9 @@ bool asst::StageNavigationTask::set_stage_name(const std::string& stage_name) } std::string upper_prefix = stage_prefix; - ranges::transform(upper_prefix, upper_prefix.begin(), - [](const char ch) -> char { return static_cast(::toupper(ch)); }); + ranges::transform(upper_prefix, upper_prefix.begin(), [](const char ch) -> char { + return static_cast(::toupper(ch)); + }); m_stage_code = upper_prefix + chapter + "-" + stage_index; Log.info("stage code", m_stage_code); @@ -110,6 +111,11 @@ bool asst::StageNavigationTask::swipe_and_find_stage() LogTraceFunction; Task.get(m_stage_code + "@ClickStageName")->text = { m_stage_code }; - Task.get(m_stage_code + "@ClickedCorrectStage")->text = { m_stage_code }; - return ProcessTask(*this, { m_stage_code + "@StageNavigationBegin" }).set_retry_times(RetryTimesDefault).run(); + std::string replace_m_stage_code = m_stage_code; + utils::string_replace_all_in_place(replace_m_stage_code, { { "-", "" } }); + Task.get(m_stage_code + "@ClickedCorrectStage")->text = { m_stage_code, + replace_m_stage_code }; + return ProcessTask(*this, { m_stage_code + "@StageNavigationBegin" }) + .set_retry_times(RetryTimesDefault) + .run(); } diff --git a/src/MaaCore/Task/Interface/CopilotTask.cpp b/src/MaaCore/Task/Interface/CopilotTask.cpp index b73e9c77ce..b607e56c23 100644 --- a/src/MaaCore/Task/Interface/CopilotTask.cpp +++ b/src/MaaCore/Task/Interface/CopilotTask.cpp @@ -13,14 +13,14 @@ #include "Utils/Platform.hpp" asst::CopilotTask::CopilotTask(const AsstCallback& callback, Assistant* inst) - : InterfaceTask(callback, inst, TaskType), - m_task_file_reload_task_ptr(std::make_shared(callback, inst, TaskType)), - m_navigate_task_ptr(std::make_shared(callback, inst, TaskType)), - m_not_use_prts_task_ptr(std::make_shared(callback, inst, TaskType)), - m_change_difficulty_task_ptr(std::make_shared(callback, inst, TaskType)), - m_formation_task_ptr(std::make_shared(callback, inst, TaskType)), - m_battle_task_ptr(std::make_shared(callback, inst, TaskType)), - m_stop_task_ptr(std::make_shared(callback, inst, TaskType)) + : InterfaceTask(callback, inst, TaskType) + , m_task_file_reload_task_ptr(std::make_shared(callback, inst, TaskType)) + , m_navigate_task_ptr(std::make_shared(callback, inst, TaskType)) + , m_not_use_prts_task_ptr(std::make_shared(callback, inst, TaskType)) + , m_change_difficulty_task_ptr(std::make_shared(callback, inst, TaskType)) + , m_formation_task_ptr(std::make_shared(callback, inst, TaskType)) + , m_battle_task_ptr(std::make_shared(callback, inst, TaskType)) + , m_stop_task_ptr(std::make_shared(callback, inst, TaskType)) { LogTraceFunction; @@ -39,7 +39,9 @@ asst::CopilotTask::CopilotTask(const AsstCallback& callback, Assistant* inst) m_subtasks.emplace_back(start_1_tp); m_medicine_task_ptr = std::make_shared(callback, inst, TaskType); - m_medicine_task_ptr->set_tasks({ "BattleStartPre@UseMedicine" }).set_retry_times(0).set_ignore_error(true); + m_medicine_task_ptr->set_tasks({ "BattleStartPre@UseMedicine" }) + .set_retry_times(0) + .set_ignore_error(true); m_medicine_task_ptr->register_plugin()->set_count(999999); m_subtasks.emplace_back(m_medicine_task_ptr); @@ -68,7 +70,8 @@ bool asst::CopilotTask::set_params(const json::value& params) return false; } - bool need_navigate = params.get("need_navigate", false); // 是否在当前页面左右滑动寻找关卡,启用战斗列表则为true + bool need_navigate = + params.get("need_navigate", false); // 是否在当前页面左右滑动寻找关卡,启用战斗列表则为true std::string navigate_name = params.get("navigate_name", std::string()); // 导航的关卡名 bool is_raid = params.get("is_raid", false); // 是否为突袭关卡 if (params.contains("is_adverse")) { @@ -82,9 +85,9 @@ bool asst::CopilotTask::set_params(const json::value& params) } bool use_sanity_potion = params.get("use_sanity_potion", false); // 是否吃理智药 bool with_formation = params.get("formation", false); // 是否使用自动编队 - int select_formation = params.get("select_formation", 0); // 选择第几个编队,0为不选择 - bool add_trust = params.get("add_trust", false); // 是否自动补信赖 - bool add_user_additional = params.contains("user_additional"); // 是否自动补用户自定义干员 + int select_formation = params.get("select_formation", 0); // 选择第几个编队,0为不选择 + bool add_trust = params.get("add_trust", false); // 是否自动补信赖 + bool add_user_additional = params.contains("user_additional"); // 是否自动补用户自定义干员 std::string support_unit_name = params.get("support_unit_name", std::string()); if (params.contains("add_user_additional")) { @@ -126,7 +129,12 @@ bool asst::CopilotTask::set_params(const json::value& params) if (!navigate_name.empty()) { Task.get(navigate_name + "@Copilot@ClickStageName")->text = { navigate_name }; - Task.get(navigate_name + "@Copilot@ClickedCorrectStage")->text = { navigate_name }; + std::string replace_navigate_name = navigate_name; + utils::string_replace_all_in_place(replace_navigate_name, { { "-", "" } }); + Task.get(navigate_name + "@Copilot@ClickedCorrectStage")->text = { + navigate_name, + replace_navigate_name + }; m_navigate_task_ptr->set_tasks({ navigate_name + "@Copilot@StageNavigationBegin" }); } else { @@ -139,7 +147,8 @@ bool asst::CopilotTask::set_params(const json::value& params) m_medicine_task_ptr->set_enable(use_sanity_potion); // 关卡名含有"TR"的为教学关,不需要编队 - m_formation_task_ptr->set_enable(with_formation && navigate_name.find("TR") == std::string::npos); + m_formation_task_ptr->set_enable( + with_formation && navigate_name.find("TR") == std::string::npos); m_formation_task_ptr->set_select_formation(select_formation); m_formation_task_ptr->set_add_trust(add_trust); m_formation_task_ptr->set_add_user_additional(add_user_additional); @@ -152,7 +161,8 @@ bool asst::CopilotTask::set_params(const json::value& params) if (name.empty()) { continue; } - user_additional.emplace_back(std::pair { std::move(name), op.get("skill", 1) }); + user_additional.emplace_back( + std::pair { std::move(name), op.get("skill", 1) }); } m_formation_task_ptr->set_user_additional(std::move(user_additional)); }