From 5da64cf4dab9778e73ece0a671a2fcc24d522570 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:16:28 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=87=AA=E5=8A=A8=E6=88=98=E6=96=97Bat?= =?UTF-8?q?tleStartPre=E4=BB=BB=E5=8A=A1=E5=90=88=E5=B9=B6=E7=90=86?= =?UTF-8?q?=E6=99=BA=E8=8D=AF=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 3 ++- src/MaaCore/Task/Interface/CopilotTask.cpp | 14 ++++++-------- src/MaaCore/Task/Interface/CopilotTask.h | 3 ++- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index cb52fdc1a8..78c62330ad 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4977,7 +4977,8 @@ "text": ["开始行动", "开始突袭", "开始试炼", "开始测试"], "roi": [1000, 600, 280, 120], "action": "ClickSelf", - "postDelay": 1000 + "postDelay": 1000, + "next": ["BattleStartPre@UseMedicine", "BattleStartPre@BattleQuickFormation"] }, "BattleStartPre@UseMedicine": { "doc": "绑定MedicineCounter来使用理智药", diff --git a/src/MaaCore/Task/Interface/CopilotTask.cpp b/src/MaaCore/Task/Interface/CopilotTask.cpp index d69d5db51b..507739c609 100644 --- a/src/MaaCore/Task/Interface/CopilotTask.cpp +++ b/src/MaaCore/Task/Interface/CopilotTask.cpp @@ -35,14 +35,12 @@ asst::CopilotTask::CopilotTask(const AsstCallback& callback, Assistant* inst) : m_subtasks.emplace_back(m_change_difficulty_task_ptr); auto start_1_tp = std::make_shared(callback, inst, TaskType); - start_1_tp->set_tasks({ "BattleStartPre" }).set_retry_times(0).set_ignore_error(true); - 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", "BattleStartPre@BattleQuickFormation" }) + start_1_tp->set_tasks({ "BattleStartPre@BattleQuickFormation", "BattleStartPre" }) + .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); + m_medicine_plugin_ptr = start_1_tp->register_plugin(); + m_medicine_plugin_ptr->set_count(999999); + m_subtasks.emplace_back(start_1_tp); m_subtasks.emplace_back(m_formation_task_ptr)->set_retry_times(0); @@ -144,7 +142,7 @@ bool asst::CopilotTask::set_params(const json::value& params) m_navigate_task_ptr->set_enable(need_navigate); m_change_difficulty_task_ptr->set_enable(need_navigate && is_raid); m_not_use_prts_task_ptr->set_enable(need_navigate); // 不使用代理指挥 - m_medicine_task_ptr->set_enable(use_sanity_potion); + m_medicine_plugin_ptr->set_enable(use_sanity_potion); // 关卡名含有"TR"的为教学关,不需要编队 m_formation_task_ptr->set_enable(with_formation && navigate_name.find("TR") == std::string::npos); diff --git a/src/MaaCore/Task/Interface/CopilotTask.h b/src/MaaCore/Task/Interface/CopilotTask.h index 3e33cf02f4..265fd38967 100644 --- a/src/MaaCore/Task/Interface/CopilotTask.h +++ b/src/MaaCore/Task/Interface/CopilotTask.h @@ -8,6 +8,7 @@ namespace asst class TaskFileReloadTask; class BattleProcessTask; class BattleFormationTask; +class MedicineCounterTaskPlugin; class ProcessTask; // 抄作业任务 @@ -27,7 +28,7 @@ private: std::shared_ptr m_task_file_reload_task_ptr = nullptr; std::shared_ptr m_navigate_task_ptr = nullptr; std::shared_ptr m_not_use_prts_task_ptr = nullptr; - std::shared_ptr m_medicine_task_ptr = nullptr; + std::shared_ptr m_medicine_plugin_ptr = nullptr; std::shared_ptr m_change_difficulty_task_ptr = nullptr; std::shared_ptr m_formation_task_ptr = nullptr; std::shared_ptr m_battle_task_ptr = nullptr;