From e2c19995c255b0b7f19e626953004881fa1386f4 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sun, 4 May 2025 14:14:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9F=BA=E5=BB=BA=E9=80=89=E4=BA=BA?= =?UTF-8?q?=E5=89=8D=E6=94=B6=E8=B5=B7=E8=81=8C=E4=B8=9A=E6=A0=8F=20(#1255?= =?UTF-8?q?6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 基建选人前收起职业栏 * chore: Auto update by pre-commit hooks [skip changelog] * fix: 赠送线索给不需要的好友 * chore: Auto update by pre-commit hooks [skip changelog] --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- resource/tasks/tasks.json | 10 +++++++--- resource/template/ClueCanBeSent.png | Bin 140 -> 201 bytes .../InfrastCloseQuickFormationExpandRole.png | Bin 0 -> 1379 bytes resource/template/OnShift.png | Bin 2882 -> 1694 bytes .../Task/Infrast/InfrastAbstractTask.cpp | 6 ++++++ .../Task/Infrast/InfrastAbstractTask.h | 2 ++ .../Task/Infrast/InfrastControlTask.cpp | 2 ++ src/MaaCore/Task/Infrast/InfrastDormTask.cpp | 3 ++- .../Task/Infrast/InfrastOfficeTask.cpp | 2 ++ src/MaaCore/Task/Infrast/InfrastPowerTask.cpp | 2 ++ .../Task/Infrast/InfrastProcessingTask.cpp | 2 ++ .../Task/Infrast/InfrastProductionTask.cpp | 2 ++ .../Task/Infrast/InfrastReceptionTask.cpp | 3 +++ 13 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 resource/template/InfrastCloseQuickFormationExpandRole.png diff --git a/resource/tasks/tasks.json b/resource/tasks/tasks.json index 9288f98f13..453cfe55e4 100644 --- a/resource/tasks/tasks.json +++ b/resource/tasks/tasks.json @@ -3017,6 +3017,10 @@ "templThreshold": 0.8, "rectMove": [0, -95, 70, 50] }, + "InfrastCloseQuickFormationExpandRole": { + "action": "ClickSelf", + "roi": [1163, 0, 117, 133] + }, "InfrastClueVacancyNo1": { "template": "ClueVacancyNo1.png", "templThreshold": 0.75, @@ -3215,7 +3219,7 @@ "ClueGiveTo2nd": { "template": "ClueCanBeSent.png", "maskRange": [1, 255], - "roi": [830, 220, 320, 100], + "roi": [830, 220, 340, 100], "next": ["ClueGiveTo2ndConfirm"] }, "ClueGiveTo2ndConfirm": { @@ -3227,7 +3231,7 @@ "ClueGiveTo3rd": { "template": "ClueCanBeSent.png", "maskRange": [1, 255], - "roi": [830, 370, 320, 100], + "roi": [830, 370, 340, 100], "next": ["ClueGiveTo3rdConfirm"] }, "ClueGiveTo3rdConfirm": { @@ -3239,7 +3243,7 @@ "ClueGiveTo4th": { "template": "ClueCanBeSent.png", "maskRange": [1, 255], - "roi": [830, 520, 320, 100], + "roi": [830, 520, 340, 100], "next": ["ClueGiveTo4thConfirm"] }, "ClueGiveTo4thConfirm": { diff --git a/resource/template/ClueCanBeSent.png b/resource/template/ClueCanBeSent.png index b14c896333e767abd59832c8d75e4c37c340335f..8e45e62e8da0fd02c2503b52ba9353285ae87f0b 100644 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^S|BzD6Oatx$Zi5sjKx9jP7LeL$-D$|I14-?iy0XB z4uLSEsD@VqP%zKa#WAGf*4qn)Tnz?1tq;Ff2^N-I*4|Mm^YNOTgJb3*&9stUg})k8 z(tdhg6b-(=ruahSv9bcrqjg*&hTEL4ME={CQLMzW&@w$V+I*r;WwpyQ*CU_oLXHIP udj2`r!N2+%(t<#n89ZJ6T-G@yGywpyP)NN1 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yO!VDyBPnAdlDb50q$YKTtZeb8+WSBKa0w^dH z;1lBdx!WQ!^KLIHPPZ!6Kid)G62@cFx1QU2$n;QZf0~t@T gteB$H8XLgK&~~viRgU$Q5Kt|Hr>mdKI;Vst095ZJH2?qr diff --git a/resource/template/InfrastCloseQuickFormationExpandRole.png b/resource/template/InfrastCloseQuickFormationExpandRole.png new file mode 100644 index 0000000000000000000000000000000000000000..9adbf45b8ad32e7060c580afe2e91615ae4017ed GIT binary patch literal 1379 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 literal 2882 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 diff --git a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp index b7795bd04e..9055c3aefd 100644 --- a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp @@ -601,6 +601,12 @@ void asst::InfrastAbstractTask::order_opers_selection(const std::vector& names); + // 关闭按职业筛选 + void close_quick_formation_expand_role() const; virtual void click_return_button() override; // 点击进入设施后,左下角的tab(我也不知道这玩意该叫啥) diff --git a/src/MaaCore/Task/Infrast/InfrastControlTask.cpp b/src/MaaCore/Task/Infrast/InfrastControlTask.cpp index 5f8b61fb2c..f141eeeb5f 100644 --- a/src/MaaCore/Task/Infrast/InfrastControlTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastControlTask.cpp @@ -19,6 +19,8 @@ bool asst::InfrastControlTask::_run() return false; } + close_quick_formation_expand_role(); + // 如果是使用了编队组来排班 if (current_room_config().use_operator_groups) { match_operator_groups(); diff --git a/src/MaaCore/Task/Infrast/InfrastDormTask.cpp b/src/MaaCore/Task/Infrast/InfrastDormTask.cpp index 4fd701a334..25b5090143 100644 --- a/src/MaaCore/Task/Infrast/InfrastDormTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastDormTask.cpp @@ -8,7 +8,6 @@ #include "Utils/Logger.hpp" #include "Vision/Infrast/InfrastOperImageAnalyzer.h" #include "Vision/Matcher.h" -#include "Vision/OCRer.h" #include "Vision/RegionOCRer.h" asst::InfrastDormTask& asst::InfrastDormTask::set_notstationed_enabled(bool dorm_notstationed_enabled) noexcept @@ -51,6 +50,8 @@ bool asst::InfrastDormTask::_run() return false; } + close_quick_formation_expand_role(); + auto origin_room_config = current_room_config(); if (is_use_custom_opers()) { swipe_and_select_custom_opers(true); diff --git a/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp b/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp index 7981ef1c7f..337db500e0 100644 --- a/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp @@ -26,6 +26,8 @@ bool asst::InfrastOfficeTask::_run() return false; } + close_quick_formation_expand_role(); + for (int i = 0; i <= OperSelectRetryTimes; ++i) { if (need_exit()) { return false; diff --git a/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp b/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp index eaf514c521..dcb4c95e5e 100644 --- a/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp @@ -29,6 +29,8 @@ bool asst::InfrastPowerTask::_run() return false; } + close_quick_formation_expand_role(); + for (int j = 0; j <= OperSelectRetryTimes; ++j) { if (is_use_custom_opers()) { bool name_select_ret = swipe_and_select_custom_opers(); diff --git a/src/MaaCore/Task/Infrast/InfrastProcessingTask.cpp b/src/MaaCore/Task/Infrast/InfrastProcessingTask.cpp index 6db8bbca38..575992e5a8 100644 --- a/src/MaaCore/Task/Infrast/InfrastProcessingTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastProcessingTask.cpp @@ -34,6 +34,8 @@ bool asst::InfrastProcessingTask::_run() ProcessTask(*this, { "InfrastProcessingEnterOperList" }).run(); + close_quick_formation_expand_role(); + for (int i = 0; i <= OperSelectRetryTimes; ++i) { if (need_exit()) { return false; diff --git a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp index 26b621fb6c..0f94c1c0be 100644 --- a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp @@ -214,6 +214,8 @@ bool asst::InfrastProductionTask::shift_facility_list() ctrler()->click(add_button); sleep(add_task_ptr->post_delay); + close_quick_formation_expand_role(); + // 如果是使用了编队组来排班 if (current_room_config().use_operator_groups) { match_operator_groups(); diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp index 7e8e2a2d3e..966abffd29 100644 --- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp @@ -15,6 +15,7 @@ bool asst::InfrastReceptionTask::_run() m_all_available_opers.clear(); swipe_to_the_left_of_main_ui(); + if (!enter_facility()) { swipe_to_right_of_main_ui(); if (!enter_facility()) { @@ -205,6 +206,8 @@ bool asst::InfrastReceptionTask::shift() } sleep(raw_task_ptr->post_delay); + close_quick_formation_expand_role(); + for (int i = 0; i <= OperSelectRetryTimes; ++i) { if (need_exit()) { return false;