From fce2ce85932cd444bb35571cb7f2f98dd5a247e0 Mon Sep 17 00:00:00 2001 From: MistEO Date: Thu, 9 Feb 2023 20:49:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=9D=E5=85=A8core=E4=B8=8A?= =?UTF-8?q?=E6=BB=A1=E4=BA=86=E5=B0=B1=E4=B8=8D=E5=86=8D=E4=B8=8A=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E4=BA=BA=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp b/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp index 80e77cf6f4..29e623c4b7 100644 --- a/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp +++ b/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp @@ -58,21 +58,21 @@ bool asst::SSSBattleProcessTask::do_strategic_action(const cv::Mat& reusable) { LogTraceFunction; cv::Mat image = reusable.empty() ? ctrler()->get_image() : reusable; - + if (check_and_get_drops(image)) { return true; } - + if (m_sss_combat_data.draw_as_possible && draw_card(false, image)) { image = ctrler()->get_image(); } - + if (check_and_do_strategy(image)) { image = ctrler()->get_image(); } - + if (use_all_ready_skill(image)) { - //image = ctrler()->get_image(); + // image = ctrler()->get_image(); } return true; @@ -88,6 +88,10 @@ bool asst::SSSBattleProcessTask::wait_until_start(bool weak) bool asst::SSSBattleProcessTask::check_and_do_strategy(const cv::Mat& reusable) { + if (m_all_cores.empty()) { + return false; + } + cv::Mat image = reusable.empty() ? ctrler()->get_image() : reusable; if (!update_deployment(false, image)) { return false; @@ -115,6 +119,7 @@ bool asst::SSSBattleProcessTask::check_and_do_strategy(const cv::Mat& reusable) // 直接返回,等费用,等下次循环处理部署逻辑 break; } + m_all_cores.erase(strategy.core); // 部署完,画面会发生变化,所以直接返回,后续逻辑交给下次循环处理 return deploy_oper(strategy.core, strategy.location, strategy.direction); }