From b3c209a2355a2e5d4db5963131ce150a3aceec7a Mon Sep 17 00:00:00 2001 From: Hydrogina <46482682+Hydrogina@users.noreply.github.com> Date: Thu, 24 Nov 2022 17:28:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8CopilotTask=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=82=E6=95=B0support=5Funit=5Fname?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/credit_fight_copilot.json | 7 +------ src/MeoAssistant/Resource/CopilotConfiger.cpp | 2 -- src/MeoAssistant/Task/CopilotTask.cpp | 2 ++ src/MeoAssistant/Task/CreditFightTask.cpp | 7 ++++--- src/MeoAssistant/Task/Sub/BattleFormationTask.cpp | 5 ++--- src/MeoAssistant/Task/Sub/BattleFormationTask.h | 4 ++++ src/MeoAssistant/Utils/AsstBattleDef.h | 1 - 7 files changed, 13 insertions(+), 15 deletions(-) diff --git a/resource/credit_fight_copilot.json b/resource/credit_fight_copilot.json index 26972d2b98..c9eb38cc26 100644 --- a/resource/credit_fight_copilot.json +++ b/resource/credit_fight_copilot.json @@ -43,10 +43,5 @@ ], "opers": [], "stage_name": "activities/act3d0/level_act3d0_01", - "difficulty": 3, - "support_unit": { - "name": "_RANDOM_", - "skill": 1, - "skill_usage": 1 - } + "difficulty": 3 } diff --git a/src/MeoAssistant/Resource/CopilotConfiger.cpp b/src/MeoAssistant/Resource/CopilotConfiger.cpp index 82f3fecc29..3dbbf4d9ba 100644 --- a/src/MeoAssistant/Resource/CopilotConfiger.cpp +++ b/src/MeoAssistant/Resource/CopilotConfiger.cpp @@ -14,8 +14,6 @@ bool asst::CopilotConfiger::parse(const json::value& json) battle_actions.details = json.get("doc", "details", std::string()); battle_actions.details_color = json.get("doc", "details_color", std::string()); - battle_actions.support_unit_name = json.get("support_unit", "name", std::string()); - if (auto opt = json.find("groups")) { for (const auto& group_info : opt.value()) { std::string group_name = group_info.at("name").as_string(); diff --git a/src/MeoAssistant/Task/CopilotTask.cpp b/src/MeoAssistant/Task/CopilotTask.cpp index 291fbdcecd..38ce2a8709 100644 --- a/src/MeoAssistant/Task/CopilotTask.cpp +++ b/src/MeoAssistant/Task/CopilotTask.cpp @@ -45,6 +45,8 @@ bool asst::CopilotTask::set_params(const json::value& params) bool with_formation = params.get("formation", false); m_formation_task_ptr->set_enable(with_formation); + std::string support_unit_name = params.get("support_unit_name", ""); + m_formation_task_ptr->set_support_unit_name(support_unit_name); const std::string& filename = filename_opt.value(); return Copilot.load(utils::path(filename)); diff --git a/src/MeoAssistant/Task/CreditFightTask.cpp b/src/MeoAssistant/Task/CreditFightTask.cpp index e2b47ab86e..30eeb4a5d7 100644 --- a/src/MeoAssistant/Task/CreditFightTask.cpp +++ b/src/MeoAssistant/Task/CreditFightTask.cpp @@ -25,19 +25,20 @@ asst::CreditFightTask::CreditFightTask(AsstCallback callback, void* callback_arg stage_navigation_task_ptr->set_enable(false).set_ignore_error(false); const std::string stage = "OF-1"; - //开始 + // 开始 start_up_task_ptr->set_tasks({ "StageBegin" }).set_times_limit("GoLastBattle", 0); - //关卡导航 + // 关卡导航 stage_navigation_task_ptr->set_stage_name(stage); stage_navigation_task_ptr->set_enable(true); - //自动战斗 + // 自动战斗 json::value copilotparams; copilotparams["stage_name"] = "activities/act3d0/level_act3d0_01"; // OF-1 std::string copilot_path = utils::path_to_utf8_string(ResDir.get()) + "\\resource\\credit_fight_copilot.json"; copilotparams["filename"] = copilot_path; copilotparams["formation"] = true; + copilotparams["support_unit_name"] = "_RANDOM_"; copilot_task_ptr->set_params(copilotparams); // 战斗结束后 diff --git a/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp b/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp index f856c2ea1b..9e531c25f8 100644 --- a/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp +++ b/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp @@ -53,14 +53,13 @@ bool asst::BattleFormationTask::_run() } confirm_selection(); - //借一个随机助战 - if (Copilot.get_actions(m_stage_name).support_unit_name=="_RANDOM_") { + // 借一个随机助战 + if (m_support_unit_name == "_RANDOM_") { if (!select_random_support_unit()) { return false; } } - return true; } diff --git a/src/MeoAssistant/Task/Sub/BattleFormationTask.h b/src/MeoAssistant/Task/Sub/BattleFormationTask.h index ae0d4af83e..c74ff0519f 100644 --- a/src/MeoAssistant/Task/Sub/BattleFormationTask.h +++ b/src/MeoAssistant/Task/Sub/BattleFormationTask.h @@ -12,6 +12,8 @@ namespace asst void set_stage_name(std::string name); + void set_support_unit_name(std::string name) { m_support_unit_name = name; } + protected: using OperGroup = std::vector; virtual bool _run() override; @@ -27,5 +29,7 @@ namespace asst std::string m_stage_name; std::unordered_map> m_formation; std::string m_the_right_name; + + std::string m_support_unit_name = ""; }; } diff --git a/src/MeoAssistant/Utils/AsstBattleDef.h b/src/MeoAssistant/Utils/AsstBattleDef.h index af75a85e72..da8853ab23 100644 --- a/src/MeoAssistant/Utils/AsstBattleDef.h +++ b/src/MeoAssistant/Utils/AsstBattleDef.h @@ -79,7 +79,6 @@ namespace asst std::string details; std::string details_color; std::unordered_map> groups; - std::string support_unit_name; std::vector actions; };