From ecfd5ea8de447dcced89206982bf67f2a607b117 Mon Sep 17 00:00:00 2001 From: status102 Date: Mon, 13 Nov 2023 22:17:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B0=B4=E6=9C=88?= =?UTF-8?q?=E3=80=81=E5=82=80=E5=BD=B1=E8=82=89=E9=B8=BD=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E8=AF=86=E5=88=AB=E7=BB=93=E7=AE=97=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 56 ++++++++++++------- .../RoguelikeSettlementTaskPlugin.cpp | 8 ++- 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 8bed7e227e..c449dfbdf3 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -11090,63 +11090,63 @@ "RoguelikeSettlementOcr-Floor": { "baseTask": "NumberOcrReplace", "roi": [ - 132, + 102, 170, - 70, + 100, 40 ] }, "RoguelikeSettlementOcr-Step": { "baseTask": "NumberOcrReplace", "roi": [ - 132, + 102, 238, - 70, + 100, 40 ] }, "RoguelikeSettlementOcr-Combat": { "baseTask": "NumberOcrReplace", "roi": [ - 132, + 102, 304, - 70, + 100, 40 ] }, "RoguelikeSettlementOcr-Recruit": { "baseTask": "NumberOcrReplace", "roi": [ - 132, + 102, 374, - 70, + 100, 40 ] }, "RoguelikeSettlementOcr-Object": { "baseTask": "NumberOcrReplace", "roi": [ - 705, + 680, 170, - 70, + 95, 40 ] }, "RoguelikeSettlementOcr-BOSS": { "baseTask": "NumberOcrReplace", "roi": [ - 705, + 680, 238, - 70, + 95, 40 ] }, "RoguelikeSettlementOcr-Emergency": { "baseTask": "NumberOcrReplace", "roi": [ - 705, + 680, 304, - 70, + 95, 40 ] }, @@ -11155,9 +11155,9 @@ "isAscii": false, "roi": [ 750, - 370, + 372, 120, - 35 + 31 ] }, "RoguelikeSettlementOcr-Score": { @@ -11172,18 +11172,34 @@ "RoguelikeSettlementOcr-Exp": { "baseTask": "NumberOcrReplace", "roi": [ - 667, + 643, 525, - 140, + 160, 40 ] }, "RoguelikeSettlementOcr-Skill": { "baseTask": "NumberOcrReplace", "roi": [ - 950, + 920, 530, - 60, + 100, + 40 + ] + }, + "Phantom@RoguelikeSettlementOcr-Score": { + "roi": [ + 460, + 525, + 160, + 55 + ] + }, + "Phantom@RoguelikeSettlementOcr-Exp": { + "roi": [ + 760, + 525, + 160, 40 ] }, diff --git a/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp index a8f6d32661..4762780d7f 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp @@ -77,7 +77,8 @@ bool asst::RoguelikeSettlementTaskPlugin::get_settlement_info(json::value& info, auto analyze_text_data = [&](const std::string& task_name) { RegionOCRer ocr(image); - ocr.set_task_info(task_name); + ocr.set_task_info(m_config->get_theme() + "@" + task_name); + ocr.set_bin_threshold(50, 255); if (!ocr.analyze()) { Log.error(__FUNCTION__, "analyze battle data failed, task:", task_name); return; @@ -92,9 +93,12 @@ bool asst::RoguelikeSettlementTaskPlugin::get_settlement_info(json::value& info, "RoguelikeSettlementOcr-Combat", "RoguelikeSettlementOcr-Recruit", "RoguelikeSettlementOcr-Object", "RoguelikeSettlementOcr-BOSS", "RoguelikeSettlementOcr-Emergency" }; - static const auto text_task_name = + static auto text_task_name = std::vector { "RoguelikeSettlementOcr-Difficulty", "RoguelikeSettlementOcr-Score", "RoguelikeSettlementOcr-Exp", "RoguelikeSettlementOcr-Skill" }; + if (m_config->get_theme() == "Phantom") { + text_task_name.pop_back(); + } ranges::for_each(battle_task_name, analyze_battle_data); ranges::for_each(text_task_name, analyze_text_data);