diff --git a/resource/tasks.json b/resource/tasks.json index 89239c4bb0..bab4250fc7 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4142,6 +4142,58 @@ "roi": [627, 160, 653, 404], "templThreshold": 0.95 }, + "InfrastReceptionReceiveMessageBoard": { + "algorithm": "JustReturn", + "maxTimes": 3, + "next": ["InfrastReceptionOpenMessageBoard", "InfrastReceptionInteractive", "#self"] + }, + "InfrastReceptionReceiveMessageBoard-Exit": { + "action": "DoNothing", + "baseTask": "InfrastReceptionInteractive", + "template": "InfrastReceptionInteractive.png", + "next": ["Stop"] + }, + "InfrastReceptionInteractive": { + "action": "ClickSelf", + "roi": [400, 610, 100, 110], + "maxTimes": 3, + "next": ["InfrastReceptionOpenMessageBoard", "#self"] + }, + "InfrastReceptionOpenMessageBoard": { + "action": "ClickSelf", + "roi": [0, 150, 1280, 250], + "maskRange": [1, 255], + "postDelay": 1000, + "next": [ + "InfrastReceptionMessageBoard-AccessRecord", + "InfrastReceptionMessageBoard-CouldReceive", + "InfrastReceptionMessageBoard-Received", + "InfrastReceptionOpenMessageBoard@LoadingText" + ] + }, + "InfrastReceptionMessageBoard-AccessRecord": { + "doc": "进信息板的上周记录,不一定会有", + "action": "ClickSelf", + "roi": [520, 50, 240, 140], + "maxTimes": 20, + "next": ["InfrastReceptionMessageBoard-CouldReceive", "InfrastReceptionMessageBoard-Received", "#self"] + }, + "InfrastReceptionMessageBoard-CouldReceive": { + "action": "ClickSelf", + "roi": [1090, 480, 120, 140], + "maxTimes": 5, + "exceededNext": ["InfrastReceptionMessageBoard-Received#next"], + "next": ["InfrastReceptionMessageBoard-Received", "InfrastReceptionOpenMessageBoard@LoadingText", "#self"] + }, + "InfrastReceptionMessageBoard-Received": { + "roi": [1090, 480, 120, 140], + "next": ["InfrastReceptionMessageBoard@Return"] + }, + "InfrastReceptionMessageBoard@Return": { + "template": "Return.png", + "postDelay": 1000, + "next": ["InfrastReceptionReceiveMessageBoard-Exit"] + }, "InfrastTraining": { "template": "Training.png", "maskRange": [1, 255], diff --git a/resource/template/InfrastReceptionInteractive.png b/resource/template/InfrastReceptionInteractive.png new file mode 100644 index 0000000000..4ecd79a34d Binary files /dev/null and b/resource/template/InfrastReceptionInteractive.png differ diff --git a/resource/template/InfrastReceptionMessageBoard-AccessRecord.png b/resource/template/InfrastReceptionMessageBoard-AccessRecord.png new file mode 100644 index 0000000000..2dcbf5e379 Binary files /dev/null and b/resource/template/InfrastReceptionMessageBoard-AccessRecord.png differ diff --git a/resource/template/InfrastReceptionMessageBoard-CouldReceive.png b/resource/template/InfrastReceptionMessageBoard-CouldReceive.png new file mode 100644 index 0000000000..c18e6504a3 Binary files /dev/null and b/resource/template/InfrastReceptionMessageBoard-CouldReceive.png differ diff --git a/resource/template/InfrastReceptionMessageBoard-Received.png b/resource/template/InfrastReceptionMessageBoard-Received.png new file mode 100644 index 0000000000..d50c163f70 Binary files /dev/null and b/resource/template/InfrastReceptionMessageBoard-Received.png differ diff --git a/resource/template/InfrastReceptionOpenMessageBoard.png b/resource/template/InfrastReceptionOpenMessageBoard.png new file mode 100644 index 0000000000..ca254a03aa Binary files /dev/null and b/resource/template/InfrastReceptionOpenMessageBoard.png differ diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp index 23e50a1e8d..b112c45085 100644 --- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp @@ -18,6 +18,8 @@ bool asst::InfrastReceptionTask::_run() if (!enter_facility()) { return false; } + + receive_message_board(); click_bottom_left_tab(); close_end_of_clue_exchange(); @@ -42,6 +44,11 @@ bool asst::InfrastReceptionTask::_run() return true; } +bool asst::InfrastReceptionTask::receive_message_board() +{ + return ProcessTask(*this, { "InfrastReceptionReceiveMessageBoard" }).run(); +} + bool asst::InfrastReceptionTask::close_end_of_clue_exchange() { ProcessTask task_temp(*this, { "EndOfClueExchangeBegin" }); diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.h b/src/MaaCore/Task/Infrast/InfrastReceptionTask.h index 74266b3f87..cb0d302d46 100644 --- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.h +++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.h @@ -17,6 +17,8 @@ protected: private: virtual int operlist_swipe_times() const noexcept override { return 4; } + // 收取信息板的周限300信用 + bool receive_message_board(); bool close_end_of_clue_exchange(); bool get_clue(); bool use_clue(); diff --git a/tools/OverseasClients/ignore_list_of_templates.txt b/tools/OverseasClients/ignore_list_of_templates.txt index eb38385a42..4cffd0e55a 100644 --- a/tools/OverseasClients/ignore_list_of_templates.txt +++ b/tools/OverseasClients/ignore_list_of_templates.txt @@ -145,6 +145,10 @@ InfrastClueSelfMaybeFull.png InfrastFilterMenu.png InfrastFilterMenuConfirmButton.png InfrastNotification.png +InfrastReceptionInteractive.png +InfrastReceptionMessageBoard-AccessRecord.png +InfrastReceptionMessageBoard-Received.png +InfrastReceptionOpenMessageBoard.png InfrastTrainingConfirm.png InfrastTrainingContinue.png InfrastTrainingLevel1.png