From 031ebd690801a6f7a8e6a174b604fa85342abd5d Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 22 Oct 2022 20:59:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=96=E6=9C=8D=E8=82=89=E9=B8=BD=E7=AD=89=E7=BA=A7=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E9=94=99=E8=AF=AF=E6=97=B6=E4=B8=8D=E6=8B=9B=E4=BA=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp | 4 ++-- src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp index 28b866dab2..7372ddf87d 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp @@ -31,7 +31,7 @@ bool asst::RoguelikeRecruitImageAnalyzer::analyze() int elite = match_elite(rect); int level = match_level(bbb_image, rect); - if (level == 0) { + if (level < 0) { // 要么就是识别错了,要么这个干员希望不够,是灰色的 // 主要用于忽略后面灰色的这种情况 continue; @@ -92,7 +92,7 @@ int asst::RoguelikeRecruitImageAnalyzer::match_level(const cv::Mat& image, const analyzer.set_expansion(1); if (!analyzer.analyze()) { - return 0; + return -1; } const std::string& level = analyzer.get_result().front().text; diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp index ddd691d872..03e9299f65 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp @@ -142,8 +142,9 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() priority = team_full_without_rookie ? recruit_info.recruit_priority_when_team_full : recruit_info.recruit_priority; } - else if (oper_info.elite == 1 && oper_info.level >= 50) { + else if (oper_info.elite == 1 && (oper_info.level >= 50 || oper_info.level == 0)) { // 精一50级以上 + // 等级是 0 一般是识别错了,多发生于外服,一般都是一错全错,先凑合着招一个吧,比不招人强 orz priority = team_full_without_rookie ? recruit_info.recruit_priority_when_team_full : recruit_info.recruit_priority; }