From 4fc69be284db825f70629b75675dd2a2dbb9fa6f Mon Sep 17 00:00:00 2001 From: MistEO Date: Sun, 19 Nov 2023 23:48:05 +0800 Subject: [PATCH 01/19] =?UTF-8?q?fix:=20=E5=85=BC=E5=AE=B9=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=9C=ACframework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/controller_config.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/assets/resource/controller_config.json b/assets/resource/controller_config.json index 8e6d0da..2723219 100644 --- a/assets/resource/controller_config.json +++ b/assets/resource/controller_config.json @@ -1,7 +1,6 @@ { "prebuilt": { "minicap": { - "root": "./MaaAgentBinary/minicap", "arch": [ "x86", "armeabi-v7a", @@ -27,7 +26,6 @@ ] }, "minitouch": { - "root": "./MaaAgentBinary/minitouch", "arch": [ "x86_64", "x86", @@ -37,11 +35,14 @@ ] }, "maatouch": { - "root": "./MaaAgentBinary/maatouch", "package": "com.shxyke.MaaTouch.App" } }, "command": { + "Devices": [ + "{ADB}", + "devices" + ], "Connect": [ "{ADB}", "connect", From 7b10ee195cb38d3382edfe8a3db359da9990cfd6 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 28 Nov 2023 23:32:55 +0800 Subject: [PATCH 02/19] =?UTF-8?q?chore:=20=E9=80=82=E9=85=8D=E6=96=B0?= =?UTF-8?q?=E7=89=88framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakePresets.json | 58 +++++++ assets/resource/controller_config.json | 206 ------------------------- source/cli/CMakeLists.txt | 3 - source/cli/main.cpp | 16 +- 4 files changed, 59 insertions(+), 224 deletions(-) delete mode 100644 assets/resource/controller_config.json diff --git a/CMakePresets.json b/CMakePresets.json index 6eda756..53ca0ae 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -41,5 +41,63 @@ "value": "ARM64" } } + ], + "buildPresets": [ + { + "name": "NinjaMulti - Debug", + "displayName": "Ninja MultiConfig Debug", + "description": "Ninja MultiConfig Debug", + "configurePreset": "NinjaMulti", + "configuration": "Debug", + "jobs": 16 + }, + { + "name": "NinjaMulti - DebWithRelDeps", + "displayName": "Ninja MultiConfig DebWithRelDeps", + "description": "Ninja MultiConfig DebWithRelDeps", + "configurePreset": "NinjaMulti", + "configuration": "RelWithDebInfo", + "jobs": 16 + }, + { + "name": "NinjaMulti - Release", + "displayName": "Ninja MultiConfig Release", + "description": "Ninja MultiConfig Release", + "configurePreset": "NinjaMulti", + "configuration": "Release", + "jobs": 16 + }, + { + "name": "MSVC 2022 - Debug", + "displayName": "MSVC 2022 Debug", + "description": "MSVC 2022 Debug", + "configurePreset": "MSVC 2022", + "configuration": "Debug", + "jobs": 16 + }, + { + "name": "MSVC 2022 - DebWithRelDeps", + "displayName": "MSVC 2022 DebWithRelDeps", + "description": "MSVC 2022 DebWithRelDeps", + "configurePreset": "MSVC 2022", + "configuration": "DebWithRelDeps", + "jobs": 16 + }, + { + "name": "MSVC 2022 - Release", + "displayName": "MSVC 2022 Release", + "description": "MSVC 2022 Release", + "configurePreset": "MSVC 2022", + "configuration": "Release", + "jobs": 16 + }, + { + "name": "MSVC 2022 ARM - Release", + "displayName": "MSVC 2022 ARM Release", + "description": "MSVC 2022 ARM Release", + "configurePreset": "MSVC 2022 ARM", + "configuration": "Release", + "jobs": 16 + } ] } diff --git a/assets/resource/controller_config.json b/assets/resource/controller_config.json deleted file mode 100644 index 2723219..0000000 --- a/assets/resource/controller_config.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "prebuilt": { - "minicap": { - "arch": [ - "x86", - "armeabi-v7a", - "armeabi" - ], - "sdk": [ - 31, - 29, - 28, - 27, - 26, - 25, - 24, - 23, - 22, - 21, - 19, - 18, - 17, - 16, - 15, - 14 - ] - }, - "minitouch": { - "arch": [ - "x86_64", - "x86", - "arm64-v8a", - "armeabi-v7a", - "armeabi" - ] - }, - "maatouch": { - "package": "com.shxyke.MaaTouch.App" - } - }, - "command": { - "Devices": [ - "{ADB}", - "devices" - ], - "Connect": [ - "{ADB}", - "connect", - "{ADB_SERIAL}" - ], - "KillServer": [ - "{ADB}", - "kill-server" - ], - "UUID": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "settings get secure android_id" - ], - "Resolution": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "dumpsys window displays | grep -o -E cur=+[^\\ ]+ | grep -o -E [0-9]+" - ], - "StartApp": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "am start -n {INTENT}" - ], - "StopApp": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "am force-stop {INTENT}" - ], - "Click": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "input tap {X} {Y}" - ], - "Swipe": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "input swipe {X1} {Y1} {X2} {Y2} {DURATION}" - ], - "PressKey": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "input keyevent {KEY}" - ], - "ForwardSocket": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "forward", - "tcp:{FOWARD_PORT}", - "localabstract:{LOCAL_SOCKET}" - ], - "NetcatAddress": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "cat /proc/net/arp | grep : " - ], - "ScreencapRawByNetcat": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "exec-out", - "screencap | nc -w 3 {NETCAT_ADDRESS} {NETCAT_PORT}" - ], - "ScreencapRawWithGzip": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "exec-out", - "screencap | gzip -1" - ], - "ScreencapEncode": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "exec-out", - "screencap -p" - ], - "ScreencapEncodeToFile": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "screencap -p > \"/data/local/tmp/{TEMP_FILE}\"" - ], - "PullFile": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "pull", - "/data/local/tmp/{TEMP_FILE}", - "{DST_PATH}" - ], - "Abilist": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "getprop ro.product.cpu.abilist | tr -d '\n\r'" - ], - "SDK": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "getprop ro.build.version.sdk | tr -d '\n\r'" - ], - "Orientation": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "dumpsys input | grep SurfaceOrientation | grep -m 1 -o -E [0-9]" - ], - "PushBin": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "push", - "{BIN_PATH}", - "/data/local/tmp/{BIN_WORKING_FILE}" - ], - "ChmodBin": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "chmod 700 \"/data/local/tmp/{BIN_WORKING_FILE}\"" - ], - "InvokeBin": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "exec-out", - "export LD_LIBRARY_PATH=/data/local/tmp/; \"/data/local/tmp/{BIN_WORKING_FILE}\" {BIN_EXTRA_PARAMS}" - ], - "InvokeApp": [ - "{ADB}", - "-s", - "{ADB_SERIAL}", - "shell", - "export CLASSPATH=\"/data/local/tmp/{APP_WORKING_FILE}\"; app_process /data/local/tmp {PACKAGE_NAME}" - ] - } -} diff --git a/source/cli/CMakeLists.txt b/source/cli/CMakeLists.txt index 3bc96df..ffbce9e 100644 --- a/source/cli/CMakeLists.txt +++ b/source/cli/CMakeLists.txt @@ -5,9 +5,6 @@ else () link_directories(${CMAKE_SOURCE_DIR}/deps/bin) endif () -set(CMAKE_BUILD_TYPE "Release") -set(CMAKE_CONFIGURATION_TYPES "Release") - add_executable(MAA1999_CLI main.cpp) target_link_libraries(MAA1999_CLI PRIVATE MaaFramework MaaToolKit) diff --git a/source/cli/main.cpp b/source/cli/main.cpp index b35dcf8..455b8ee 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -25,7 +25,6 @@ bool proc_argv(int argc, char** argv, bool& debug, std::string& adb, std::string bool app_package_and_activity(int client_type, std::string& package, std::string& activity); void save_config(const std::string& adb, const std::string& adb_address, int& client_type, const TaskList& tasks, MaaAdbControllerType ctrl_type); -std::string read_adb_config(const std::filesystem::path& cur_dir); void mpause(); int main(int argc, char** argv) @@ -63,7 +62,7 @@ int main(int argc, char** argv) std::string debug_dir = (cur_dir / "debug").string(); std::string resource_dir = (cur_dir / "resource").string(); std::string agent_path = (cur_dir / "MaaAgentBinary").string(); - std::string adb_config = read_adb_config(cur_dir); + std::string adb_config = json::object().to_string(); MaaToolKitInit(); @@ -522,19 +521,6 @@ void save_config(const std::string& adb, const std::string& adb_address, int& cl ofs.close(); } -std::string read_adb_config(const std::filesystem::path& cur_dir) -{ - std::ifstream ifs(cur_dir / "resource" / "controller_config.json", std::ios::in); - if (!ifs.is_open()) { - std::cout << "Can't open controller_config.json" << std::endl; - exit(1); - } - - std::stringstream buffer; - buffer << ifs.rdbuf(); - return buffer.str(); -} - void mpause() { std::ignore = getchar(); From 848d047f480425740f59fdc1427f2e7774caee3d Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 28 Nov 2023 23:34:11 +0800 Subject: [PATCH 03/19] chore: rename to M9A --- .github/workflows/ci.yml | 6 +++--- CMakeLists.txt | 2 +- README.md | 4 ++-- assets/resource/properties.json | 2 +- source/cli/CMakeLists.txt | 8 ++++---- source/cli/main.cpp | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f5664c..14a3376 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,7 +96,7 @@ jobs: - uses: actions/upload-artifact@v3 with: - name: MAA1999-win-${{ matrix.arch }} + name: M9A-win-${{ matrix.arch }} path: "install" ubuntu: @@ -165,7 +165,7 @@ jobs: - uses: actions/upload-artifact@v3 with: - name: MAA1999-linux-${{ matrix.arch }} + name: M9A-linux-${{ matrix.arch }} path: "install" macos: @@ -222,7 +222,7 @@ jobs: - uses: actions/upload-artifact@v3 with: - name: MAA1999-macos-${{ matrix.arch }} + name: M9A-macos-${{ matrix.arch }} path: "install" release: diff --git a/CMakeLists.txt b/CMakeLists.txt index 7891ad1..5302eaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.21) -project(MAA1999) +project(M9A) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(Boost_NO_WARN_NEW_VERSIONS 1) diff --git a/README.md b/README.md index 78d4bc3..50c6e1c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# MAA1999 +# M9A 基于全新架构的 亿韭韭韭 小助手。图像技术 + 模拟控制,解放双手! 由 [MaaFramework](https://github.com/MaaAssistantArknights/MaaFramework) 强力驱动! @@ -17,7 +17,7 @@ ## How to build -**如果你要编译源码才看这节,否则直接 [下载](https://github.com/MaaAssistantArknights/MAA1999/releases) 即可** +**如果你要编译源码才看这节,否则直接 [下载](https://github.com/MaaAssistantArknights/M9A/releases) 即可** 1. 下载 MaaFramework 的 [Release 包](https://github.com/MaaAssistantArknights/MaaFramework/releases),解压到 `deps` 文件夹中 2. 配置 cmake diff --git a/assets/resource/properties.json b/assets/resource/properties.json index 484aba0..51a898a 100644 --- a/assets/resource/properties.json +++ b/assets/resource/properties.json @@ -1,4 +1,4 @@ { "is_base": true, - "version": "MAA1999_DEBUG_VERSION" + "version": "M9A_DEBUG_VERSION" } \ No newline at end of file diff --git a/source/cli/CMakeLists.txt b/source/cli/CMakeLists.txt index ffbce9e..6e8dd91 100644 --- a/source/cli/CMakeLists.txt +++ b/source/cli/CMakeLists.txt @@ -5,9 +5,9 @@ else () link_directories(${CMAKE_SOURCE_DIR}/deps/bin) endif () -add_executable(MAA1999_CLI main.cpp) -target_link_libraries(MAA1999_CLI PRIVATE MaaFramework MaaToolKit) +add_executable(M9A_CLI main.cpp) +target_link_libraries(M9A_CLI PRIVATE MaaFramework MaaToolKit) -add_dependencies(MAA1999_CLI AssetsResource) +add_dependencies(M9A_CLI AssetsResource) -install(TARGETS MAA1999_CLI RUNTIME DESTINATION .) +install(TARGETS M9A_CLI RUNTIME DESTINATION .) diff --git a/source/cli/main.cpp b/source/cli/main.cpp index 455b8ee..dbbbe33 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -116,9 +116,9 @@ int main(int argc, char** argv) void print_help() { std::cout << utf8_to_crt( - R"(欢迎使用 MAA 1999 CLI, 源码地址:https://github.com/MaaAssistantArknights/MAA1999 + R"(欢迎使用 MAA 1999 CLI, 源码地址:https://github.com/MaaAssistantArknights/M9A -用法: MAA1999.exe [adb路径] [adb地址] [任务名(有序)]... +用法: M9A.exe [adb路径] [adb地址] [任务名(有序)]... 可以修改 config.json 来配置任务 From 3f374af7d58ffeb78e42d2f7669522b123d22133 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 28 Nov 2023 23:36:58 +0800 Subject: [PATCH 04/19] =?UTF-8?q?chore:=20=E4=BF=AE=E6=AD=A3=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/cli/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/cli/main.cpp b/source/cli/main.cpp index dbbbe33..835b2fa 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -116,9 +116,9 @@ int main(int argc, char** argv) void print_help() { std::cout << utf8_to_crt( - R"(欢迎使用 MAA 1999 CLI, 源码地址:https://github.com/MaaAssistantArknights/M9A + R"(欢迎使用 M9A CLI, 源码地址:https://github.com/MaaAssistantArknights/M9A -用法: M9A.exe [adb路径] [adb地址] [任务名(有序)]... +用法: M9A_CLI.exe [adb路径] [adb地址] [任务名(有序)]... 可以修改 config.json 来配置任务 From 1955ad603109a534780a668bca91e8f20b596203 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 28 Nov 2023 23:41:43 +0800 Subject: [PATCH 05/19] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E6=96=87?= =?UTF-8?q?=E6=A1=A3GUI=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 50c6e1c..ba8d747 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,13 @@ ~~韭的战斗有点小难度,但又没粥那么难。我觉得完全可以做到打的比大多数玩家水平高,纯粹的无感情的概率 + 数值机器。~~ 游戏自带了,摸! +## 图形化界面 + +目前暂无正式版 GUI,但有以下由社区大佬们贡献的 GUI 项目,欢迎使用! + +- [MAA1999WPF](https://github.com/MLAcookie/MAA1999WPF) 拿WPF框架写的一个MAA199的UI +- [MaaY](https://github.com/MaaAssistantArknights/MaaY) 为MaaFramework重新设计的通用界面 + ## How to build **如果你要编译源码才看这节,否则直接 [下载](https://github.com/MaaAssistantArknights/M9A/releases) 即可** From 1e215cf5caf77696111b22c45678849e96763a82 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 28 Nov 2023 23:43:55 +0800 Subject: [PATCH 06/19] =?UTF-8?q?chore:=20=E4=BD=BF=E7=94=A8=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E5=86=85=E6=B5=8B=E7=89=88framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14a3376..f3c81d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,7 +78,6 @@ jobs: uses: robinraju/release-downloader@v1.8 with: repository: MaaAssistantArknights/MaaFramework - latest: true fileName: "MAA-win-${{ matrix.arch }}*" out-file-path: "deps" extract: true @@ -143,7 +142,6 @@ jobs: uses: robinraju/release-downloader@v1.8 with: repository: MaaAssistantArknights/MaaFramework - latest: true fileName: "MAA-linux-${{ matrix.arch }}*" out-file-path: "deps" extract: true @@ -199,7 +197,6 @@ jobs: uses: robinraju/release-downloader@v1.8 with: repository: MaaAssistantArknights/MaaFramework - latest: true fileName: "MAA-macos-${{ matrix.arch }}*" out-file-path: "deps" extract: true From 20b09f81136011810217e92afe6463b06af00c99 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 28 Nov 2023 23:55:15 +0800 Subject: [PATCH 07/19] =?UTF-8?q?feat:=20=E6=89=A7=E8=A1=8C=E5=AE=8C?= =?UTF-8?q?=E6=AF=8F=E4=B8=AA=E4=BB=BB=E5=8A=A1=E9=A1=BA=E4=BE=BF=E7=82=B9?= =?UTF-8?q?=E4=B8=80=E4=B8=8B=E7=9C=8B=E6=9D=BF=E5=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/pipeline/startup.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/assets/resource/pipeline/startup.json b/assets/resource/pipeline/startup.json index 41a0e02..a5407a8 100644 --- a/assets/resource/pipeline/startup.json +++ b/assets/resource/pipeline/startup.json @@ -175,6 +175,13 @@ 419, 194, 166 + ], + "action": "Click", + "target": [ + 576, + 298, + 68, + 64 ] }, "Sub_BackButton": { From 0bbfb9873b7c78791858363f537e6766ac3596fb Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Nov 2023 00:02:25 +0800 Subject: [PATCH 08/19] =?UTF-8?q?chore:=20=E6=95=B4=E7=90=86maay=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 3 +++ .maay/repo.json | 5 ----- {.maay => assets/maay}/control.json | 21 ++++++++++++++++++++- assets/maay/repo.json | 5 +++++ {.maay => assets/maay}/resource.json | 0 source/cli/main.cpp | 2 +- 6 files changed, 29 insertions(+), 7 deletions(-) delete mode 100644 .maay/repo.json rename {.maay => assets/maay}/control.json (93%) create mode 100644 assets/maay/repo.json rename {.maay => assets/maay}/resource.json (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f3c81d6..6033ae7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,6 +92,7 @@ jobs: shell: bash run: | cmake --install build --prefix install + cp -r maay install/.maay - uses: actions/upload-artifact@v3 with: @@ -160,6 +161,7 @@ jobs: shell: bash run: | cmake --install build --prefix install + cp -r maay install/.maay - uses: actions/upload-artifact@v3 with: @@ -216,6 +218,7 @@ jobs: shell: bash run: | cmake --install build --prefix install + cp -r maay install/.maay - uses: actions/upload-artifact@v3 with: diff --git a/.maay/repo.json b/.maay/repo.json deleted file mode 100644 index eec7f72..0000000 --- a/.maay/repo.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "resource": { - "default": "assets/resource" - } -} diff --git a/.maay/control.json b/assets/maay/control.json similarity index 93% rename from .maay/control.json rename to assets/maay/control.json index 8a1f7ea..a0c483e 100644 --- a/.maay/control.json +++ b/assets/maay/control.json @@ -334,7 +334,7 @@ } }, { - "name": "活动:行至摩卢旁卡 16 艰难", + "name": "活动:行至摩卢旁卡 16 艰难(活动已结束)", "task": "JourneytoMorPankh", "option": ["all_in", "eat_candy_within_24h"], "provide": { @@ -351,6 +351,25 @@ "text": "1" } } + }, + { + "name": "活动:洞穴的囚徒 证明启示 05(活动已结束)", + "task": "dummyThePrisonerintheCave", + "option": ["all_in", "eat_candy_within_24h"], + "provide": { + "EnterTheShow": { + "next": "dummyThePrisonerintheCave" + }, + "TargetStageName": { + "text": "dummy证明启示V" + }, + "StageDifficulty": { + "next": "dummyStageDifficulty_None" + }, + "SetReplaysTimes": { + "text": "1" + } + } } ] } diff --git a/assets/maay/repo.json b/assets/maay/repo.json new file mode 100644 index 0000000..a747e5c --- /dev/null +++ b/assets/maay/repo.json @@ -0,0 +1,5 @@ +{ + "resource": { + "default": "resource" + } +} diff --git a/.maay/resource.json b/assets/maay/resource.json similarity index 100% rename from .maay/resource.json rename to assets/maay/resource.json diff --git a/source/cli/main.cpp b/source/cli/main.cpp index 835b2fa..afb5feb 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -380,7 +380,7 @@ bool proc_argv(int argc, char** argv, bool& debug, std::string& adb, std::string "17. 荒兽之野 06(洞悉 兽)\n" "18. 活动:绿湖噩梦 17 艰难(活动已结束)\n" "19. 活动:行至摩卢旁卡 16 艰难(活动已结束)\n" - "20. 活动:洞穴的囚徒 证明启示 05\n") + "20. 活动:洞穴的囚徒 证明启示 05(活动已结束)\n") << std::endl << std::endl << utf8_to_crt("请输入要执行的任务序号,可自定义顺序,以空格分隔,例如 1 2 4 12 3: ") << std::endl; From 813c8cc1a747b2c5ba3f28b0f2501dc1f882a181 Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Nov 2023 00:21:55 +0800 Subject: [PATCH 09/19] ci: fix download MaaFramework --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6033ae7..9778605 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,6 +79,7 @@ jobs: with: repository: MaaAssistantArknights/MaaFramework fileName: "MAA-win-${{ matrix.arch }}*" + latest: true out-file-path: "deps" extract: true @@ -144,6 +145,7 @@ jobs: with: repository: MaaAssistantArknights/MaaFramework fileName: "MAA-linux-${{ matrix.arch }}*" + latest: true out-file-path: "deps" extract: true @@ -200,6 +202,7 @@ jobs: with: repository: MaaAssistantArknights/MaaFramework fileName: "MAA-macos-${{ matrix.arch }}*" + latest: true out-file-path: "deps" extract: true From 6057e063ca0d72ba0e1d754984de28099ae3f798 Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Nov 2023 00:27:09 +0800 Subject: [PATCH 10/19] ci: fix install --- .github/workflows/ci.yml | 6 +++--- assets/{maay => .maay}/control.json | 0 assets/{maay => .maay}/repo.json | 0 assets/{maay => .maay}/resource.json | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename assets/{maay => .maay}/control.json (100%) rename assets/{maay => .maay}/repo.json (100%) rename assets/{maay => .maay}/resource.json (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9778605..a94b9c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,7 +93,7 @@ jobs: shell: bash run: | cmake --install build --prefix install - cp -r maay install/.maay + cp -r assets/.maay install - uses: actions/upload-artifact@v3 with: @@ -163,7 +163,7 @@ jobs: shell: bash run: | cmake --install build --prefix install - cp -r maay install/.maay + cp -r assets/.maay install - uses: actions/upload-artifact@v3 with: @@ -221,7 +221,7 @@ jobs: shell: bash run: | cmake --install build --prefix install - cp -r maay install/.maay + cp -r assets/.maay install - uses: actions/upload-artifact@v3 with: diff --git a/assets/maay/control.json b/assets/.maay/control.json similarity index 100% rename from assets/maay/control.json rename to assets/.maay/control.json diff --git a/assets/maay/repo.json b/assets/.maay/repo.json similarity index 100% rename from assets/maay/repo.json rename to assets/.maay/repo.json diff --git a/assets/maay/resource.json b/assets/.maay/resource.json similarity index 100% rename from assets/maay/resource.json rename to assets/.maay/resource.json From 08c371d646ded0da5c3d0bfb6960c3dc71cc00c7 Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Nov 2023 00:43:19 +0800 Subject: [PATCH 11/19] =?UTF-8?q?fix:=20=E4=B8=8D=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E7=9A=84=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmake/framework.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/framework.cmake b/cmake/framework.cmake index f0b9319..1a74a64 100644 --- a/cmake/framework.cmake +++ b/cmake/framework.cmake @@ -1,2 +1,7 @@ -install(DIRECTORY "${CMAKE_SOURCE_DIR}/deps/bin/" DESTINATION .) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/deps/bin/" DESTINATION . + PATTERN "MaaDbgControlUnit*" EXCLUDE + PATTERN "MaaThriftControlUnit*" EXCLUDE + PATTERN "MaaWin32ControlUnit*" EXCLUDE + PATTERN "MaaRpc*" EXCLUDE +) install(DIRECTORY "${CMAKE_SOURCE_DIR}/deps/share/MaaAgentBinary" DESTINATION .) From f46ac92e1f20ae3f4e3f248b04ab7d43d1180ab1 Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Nov 2023 00:53:05 +0800 Subject: [PATCH 12/19] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3linux=E4=B8=8B?= =?UTF-8?q?=E6=89=93=E5=8C=85=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmake/framework.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/framework.cmake b/cmake/framework.cmake index 1a74a64..f6a9f1a 100644 --- a/cmake/framework.cmake +++ b/cmake/framework.cmake @@ -1,7 +1,7 @@ install(DIRECTORY "${CMAKE_SOURCE_DIR}/deps/bin/" DESTINATION . - PATTERN "MaaDbgControlUnit*" EXCLUDE - PATTERN "MaaThriftControlUnit*" EXCLUDE - PATTERN "MaaWin32ControlUnit*" EXCLUDE - PATTERN "MaaRpc*" EXCLUDE + PATTERN "*MaaDbgControlUnit*" EXCLUDE + PATTERN "*MaaThriftControlUnit*" EXCLUDE + PATTERN "*MaaWin32ControlUnit*" EXCLUDE + PATTERN "*MaaRpc*" EXCLUDE ) install(DIRECTORY "${CMAKE_SOURCE_DIR}/deps/share/MaaAgentBinary" DESTINATION .) From 7eee8a6d3a2e17ba70004a240d9dcd3e9de48c12 Mon Sep 17 00:00:00 2001 From: MistEO Date: Wed, 29 Nov 2023 10:40:14 +0800 Subject: [PATCH 13/19] =?UTF-8?q?ci:=20=E5=B0=86maay=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E7=A7=BB=E8=87=B3cmake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 3 --- CMakeLists.txt | 2 +- cmake/assets.cmake | 9 ++++++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a94b9c0..f3acc76 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,7 +93,6 @@ jobs: shell: bash run: | cmake --install build --prefix install - cp -r assets/.maay install - uses: actions/upload-artifact@v3 with: @@ -163,7 +162,6 @@ jobs: shell: bash run: | cmake --install build --prefix install - cp -r assets/.maay install - uses: actions/upload-artifact@v3 with: @@ -221,7 +219,6 @@ jobs: shell: bash run: | cmake --install build --prefix install - cp -r assets/.maay install - uses: actions/upload-artifact@v3 with: diff --git a/CMakeLists.txt b/CMakeLists.txt index 5302eaf..243ff06 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.21) +cmake_minimum_required(VERSION 3.24) project(M9A) set_property(GLOBAL PROPERTY USE_FOLDERS ON) diff --git a/cmake/assets.cmake b/cmake/assets.cmake index d7387a2..97c04ac 100644 --- a/cmake/assets.cmake +++ b/cmake/assets.cmake @@ -4,7 +4,10 @@ add_custom_command(OUTPUT ${maa_assets_target}/resource COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/assets/resource ${maa_assets_target}/resource COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/assets/MaaCommonAssets/OCR/ppocr_v4/zh_cn ${maa_assets_target}/resource/model/ocr ) -add_custom_target(AssetsResource ALL DEPENDS ${maa_assets_target}/resource) -set_property(TARGET AssetsResource APPEND PROPERTY ADDITIONAL_CLEAN_FILES ${maa_assets_target}/resource) +add_custom_command(OUTPUT ${maa_assets_target}/.maay + COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/assets/.maay ${maa_assets_target}/.maay +) +add_custom_target(AssetsResource ALL DEPENDS ${maa_assets_target}/resource ${maa_assets_target}/.maay) +set_property(TARGET AssetsResource APPEND PROPERTY ADDITIONAL_CLEAN_FILES ${maa_assets_target}/resource ${maa_assets_target}/.maay) set_target_properties(AssetsResource PROPERTIES FOLDER Assets) -install(DIRECTORY ${maa_assets_target}/resource DESTINATION .) +install(DIRECTORY ${maa_assets_target}/resource ${maa_assets_target}/.maay DESTINATION .) \ No newline at end of file From ee341a32448c43f08953186f17ba92f20d9ed704 Mon Sep 17 00:00:00 2001 From: MistEO Date: Thu, 30 Nov 2023 20:07:23 +0800 Subject: [PATCH 14/19] =?UTF-8?q?fix:=20=E2=80=9C=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E2=80=9D=E5=85=B3=E5=8D=A1=E4=BD=8D=E7=BD=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/pipeline/combat.json | 8 ++++---- assets/resource/pipeline/psychube.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/assets/resource/pipeline/combat.json b/assets/resource/pipeline/combat.json index 2d9f77e..6784cbc 100644 --- a/assets/resource/pipeline/combat.json +++ b/assets/resource/pipeline/combat.json @@ -127,10 +127,10 @@ "template": "Combat/ResourceChapterLabel.png", "threshold": 0.98, "roi": [ - 230, - 577, - 145, - 142 + 4, + 559, + 1276, + 161 ], "action": "Click", "post_wait_freezes": { diff --git a/assets/resource/pipeline/psychube.json b/assets/resource/pipeline/psychube.json index d6dcad4..901c0ca 100644 --- a/assets/resource/pipeline/psychube.json +++ b/assets/resource/pipeline/psychube.json @@ -26,10 +26,10 @@ "recognition": "TemplateMatch", "template": "Psychube/ResourceStages.png", "roi": [ - 218, - 571, - 169, - 149 + 4, + 559, + 1276, + 161 ], "action": "Click", "next": [ From 4a8f6fe67749339811b3ece0aa74e68fccf2ee1b Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 2 Dec 2023 15:29:09 +0800 Subject: [PATCH 15/19] =?UTF-8?q?feat:=20=E5=9B=9E=E6=BB=9A=E6=99=AE?= =?UTF-8?q?=E9=80=9A=E7=82=B9=E5=94=B1=E6=9C=BA=E6=94=B6=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/pipeline/awards.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/resource/pipeline/awards.json b/assets/resource/pipeline/awards.json index 45437a0..b14f44d 100644 --- a/assets/resource/pipeline/awards.json +++ b/assets/resource/pipeline/awards.json @@ -2,7 +2,7 @@ "Awards": { "next": [ "Sub_MailBadge", - "Sub_JukeboxBadge_MysteryBoxCarnival", + "Sub_JukeboxBadge", "Sub_DailyBadge", "HomeFlag", "Sub_ObtainedAwards", From 9c90ee8e01bda22e542b6985588b6ac130bdb0b5 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 2 Dec 2023 15:32:03 +0800 Subject: [PATCH 16/19] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=82=B9?= =?UTF-8?q?=E5=94=B1=E6=9C=BA=E6=9C=89=E6=97=B6=E5=80=99=E6=B2=A1=E7=82=B9?= =?UTF-8?q?=E4=B8=8A=E5=8D=A1=E4=BD=8F=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/pipeline/awards.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/resource/pipeline/awards.json b/assets/resource/pipeline/awards.json index b14f44d..e1579d0 100644 --- a/assets/resource/pipeline/awards.json +++ b/assets/resource/pipeline/awards.json @@ -214,7 +214,8 @@ "next": [ "Sub_CollectJukeboxAwards", "Sub_ObtainedJukeboxAwards", - "NoJukeboxAwards" + "NoJukeboxAwards", + "Sub_JukeboxAwardsBadge" ] }, "Sub_CollectJukeboxAwards": { From fa5fadf715de1d812a3aa8a3f3e0931bf650aef5 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 2 Dec 2023 16:14:33 +0800 Subject: [PATCH 17/19] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=20`=E5=A4=8D=E5=85=B4=E4=B9=8C=E5=8D=A2=E9=B2=81?= =?UTF-8?q?=E8=BF=90=E5=8A=A8=E4=BC=9A`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RevivalTheUluruGamesEnterTheShow.png | Bin 0 -> 22346 bytes .../RevivalTheUluruGamesMainChapter.png | Bin 0 -> 52785 bytes .../activity/RevivalTheUluruGames.json | 35 ++++++++++++++++++ source/cli/main.cpp | 4 +- 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 assets/resource/image/Combat/Activity/RevivalTheUluruGamesEnterTheShow.png create mode 100644 assets/resource/image/Combat/Activity/RevivalTheUluruGamesMainChapter.png create mode 100644 assets/resource/pipeline/activity/RevivalTheUluruGames.json diff --git a/assets/resource/image/Combat/Activity/RevivalTheUluruGamesEnterTheShow.png b/assets/resource/image/Combat/Activity/RevivalTheUluruGamesEnterTheShow.png new file mode 100644 index 0000000000000000000000000000000000000000..279b717e6bc91f573d7cf3264e80f4e7f84d2145 GIT binary patch literal 22346 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 BQR4sr literal 0 HcmV?d00001 diff --git a/assets/resource/image/Combat/Activity/RevivalTheUluruGamesMainChapter.png b/assets/resource/image/Combat/Activity/RevivalTheUluruGamesMainChapter.png new file mode 100644 index 0000000000000000000000000000000000000000..f30be29e03ac37dd3b67afca25321ce93a160889 GIT binary patch literal 52785 zcmV)*K#9MJP)y8Pk?SJ`F1 z_{}a?say^#YqbobmIO(F1VH347yuKxr^9p(w{H$7pD!6=tzYcl4=tCAN-5KEa-Nl> z8N#5H3KNC^Fj7b|O)101j^j*^)uyXu+i}gT8~gpCAD?%{(2u>6Tbsy_)vHz0IBA7H z`}k29`x;f$Hq1gnoSz52A7_GCIh$~e;*#smmP=(%FV)8cK)2KFM^PM007Zz9QtG;1 zDHa{wz!=3sjDq<5yqnAE6LWKWy9engo~{?JUc2_o*Iv7J_1etzbQ1IkD8n>t%K)jk zQXBv<{J#)jq6ukenrWI`3IGKNVL+5zP0B1|8IeMAF&u`2QMh+9-0SomL%%p%*L5RJ zShL;#;Os2*vozzDYcVdR1VRxIMdm-DW5)a-GgQpS}?HOe)F%U&^W>y=6g%edV>5mHu+m?*9kjp9ly zU}0s(bTr2{hNJA~AMP5anPwxFCH*M0iv?pe1SOcn#BwZ@X__`xERMTwC8vX~Cs`JR zVWJdc7-K}KR7%xqHP^O@lv0QwO?$(j-5xA1PHK+5wfV>-=Ja!Leggp}Is(OoX_*9*R3=dx+Llu^3zltDUHjz01J`la z7Uo8M|H1m+rAxEa|*tWlW_h2F1A? z`q5D{zWeAP$ubYp$;ruLq0$?L>%&o}(H)M$ObXjFFvfl=B~o75LjXAO3N9L;BxJDy3nTN)nKUh7eX5Q>kbgC$@$V z;((+_)oN8~R4JrYD|K&T38*f3+G_P)`}F9%A6KiT$5skc`P@OH>9+?&h_QJu&*2yT!n*GQy^<2*5 zoZFV(3<6Ceia|3>ZF0K7qS3~~7uTvcpSU?wG{>u@Zh!R4cQ=Q_pg{Pl6V4S-(O~bK zk{>_PxL}xKg%J}90Rn}kl7J*2MWrT@jMGFXgew%M90O2{Kp}*bQt$<|QZ7(}6(9g5 zF*bBfN}gs6(|?e0i9u4%5G9BrDWys9N=4Lis8p$}EY77`>39%tpSFJX)&nL905){| zpZw9|3!bZpA&IrSyLWf@c;}>{Ffu?@yj-=IFL+KI$4r6(q(JqeLD_SOgleId%NYO) zV?qcfluC^@o9)qPD1_KNX@P|2Zd`lp^73b&f4a83n2Ge0d-uNn%rgW)DP_C);c$3x zxPM{!0zxR00uh7(q!hZQ=Za!-UP+b}dB8HdevlT6*NLVfgFZTK47$gUE#%`ELYCiY zH!si3)+-gpvMgmp(=?qT1WIPZ;XoopZJQ8Wv~vf$hkFP6Yl|~NiZo+DDMmQ!54(f- z^}COTLBxe{OzqO@0)n(NlJ_1yLb~zjuvN&pk;txGnA>YKRVEEeghYLegcMIbvHZK& zry^1*LR`sN-TvU!x7VX6uF+`TN`;VfMHq4VH|wO&xvuF_iIjunN+~220G0?T%&8(O ziX#GqNy#OEQaZt)Fn|J30Dvx!RS`l|qX>W!JT+eM`)5Zzh!{rz7DYJ|l*Fk5KvF7# zF)8cp=}W~MS1)2pKig@%arfW^sHSPdlm69(snrSR@>KnN*zdIaG7*Mp+}%CxhcP19 z(P+iXl?tw|qa;Z&HV`8He$U98Cc=5!trRPSa6+hMnS>Bs*V}{PS>s$Pi2$}vTZU%d zTv@(!q2BNJr>3S~fAftjjAj<*pS*Z6Wf{f{6Ov`Tao(*}s)|x61%P5GnVOlqa<#<8 zXVGw=`}pW^v~`l*xcNItni;m$Xdlg4y9Fmm8CpLcf7oQJlT!uPrBu^2${3eQWm(2W zBm~zC)6BUDkPbw{^!6ur@+B|tdQu9(g|2JaAdne*cl&f>{|o>mPbcf8*_pBaNba9D z_fOB-K9f>ngI21AJk>g*z@ob3aAjd^b>+h3RKan1J25J{qJr-ppZ@f{dltbjU!A-{ z4>QIwV4sxtMIGl&DW&fxjHAQT?rA$nGm#0FWDE-e6rwohOaVf=M#GpIfKEVooOB4FY08eqFFk@z;=D57#aDLiL!oh$jNi{9j^+vN#6tXEU*)*5S+qOZeN-J~2|=(#%f&n)SV{!|l;F8>4_#>jxcB_w- z(f}wz5}=)BoFju!o06ifxvpp1hOR-H;nrXPpz5U(Lh1PUxM^7kRM92?Iw4rofDqDb z^;yQL{sp6-q}_JUQuxM=HBHyvzx~rYyiB~>b=LtGNZzrv1+u%Q!cWThTk8p4Vzmr&+qT zvKA$AKOQ)mLl99)WinQvkOB=Ogn%)Q5iXU>_qO-*j#KkoqEbqz(6lT|5$C_Y{qW&Y zR|v^D(+&ORh1FiKchu`YJZd_Q8z+gT8<--`G5^&+`Q6EC0a-kX<0y>$Aj}vt9DTnV ze0mxeuP$9kA}i|U97%{~0wsVM&sdfX{S+%{AqfBp)@{#mZObm?{DFUT-h1=T?x!24 zDHl=!=K=t1O+$bY0!jca7IIVdT$YJ;Kf)NQd3$BLyw~*Gqqs)1l`#SU2;+#U^{%ie zSzBA-h`sa4F2XP~T}YD5(Wo4a`u#vz1`vV(G^vOJf>9<#Hx?9wL9k=!dDC!R*Rl*v z!)NUQmA83r|kfD`DiTF92AkS*eV*qElNRtUUcS*8QM+c7`?Uv=N*i>eL&* z_i$@&e)x^J(aUA(edm>J6rdacvr^HHzc z>2hC~nx&))MiFGmbeUK>GKkvfkP*X{p)Jqmm*%D~ug*$E-uZ0*2fw^C3}Ydc1f*lE z69Q5yQ0VIPgh}DzT;aiff9NMAPk-{l_%LI;XTHJXi9G0elZ}!_teOEcZNu}tkr0h` zS5xrp+-#BtCykCG_zN5XAf!u$0D}U7pdU*il&xhNC9Z9In(n%;Wty4bo2REMQ#FGi z(=aB=WrVSA>2}@@!+;2B8G0dKU`!y42*y$hLTJQ|H-7yNDD~p=PdTphH{bse)9g~Y z9CSKge&WVgp1j!W4>{)qAxi03A)A`_4K0N7EqS)p?+xDlaNn&yzOcG-aC#;QzIJJ$ zb|J%Ak2g;{o9B1$Z|)823oAEABOkzMcRE>`Ja+3A=b~}m$XI5ZmP0iFP*{Nm|3C;O zC4iC`H&2?iLLqNa`~}kjjMFqhDt`U;#)GY6Axr>3pw{Lm!c=qy!NcRGK$@jnfAE#- z*RRjFdcAtBHeV^X+wDfD*BAwzPW$1;QLR?-JZ;qOM4p{LcH!)8m4x zNBeCS^u~;gOVBBthj8qpm`mWCf|?!kp1pZ_?ZWb-v(x|e@80YAF_)lWY*S52juApv z7Ur@vnJF7rmM4Dv_9i9x`fR0Ew!0DAJnE_}wJfU3bdaf-3tx%aSWPL_YIT15)@tW? z*zLCSB|Bn}Wf{UqV;le!BA_6avKt|cm1}UFQbX7ChMCLdB&faSxocW;V?~0YQmNR4 zYP#m;9i-!4uWJ!nuhx_jN@0xAKL9XHv(fW+_x8ge$`=ds^YcIY@lQ27S1gs%;qdB( zxqtKrFAfI2AB3Q!XAWjc4TOB%HLSI7ZGXJ^cmMX^z4Y~$r)RJ493HPOr@3*nwY8Zm z6Q@#X9c4fI+xu~xlqXgemoFY191e!DrfHq_*~;q7)YQ~yn2da1aN%HzF$SVQM^vN0 zgi=CDg$@1u_*@6bJCtBz<%+tgCrOG_bU4Ufd;LQ{P@Hp0{y{#UXN)zYj%AzNlfv|!q|R0-a2dxArmZoP-zl77%Pw@mU&BGnl2GTcU>#ZvNYq2 zF(uG&I8st#Avw@dDts;s0v1uWp*yDLnwD-DXZ?Ycd~s?_le}Ck+O9(l>^Qb%+Hnwf zyPc`Yv2vl1vJ8|?sKQ7IsWjVece`nlb$k7f?;U^h8(;hRD?g)%6bc2FCeyXTU;N3p zOjGBa%k&$hOXPe*y(n3<`ccaLsdzo8_OoM&+qGp13^u??L_P%6zN=MrOtF&>S=lSXH` zY$++ta>32#IcHgx_PG-MaGk@7&)!?DVr3SBtkwyN`(NF0x6MFz!^hXmMEbhC_&hM^FGU`(*axcL0h!E(XUg~SEBRIMU};xzF) zLrL|!hew~>-eDMPx*kQ5isS3oudnayl_u*qmn#-V1c7N;wW-;`V34H=QBnw*uy|%} zR!O1K6d{m+6G4J7%yiAk7Z6A^Z1_PiQK{t(tJUq_**dwieKrbGf>7R2sQ{m0F3`$M ztt7?W`;U5-5i&3dF$h6`(4~4+DMg6!w6o#R zF^utQC1*g{%UOnQSSGcJb+KF#7O`B%vF#{MWhPEq9mwTh{rUUDG-FZ{ zjKg04(#5q{!bzw3yI;OyQK*;8QIZ^;cXh*@o0#wj*V5A7&~)fos0bz| zr34}LrHgaz)&L=VY1;df)hJ=A5$gv7y(OqOQ@{H3t$X(#e0+Pe-yhUm`wwnhSe&Zw zw>zzFM+n($jfRn6QXzx@KuQV!9%>DuR7gs(g^{NrUDrU@2T_Co=F5d*(Y0;c(+$fp z?7VFuaNOeV{#lf?&N8`(1m}#aowMdxzECu=MzHNTqa@J{vvJ-D1L^z0dmE1eCQQRmIm!DsoDis~m^?iSCer{%F`rzO+3=#<-P#7l3pg-(%Vo;6pF>R0PN0$$Fb>ts*x1ry$;-u?JDqmt=B0}jU0ax*97f&E zlXe)!?Y7_Og;A19DGN|JuZS8guWO>gXuU1UU(lOdU?Ob1*Emley%hDv_oHNdQ{T>qH z!t5*|TnNFq3}W6M4ldNoND0%lMro?+I^$~n!OrB=)N3CjB$dN#>NV+<=UD6$k|rD=rNhi*2nku z8-tO5>FUK|PG$*e_xh$~=L}OwL3Q296&lBlH{SX%PFQ`so~GH@*cgw4XBWl{tdtPt zx?Z1G8fzj<-~6b{(9ETavs86G?;InQ!(4%Cb(3Fw5R_}P)6**y>loxHNlwoiL6i`U|WZ{PmppgBUoDTdjJx~6NjvN!O<)7IdLYZslIgAuSaPFW^|81@I2rdLZI zV>}3>VxfF@d;9wAq=tb~EkY0{Q6X2_J2(x3w4aF&?{4XuW)ix2+Wp2?Zw$jAh~od~ zyD!yi)qJkh>h^}C;nvp9@zEJ3q);l9%T|)0b|;9FgmIC?*ZAg)hOP0r1qd8iMZVMH)-_xF$PY>a5-vgf&zlM87S5s_#bJw0uAhf%8+D5b`V zwMw!4#+z^Ugg_V*Bwdq~%Vpisa)n%{)xiPGUYxDg3I>r`$^bwrlq8%8{)N$SI9{LF zK03@xFb!13yjDk)NHMw9av)3dW0t9dq7ES#A>9DL?6uDuAAY`_q};L1 zVZa>A2!qfxbx&8G>yAbt<1ju~pDq+Voy0-kDin$(HwcCo*DiIt?ahtjg{9dmmuKUC zblf@*qG)Dnnkt15ay+k8DIeTBJ~-ZM4Tk+Nt=4K27QK`wpc_e=K#~~wX!^Q!dZ=yg zXEW1F*RP9QK26#UouD|Cue=?EQM7XLs-3SlnvEdH)|Qtb4GAUPu7B3-4I&=+e$L8W zxp?vKe*E`+sW8R}DL@<{1d7(GV}(LNbh}X;U3qeCYNEtAmr5#$gdmiVFbtdLjqyq) zMd+hnzxmkBo3>-Sn$d2z4cj8R`SHhF)6>PyD0uJlZPT(^v7kiG*Yf*~;eYxUFWZzp z+HY>{pMg?2&mOPjIp=AnltNMnfHVV@FBDzZ5rS`Q>>nL97*n=ojYcD-6t=8*YCMrB zJ!pzFLjXCQtktYi!8whyPad|pP>zl%hKLI$m6U)HLBINExgYElwmPUi424bxK`3-h zE97XWQ?lsA$#Evcpg(XNXL(^-u`o_jAi#x`LYX?X9VeeJP@za&ZVGxdu=L|#7<-EzssRx@o`=^5!p1v|RRtfyz z!TN)8xjZ#FCE^$X^747jGTVDcg=i$DI%svnN_jl*+DeuP^>VqB{XIZT_h{ryhNGct zIhgdH__B?C6%L}0Za>V(>caej0x6ODLc7)XhyK#Sysqm>n%&zy1fYXne|3H)PWd~x z?;#D+Farb<3tefNj!o0Zd7fw6NgT&XT%V}S&o3BQVkIR2HYg$FvwQcbW?WfV`pK`} z&AHCil^IJnPtMM?FX(y@q({xp+Va8=UVSGKGE>MOh2MPnnT^ej-~Z-Un`fGSw(Z!qgD^^ysMYQq9=Cva(-UI|%l)HHzdsa03c<6CMM+Ew`BA9SFvS=H zr5Z|$mIi=zjDs{oBAM`D+EW`Hwb3IP7fLGhe|^vU{(bvspkk$lIWrkXd>9cSEE7*v zyt1kJX{s|`u9OR&gB3>rqcn|@R0>|mnXc;&hGDA{bUMTF=~}f`yZ>OPRvXW<^rX?W zJ;yT?Lx?jrKRz*6Dss#_y`DzR@p0QQ&AGWb&-FfC-#+bxFFdj8*zPD8JzRfqh&8Qquw8V#^Ym~K z0|KC6V{3e(ECf?ZdAS?_NFn?EUdFQPS60TV6;0O^;*^rlA3WSYJpG+7ed&$c8~slE zxmzo??VdFn`Ft*m6U(;W{P@AMk6r%w!S2RU17UJ@*8cXlUyh^BM6Gsuc+NRB3<(OV zmE81L-Y^W?c1+Vi0DcfK#(h7#bMLS}92E+Agm9XsaguV*0aU-=Pt!EUMw}?UQYMAG z-fJN)nUGjQ-iB#A)+qLLp4a97ai7FY2`SOP{MO1l_ecF8iK!+ga;z8e&d5Z_b!pMj zB}>Y-UGY4_G>4;6lB9xjNeLh*wDJAm@Gdnx` zgW)jeRl_(Q_<`wI24Wl`jnaz?izSWrgMP2yH%)tLDqkC`E-zj1Jok-vKW_A*XRa+M z3Ef^N3WFQhZ%|63{r~~Eg*?&q&f%fiYUukU9@crBL!Fh07V8yIAz&+uNN^E1aX#1!_W(s_QA(@ z0%@8SmWj$Z1EQ#)6BCs}$x~8EDG?yS1f&V8G>jlg|IH77^6b@1 zTPMTggM%BZ({poEtxmUEEQG^=5VC&U*K|5JS^GaEaxrgepp-&NVT^T6H#EwbKng~~_|f6n{#jqsbc`{=I7yN$%Z7u29|Y2}qf|=W z^G3L5BptyY*M7$Hs9HA*fnjOSeE{d>D{oD>Q<&aGUiECt z8bmydW6v{$5CBlHtc!DV2;rSakJ2<8uUE?D(!%2O>dJy{&^LemX&43*lT)GZhhbE$ z<(_%+@zKy9b~^x2C=^WHYIO#1uw9!PuRr%C$FV1;rV&Ufq*4HwBvEL1?&lwT@bjPl z;?lxmV|#mPVL@qnZ#W3TfDvMvmTOyO$0L*|A~!#OFwhO_(}zc2efruDU;Q9Sl1`Y-t}L#N8>ycYRW zKI`<(hM`ibY~Y+_j@4?b*kpj87+4}tR1Iw}jp)d@F!=bKegW)g(076ry z7}g}h6r(A}>iS9FkCv+5RNh$ex*s>uXDt8)N=WqL^Ow%Yt9~~~?;o0&BZPqSylG67 z-Qm!m9j}y4dT`nflY|mNH4Q+m&DO^2)!oy+Q!95mo%7Sv=bwEli3gwDZ`|KInH%#6 z#(t{eG<6(JN=Y!jP_LJZ#a6p>dU|RYWO{nsaqK6ayfHO3hCzJr;YPRHwH;dunWb5! z>OJ%HlLTYJ#c()`lf-lLCueP|ee&X;eb>8k75P3W041f63IJmyr36eKJ$(4rfBn~w zUB7X>x9bl_msVCOA-#UT)A#8=z`BME-Ed4((=;-0XLaoOyL-?(WupdoVg} zwh$&55h@g7A^?y|5sc>NYDH>h0Em!`WuYH%ge}*hn569v%Q9lyL&iFtF2-6MCzZ1M z2QQBux1w%O6y34mVCdQQhxd=a^2Ehfclgfj`=c~X5xn^LvTNidNNi}IZyyhaql^nC z;0vaP5GW1f*3azb97ry$q-yZnyu2an53!Kf=$_Au`V$s%Uzj@w| zGlGduu@Y)|u6pb8f<|x`}Arz(}%`(R^lu}r! zYl{npMmM+i<2Wc3yvd0%+o3maUe_p0PL99(-rZiWr)e4h2resC_nD`k&@~DyIX*e( zLe;8cr;QdrJ^0SQ_)D!=L{cFDP)bS#Ur>NB0K%PS^RNEuuM`)HQ_~-O{L%94?ELJk zrs-ZCtL0Q;qjTDB$%3-rYQg^L>NV&Sqcy+us|U|u4g{= z)Y`?h1sfreu}8bDS6_WkQJt|Yieo}_0L-|EIS&!lDJ>QAeW}DK6iFtPG)xUEh%&AK z5C8~;CdccRp~)4?0y?Nv2uikh+j$%!tQV6A>TybyRyym(#=l#Q@UXqBpxw&4ifB4|uKl<~3R+*cJ zG=u*?g#woR>Sw>WcjuGKi;EBU_6M!j{M_vP+`QrC(kwe~H#>uYRMOT>in03lB^I89T_vD)qK`f+=#=wKmLswkyQvP>!_!L`kqnX*L*P6VY|qGS*!sT4)qMhIh! z0MPnwqf%G@#eeoacJR?4X)}&K``id4ce}YYU!6Z~v{MAX^Zd2H{`=RvG4ChQvsY&K z&YE5^KR-8nYxRO@T1pDec(>EJf6&=GIvos#NyZGrpp+s6hDpEom1kxu`6NlUw;%oT zgZq+bQ4}W$SQeH@#ZtxsOlmHd-MwKPrV=#Df*4^$0VOO`2-_5%nUrW^tfq5;r33_E zfRZw2>k~PF%X`1@2uRnWvdK%*xVTdArc-WYpoIY!uMHzc_{rtiD zPR=oFMeEv1T?%<`^H`XsMPTEbad9}EG;e(O4dL6@cNA#U;5VXV$MOq{};lkh|8=U^sAGXK7}(R;{^)DUzt&=`;sJAcRn&l+txQ=jH~3L8~>?bkKB) z34P=CPQfO&rlAZm&NT`GR4RZ8={WYnbj4CgDNvf0DLD)S87HN3nP416$@zKjzx;3i zdEJRdTko{f)>$KIoYyj*yR-dC-5W>L+&ww|=5tp*Tt9qxc-o2Lxry@EF3n%Re1!>7 zo}JQ7n@VADo@K1h#c8W`dUm#V)PA^sG74kMvXUh6l=a=;dVF@W!qW7YAFsdr!5!Oi zqDbmGAPr{#82|>uHB5qFlqy;;ae}kM22WBZg+l0=N%@UMiJqJtYo?qag%qL+85Ytt zv^<`3bkyxeY04QBg7ZSbxO!=EcC1JN%DG|`hG7&}>NVZa(>Ti{{_p~lv-&LKKtxrzk1{SG)WCZ zS4uGk<+43FIkvPkk1>nm?DX{9GIPaZad&%@Qu4ij@z2dHgWr&V00;tsKnV#6CHoH^ z+1cGV*)L9r~Pzr!bG*B18?FB?3wEK_onrkUrtn&Bu&ESp1bw>oA0xX8HOH3aU9FJ`AWH* zo1K|0m+drVgT8;-XfG`;9UkmA8fSm?S*J?G(GlL))_&|6QY!≥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 B+SUL7 literal 0 HcmV?d00001 diff --git a/assets/resource/pipeline/activity/RevivalTheUluruGames.json b/assets/resource/pipeline/activity/RevivalTheUluruGames.json new file mode 100644 index 0000000..1805eea --- /dev/null +++ b/assets/resource/pipeline/activity/RevivalTheUluruGames.json @@ -0,0 +1,35 @@ +{ + "RevivalTheUluruGames": { + "next": [ + "RevivalTheUluruGamesEnterTheShow", + "Sub_StartUp" + ] + }, + "RevivalTheUluruGamesEnterTheShow": { + "recognition": "TemplateMatch", + "template": "Combat/Activity/RevivalTheUluruGamesEnterTheShow.png", + "roi": [ + 940, + 144, + 244, + 146 + ], + "action": "Click", + "post_wait_freezes": 1, + "next": [ + "RevivalTheUluruGamesMainChapter" + ] + }, + "RevivalTheUluruGamesMainChapter": { + "recognition": "TemplateMatch", + "template": "Combat/Activity/RevivalTheUluruGamesMainChapter.png", + "roi": [ + 1024, + 445, + 206, + 154 + ], + "action": "Click", + "next": "SwipeLeftAndFindStage" + } +} \ No newline at end of file diff --git a/source/cli/main.cpp b/source/cli/main.cpp index afb5feb..8871398 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -148,9 +148,9 @@ json::value combat_param(int index) auto& eat_candy_within_24h_doc = diff["EatCandyWithin24H"]["doc"]; all_in = false; - all_in_doc = "刷活性;默认false"; + all_in_doc = "刷完全部活性(体力);默认false"; eat_candy_within_24h = false; - eat_candy_within_24h_doc = "无限吃24小时内过期的糖;默认false,前置条件:开启刷活性"; + eat_candy_within_24h_doc = "无限吃24小时内过期的糖;默认false,前置条件:开启刷完全部活性"; switch (index) { case 5: From b23ee95184d31710061452533ee19659ad918996 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 2 Dec 2023 16:14:52 +0800 Subject: [PATCH 18/19] =?UTF-8?q?feat:=20MaaY=E7=9A=84=E5=8C=85=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=A4=8D=E7=8E=B0=E6=AC=A1=E6=95=B0=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/.maay/control.json | 146 ++++++++++++++++++++++++-------------- 1 file changed, 92 insertions(+), 54 deletions(-) diff --git a/assets/.maay/control.json b/assets/.maay/control.json index a0c483e..05c138b 100644 --- a/assets/.maay/control.json +++ b/assets/.maay/control.json @@ -16,9 +16,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_Hard" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -34,9 +31,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_Hard" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -52,9 +46,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_Hard" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -70,9 +61,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_Hard" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -88,9 +76,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_Hard" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -106,9 +91,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_Hard" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -124,9 +106,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -142,9 +121,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -160,9 +136,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -178,9 +151,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -196,9 +166,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -214,9 +181,6 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, - "SetReplaysTimes": { - "text": "1" } } }, @@ -232,25 +196,69 @@ }, "StageDifficulty": { "next": "StageDifficulty_None" - }, + } + } + } + ] + }, + "combat_times": { + "name": "复现次数", + "type": "select_string", + "default": "x1", + "case": [ + { + "name": "x1", + "value": "x1", + "provide": { "SetReplaysTimes": { "text": "1" } } + }, + { + "name": "x2", + "value": "x2", + "provide": { + "SetReplaysTimes": { + "text": "2" + } + } + }, + { + "name": "x3", + "value": "x3", + "provide": { + "SetReplaysTimes": { + "text": "3" + } + } + }, + { + "name": "x4", + "value": "x4", + "provide": { + "SetReplaysTimes": { + "text": "4" + } + } } ] }, "all_in": { - "name": "刷活性", + "name": "刷完全部活性(体力)", "type": "checkbox", "default": false, - "inject": ["AllIn.enabled"] + "inject": [ + "AllIn.enabled" + ] }, "eat_candy_within_24h": { "name": "无限吃24小时内过期的糖", "type": "checkbox", "default": false, - "inject": ["EatCandyWithin24H.enabled"], + "inject": [ + "EatCandyWithin24H.enabled" + ], "__comment": "目前没想好怎么配置validator" }, "server": { @@ -286,7 +294,9 @@ } }, "global": { - "option": ["server"] + "option": [ + "server" + ] }, "entry": [ { @@ -312,12 +322,21 @@ { "name": "作战", "task": "Combat", - "option": ["stage", "all_in", "eat_candy_within_24h"] + "option": [ + "stage", + "combat_times", + "all_in", + "eat_candy_within_24h" + ] }, { "name": "活动:绿湖噩梦 17 艰难(活动已结束)", "task": "ANightmareAtGreenLake", - "option": ["all_in", "eat_candy_within_24h"], + "option": [ + "combat_times", + "all_in", + "eat_candy_within_24h" + ], "provide": { "EnterTheShow": { "next": "ANightmareAtGreenLake" @@ -327,16 +346,17 @@ }, "StageDifficulty": { "next": "ActivityStageDifficulty" - }, - "SetReplaysTimes": { - "text": "1" } } }, { "name": "活动:行至摩卢旁卡 16 艰难(活动已结束)", "task": "JourneytoMorPankh", - "option": ["all_in", "eat_candy_within_24h"], + "option": [ + "combat_times", + "all_in", + "eat_candy_within_24h" + ], "provide": { "EnterTheShow": { "next": "JourneytoMorPankh" @@ -346,16 +366,17 @@ }, "StageDifficulty": { "next": "ActivityStageDifficulty" - }, - "SetReplaysTimes": { - "text": "1" } } }, { "name": "活动:洞穴的囚徒 证明启示 05(活动已结束)", "task": "dummyThePrisonerintheCave", - "option": ["all_in", "eat_candy_within_24h"], + "option": [ + "combat_times", + "all_in", + "eat_candy_within_24h" + ], "provide": { "EnterTheShow": { "next": "dummyThePrisonerintheCave" @@ -365,11 +386,28 @@ }, "StageDifficulty": { "next": "dummyStageDifficulty_None" + } + } + }, + { + "name": "活动:复兴乌卢鲁运动会 13 艰难", + "task": "RevivalTheUluruGames", + "option": [ + "combat_times", + "all_in", + "eat_candy_within_24h" + ], + "provide": { + "EnterTheShow": { + "next": "RevivalTheUluruGames" }, - "SetReplaysTimes": { - "text": "1" + "TargetStageName": { + "text": "13" + }, + "StageDifficulty": { + "next": "ActivityStageDifficulty" } } } ] -} +} \ No newline at end of file From e1c6372a05f0e8cc88ab54c62590185910096788 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 2 Dec 2023 18:23:57 +0800 Subject: [PATCH 19/19] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=20`=E5=A4=8D=E5=85=B4=E4=B9=8C=E5=8D=A2=E9=B2=81?= =?UTF-8?q?=E8=BF=90=E5=8A=A8=E4=BC=9A`=20CLI=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/.maay/control.json | 2 +- source/cli/main.cpp | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/assets/.maay/control.json b/assets/.maay/control.json index 05c138b..528498a 100644 --- a/assets/.maay/control.json +++ b/assets/.maay/control.json @@ -371,7 +371,7 @@ }, { "name": "活动:洞穴的囚徒 证明启示 05(活动已结束)", - "task": "dummyThePrisonerintheCave", + "task": "ThePrisonerintheCave", "option": [ "combat_times", "all_in", diff --git a/source/cli/main.cpp b/source/cli/main.cpp index 8871398..9365736 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -271,6 +271,14 @@ json::value combat_param(int index) difficulty = "dummyStageDifficulty_None"; times = "1"; break; + + case 21: + //"21. 活动:复兴乌卢鲁运动会 13 艰难\n" + chapter = "RevivalTheUluruGames"; + stage = "13"; + difficulty = "ActivityStageDifficulty"; + times = "1"; + break; } return param; @@ -380,7 +388,8 @@ bool proc_argv(int argc, char** argv, bool& debug, std::string& adb, std::string "17. 荒兽之野 06(洞悉 兽)\n" "18. 活动:绿湖噩梦 17 艰难(活动已结束)\n" "19. 活动:行至摩卢旁卡 16 艰难(活动已结束)\n" - "20. 活动:洞穴的囚徒 证明启示 05(活动已结束)\n") + "20. 活动:洞穴的囚徒 证明启示 05(活动已结束)\n" + "21. 活动:复兴乌卢鲁运动会 13 艰难\n") << std::endl << std::endl << utf8_to_crt("请输入要执行的任务序号,可自定义顺序,以空格分隔,例如 1 2 4 12 3: ") << std::endl; @@ -450,6 +459,11 @@ bool proc_argv(int argc, char** argv, bool& debug, std::string& adb, std::string task_obj.param = combat_param(id); break; + case 21: + task_obj.type = "RevivalTheUluruGames"; + task_obj.param = combat_param(id); + break; + default: std::cout << "Unknown task: " << id << std::endl; return false;