From 90f3bb549b4297739dc7baebca861d3f4c73be39 Mon Sep 17 00:00:00 2001 From: mno <718135749@qq.com> Date: Tue, 20 Jan 2026 14:21:07 +0800 Subject: [PATCH] =?UTF-8?q?js=EF=BC=9AAAA=E7=8B=97=E7=B2=AE=E6=89=B9?= =?UTF-8?q?=E5=8F=91=20(#2741)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * js:AAA狗粮批发 将ocr识别摩拉和狗粮经验替换为模板匹配数字识别 * js:联机团购同步修改狗粮获取识别,并新增摩拉收入统计 * js:狗粮批发 移除无用模板图片 * js:锄地一条龙 删除重复路线 * Update main.js * js:锄地一条龙 为部分路线添加环境伤害tag 移除飞萤路线的高危tag --- .../assets/RecognitionObject/0P.png | Bin 1789 -> 0 bytes .../assets/RecognitionObject/1P.png | Bin 1204 -> 0 bytes .../assets/RecognitionObject/2P.png | Bin 888 -> 0 bytes .../assets/RecognitionObject/2pInBigMap.png | Bin 1211 -> 0 bytes .../assets/RecognitionObject/3P.png | Bin 971 -> 0 bytes .../assets/RecognitionObject/3pInBigMap.png | Bin 1203 -> 0 bytes .../assets/RecognitionObject/4P.png | Bin 1363 -> 0 bytes .../assets/RecognitionObject/4pInBigMap.png | Bin 1143 -> 0 bytes .../RecognitionObject/CharacterMenu.png | Bin 847 -> 0 bytes .../assets/RecognitionObject/allowEnter.png | Bin 5373 -> 0 bytes .../assets/RecognitionObject/mora.png | Bin 0 -> 2414 bytes .../assets/RecognitionObject/renwu.png | Bin 0 -> 2133 bytes .../assets/RecognitionObject/yUI.png | Bin 12648 -> 0 bytes .../RecognitionObject/yangchengdaoju.png | Bin 0 -> 2966 bytes .../assets/分解可获得经验数字/0.png | Bin 0 -> 564 bytes .../assets/分解可获得经验数字/1.png | Bin 0 -> 365 bytes .../assets/分解可获得经验数字/2.png | Bin 0 -> 514 bytes .../assets/分解可获得经验数字/3.png | Bin 0 -> 459 bytes .../assets/分解可获得经验数字/4.png | Bin 0 -> 441 bytes .../assets/分解可获得经验数字/5.png | Bin 0 -> 447 bytes .../assets/分解可获得经验数字/6.png | Bin 0 -> 472 bytes .../assets/分解可获得经验数字/7.png | Bin 0 -> 403 bytes .../assets/分解可获得经验数字/8.png | Bin 0 -> 541 bytes .../assets/分解可获得经验数字/9.png | Bin 0 -> 443 bytes .../assets/分解数量数字/0.png | Bin 0 -> 602 bytes .../assets/分解数量数字/1.png | Bin 0 -> 217 bytes .../assets/分解数量数字/2.png | Bin 0 -> 457 bytes .../assets/分解数量数字/3.png | Bin 0 -> 497 bytes .../assets/分解数量数字/4.png | Bin 0 -> 438 bytes .../assets/分解数量数字/5.png | Bin 0 -> 542 bytes .../assets/分解数量数字/6.png | Bin 0 -> 506 bytes .../assets/分解数量数字/7.png | Bin 0 -> 393 bytes .../assets/分解数量数字/8.png | Bin 0 -> 469 bytes .../assets/分解数量数字/9.png | Bin 0 -> 459 bytes .../assets/已储存经验数字/0.png | Bin 0 -> 703 bytes .../assets/已储存经验数字/1.png | Bin 0 -> 423 bytes .../assets/已储存经验数字/2.png | Bin 0 -> 609 bytes .../assets/已储存经验数字/3.png | Bin 0 -> 683 bytes .../assets/已储存经验数字/4.png | Bin 0 -> 557 bytes .../assets/已储存经验数字/5.png | Bin 0 -> 569 bytes .../assets/已储存经验数字/6.png | Bin 0 -> 652 bytes .../assets/已储存经验数字/7.png | Bin 0 -> 439 bytes .../assets/已储存经验数字/8.png | Bin 0 -> 693 bytes .../assets/已储存经验数字/9.png | Bin 0 -> 654 bytes .../assets/背包摩拉数字/0.png | Bin 0 -> 616 bytes .../assets/背包摩拉数字/1.png | Bin 0 -> 259 bytes .../assets/背包摩拉数字/2.png | Bin 0 -> 534 bytes .../assets/背包摩拉数字/3.png | Bin 0 -> 523 bytes .../assets/背包摩拉数字/4.png | Bin 0 -> 467 bytes .../assets/背包摩拉数字/5.png | Bin 0 -> 529 bytes .../assets/背包摩拉数字/6.png | Bin 0 -> 579 bytes .../assets/背包摩拉数字/7.png | Bin 0 -> 406 bytes .../assets/背包摩拉数字/8.png | Bin 0 -> 594 bytes .../assets/背包摩拉数字/9.png | Bin 0 -> 526 bytes repo/js/AAA-Artifacts-Bulk-Supply/main.js | 352 +++++++++--------- .../AAA-Artifacts-Bulk-Supply/manifest.json | 2 +- .../RecognitionObject/CharacterMenu.png | Bin 847 -> 0 bytes .../assets/RecognitionObject/doDecompose.png | Bin 8900 -> 0 bytes .../assets/RecognitionObject/doDecompose2.png | Bin 7086 -> 0 bytes .../assets/RecognitionObject/mora.png | Bin 0 -> 2414 bytes .../assets/RecognitionObject/renwu.png | Bin 0 -> 2133 bytes .../assets/RecognitionObject/revival.png | Bin 0 -> 8468 bytes .../assets/RecognitionObject/revival1.png | Bin 0 -> 4583 bytes .../RecognitionObject/yangchengdaoju.png | Bin 0 -> 2966 bytes .../assets/分解可获得经验数字/0.png | Bin 0 -> 564 bytes .../assets/分解可获得经验数字/1.png | Bin 0 -> 365 bytes .../assets/分解可获得经验数字/2.png | Bin 0 -> 514 bytes .../assets/分解可获得经验数字/3.png | Bin 0 -> 459 bytes .../assets/分解可获得经验数字/4.png | Bin 0 -> 441 bytes .../assets/分解可获得经验数字/5.png | Bin 0 -> 447 bytes .../assets/分解可获得经验数字/6.png | Bin 0 -> 472 bytes .../assets/分解可获得经验数字/7.png | Bin 0 -> 403 bytes .../assets/分解可获得经验数字/8.png | Bin 0 -> 541 bytes .../assets/分解可获得经验数字/9.png | Bin 0 -> 443 bytes .../assets/分解数量数字/0.png | Bin 0 -> 602 bytes .../assets/分解数量数字/1.png | Bin 0 -> 217 bytes .../assets/分解数量数字/2.png | Bin 0 -> 457 bytes .../assets/分解数量数字/3.png | Bin 0 -> 497 bytes .../assets/分解数量数字/4.png | Bin 0 -> 438 bytes .../assets/分解数量数字/5.png | Bin 0 -> 542 bytes .../assets/分解数量数字/6.png | Bin 0 -> 506 bytes .../assets/分解数量数字/7.png | Bin 0 -> 393 bytes .../assets/分解数量数字/8.png | Bin 0 -> 469 bytes .../assets/分解数量数字/9.png | Bin 0 -> 459 bytes .../assets/已储存经验数字/0.png | Bin 0 -> 703 bytes .../assets/已储存经验数字/1.png | Bin 0 -> 423 bytes .../assets/已储存经验数字/2.png | Bin 0 -> 609 bytes .../assets/已储存经验数字/3.png | Bin 0 -> 683 bytes .../assets/已储存经验数字/4.png | Bin 0 -> 557 bytes .../assets/已储存经验数字/5.png | Bin 0 -> 569 bytes .../assets/已储存经验数字/6.png | Bin 0 -> 652 bytes .../assets/已储存经验数字/7.png | Bin 0 -> 439 bytes .../assets/已储存经验数字/8.png | Bin 0 -> 693 bytes .../assets/已储存经验数字/9.png | Bin 0 -> 654 bytes .../assets/背包摩拉数字/0.png | Bin 0 -> 616 bytes .../assets/背包摩拉数字/1.png | Bin 0 -> 259 bytes .../assets/背包摩拉数字/2.png | Bin 0 -> 534 bytes .../assets/背包摩拉数字/3.png | Bin 0 -> 523 bytes .../assets/背包摩拉数字/4.png | Bin 0 -> 467 bytes .../assets/背包摩拉数字/5.png | Bin 0 -> 529 bytes .../assets/背包摩拉数字/6.png | Bin 0 -> 579 bytes .../assets/背包摩拉数字/7.png | Bin 0 -> 406 bytes .../assets/背包摩拉数字/8.png | Bin 0 -> 594 bytes .../assets/背包摩拉数字/9.png | Bin 0 -> 526 bytes repo/js/ArtifactsGroupPurchasing/main.js | 312 +++++++++------- .../js/ArtifactsGroupPurchasing/manifest.json | 2 +- repo/js/AutoHoeingOneDragon/README.md | 2 +- repo/js/AutoHoeingOneDragon/manifest.json | 2 +- .../1-精英/101蒙德雪山(600_1,200_1).json | 4 +- .../0-汐酱/1-精英/102蒙德雪山(600_1).json | 3 + .../1-精英/103蒙德雪山(600_2,200_4).json | 4 +- .../1-精英/733挪德卡莱苦壑崖北(200_5).json | 4 +- .../1-精英/734挪德卡莱苦壑崖西南(200_7).json | 4 +- .../1-精英/735挪德卡莱苦壑崖西(200_10).json | 4 +- .../0-飞萤/A01-蒙德-龙脊雪山-眠龙谷-北-3只.json | 4 +- .../0-飞萤/A02-蒙德-龙脊雪山-覆雪之路-2只.json | 4 +- .../A03-蒙德-龙脊雪山-寒天之钉-下方-3只.json | 4 +- .../A04-蒙德-龙脊雪山-七天神像-东北-3只.json | 4 +- .../A05-蒙德-龙脊雪山-七天神像-东-3只.json | 4 +- .../A06-蒙德-龙脊雪山-七天神像-西南-2只.json | 4 +- .../旧日之海/004枫丹旧日之海龙蜥 传奇.json | 67 ---- .../旧日之海/525枫丹切萨勒姆宫(200_2).json | 58 --- .../旧日之海/526枫丹切萨勒姆宫东(200_2).json | 76 ---- .../旧日之海/527枫丹旧日之海谐律院(200_2).json | 58 --- repo/js/AutoHoeingOneDragon/settings.json | 2 +- 125 files changed, 404 insertions(+), 576 deletions(-) delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/0P.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/1P.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/2P.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/2pInBigMap.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/3P.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/3pInBigMap.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/4P.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/4pInBigMap.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/CharacterMenu.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/allowEnter.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/mora.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/renwu.png delete mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/yUI.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/yangchengdaoju.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/0.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/1.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/2.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/3.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/4.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/5.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/6.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/7.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/8.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/9.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/0.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/1.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/2.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/3.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/4.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/5.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/6.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/7.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/8.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/9.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/0.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/1.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/2.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/3.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/4.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/5.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/6.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/7.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/8.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/9.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/0.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/1.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/2.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/3.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/4.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/5.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/6.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/7.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/8.png create mode 100644 repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/9.png delete mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/CharacterMenu.png delete mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/doDecompose.png delete mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/doDecompose2.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/mora.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/renwu.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/revival.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/revival1.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/yangchengdaoju.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/0.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/1.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/2.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/3.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/4.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/5.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/6.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/7.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/8.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/9.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/0.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/1.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/2.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/3.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/4.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/5.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/6.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/7.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/8.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/9.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/0.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/1.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/2.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/3.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/4.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/5.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/6.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/7.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/8.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/9.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/0.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/1.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/2.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/3.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/4.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/5.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/6.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/7.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/8.png create mode 100644 repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/9.png delete mode 100644 repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/004枫丹旧日之海龙蜥 传奇.json delete mode 100644 repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/525枫丹切萨勒姆宫(200_2).json delete mode 100644 repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/526枫丹切萨勒姆宫东(200_2).json delete mode 100644 repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/527枫丹旧日之海谐律院(200_2).json diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/0P.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/0P.png deleted file mode 100644 index a1afdd58dc65f0f6fdfde699f9f70631b3ba19b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1789 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D29ilcK~zXfm6ls? z6WbNXe|s*T@pzor@jJ1>5@j4*4}%q|N5_+g_264U~A)Fyn6Kt&-2iA zou#EEu3o(gLV&J=5+L~hM1c(8?c29}`0$oSvw>2I>({Sy<;oR=5C|10)vBKG&tD(X zZnv>*o6DCkb8&e&G9vn3qu*{j!1sNc&E~)nkW41AEDJkn{twVFfH!Yn@bcwLgb<|N zG~fUJdxo=FG$icp?csSIVHk4${CO^3ya-BtD2e;%^Qlv zBFD8RVGu>%7tMe|p}@?{44&uFJZVxYl>iX+gJbph@nc$kom?)*{rmR^wD+V{ud};% z7)L!kJd6;6WHJdryWNgi3B!3e_DBP zbaaG~&{$epVq|$;4LWJo4cxUP#* zib|zIwOYk>(_`c7%bLYtACP*Xb9D5DR;vZ*fKI4%&QH$bq=u>0 zPtcT77=}SAl^VQO&}y|1Lg2b?q|<>x8rk07#`k?XoetaE+oxJDlwcSJLqkIthQaai zaSTw?G<03ZG)G9(fSs?{pK@Au9$Ow%NpOb!5;W>l#tK!$WW9i)`Fu8VFMv0-#5ZhvBZeVt0B z0zkLhrC2QTqSxpCtLfs~Z?N_2yW=6+)&4U>EK?y<76!i5V3Mn}i6EQ?0HP9l-OO@Gy8 z!29>_3BwTW+|(pTwJM+YN`qlyCvb++)S3+f6sBWC!az@1-2dYr`1z-w$vP202sEWgXgX)dC-8kAp$UX0D3{ArDivmDXVK>8=W$(^Mx%iW zqkO6`nhoRQ<1`u#WFTR%9w-zFe0SwL9LK>lOco1^EMHzmw|Z3f?shxfs0*Zw6e`kH zt5qDwVPRnbEt}0UJw46A!9iRLLW}a8a#LuU7WHtSYYE9AhsDLkcurisc6H#q=LiL1 z7-G4}!CDvK`#w86JLL0u&WxOiuoemhlu{fX9>y#nA|_I)6sBnsc+nu~FN67oc{0P% zpqZVW9RO4ibbUI_HfC=VVrnF;1Tv5uA0MNXVs35@`ebFZS;of3*xcNtR;%?aMTF>Dh;6`ji{eYTs7^gZczy3}elHa0fM=kw%pIZz;^ z3YF)32np}rz2oHMgj=_6MZ-x%5lJc0g&r4aUxH4=iea13OLHv!{~|qo$M5js#S3iP z=F+80I4KAC3V>}`v|25S#Uh4bFgZDi<2W&hZ%OU23P5Ho`)vRr$gYo+lHU$WwA*bK z78bB=JDMK?G(~S02(WFN$;nA9%c5SdM{Bgd>%SrE>+7tqum89Dlt?M@eIH%dnVOm+ fnM@*jQxxDoPTT#fOPe=%00000NkvXXu0mjfiX2gv diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/1P.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/1P.png deleted file mode 100644 index b187e2032540f129a513f10293384549f1f9d636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1204 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 RkzfD-002ovPDHLkV1j!@I->vp diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/4P.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/4P.png deleted file mode 100644 index 8880435661d35af27613238b70fa070650f8e755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1363 zcmV-Z1+4msP)3$g6vuz>&6~B;DTQe%Ln|#VDHQ>wT0%5R6cCL|L_>^;K@BEq;HzI;5);D*Vj?kW zV%!sz#NYxF69Tve1Oe#}xvviiX-gnJ=#lqNDj3>FteP{ch^UgW8ZTQo7-8-5 zC)v1WD{4F`h$S6{i=$L*gNE8x9$WDowb2>V#%`Mmb~Z-w;8iFp9O(O`N^aOXJC3}` z*4>Zu?6%w4w*M8sRQUB*S=PP^H96nGRCF?>Ji$PiyRY9sTT=(Fbg>+BTJW|mi?-$B z!e5x&V6GJYu|$PkN8jaqAw41Unoo^2IGoRq;Rr!n!xHYg{xO1q5Wl5+_+zAhl0z@U zU_`{ zFe1GMzbu7=AyzJYf|>C-RjQhhg2gQ>xO?e(pV2#bj9tIH0a8WE$*#S}Z+L%aFvbu3@7>Vi|rlIGQP%vnJ+ z8l|Z|Rb{lU>jjFXoPR$xe3(5a-<}fKn}}R-1k*8)(xqY)DVaHr^zCDB_a~ei>qj}4 zPs_%-)RYeXjdma1&gPvDPH24d;>Gk!Mv-^+yhKlWKT-;cdVw)LgYIU1d5zwH_J2Sx zN3QFT&Yt4b@Q+oRAsMHseg@gTIWrAvEhW-P_6*FI1M{N2fq85r%ps5H$ydGEPY zgg^5L1yP9l{8YPzem;Pn(@>4x*(gJ^X$;NA?r*^Co{KamuehR~Lr4=`1(8Y6wJ61% zceG3iTsDgIXMXj8-BQHoMG`JETLhzh8p2l4jGh#B5Sk(u&9!iL*q$^dMLo~XpFd!v zIE=J4tlkvm1vaHIy-H6v%bXrM&PNBfkkk7RqY0dB+~4zaud~Vh5g>au;OlDMoVgD4 z9|F?+s+|Ouv0JjpxIMM89UEeGSMq%Jk(9hPd($b|%C-RHLp{c_npE!ev75&BU*UKH> zKGvx@Sf^9t3&1lDIz(>hC(u|xRYJJZ^7&pfnaAhh7NdmYE=?Ua=S~LE3m2LK_zP#K VOv46kPDua&002ovPDHLkV1m9rpBw-H diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/4pInBigMap.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/4pInBigMap.png deleted file mode 100644 index 2f61fc9cc84bb00c9797d4e9f1815f670a6aaffd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1143 zcmV--1c>{IP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1Pn<;K~y+TWt7Qp zmQ@sopL6c}zTa4>KtWo8f8ngsEQ96I)JKW>qYZK9v+}+J{?r+GIcRwncx0vqs7dU$OBnP_tsa9)zG4csh zkES70^0_>(pSnQDmhF`DU6>cz!mSkY1#(VM6_#0|)~pevK$I`h*ZnGkedl?0dl$2h zXURv~2y}%k%@86w3j646+r{2($7w6JQ(`O5IgFIb+8RGkUuAZF9(7q8otyV_r2jZw z9Xp9MA~1(y2pO5h#7T`Cqu01{^BYF*{6eL%1kPg^nNOHsdc?@+_k4Hr653fh%$b4r z=f6g0ySw;4P!7tG9~kd2O=L5`T*yJ91d9r1_qL4NZ3H4 z2KxISW89k@Crx7nj}RahBBZS&9w7s<7GY!Dh6uwsN4BN}%@X?4o$Jh0|H3Rr&7%}h zE21<}siCB(Bu~ON#z0ZZr7{B@r#Q5A7+qLgAPgg1D_hhA@rqgzM+t{RP5+Am1AOa+ zrE-av&b-WpcP^rZLIHIlAr9vqfp>%!Q4V*prPM=vp`FOW|0%||8sqVZ2v%2IGl!lY ze1!wuhX{f^_*QE9Tu9%6L55GhM(_T^1X^kt_V3y7&>O3(t6aTtg|EN;5+GMhqRh$hp%W(7W#prKk(RJqcWwtg6)Ob*9!PxW8~4{d;DdN_83|18r3# zHF&f<$-}vE9o1Eb8fr-?(!^OrNP$wJ4W}U@8@3w7LY{(aqY$*CNiiiUdXNmnqtsE>2w0^M)F_8WUQ@c- z_b{;g1U-8Xk_*;D5`dJaN(Byf57D#Z1ZtAeNNX%L=U8sevDBDhxj9Qct&mz14+LSr z;E5s5o;}BNefwwLGK6wgx^W#q2*}aR?d*7y9*hDQ|rczzw z#@Od9F3-{QLN1@@jpsjP^V2&h1x0-33D#@mwe`_znv$g{{{X$L)Xp-VAlv`|002ov JPDHLkV1nde{y6{u diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/CharacterMenu.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/CharacterMenu.png deleted file mode 100644 index 6896b154d19048dfac202c1697428046a0b9c5df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmV-V1F-ywP)KmrZC?R}{y8_sz_EZ@#KSh(-u%jkIwD7b#kCA?T(H zE!`B{6zr;9xGSQVMa2lN{9KiiWkj)(g_4y@i$$!hR;bc+B&KLg;#Wd!CKK~!-o3}g zWRe+~H#30}7x52w@$NhS`#umQ`KU2*(cXrG5Pxd|g~55s%SzyoXzNGlW9{JQ4Qo z-OXn^HZ$XS0I0E%jJU4DH~UX>_pbqxaVOAg5x6rj&fqVnSiU@gV@EiAyocVtn>43l z!Ql$r9)87@AHHKtM?1c+ixF$B`T383Xj{1~m^_QNmIT@9*Q8QOj1eyM{l@C%Budr3 zCF$lkkA|MH^^-K9ncEx33e^=YpSc|$u~7RUVNm2n zkOn=FGUXZHG~|c~6?PVYWhuVey^W#glT78jz%iMdVerK?sb$HclL|V&{er)TCu;Jt zIgkFQQ*27FLmOQTb!;RfBH+3X=X$R(`g|O#N-_|@Qi?A>-%iVlCd}*tu~?Me%h!4M zcr=iw1a@xkU{iV>g+gIoxMXBUA}FhN1}YSMjHxUVkw_RTAitO3`x>ovrt02}^r{5+`u`>U(HgWi zr85?6rRs{7pvoF0H*7W3Hz`Ghoi#VP5d04f+7c}iOHE^-1g*Ei?Sd^}lJ^cRXgW!hV2>ZUS($JR-7V8P4RCxXg12E&|>n>0Y-hz2~ Z-T)=~pgvr=IH&*s002ovPDHLkV1ipMm0AD* diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/allowEnter.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/allowEnter.png deleted file mode 100644 index 8c6cd7632d348cbe16cb51a55c3d0c58ed2431f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5373 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 bTZ8@&>JyzXkidUA00000NkvXXu0mjf#2#vG diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/mora.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/mora.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5a6a3f660ba73d0e7314d193cbe4388318301b GIT binary patch literal 2414 zcmV-!36b`RP)~6P+#8s@C(x}ALummy`Lx351rn>@&Ia z+N3g>6gO9!CjGEU&%0C)?SIQr$uN37&S=b+$r{-0e@7+a!_YY}ECY_C-*MXj;Dkar zfeFJipg2ZId^(j*KRVp|ajm&A8Lo_H%44zS`^XPt|BuU8rkirrS>4X~)4iDp^(o45 zfi|epb`NR`SvjGobSQ=f!xsEh|3?bN(L+&b)m4=`t=eR|zBH=NzKw12DTgyzdd1+S z{-Pj4wh~Wyigsq7*xYo#*Qmv+4gAC-W2NkDqAZrIQfFSIF4Uv_v)rtFYzO^ z$^@;fw2@sN{ETon?5&g;iq4`^$#Ut6LARijuY7979gAr{bbOLDhfuCU|2c;f}z2ly*QA}n{M

e*FNwHZ~Zv)mmkteD~F*uJh7J z-rz-E9Hy#I(zp1COD#<*As);{YZOG~DNZd--CaUeq5e2ti9cIQ>250uiX#9Z$mH#{ zYNI^sXaysx^*5-BZmuhgT88F(n&RNK!NAt3ND^VR=6kwcktq=(wCB09?ToDnm`+7f zOViY{G>w8d^2Vc=X@CALaepNffkpzd^6@$u#i-1jX%5;H#_815ZPD|+S>(Pr?tH!C z%Gj(vPu~(m=@qGZIq7(TpxnzmUB`<%g3s2`JJT_n!l;7<)ZsF!CjPh0;mEDggg0eK zz{fs@UY>a_!3v5zR417_Mb7pVawN}TuF-FIl6<9a&`2{R<8eAEPA?^>k1J#n(&17v z_odtNyWqv9fcXyCLR;`$b3kLtgV7qV^}bkPXEI=Fs#vEWOD2$WO(7atmglX0?2 z*%-sD_Jj*6KwO5)Iu|7@1rO&t@aayYMb1O{c5m?(3oXHm9T33b9z!k9o_+_}=#No< z&rlxW6bDJF?_}latMji#M{`Mglh3yJVe8z$vl!xjp2yRq44Do zfnv7r2n)oo@cr}#JYMeBn`OhzddMMJe5wyy?TO;k9eMe7T#D^mtT~_NA)t8x=6G=u zF>>$}RC0h&@IPnXdx`@DzbgQbEKR%Lx0_LNMa?l{zsyEe~&wMoV#;=25{vLCm zOLFX{c>#(u!DCHNX4->B8-tEksy=sxFL#CZP+i*aR)e|rLsUn>-|np#^FERlC(DYB zv1lh+_2SI>@n*a{oAFZj0kZV~88}ht*-f_T&9EFK+Bf8Z0Z-u`eI=kFs{QsXeW?fa zsl~6C>ePU?;8Gj}rS7vW0sJzzF8ssRB(pv;a3~iz#&Vsk1`Si~1~dQUP;0zzuhmYkfw)_JKTbcdmrkJ~aGX6k(wJA%ZGKK(hi-2{v7 zG$1Sb_gd7ycvS2061$lim&H#1`8MzAYG+YBXsQM@&T^cpbssKrdt)Rqpq|mvC2<#(T_7QW&L{gGtVO$5Hj zJ*-FFD}(-0jrg?_`=^lZIK^@wDRiuV{(HlV`+d2 zzT7-Z0o{5q57VC(DLQbLuZ}o@w@3?h2S^gJ)|V zPgOjcsc@RBc3Eon+#HOQu9X;+i&y%2^?t&|F1q%0f>&s?KLQI)p}}!?83iXWAXu7z zEZ)U0BE;LiGSQ01cr;lBnyB-dW&3>Y4A>ls*qews62+e`CCfJP${p0DX5Msjb$xxk zwa%s$B!B`V{SjD53iW67|BUF{=!aqp0+H#UaHNN~&x@G98uM)gb?)=;y%sycD<6F} zc)|OVA^X#z=U@C3+y3g~7PVU4+SU;sjdTl&4tSah{m1xo(!#rc;U>a7C20D+@7geAXXd#?OjsPtpX9PinDlUX9Owz$GaMC!%79{TxBiF! zd?^3(!U=^COhHHj**7}HJ@o10fCzBlli+YaXjEY2(H gE93vG``OU{4VPwv`VV&)r~m)}07*qoM6N<$f`t6dv;Y7A literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/renwu.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/renwu.png new file mode 100644 index 0000000000000000000000000000000000000000..fa1d83bc079c94e652ed6bef1177ed78f31b2d64 GIT binary patch literal 2133 zcmV-b2&(sqP)N)k{(UW(77yi}liEIx`)RBSyny`FYXZ%=#Y+;(cM)oR67q4GvT0!erz zQOTFPXJ?1-Fo1V%XYR}zCy^xkm;d^&wfD{gM5X_~$Ak6+C}OCO_7~s%6-D&-xm|(~ zuhyf8UW1tiE!OoF|Fgi(mOrq)`E+A#Yjb@ou(2K3*xvF76l2pLXbS)8=GwA^L3-6muR$no+0`+vXvmw$EB(m&Rq#O%y`_5H?|U#I7wjU*-Jy}o25d|k?wC|ux} zn^IojnOr8pG0G4Xj^+v^c@@tjBAG-4Tv;F$ap9HOR7~I*s20l*H>G?s5}x<^8X+D( zNnD0ln#g4m0>{8~km)$92*ELBDtq$zV8Zc8rybB~2OKu{mxE961>`q|2M_{JMrDW+ zgH{pMd}lVhl{&op|l_kpEB9_s@@ zFyvMIQiceB4`x%b!~Ok9=X3*v1~Uy0*k(N5)unZTlOTvxOi_tw`26wA0)`suA=H@Z z@vjTf@OeD}9JmQ$X>rBlnjN%Q)u^!n0#)hNsIgmPc1=tJPn3ZtvMnG^zZ~|NM&bSN zFNPX1)M)7+3mzXSK@jPfs02$_SbEYq-K92TRRTn%e}Jm=^)X@h0Q<0@EL%bRoqlb1 zzbpfa=+&4}jTyVU%txR0n;-;WVIm#>0aOtoCLA95UIfu2$Q=l$&3#?UL7(HvsA4)! zJ|F0H1M-7p2!np`LttY&lZYrlFhn{grh}vT0_n85<$EP#%IEL^q@!3(M++rb zhWPa1gI+s;A$mEC`k{lpJ(kW2TtkThPcTF(DnXPf++lNLh-5@%hzYv~)|J3Bcnb)D zV-lC4N3K~6)ypyS$eWCW6q+W4s45{rptV$@cZ~@kI7SdBEj$t77y=$QiA-lxFaPmE zmH|WbFP`t_@g#t_j}jdrZdnRGDAO8(FOXjkKX+@)kfU2;{<~zj0ttwfA;M7LrgT6L zH1`Ro&CM4`*e9;ym#vf#I3^wYF+6C45JMI#Y|Kr9fm5+B-yrkuZz5=1&aH@m38j2g^1 zJ3UXPYb%BZltzdOM^89BcOdSxZGi**Rp6QS>9{H7@nqy#;Mw}hMl5^|C*FqPp)if< zxHp8@K-%h?Pczp|AU-(<_ zx|matL1g6%q-;z{iDroEIc#1|*sQ7$igSm+GhBfT9v_YWGO6vcXnQQS@u}eP5hzhv z0QrCexSb&Gdg31Gz!Q<>C#!1ID2H!;Sz+S1qXZ|;9dg@lnGSh9(Z-mu@VRYl63$x~ zVo;;T@zIHB=z9kxSo*q{10`COzcqxo^k{EPJQ-c_t;ua$jT)C1S34?k%Tl*2HDUL3 zfNXe&>!3=up&n(=r|h7prtWZL6BJvxNDm1Z&OJkc2f8q)z*R(UXeh<&0J zgdkQ&=5Y2BamqXKmq(n&IL0>86 zafj8_Asr4oP~zu8a0N1PDM6I!tg~)W(`?LII*PfU3IR5ZiOUP9#4SrX?QRt5MO3wr zrgBJtsPs;|=jPr@R9FgrDX54ZQcjRKfpvzE3H~dHn=+M2Mt*y`^V`#%OfmwuuL>Lz zgp>|Z39#>|AGEfpf&aBzU1d63myWvc6V;CpEJK9OzOJus7!5;R8grM%+^e;$F0Y5q zzH)`;y{NePkUG-P6_$c4lxzxY1BrC( zuQzWO=6s{Wc5Qbbs?s$CqC;y@Ri&qYblAS&_5Jnc4Uvx3E0M>Ow(&`*1gh$VA$vkP zhY+`As=`uuGWzGMe=g21jSShkH74|-4rvuC9a0Oa_PR9Y5mA-5uV2T1T!;&Cx{$lF zTc_&NfvS3C2t6tmu5ElOk0&oLzPL?o`ou3q(m83aX*LfF%C`*izM3lq$3K00000 LNkvXXu0mjfI=$&0 literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/yUI.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/RecognitionObject/yUI.png deleted file mode 100644 index 4e365bb766057ad1449301c4de41a1fe16c32acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12648 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 Ef<}+*KmY&$ literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/3.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/3.png new file mode 100644 index 0000000000000000000000000000000000000000..2e4fca9108c8b61d7b55ce8ce6b92d531c869398 GIT binary patch literal 459 zcmV;+0W|)JP)3Kk zxy+BVqo*a5@y*0$h>l>^=D$cI5O-l-eNJGd?)1AK^Gx>kU z=<87vkc#cIoML0bkyWgn?DFLZNX5s)rVKs-(eA!6$kKr!Q74z#L7Z}9qcsDvoU36;iI zhUT4V&0eqenn3~$6do%lxQ2yCB73T%%J<1m3xtXtv(ZCrR-5OW{YYlK-e*>sAL!}> z4Y!!+@N=td;ofF|us$3z-8b_VEkNVOapV91002ovPDHLkV1jm$ BEWx0V61q^8FoV{Y_cX_-!VEX@z5d_r~24GiOlofPq zvlU$3|1(C|mHGum9bD+}>xA(?n2|V@&T8{~v)}CaQoE`MbTNH47sXek%7qHi%-trEJ-aF6n=LzFweQu%Qk%t%C|3xwtMd{RLuUC7`u5Yl; zN(}+}_wXWw(z+sl7jIC2f=o?M4!yR)`sWGbjw)X-|7d5g*h7mP;HK6U!<2gZ#q6Bp z^y9ekwwX>b(czFFL{?f4SK43i{d|x4vt8yz*+CFDIeWz(ThMS)q%trz8y0`jvG8|20U_TQVa{b-Iw&DqleoOv2}2v z!_q#tCB5!gQWnHpf8gFK@ppxXD`q-8xX=Nj^xILBiagxu71`9&E9_E}Lb0b;h$zI= jbE|A~(}Uf7VjzM5>AiT;D0_eH00000NkvXXu0mjfKTXn~ literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/5.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/5.png new file mode 100644 index 0000000000000000000000000000000000000000..081b91f2ad1f363701cb64a2392cee498a775bd0 GIT binary patch literal 447 zcmV;w0YLtVP)3LH z_KK}42)MV^^8XnltmxeVGX`g`*oh6^FZP&YRq^St>7+()kfP=NZl4aD{y$^1VuD+J ziGN)&2-Ow^l;s76M?|>##DEm-oA3Dhq|w)-Cgpj7&R(&Yh#@c}>dZ>p|7VOI?Xbwt z2*y<5>=nz9ksNw$gZ2M2Mikj@eF-DF1)P2owZa psUcU^S^qtaJu$u5W8Pfm2LK!ZEVikIg0=tv002ovPDHLkV1iYZ*AxH% literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/6.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/6.png new file mode 100644 index 0000000000000000000000000000000000000000..aba3db68abd960463c371c54d1230935e944aefa GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl3LH z_KJldH=me}O5gk2EdQQ1`gGWIR-0!~Xe3060YU|bMsA+r{P~E<|1(CnHd&SA1iAah z!1aR^MMOp%T9FblGe&<;8BJ>R_6>}N+X81W+}>>U|BTW9Ge+lD*`_6j!X=Oy4Bw7{9Q*%_ z(aMRg3%lJfthRZ%*ZkRT^D`@Lr!{*;L`1lF#WFxt{6Ay#@3hfBuxhx-|1(DSwpy0u z1|k&Q-D)|d$tyc8q`ENR^a|S_$3dR`f5zzAdTXen>l>`IQbXYG2nvZhvCQu8DUhQ7 zXN;hV_AhWqhzo-&a`uXy)9(3ZzZr_69kZQcW5SUYwO9H+*=d2IXzx77_*fK0omIY1 zcA+Y|xW*;}HIQbsdcNKVvkv0AAIFUwOa0-I>g6AOV4=hBlQ4%r+5t85_GYV!{6G)C z7~jC?#Xaut4nU2$wAO}UN|V>iz2*=H{y$^%`G^T5IY312Y_TfJ4gvtCaV_5K6j~Vo O0000P)3M) zf5r$u`hC)f0l$j>XN;ciGH2+n@ySXJNlOYvM%ig0)0(}0oiP4<#AMY(R|aRVSTyA7 z6PukD@@%*HzcWU6w^&9*Mqp7C6CHkfh3)?{MxPFwF6(o1_KHPU6c8LWx6=dS&!-Lt6n#BvvT3?A z+!%y)QBe`cm)b)Vy**$yxzP)YqJ+4xyIU+Fik|GW$W0H%q9{2b?A1QA|7VPToiskV x+|I){28*J!q|mQNO@5vLsYpr)LskKF69B#DAvqr4utfj>002ovPDHLkV1m%Gu`2)o literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/8.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/8.png new file mode 100644 index 0000000000000000000000000000000000000000..0fffc636387d28505336f6d126f59bfb91dd4ff7 GIT binary patch literal 541 zcmV+&0^3LH z^^Psd4%#%$`QBE`&qqvtoizS**yP4W>y;DS(vm{mePf)xVi`6~bN+n9Nxjr0v%Uh3NQy#^}Q#)4lT@&#khBt2npH zHa$6%Vf7@}Plple;2Qp(Hrg`7IW{I76i(4m5eFAK{5Wn5mxeRm>^Ga#=p7Io#qeaO z1w{1sN#ko9te@_(_eG=(af z+U(^Q7zGcf$jFGZD{cRth8hV{^m4CxQFahq1%xr7-uuNKbBIeoieBt7FUmq!R9Ec( zU>h`MK#KmHGU}-E_4EU!3OJh6;qi9A8N#IhXN(^0uxPFD^9_u4_5y`?N2TxM9Z+9C z-eJM;_5f7*|1(D4j+(sLZ}#n&$v>ErU+pt%D)VE=O%L8Q-TB2Hb4UV$nE&S#$n2F9 f+~Q-yT)krfZnbe4HR9Nm00000NkvXXu0mjfm;(uI literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/9.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解可获得经验数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..298e7f00692ee7812f28ce6c8634ed6b427cc3da GIT binary patch literal 443 zcmV;s0Yv_ZP)3KU z$_l!&&gRc4qyJ~n(cjZXyXH8>#fCFnU2pvlEdA}M$I;Z!Op?Lb zD>f}Dbj1X>o13iOA2fY?!0h~L+vzP{a96+HX9iM)i5g4&A8v;_Xv+*|EQ)*rq7N)^ z_;nH#+^_eUmE{IvQ8c;9>*ZdMEB~A_n%U|Z5FCZBs0-Pe3%>Lr_JHrT+J~ lSzcXl-B;%m1WPb*MF4kVJgpI+Gc*7I002ovPDHLkV1kue)l2{Y literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/0.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/0.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b2a8d99b6f5445bd99e3a4946f1bc7628ed51f GIT binary patch literal 602 zcmV-g0;T%Q?qk|qad|u*U_U5fso8QaOe85Sz)3&UvdF%eX^r*Dz+tGUw21g7 zv}Bn=&cPp1uiK7}?dh*nIjef>jAFP~TP+rNL78uel^xAo%L zQ+MxxATkKV1wyT{`T16(+HTf5;^b&AIv4E}7GjTqd%OHf)jY1=fyDbb6eHnT?idri zmq(!Y&PI~2hY2H8DSgdw=lGzkY91^yL}aGNSD=&6=QmTnu@w_`cP0c^3$Z7LAa~o3 z56ZmSYE;jicM_RFINe?l_V>ORg6GmOl)jg;fbtJPWYDhNtX)w0P#_QlVRv&41T$rr zFcV?b!Y%;ABjYF(3PZl0)VTn(iLiWj0|4L6Ai5uoLZ18(H_PlSZ6fS*CI!H);5`%x zM<7on-gVGeRB~q~j8EJ_Q&ZC*WYP&Uwei)ls9>rJva_7u0pQwoKe{qF3V9{JZ3vg^m^!dQYfL?Thr|7X*`gsqvZYh2&|~Q8 zm>?;JKs79D6O*S4zgd2bWeu4m``C>D2zq=)pnN66*-9t*)!!}py`z{Kg2N;^);{Xs zghCO4s>I@a_}~!~mlhX|nN&mnraR=Gi<_VRH)}U*zkYl>suzG>)#GB98wA7Se|dX4 ooXe(xYc;Cb%({PahNJxa1GXzC*?#spsRf=cjv*SN$ps(#4);rJ@N!pu zvNmdG((PxxdiM%nXeCYNy0$Lz>!*ub&HeLbZtdrGb#?N(cFM}e*`)74@7 z>WXCb+Fe~eLc*%be*UTCo^W;H494>JO|0Ax)e^%4gYJ1axW)y(UBR_PrAbDP{rg*& z&S;MV%Bv$bXQ|qW9?&>*a{aNDkN%x4HZ6TC5Pb1+M1YH1W$NbkdL^4}jH$}8AzO}1 R-U7On!PC{xWt~$(698{>RqOx& literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/2.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/2.png new file mode 100644 index 0000000000000000000000000000000000000000..4416e7f292b94063ab4e09e246ce2be7fc93eb07 GIT binary patch literal 457 zcmV;)0XF`LP)4#7 z?=M189LCR|=brAp-P_pAuF5?(p}0d-ERrF{YTm2MTbmghFEmDr36*{e=_jH;!s=Z2 zvNp3l`=0GQpYuFB`vORDkm6=$+{cIeg>>}2oO#aO-CmtZTLB{)BUzr*nSfSjJU-lS z*7KceR5DA;8>CJE2Yb8Nel4Z^zReMf&E;B5$0GRhvzD8fng>dNcV(TRI4mTHpS2ve zBIh9)YE-inYfvDlH6-uUFc~VOqbfn`H7tsphm;Z-O5B8Hh}LTup41614>1fiDp|k_ zA`-;jJ~Kgb1g(b*uVImQ)u+Uqo*aQLl55!%2WbN)hDV*{$Al7N6=&NJ)ep5s$RNm~ zDTk+2h-2cTnss~DAd3J&wJIQk=*3ig}4%+LS~D-R!m~zt(-Ai?Co~`=LE^`H8tz`Kp;pke5cgiHS2lr zs(;AhP-S)6rWb+%=@*1cJLmtPdNK94;?eLI;cm2-kP`^H00000NkvXXu0mjfs434P literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/3.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/3.png new file mode 100644 index 0000000000000000000000000000000000000000..3d32a94428dadefcdde691b56412e66ed0d87309 GIT binary patch literal 497 zcmV3SU zXHUXF7zgnCc=l*%izALw_3Db4D#oZW5fjA~#DSQ&;(j5?HFgisnhNmraE(7lL!PCDdCSP?+RE}r)Q?{#;)<+q2YB%o@rvbj6eHj? zHyg;{J;zQ8ZLHdepcnzNrCzrayGZahg+?t_f}mPd@zRa!7^ARq4ftHd=OV~xQ%EhU zI3$!ey#F2Rce@-~ph(mrt&wzco9pZlkNJ!%`lgOQ#0Zzp!&vx^-0S-_5Dj@cyG$xx zN+L!J*)qT9oZJW(fqR!}zyf&*P>cvU1UacxYOJblsc$rx2d$63E7GuHvjNCS|5GH& zvG5&nz}RCpcAE=I>awVPeJzb})!AiAZi>irc4jUcS*_y~hcdIhY0pMpx0B1SrdWhi zqifCl7vTNbhdYA4%Z2&Hv9SsJ`f8@wckF`RzM({1A(OL;;{!)tQ7xcYBW`iCJWQ7rlaY=pDYQYT9K00000NkvXXu0mjfg0bsz literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/4.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/4.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae96914fc93789e74a870e82662e81187d66941 GIT binary patch literal 438 zcmV;n0ZIOeP)cDb|f-7u1s+?UlQI(aGWU`0g{*`Z5j5MpLnBvDY8ZoQlwdU1~WVLb%LDI4rYs29|9wV4ZZ?#{lj;1Ap5_P~S z1Yj*n%ahSKM)0n3CHal^vr8GtpahHBt&(5AuU=yWqf;{!uf9K3oK~BXoI?1l1MKCp z7{QaH0^n6j(B3?hHCweW8i~X(f~Zjns^gTPnY3AUTG{?@%1bINU0?(gi8UZ-c3MAZ z7}%}b=`=>Lcz$NRvj%uGt;dq5H4J!-wQe<6TW}rRimvYasU7T07*qoM6N<$f`G5b0ssI2 literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/5.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/5.png new file mode 100644 index 0000000000000000000000000000000000000000..84681681c5eb8c35e7bf286f13df5adb312ba67d GIT binary patch literal 542 zcmV+(0^$9MP)&cAWUpS!xqZ`htba3dI&R;(#LWXlm3!O1 z=bo2g-y#!f0LNXQK7MqbI~wlKFG&O=0!XlsWZTU;qQzpVAjt(umLyqPFJ)J6C6XC} z5&uwvJ^5n$o_jp%LNeGH97Rn>88I9{(CieKK`l+aapq!NG@gpa#c%?eTUkf6^745= zV_cLL!U)yDUCXM5XxC~Qt+!v@?$2Xq*tg#A)$VMn%;enogcP_yurHoHLG-_)({1zV zuq%h zK#C8Ga9zIt08{;49Waw~EWbF#FN6`Q*Q64rhdmS2-vk%+JvX~rjLhn zr^Th*4cTZlup8J0JuwR)CFBbmzfJ~t;jhB}sB^+~NC^RjlrVF7rCQnje$>P6^vCd^ g)7sk7$V3{M-;HVDIhe+IBme*a07*qoM6N<$f&zy88vp#Q<%_~fWQpb^ns?E>3s?~YMKwJ4_Ea`>?cugK z=o_VZ1!X$1v!{5PGjz?+wf*#ty~Rawvgrs$AQ(Y*_1)i`BeWZjGEk(T6C;{e06`0m zHg~OBM5uI@XZcQ&?VxzY8lYkO$zcYe&zIXS_W;=-Qk+b2iZu`nP9S9HT6BGtXb>qV zSp`~y@Kkg`( z9vT_%_WA;2Q+Ji$-#2t^FBvyoI+-A$j1!!FZ;wA0jxwF9E?|Tf$waJ$q@8C81<(aiN}zZ$}9zS&MCLn(xDheW_hHIXna_p}1!E^Zk|SLLn7za@k}{doRIC z_Ev8umB8~vYzvT3+E`n~BSY6})spqX5BB$4#* zTT22#90lPhqF+S!C40|Um35CKhPZiV9GlvHV zi|SYGD*jGSFDvCQOhbQf)ilo}5~)fgt4r-|^M@w)cLimrjVxo~NEE&@G8SwjEUGrR zQBD$LBz#eO1tKapLM!`;ve9KAKGjy^9@7~xCU zK0v5OC=1Ulz)UuiB9!qUEW6-vluiPgkH(=#e1lLXJ3X(>Dj??ZTaZSmHtwGW(Q1?g zrCstMOf{aRYM5mpVxf=aU6g08L|I*00000NkvXXu0mjf;a;!d literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/8.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/8.png new file mode 100644 index 0000000000000000000000000000000000000000..cc41163b25976e1fefea3e26ed8ece3ab41e5744 GIT binary patch literal 469 zcmV;`0V@89P)3qb zYfHjl6bJBqyqq)Vh=f{&PHh%h(A9$8bf@ga>;hdR98?Ac6-t_{n^s;zb1ohYO0${9 zK176ZCL{R2IOqTTIPhS&fhLSyGc${k&}l(TR7+z0LwZ9`x5CAmcir6CM^JWxvSS@I zn|`=bWb|*!uUYrh96{NzWLyBT&-*QmtFz0wwB-4G%QgDyyJ&F?V}P!sA)SG41UJwg z4+l@YpI6OK|wlJ*Q(hY1Jffc%XHe)SZsBYQlLpwXRl{I(l3>qqR8~!85H> zWb_ylZ0uOWncCUytzAHgxPXO2=ddd>DiyPZe6n77fim|Lr!7N25@_ZFmhFn500000 LNkvXXu0mjfnS#$j literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/9.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/分解数量数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..006ca60855f2ae41699a955741016d9c3d2a0a3d GIT binary patch literal 459 zcmV;+0W|)JP)4Ft z?Jq)690&08@11kIb#KcHT;bdpUI>%rnQAJUE?Ww(l*TmkFg7!@Fh)y>>Uy|MDu(%mIJhLXc4>I3(YGMN z3J$xgl)L_TzOBxCF*_ev)aXsf(l=5r$*RcTCvD@-x`uXhmo;{J2)}tHA4pi2Z=gB(Qmu+g3IWQ=aX^?Ah^{fb9EP^y&QA`&5v`HoMVDLp*J+ImM;YE^vwMDV zU*~EBtTmD^Br?1>IW<#piX4YwaL5jb;l)re1Qn9JvoI8tlxtFIZtd;v9SsIUZ^bNB z2(vu~TsNP$2*S002ovPDHLkV1lmp B(Ru&? literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/0.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/0.png new file mode 100644 index 0000000000000000000000000000000000000000..b7f065ad9e6d5c0a8553b9fffb4264709ccb29d4 GIT binary patch literal 703 zcmV;w0zmzVP)g)Tw*Vk_!;9)oq!%He9ZzgAqCUYQok|0Tnro-W=!|B#9 zuRZRRXXKV51`u7;ubzd%5W-_$z_7foUeNEFt+7~~Wmy~HdLkRj$l(e=rm$>gP8SMA zAcUuF78^?02xo;@3O2WQSeAtl z#^VWzRCeWtD5=x3i@$H0P&Pr5kJ?{=z4L0HKPYbMNK$lTSYD?nZgdEtd|(0)b{7f= z$6;liG)2#AmSV9u0^@IIfz#zdf#twnUh^ zkPt%8k*~F_=Xyo~x3LW^U0cRol(7DGD3qGlW7D74exMx=1W$%X6}R##xQ*pu_|>%h z#s}S+4=aamFGW!lO_LPGFwEIm_~);^mqSxRQ8oH{PV+FFkKv-C`u48Au}PImty9nI l6-teKV4}9MBkj^w{sn`gH(dVeUylF)002ovPDHLkV1kp@N(cY| literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/1.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/1.png new file mode 100644 index 0000000000000000000000000000000000000000..350d00f05673045611ae9f5cfbff4c3918464106 GIT binary patch literal 423 zcmV;Y0a*TtP)4Fu z+e^Yw9Kdn^x~9&}U39}V+uiFjdN7ipUVJDjLv50fVV9@E3MwyX8bL1!rGWxbQpIca)!5m4ABXknz6^G(I#Yo&7i z@~UxgSpH#*^a=jRa&o;~IlH}klx4Zo`8Y1t6n2b;mg1R8_5A+fNtWd=btzm>*-4E{ z>8+E~i$?Rh4YC!c6S$<^M3w!)l~UOr^K=4B@;M;Sv+6 z>;MkNB^^_Sp6Q@|8v4azGPTh?{HRa^6vj9$!Wrzt7L3!f_hk?r$R;cE&vaF}8-OS? z!hk5(d-&_y`%W%Dq_MWcHXP_atkr5q=Ou+rRvLgP0H$zoyBTOTNCo;28D%V$5H)$aZz?AaWK$Hbh){L+gj3ZnkErcPQGb4-|`wc6QcQ`3- RNyq>I002ovPDHLkV1gLL!(#vd literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/2.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6ee94409c36e535e3dd08cc973e5292f47c3be GIT binary patch literal 609 zcmV-n0-pVeP)4E? z{ZCR+7{~Abb{Dq0$Z(RDT?uG_2s(qAEo-JtDU&vqB@{Gz8__o zsCa@1El0PK>3W@p5LRo{!s4>B$AshyB?uu!)t3Shy?L~|chGDZ4~EwO01(1*`Ip_{ zM&L>1_VOCTh`51Ft{NJ?SEK3>LYC#Wk~;##H=F6qw=?HdB7|bNT7M(AUl9Lif9wem z%d)WqArUBsYYijC5-CF8vp)^|!>~Nh z7mA0keM?s~7Qsvu!)0<6uC=~+`7XPg0|3x;BeA{n!0zh2+%L{S+Rm#D1Ghh{M5|S* z*#zWK#pe&2u8+y&Ek_W&X*9aI&9WQ-pj`Rw^7teHX34N z?N3rs90&0GznN)-+A>>Ckq4);z>Tr4GSsP!lFWx%ZXz0*WJV+*^I;m`Qz~i0M|9ej z79dY@c`)U2?>*oM0lFV36u+3$SM_Yk?lisDj5ePerf&)~qI#Weh}w|}Iq!=O~R z2#c$71fm>)h^SFET5VIl{qJ!q$uJDZf%Ef=;7R1``c}WmBC34EBd2>gn`Iz`sr1>7 z@4&n1`}r#f0DurCl4+}Ly0}z9&~z3;7>&hWzp;{9y^7T7JNs5VUUa!4(bKjL1A!3A zWN6piO2OX*`9)G~bH~})IYNl0v#z-n9#K@X$6&@8@h+2Vf+t~w5X*7jygS5*#bGqP zuU0f%qg?(7@1#x1)CV!fGOsf)K{3r1jHuNm=a`lF2pxK!{;jJb+KbatDV$8d^H}p75lS z@>=t#-7)E!buMjf?_Xpx901W+e0p|4Me43lu26jEzWiR9vRtMnwfgZ1C&RKh`23=W zs8VRfRphNA*}t!=sck$u_TxUokr=VGygokRtdwi6QI0@VDpt)cdN4{PQ+%1>$Z50g z<$q}5%Nj;h;u59Pzu#FLHwz@# RDYyUt002ovPDHLkV1ln9P0IiP literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/4.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/4.png new file mode 100644 index 0000000000000000000000000000000000000000..86480edaee54880d602f3adbd2799a69bba449d4 GIT binary patch literal 557 zcmV+|0@D47P)Nklj={rms_|Ns8|d+EvzWLXAej#of(UDJdYFW>x!ft$DQBP&3tcJ+x% zOfNrq`oh0||6q#$<5V3Oo;iQ<+K-<;-@E@9uHn}0`!3#baO0t7dj=#`)%QGp^8D_- zN7H97`}5~7#CR;KUA*JsQc8~;JM-b=r}>N5<`g#k`SS;^+SMl>#q5Bvj9K$meERg| ze3K{=1V<*lXJbZG-oMj-@#DJeae;zn=lHtj% zx9^v(+`M%8#+h@M=Pg>pP*T~BhWaMWgS-35(--A6oh6m+g=MV?X=R911rMh5oSGj$ ze}Yo%zkgS+-9nE`xH@PE!c>3z_I=yV1IV&C&HnM@=czLnODfw5sE$r7+`jAJqNVGL vE8CHy#@Q=G`P)3py z?N3r+7{;If4Obh4&9E3HFR6gk5LZxc*@t2@bBi{dY?Ogc=A;*T(Zwi&2t^Ded$nK& zP7<`x!{Hppc^*!8gX0<>xOaX0?Yi&#y3onf`YD&U%CH?(sZDL$(E05`D6%qs$0hC6q4f`6 z2q8O#Vmy%!hGKzN(Ny{~U1b2E(P-qi3wDPa-JSHz`(D^?JBN(d&-GtYs7Fi|>%!wD zmaVloe)Go`I^L~0A=9>>+$B+|wU*@iCm~>pqLH*$Cpk6P4vECd9=T!G>ldJUokNfO zf%_hxTshp%b+-x?AdCqDfZgJr<=S{V)FU^{w4wokrV{{A6g@rj@ITZgQK<&aYsrsC zH&tkaF(!n3+suyLuq)IfGQ|bGacpk>DZ{YBci%HV(Q-V+^E}7lOg0w?MxQOdUXG^@ z4k#g~Tz;pSlgVrihGK33j z{ZCR+7{~Ab207zuW^>ghFCkzntOUj8%MY@#rHfGWjfpcAL|H79w2|P=3Us2CQp#Xq zL1OoMc@cTBE9c%*bm?ZDogbdNXk#}hg*y?&Zogovc=P$74HXT|k|A)I&*Z8o{v={tLQD?+a!fbU28(J<@NjOW% zck!}J-#;Gt5(5C7WOJ6eh3n#beDrS~ouU1yq zeq{gvKnT<6jMe5uV&4u~jwF+o+4&|__chU7i9*viIPo=lz%UGi@Q6$z#8Eli=DUDG z*}>gFP%CpTdh+=KYeC3Fimlw3Pb}AP98Vy6JTiq7WSQf9%PU^7y!AZSqcuE*x4ZFjY&F0I#8JqL?_yj^&EP`hX zFC_|1MU|woM%vcd8w^EgnuZYKL;{iDZg*qeT&}b)nM}Je-^A2Yvvqza5G#Qq^sYUr0MIm@N@w10?~YB()k{_7e|lATr?dN!aeUThUs_o7 mIGoEfbIyU`$!3j??e9;mD&iyeogrcX00004d# z>r28=7zXhDZwkevG_dx;wy)Pl+X<#FvuvXFF}b>lv$d#?gk+dQD~YK zqFdoMHs8pBS&ce8AAh{>InO}`My45tW#8Wa2*a?*(#ksgcT#Bv*>HROfm4^;v+mj{ zjBC?FpM*qF;&~xRpCetiQFCKAhBuWP8uF>AY^-nT+1(3>qWF|}=^Y$LR4D#CI*gi~ zTV~idj^n*Px>R4Q;7}cD?X^F~5&)2Re(f8YP@(uwr`8Zejpgv@3;+Z{2+|j27^UD! z^tEFXj!cFFfMhZ?HRF_T^=+OS#j8whmseo`$Y!(m4^fipP;h7&**`qVaXbLP2eT zk55uj6vyxXrm10Kwz0W6P(wq9%rvJqWSPwJ$DEmpg|kd0nW-d%8ihKfsW^X(LE^KZ z1_FX0@A2dD-s8U8>>BIt?w<4A`JA(}?=HA~SE}qDGOb!Ygg1UgG7JkLWEeJj8F#sf z<(1E^9lfRZ>VT?e*y-{x42ux*2ZCR$_C>?m#@0?W8iPE~a@_ubv$;(Twrsl?ip3MJ zr{=}dM?#UT=0Usu!>3sM3L%us!TALfAkKW~?>Rhn%bL0h1Y&&U51)8Wf8x@?kqdZz zek_iiCk+Z!o@-F3zI%S;OW@>R(^Z1hzR`=SnhHxLMP=2a6Eoq9DCW#-o51pQo2Ii^ z`vbv6!`jnlF9%;ty4(cIatNVNIHK+w107xc2S=_f!(cR8#_Joak(5u^Docy$Ig>Z)qtQv3hL#`x3i1Ceh0W*4ni1>#waQUA;fe# zL+|Vzb*ct{X?267k_aK1&f4sbk@0DbcFtn8Uqmi34I#g?cL=bV2qBx@A#dp}7S`Un zQ!S}$(`a>p^Dxizcm%*rsZ>VYH(pYHKkuJVBr_N-R5FDZ062s%E?YZ#^AJv+555YV zhi*6suP0MfQq?nDR95ppIy5pB3`K6Z1W6%;Amq*Kn=(aLNqKF7KwMN-Q!iI;+IBM; z8X-iINno=(ut<=U&F*-oTb`JFKRvs&{cWEluYE|TGe)x&w6ymweOx~!yvbDh`opnY zIzw|D2O&(5l*>)%^efWF$DlwUu9P$@yN5K|x%mZ?!Dum>tp=k-r(YSJm}yt`S5!6@ bmP-BrQR68m0ZV9f00000NkvXXu0mjf-GV?C literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/9.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/已储存经验数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..71948a71d873ceaafdbde0f35eb282f81c05183a GIT binary patch literal 654 zcmV;90&)F`P)5vR3t9hg*gkH)-BpRzbu%nj=A~8g9Hfx$<*Pr(r z3n2sm36e67*+h~?9$#9gP#ec=nG6E}G@TkZe=OqF5EMlNKsKB8ZUrht_i(QZm#S)I zs!gvS01!ffV7N}9Cg9Ivn4>w@66WyEudKJ&rg1eIjca-aa_C_?7A+RY-x($` zN>Q|Nbn3sVB?9^TK@&#lWNO0liNM~m*Xz~Fyzp5A6qOtvvk}WHYxpTi(jyagu}oE3 zp%6(LJ74Iw13z#n7Eko{8Hl#0uXnlT-L82Wtby`P&5|T z>IMtBqH|DAiTL5;m*L$A08n(&WObBP*5ihMsd7rhO^-Bg&jvy$k)X^|pGA_!ys;cw z$Q22Mce-Bb-JVT`Ir8~Kdc)+6+J-!L8tY2gO-;{0FtqF24q5FpEp6Sra@kq#6y;u( ow6u1AFq)fNy98Bt|AFxJH*cl$?Sxf4s{jB107*qoM6N<$g5B*mrT_o{ literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/0.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/0.png new file mode 100644 index 0000000000000000000000000000000000000000..3e08bf71304150598402546ecf43b85c31e20680 GIT binary patch literal 616 zcmV-u0+;=XP)l&PU!n~35Elgfq6p95s+w6s?VgNP;FE* zq}Bp5JdxBF@Uz|em}P$Un_CX&^F=w@IdFBDBG8nFe*IR(6_5~WldV=xLn|D)UXmM7 zC>;DXY(dFjbvzZxFg+(xr;-t9^*hydgB4}cQybme^4f=Oj6!k~y24s!`xjI$CSkf! z%}6!o8QOmlc=zS~*SrE! ztY!C(s5y!H@4qvlal8<(iU^HZrsJ3Lf z&Z&o@-1>})_IXQJ?Ao)lvUMUubZ&igZhcl&$HL{SZe2V3`pNan7f#l6PG-od?p(5R z&F$;wUO&C@28^H*x38at@Zls>qNJ&R_M&Ciubf7gfY>p4_QD%i&!89uk*H{$c=q&B zED|M6{ijbI8SD}rlc9l#?p&-AmoA*B#wv02=z+542@KIWb(bl8T#aI;Uh+bw=kkMCH~4B>?+8H=h3DlOF&8002ov JPDHLkV1jdFcaQ)8 literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/2.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/2.png new file mode 100644 index 0000000000000000000000000000000000000000..562b3bf8941bda14442a054127e755f7a04c5e64 GIT binary patch literal 534 zcmV+x0_pvUP)4E@ z?N8HC6vppA*anS>_`%UK$h_<&Tim+MAS-@QT#TYDh(@!)1SdnBF3Th{WV0&7E$d!b zdr22oX|G}9{t;5{Rud9Po)0JY{PH~KoLs;_o`Ib2L3Cp~-H;`-*ZR|yn~fjag%85x z*bUz_1356}nR>PUx_ek77+ui7P|{ng4#5i&sbx*A5{yocJK6mENL-9QnJ?|;aj#7< zI>qQ^dIkL2D^Y_??%hP#$3TvOoI~(RKX>SRvmpWHV4q+#FxA-NLw3fRk81PFhS_UT zGoWiS!ARHSNL*wgXKO8+)Vo%TU<8b#Cc)@X`5juAvk4Y*`JIm^#~mxgP{7o^fNS>d zMA&=X-pwNHLEeaK>NP|vIbv2v19rD-^ zf6eWTuRQIv_h^cSs?Xj$zZJN{LT(5-Lf%h>O}fOuRKI@v>=uQwnPGwjx$XzcQn7C+ z1S9jP^&*)V55V(TN6=){U;bVkoD+RRS$w;6)9)G)JT1UhK0_}{Fe;XEuG!!Pf`vS2 z$P%5DV3f(NhZbTUF+9|KB=~49ky-{lt!_h?72vOKeTl0DG_{KL_7zeN_U&U%vhY&< Y1B-*qBhjc1c>n+a07*qoM6N<$f_wn_Gynhq literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/3.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/3.png new file mode 100644 index 0000000000000000000000000000000000000000..4857790fe4dedef8f3ee62446e57cd9f214c0abc GIT binary patch literal 523 zcmV+m0`&cfP)33j z;ZNE?7{>2^gheM=QpW(7D51K-OjsA8BnFg}EyFJ)I94OVl1;yC6GYL0$SfW$l(MGC zTAG3Ok67w!SVQvW&0X$y&->hyLvc2(scqAcXX<{`6Y(V-OF9S=4Haw}@|`Y8!qwh> zKC_!Em%dFj$u#79Ll#=~l~4p(n^BK%Uby{X2SGXr(&Y=i-^qZmt_t}=!GeYg&gM8E zpsxfY{mw6#@bmn{f)t5QuxUHAOhr1lVH)y8ld5MWX0wrz)A_`^p>hmR8#{19f3Po#G2Vfsk=yjliG zm0K3{_fNN6`abWWfP3npHj^KwS#)p%jkT_6$YV{ye2v@BXLDTT_%2zNBhmhLQyicZ7C4ox%hjYMTaN#quh>(Sw{ZHSvk=J6rI z9UVn1cwP+5Z=U%tvjhcTTZYGGpC0e31py@z;uHX)5N)(~#Bg9c!L(WsA|VbNf&vVV zQmvg>Sk0ziEBO>Y5aIvO1G?$p{cT2!U0+|8bM*sJp6gO+8SvZE@g?;hV&_*G)>z8cb%f^>Kugh(q9K8b`{7g|;LoMs+#U}_ zGYo6|X=u5-M(etJP`_igR`MzSIS5AChEB9jQr8Lqb(2eJA^MpNuWXvoRkiM~rdFyO zlk{mO{r;3>* zYfl6l=2p%jDRZU6d~rj@l#&KsCCzc4T?7a+x22P~^V9X?9T*(z?UatjCE!KI9yBTr-!&z6@|>!PHgdY z$m0vXi+{LKidyoZ0}t|PV7$AB#pxOC%s4g2dHu~=NkbcIiS9*LW(S{4CN&PXs(`U^ z)|my9ogbqa8y9;Ue<%&kjt>Y%HTjJ521ZfF#zlAUxnWlYg~J@dr~#!wC^E{K?fmD_ zx`{idj2*)`HRtxM)}f@;ZPrSF_XYb`GQp^KDer&%!Y{4OzFgjnL@Oog41&?11I2ur z&Jo>>4|}TiIu>u*ije#D-07ivnY6fltKr{b7PqPo+;v+yEeN5For!0z|33H!porj0 TbS4gi00000NkvXXu0mjfKI-|| literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/6.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/6.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2dd27ff003235f0349969cbfa0ffe4cccf8914 GIT binary patch literal 579 zcmV-J0=)f+P)2%G zZBN=z6ae7q?h_uMDW5t@?7_j~M8 za7j0A9H3F>Sa2RzC`sfck2@Osj{sDicE)= zLpWj4=rE{2WdM>y{@(?s=4wLM^YgA35M9r!rDiP`3=I&2CB6pMh9t(D%U+o&mQpp7I#Hu7L5w^-2L*70oP&1NM!vt*8ufWZdd*Xfnea2 zse+Ou@?C)j9|u&9YT3C3=ipyy(WzN`JhmaUYyII!uDfiro?BZF4Fs zYfHjl6bJBqM;AeXFcS^SaMMh*O*2UeqM{4kj7mtv+v_5<3ro_>x#@h&Tx>eh+J~t1 zgxVOwdHLh~|K}iz48~7i;*s$}kwJqiA{#pgPBQH9hDOIphWC$8dtzN`SL2BUV!&|C zOw152G7M@(MFvcnHakciWF@HkyBkFY;#)O#88=|K78z}x=y?nl<(Pua70@Eoqz1je zRuma@1U8vY!6yGUnHGHMYzD4r)=GiMrWT>S?TZ|%uuWsYH_%LO4Ymw3BIXSz4 zYdUQ&c&{f~71FRNY(u5W9RTA7OUB_1NSQn29E5TU=%oVL2R_Ku+V>@*5= zejwBrK!n+S$#e>$uE1ro869N7sa);~BBA-Rdl=P0bBilXnTCjGpWOb47NHn!_pG+~ zvLb_?RKLw%Pnumi$l(oj1@1#s#r#rmRQweG2610_;i@8QCIA2c07*qoM6N<$g7rPK A0ssI2 literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/8.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/8.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4608259abecf985e09775c68b89c075427f7e9 GIT binary patch literal 594 zcmV-Y09+3kI)zsc`@~TomNTHGva@3%$ZBjrJibaYsw!ToHf_DLq_i{yEa$Ks& zhiJ^=)@t%kb{@Z(?92dyq!lXK;q)dG@tTm6y4CApbJ(d0d^YwqYF>2BX!Hb00qvYQ znTSi>>O>ZwO77P~q44t;7VvF5CUvGzI(6WB^KM?h^w#Syahb6MC$e~b)qKCY1_~Ex z)TUBAx7yqUNg=sCzFH}VQm4m1KwZcqCv~*HU~*uNUa;}GQcFz-QmAO5ybpLl5 zU}t0Fvu4&vC@G|QdMTGVz8$qtSAd>NSadkO7(&MS+Q)XI@E_N16dcPdkGK`DzfqoE z3!r0kNdFA~g)l24R&$5Ug?_5{}@ai7d*! zdbd@Q`*l1)2Nr$403ei<)#lkv?6jK&^as>qEJ0Y|V$mpLuq#OVj>FQ;nHi(qWN|VE gyGCbJkTg#H1+X3;IrQ$ETmS$707*qoM6N<$g3V1C&j0`b literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/9.png b/repo/js/AAA-Artifacts-Bulk-Supply/assets/背包摩拉数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4cac4d71a8203967f7f0b7b230f7131f0e05f6 GIT binary patch literal 526 zcmV+p0`dKcP)4E@ z{ZHCp5Xbv}K0oXUkuluXE@PsQF=q=QT9S!l1|yiv0m^)Zq3k6rDo7bED_yBAir|0} zBK#3cy~d$YlP8zE=RUdn-g6IuFoiH>wL9m7A9COK>$P(4qNcZGRVroo(u|L_Ja!;V z5(rb%GqZg0;IeZv)U{h@&{eaU)C-4)aJm?tJAky_loRp9tH~Lsi`h%>b{Z1gr*^i8 z?X8V&^AE(aPq8P@ra%cEd--kuOaHGj)U{r#Mih^70JR$u?F|3~HWUiiznI zQsq3;{t=F(nK?-)Jj{^@lW*SoMLutGrNU3}M*12M!X)EmCE?iQvY9l99qL*<7QdRq zqQX126s5_fi94 QjsO4v07*qoM6N<$g5-7e82|tP literal 0 HcmV?d00001 diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/main.js b/repo/js/AAA-Artifacts-Bulk-Supply/main.js index 57ae731b0..df1c7c16e 100644 --- a/repo/js/AAA-Artifacts-Bulk-Supply/main.js +++ b/repo/js/AAA-Artifacts-Bulk-Supply/main.js @@ -19,7 +19,6 @@ const AutoAddButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("a const ConfirmButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/ConfirmButton.png")); const DestoryButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/DestoryButton.png")); const MidDestoryButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/DestoryButton.png"), 900, 600, 500, 300); -const CharacterMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/CharacterMenu.png"), 60, 991, 38, 38); const decomposeRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/decompose.png")); const quickChooseRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/quickChoose.png")); @@ -388,7 +387,7 @@ async function processArtifacts(times = 1) { async function decomposeArtifacts() { keyPress("B"); - if (await findAndClick(outDatedRo)) { + if (await findAndClick(outDatedRo, 5)) { log.info("检测到过期物品弹窗,处理"); await sleep(1000); } @@ -402,22 +401,16 @@ async function processArtifacts(times = 1) { await sleep(1000); // 识别已储存经验(1570-880-1650-930) - const regionToCheck1 = { x: 1570, y: 880, width: 80, height: 50 }; - const raw = await recognizeTextInRegion(regionToCheck1); - - // 把识别到的文字里所有非数字字符去掉,只保留数字 - const digits = (raw || '').replace(/\D/g, ''); + const digits = await numberTemplateMatch("assets/已储存经验数字", 1573, 885, 74, 36); let initialValue = 0; - if (digits) { - initialValue = parseInt(digits, 10); + if (digits >= 0) { + initialValue = digits; log.info(`已储存经验识别成功: ${initialValue}`); } else { log.warn(`在指定区域未识别到有效数字: ${initialValue}`); } - let regionToCheck3 = { x: 100, y: 885, width: 170, height: 50 }; - let decomposedNum = 0; let firstNumber = 0; let firstNumber2 = 0; @@ -436,15 +429,11 @@ async function processArtifacts(times = 1) { } await sleep(1000); - decomposedNum = await recognizeTextInRegion(regionToCheck3); + const match = await numberTemplateMatch("assets/分解数量数字", 100, 885, 200, 50); + match = (match - 1000) / 10000; - // 使用正则表达式提取第一个数字 - const match = decomposedNum.match(/已选(\d+)/); - - // 检查是否匹配成功 - if (match) { - // 将匹配到的第一个数字转换为数字类型并存储在变量中 - firstNumber = Number(match[1]); + if (match >= 0) { + firstNumber = match; log.info(`1-4星总数量: ${firstNumber}`); } else { log.info("识别失败"); @@ -474,17 +463,12 @@ async function processArtifacts(times = 1) { await genshin.returnMainUi(); return 0; } - await sleep(1500); + await sleep(2000); - let decomposedNum2 = await recognizeTextInRegion(regionToCheck3); - - // 使用正则表达式提取第一个数字 - const match2 = decomposedNum2.match(/已选(\d+)/); - - // 检查是否匹配成功 - if (match2) { - // 将匹配到的第一个数字转换为数字类型并存储在变量中 - firstNumber2 = Number(match2[1]); + let match2 = await numberTemplateMatch("assets/分解数量数字", 100, 885, 200, 50); + match2 = (match2 - 1000) / 10000; + if (match2 >= 0) { + firstNumber2 = match2 log.info(`分解总数是: ${firstNumber2}`); } else { log.info("识别失败"); @@ -494,15 +478,12 @@ async function processArtifacts(times = 1) { notification.Send(`当前经验如图`); } // 当前总经验(1470-880-205-70) - const regionToCheck2 = { x: 1470, y: 880, width: 205, height: 70 }; - const raw2 = await recognizeTextInRegion(regionToCheck2); - // 只保留数字 - const digits2 = (raw2 || '').replace(/\D/g, ''); + const digits2 = await numberTemplateMatch("assets/分解可获得经验数字", 1469, 899, 180, 37, 0.95, 0.85, 5, 1); let newValue = 0; - if (digits2) { - newValue = parseInt(digits2, 10); + if (digits2 >= 0) { + newValue = digits2 log.info(`当前总经验识别成功: ${newValue}`); } else { log.warn(`在指定区域未识别到有效数字: ${newValue}`); @@ -550,29 +531,6 @@ async function processArtifacts(times = 1) { return result; } - async function findAndClick(target, maxAttempts = 20) { - for (let attempts = 0; attempts < maxAttempts; attempts++) { - const gameRegion = captureGameRegion(); - try { - const result = gameRegion.find(target); - if (result.isExist) { - await sleep(50); - result.click(); - await sleep(50); - return true; // 成功立刻返回 - } - log.warn(`识别失败,第 ${attempts + 1} 次重试`); - } catch (err) { - } finally { - gameRegion.dispose(); - } - if (attempts < maxAttempts - 1) { // 最后一次不再 sleep - await sleep(250); - } - } - return false; - } - async function destroyArtifacts(times = 1) { await genshin.returnMainUi(); await sleep(250); @@ -637,149 +595,72 @@ async function processArtifacts(times = 1) { } async function mora() { - // 定义一个函数用于识别图像 - async function recognizeImage(recognitionObject, timeout = 5000) { - let startTime = Date.now(); - while (Date.now() - startTime < timeout) { - try { - // 尝试识别图像 - const gameRegion = captureGameRegion(); - let imageResult = gameRegion.find(recognitionObject); - gameRegion.dispose(); - if (imageResult) { - // log.info(`成功识别图像,坐标: x=${imageResult.x}, y=${imageResult.y}`); - // log.info(`图像尺寸: width=${imageResult.width}, height=${imageResult.height}`); - return { success: true, x: imageResult.x, y: imageResult.y }; - } - } catch (error) { - log.error(`识别图像时发生异常: ${error.message}`); - } - await sleep(500); // 短暂延迟,避免过快循环 - } - log.warn(`经过多次尝试,仍然无法识别图像`); - return { success: false }; - } + let result = 0; let tryTimes = 0; while (result === 0 && tryTimes < 3) { await genshin.returnMainUi(); await sleep(100); log.info("开始尝试识别摩拉"); - // 按下 C 键 - keyPress("C"); + keyPress("B"); await sleep(1500); - let recognized = false; - // 识别“角色菜单”图标或“天赋”文字 + //切换到任务或养成道具 let startTime = Date.now(); while (Date.now() - startTime < 5000) { - // 尝试识别“角色菜单”图标 - let characterMenuResult = await recognizeImage(CharacterMenuRo, 5000); - if (characterMenuResult.success) { - await click(177, 433); - await sleep(500); + // 尝试识别“任务”图标 + const renwuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/renwu.png")); + let res = await findAndClick(renwuRo); + if (res) { recognized = true; break; } - // 尝试识别“天赋”文字 - let targetText = "天赋"; - let ocrRegion = { x: 133, y: 395, width: 115, height: 70 }; // 设置对应的识别区域 - let talentResult = await recognizeTextAndClick(targetText, ocrRegion); - if (talentResult.success) { - log.info(`点击天赋文字,坐标: x=${talentResult.x}, y=${talentResult.y}`); + // 尝试识别“养成道具”文字 + const yangchengdaojuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/yangchengdaoju.png")); + res = await findAndClick(yangchengdaojuRo); + if (res) { recognized = true; break; } - await sleep(1000); // 短暂延迟,避免过快循环 + await sleep(500); // 短暂延迟,避免过快循环 } - let recognizedText = ""; + let moraRes = 0; + await sleep(1000); + if (settings.notify) { + notification.Send(`当前摩拉如图`); + } - // 如果识别到了“角色菜单”或“天赋”,则识别“摩拉数值” - if (recognized) { - if (settings.notify) { - notification.Send(`当前摩拉如图`); - } - let ocrRegionMora = { x: 1620, y: 25, width: 152, height: 46 }; // 设置对应的识别区域 - recognizedText = await recognizeTextInRegion(ocrRegionMora); - if (recognizedText) { - log.info(`成功识别到摩拉数值: ${recognizedText}`); - result = recognizedText; - } else { - log.warn("未能识别到摩拉数值。"); + const moraRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/mora.png")); + const gameRegion = captureGameRegion(); + let moraX = 336; + let moraY = 1004; + try { + const result = gameRegion.find(moraRo); + if (result.isExist()) { + moraX = result.x; + moraY = result.y; } + } catch (err) { + } finally { + gameRegion.dispose(); + } + + moraRes = await numberTemplateMatch("assets/背包摩拉数字", moraX, moraY, 300, 40); + + if (moraRes >= 0) { + log.info(`成功识别到摩拉数值: ${moraRes}`); + result = moraRes; } else { - log.warn("未能识别到角色菜单或天赋"); + log.warn("未能识别到摩拉数值。"); } + await sleep(500); tryTimes++; await genshin.returnMainUi(); } - return Number(result); -} - -// 定义一个独立的函数用于在指定区域进行 OCR 识别并输出识别内容 -async function recognizeTextInRegion(ocrRegion, timeout = 5000) { - let startTime = Date.now(); - let retryCount = 0; // 重试计数 - while (Date.now() - startTime < timeout) { - try { - // 在指定区域进行 OCR 识别 - const gameRegion = captureGameRegion(); - let ocrResult = gameRegion.find(RecognitionObject.ocr(ocrRegion.x, ocrRegion.y, ocrRegion.width, ocrRegion.height)); - gameRegion.dispose(); - if (ocrResult) { - let correctedText = ocrResult.text; - return correctedText; // 返回识别到的内容 - } else { - log.warn(`OCR 识别区域未找到内容`); - return null; // 如果 OCR 未识别到内容,返回 null - } - } catch (error) { - retryCount++; // 增加重试计数 - log.warn(`OCR 识别失败,正在进行第 ${retryCount} 次重试...`); - } - await sleep(500); // 短暂延迟,避免过快循环 - } - log.warn(`经过多次尝试,仍然无法在指定区域识别到文字`); - return null; // 如果未识别到文字,返回 null -} - -// 定义一个函数用于识别文字并点击 -async function recognizeTextAndClick(targetText, ocrRegion, timeout = 3000) { - let startTime = Date.now(); - let retryCount = 0; // 重试计数 - while (Date.now() - startTime < timeout) { - try { - // 尝试 OCR 识别 - const gameRegion = captureGameRegion(); - let resList = gameRegion.findMulti(RecognitionObject.ocr(ocrRegion.x, ocrRegion.y, ocrRegion.width, ocrRegion.height)); // 指定识别区域 - gameRegion.dispose(); - // 遍历识别结果,检查是否找到目标文本 - for (let res of resList) { - let correctedText = res.text; - if (correctedText.includes(targetText)) { - // 如果找到目标文本,计算并点击文字的中心坐标 - let centerX = Math.round(res.x + res.width / 2); - let centerY = Math.round(res.y + res.height / 2); - await click(centerX, centerY); - await sleep(500); // 确保点击后有足够的时间等待 - return { success: true, x: centerX, y: centerY }; - } - } - } catch (error) { - retryCount++; // 增加重试计数 - log.warn(`页面标志识别失败,正在进行第 ${retryCount} 次重试...`); - } - await sleep(1000); // 短暂延迟,避免过快循环 - } - log.warn(`经过多次尝试,仍然无法识别文字: ${targetText},尝试点击默认中心位置`); - let centerX = Math.round(ocrRegion.x + ocrRegion.width / 2); - let centerY = Math.round(ocrRegion.y + ocrRegion.height / 2); - await click(centerX, centerY); - await sleep(1000); - return { success: false }; + return result; } //切换队伍 @@ -1444,4 +1325,127 @@ async function recognizeAndInteract() { } return false; } +} + +/** + * 在指定区域内,用 0-9 的 PNG 模板做「多阈值 + 非极大抑制」数字识别, + * 最终把检测到的数字按左右顺序拼成一个整数返回。 + * + * @param {string} numberPngFilePath - 存放 0.png ~ 9.png 的文件夹路径(不含文件名) + * @param {number} x - 待识别区域的左上角 x 坐标,默认 0 + * @param {number} y - 待识别区域的左上角 y 坐标,默认 0 + * @param {number} w - 待识别区域的宽度,默认 1920 + * @param {number} h - 待识别区域的高度,默认 1080 + * @param {number} maxThreshold - 模板匹配起始阈值,默认 0.95(最高可信度) + * @param {number} minThreshold - 模板匹配最低阈值,默认 0.8(最低可信度) + * @param {number} splitCount - 在 maxThreshold 与 minThreshold 之间做几次等间隔阈值递减,默认 3 + * @param {number} maxOverlap - 非极大抑制时允许的最大重叠像素,默认 2;只要 x 或 y 方向重叠大于该值即视为重复框 + * + * @returns {number} 识别出的整数;若没有任何有效数字框则返回 -1 + * + * @example + * const mora = await numberTemplateMatch('摩拉数字', 860, 70, 200, 40); + * if (mora >= 0) console.log(`当前摩拉:${mora}`); + */ +async function numberTemplateMatch( + numberPngFilePath, + x = 0, y = 0, w = 1920, h = 1080, + maxThreshold = 0.95, + minThreshold = 0.8, + splitCount = 3, + maxOverlap = 2 +) { + let ros = []; + for (let i = 0; i <= 9; i++) { + ros[i] = RecognitionObject.TemplateMatch( + file.ReadImageMatSync(`${numberPngFilePath}/${i}.png`), x, y, w, h); + } + + function setThreshold(roArr, newThreshold) { + for (let i = 0; i < roArr.length; i++) { + roArr[i].Threshold = newThreshold; + roArr[i].InitTemplate(); + } + } + + const gameRegion = captureGameRegion(); + const allCandidates = []; + + /* 1. splitCount 次等间隔阈值递减 */ + for (let k = 0; k < splitCount; k++) { + const curThr = maxThreshold - (maxThreshold - minThreshold) * k / Math.max(splitCount - 1, 1); + setThreshold(ros, curThr); + + /* 2. 0-9 每个模板跑一遍,所有框都收 */ + for (let digit = 0; digit <= 9; digit++) { + const res = gameRegion.findMulti(ros[digit]); + if (res.count === 0) continue; + + for (let i = 0; i < res.count; i++) { + const box = res[i]; + allCandidates.push({ + digit: digit, + x: box.x, + y: box.y, + w: box.width, + h: box.height, + thr: curThr + }); + } + } + + } + gameRegion.dispose(); + + /* 3. 无结果提前返回 -1 */ + if (allCandidates.length === 0) { + return -1; + } + + /* 4. 非极大抑制(必须 x、y 两个方向重叠都 > maxOverlap 才视为重复) */ + const adopted = []; + for (const c of allCandidates) { + let overlap = false; + for (const a of adopted) { + const xOverlap = Math.max(0, Math.min(c.x + c.w, a.x + a.w) - Math.max(c.x, a.x)); + const yOverlap = Math.max(0, Math.min(c.y + c.h, a.y + a.h) - Math.max(c.y, a.y)); + if (xOverlap > maxOverlap && yOverlap > maxOverlap) { + overlap = true; + break; + } + } + if (!overlap) { + adopted.push(c); + //log.info(`在 [${c.x},${c.y},${c.w},${c.h}] 找到数字 ${c.digit},匹配阈值=${c.thr}`); + } + } + + /* 5. 按 x 排序,拼整数;仍无有效框时返回 -1 */ + if (adopted.length === 0) return -1; + adopted.sort((a, b) => a.x - b.x); + + return adopted.reduce((num, item) => num * 10 + item.digit, 0); +} + +async function findAndClick(target, maxAttempts = 20) { + for (let attempts = 0; attempts < maxAttempts; attempts++) { + const gameRegion = captureGameRegion(); + try { + const result = gameRegion.find(target); + if (result.isExist) { + await sleep(50); + result.click(); + await sleep(50); + return true; // 成功立刻返回 + } + log.warn(`识别失败,第 ${attempts + 1} 次重试`); + } catch (err) { + } finally { + gameRegion.dispose(); + } + if (attempts < maxAttempts - 1) { // 最后一次不再 sleep + await sleep(250); + } + } + return false; } \ No newline at end of file diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json b/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json index 33b113c24..f485ca28a 100644 --- a/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json +++ b/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "AAA狗粮批发", - "version": "1.6.91", + "version": "1.7.0", "tags": [ "狗粮" ], diff --git a/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/CharacterMenu.png b/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/CharacterMenu.png deleted file mode 100644 index 6896b154d19048dfac202c1697428046a0b9c5df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmV-V1F-ywP)KmrZC?R}{y8_sz_EZ@#KSh(-u%jkIwD7b#kCA?T(H zE!`B{6zr;9xGSQVMa2lN{9KiiWkj)(g_4y@i$$!hR;bc+B&KLg;#Wd!CKK~!-o3}g zWRe+~H#30}7x52w@$NhS`#umQ`KU2*(cXrG5Pxd|g~55s%SzyoXzNGlW9{JQ4Qo z-OXn^HZ$XS0I0E%jJU4DH~UX>_pbqxaVOAg5x6rj&fqVnSiU@gV@EiAyocVtn>43l z!Ql$r9)87@AHHKtM?1c+ixF$B`T383Xj{1~m^_QNmIT@9*Q8QOj1eyM{l@C%Budr3 zCF$lkkA|MH^^-K9ncEx33e^=YpSc|$u~7RUVNm2n zkOn=FGUXZHG~|c~6?PVYWhuVey^W#glT78jz%iMdVerK?sb$HclL|V&{er)TCu;Jt zIgkFQQ*27FLmOQTb!;RfBH+3X=X$R(`g|O#N-_|@Qi?A>-%iVlCd}*tu~?Me%h!4M zcr=iw1a@xkU{iV>g+gIoxMXBUA}FhN1}YSMjHxUVkw_RTAitO3`x>ovrt02}^r{5+`u`>U(HgWi zr85?6rRs{7pvoF0H*7W3Hz`Ghoi#VP5d04f+7c}iOHE^-1g*Ei?Sd^}lJ^cRXgW!hV2>ZUS($JR-7V8P4RCxXg12E&|>n>0Y-hz2~ Z-T)=~pgvr=IH&*s002ovPDHLkV1ipMm0AD* diff --git a/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/doDecompose.png b/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/doDecompose.png deleted file mode 100644 index 3e3bde8bbcd4863eb9593f5ffc48a12f90b5b67b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8900 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 XtXc789ei_hT diff --git a/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/mora.png b/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/mora.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5a6a3f660ba73d0e7314d193cbe4388318301b GIT binary patch literal 2414 zcmV-!36b`RP)~6P+#8s@C(x}ALummy`Lx351rn>@&Ia z+N3g>6gO9!CjGEU&%0C)?SIQr$uN37&S=b+$r{-0e@7+a!_YY}ECY_C-*MXj;Dkar zfeFJipg2ZId^(j*KRVp|ajm&A8Lo_H%44zS`^XPt|BuU8rkirrS>4X~)4iDp^(o45 zfi|epb`NR`SvjGobSQ=f!xsEh|3?bN(L+&b)m4=`t=eR|zBH=NzKw12DTgyzdd1+S z{-Pj4wh~Wyigsq7*xYo#*Qmv+4gAC-W2NkDqAZrIQfFSIF4Uv_v)rtFYzO^ z$^@;fw2@sN{ETon?5&g;iq4`^$#Ut6LARijuY7979gAr{bbOLDhfuCU|2c;f}z2ly*QA}n{M

e*FNwHZ~Zv)mmkteD~F*uJh7J z-rz-E9Hy#I(zp1COD#<*As);{YZOG~DNZd--CaUeq5e2ti9cIQ>250uiX#9Z$mH#{ zYNI^sXaysx^*5-BZmuhgT88F(n&RNK!NAt3ND^VR=6kwcktq=(wCB09?ToDnm`+7f zOViY{G>w8d^2Vc=X@CALaepNffkpzd^6@$u#i-1jX%5;H#_815ZPD|+S>(Pr?tH!C z%Gj(vPu~(m=@qGZIq7(TpxnzmUB`<%g3s2`JJT_n!l;7<)ZsF!CjPh0;mEDggg0eK zz{fs@UY>a_!3v5zR417_Mb7pVawN}TuF-FIl6<9a&`2{R<8eAEPA?^>k1J#n(&17v z_odtNyWqv9fcXyCLR;`$b3kLtgV7qV^}bkPXEI=Fs#vEWOD2$WO(7atmglX0?2 z*%-sD_Jj*6KwO5)Iu|7@1rO&t@aayYMb1O{c5m?(3oXHm9T33b9z!k9o_+_}=#No< z&rlxW6bDJF?_}latMji#M{`Mglh3yJVe8z$vl!xjp2yRq44Do zfnv7r2n)oo@cr}#JYMeBn`OhzddMMJe5wyy?TO;k9eMe7T#D^mtT~_NA)t8x=6G=u zF>>$}RC0h&@IPnXdx`@DzbgQbEKR%Lx0_LNMa?l{zsyEe~&wMoV#;=25{vLCm zOLFX{c>#(u!DCHNX4->B8-tEksy=sxFL#CZP+i*aR)e|rLsUn>-|np#^FERlC(DYB zv1lh+_2SI>@n*a{oAFZj0kZV~88}ht*-f_T&9EFK+Bf8Z0Z-u`eI=kFs{QsXeW?fa zsl~6C>ePU?;8Gj}rS7vW0sJzzF8ssRB(pv;a3~iz#&Vsk1`Si~1~dQUP;0zzuhmYkfw)_JKTbcdmrkJ~aGX6k(wJA%ZGKK(hi-2{v7 zG$1Sb_gd7ycvS2061$lim&H#1`8MzAYG+YBXsQM@&T^cpbssKrdt)Rqpq|mvC2<#(T_7QW&L{gGtVO$5Hj zJ*-FFD}(-0jrg?_`=^lZIK^@wDRiuV{(HlV`+d2 zzT7-Z0o{5q57VC(DLQbLuZ}o@w@3?h2S^gJ)|V zPgOjcsc@RBc3Eon+#HOQu9X;+i&y%2^?t&|F1q%0f>&s?KLQI)p}}!?83iXWAXu7z zEZ)U0BE;LiGSQ01cr;lBnyB-dW&3>Y4A>ls*qews62+e`CCfJP${p0DX5Msjb$xxk zwa%s$B!B`V{SjD53iW67|BUF{=!aqp0+H#UaHNN~&x@G98uM)gb?)=;y%sycD<6F} zc)|OVA^X#z=U@C3+y3g~7PVU4+SU;sjdTl&4tSah{m1xo(!#rc;U>a7C20D+@7geAXXd#?OjsPtpX9PinDlUX9Owz$GaMC!%79{TxBiF! zd?^3(!U=^COhHHj**7}HJ@o10fCzBlli+YaXjEY2(H gE93vG``OU{4VPwv`VV&)r~m)}07*qoM6N<$f`t6dv;Y7A literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/renwu.png b/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/renwu.png new file mode 100644 index 0000000000000000000000000000000000000000..fa1d83bc079c94e652ed6bef1177ed78f31b2d64 GIT binary patch literal 2133 zcmV-b2&(sqP)N)k{(UW(77yi}liEIx`)RBSyny`FYXZ%=#Y+;(cM)oR67q4GvT0!erz zQOTFPXJ?1-Fo1V%XYR}zCy^xkm;d^&wfD{gM5X_~$Ak6+C}OCO_7~s%6-D&-xm|(~ zuhyf8UW1tiE!OoF|Fgi(mOrq)`E+A#Yjb@ou(2K3*xvF76l2pLXbS)8=GwA^L3-6muR$no+0`+vXvmw$EB(m&Rq#O%y`_5H?|U#I7wjU*-Jy}o25d|k?wC|ux} zn^IojnOr8pG0G4Xj^+v^c@@tjBAG-4Tv;F$ap9HOR7~I*s20l*H>G?s5}x<^8X+D( zNnD0ln#g4m0>{8~km)$92*ELBDtq$zV8Zc8rybB~2OKu{mxE961>`q|2M_{JMrDW+ zgH{pMd}lVhl{&op|l_kpEB9_s@@ zFyvMIQiceB4`x%b!~Ok9=X3*v1~Uy0*k(N5)unZTlOTvxOi_tw`26wA0)`suA=H@Z z@vjTf@OeD}9JmQ$X>rBlnjN%Q)u^!n0#)hNsIgmPc1=tJPn3ZtvMnG^zZ~|NM&bSN zFNPX1)M)7+3mzXSK@jPfs02$_SbEYq-K92TRRTn%e}Jm=^)X@h0Q<0@EL%bRoqlb1 zzbpfa=+&4}jTyVU%txR0n;-;WVIm#>0aOtoCLA95UIfu2$Q=l$&3#?UL7(HvsA4)! zJ|F0H1M-7p2!np`LttY&lZYrlFhn{grh}vT0_n85<$EP#%IEL^q@!3(M++rb zhWPa1gI+s;A$mEC`k{lpJ(kW2TtkThPcTF(DnXPf++lNLh-5@%hzYv~)|J3Bcnb)D zV-lC4N3K~6)ypyS$eWCW6q+W4s45{rptV$@cZ~@kI7SdBEj$t77y=$QiA-lxFaPmE zmH|WbFP`t_@g#t_j}jdrZdnRGDAO8(FOXjkKX+@)kfU2;{<~zj0ttwfA;M7LrgT6L zH1`Ro&CM4`*e9;ym#vf#I3^wYF+6C45JMI#Y|Kr9fm5+B-yrkuZz5=1&aH@m38j2g^1 zJ3UXPYb%BZltzdOM^89BcOdSxZGi**Rp6QS>9{H7@nqy#;Mw}hMl5^|C*FqPp)if< zxHp8@K-%h?Pczp|AU-(<_ zx|matL1g6%q-;z{iDroEIc#1|*sQ7$igSm+GhBfT9v_YWGO6vcXnQQS@u}eP5hzhv z0QrCexSb&Gdg31Gz!Q<>C#!1ID2H!;Sz+S1qXZ|;9dg@lnGSh9(Z-mu@VRYl63$x~ zVo;;T@zIHB=z9kxSo*q{10`COzcqxo^k{EPJQ-c_t;ua$jT)C1S34?k%Tl*2HDUL3 zfNXe&>!3=up&n(=r|h7prtWZL6BJvxNDm1Z&OJkc2f8q)z*R(UXeh<&0J zgdkQ&=5Y2BamqXKmq(n&IL0>86 zafj8_Asr4oP~zu8a0N1PDM6I!tg~)W(`?LII*PfU3IR5ZiOUP9#4SrX?QRt5MO3wr zrgBJtsPs;|=jPr@R9FgrDX54ZQcjRKfpvzE3H~dHn=+M2Mt*y`^V`#%OfmwuuL>Lz zgp>|Z39#>|AGEfpf&aBzU1d63myWvc6V;CpEJK9OzOJus7!5;R8grM%+^e;$F0Y5q zzH)`;y{NePkUG-P6_$c4lxzxY1BrC( zuQzWO=6s{Wc5Qbbs?s$CqC;y@Ri&qYblAS&_5Jnc4Uvx3E0M>Ow(&`*1gh$VA$vkP zhY+`As=`uuGWzGMe=g21jSShkH74|-4rvuC9a0Oa_PR9Y5mA-5uV2T1T!;&Cx{$lF zTc_&NfvS3C2t6tmu5ElOk0&oLzPL?o`ou3q(m83aX*LfF%C`*izM3lq$3K00000 LNkvXXu0mjfI=$&0 literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/revival.png b/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/revival.png new file mode 100644 index 0000000000000000000000000000000000000000..ea655a2e3231905c809ef02dc7623ecf2a530f3e GIT binary patch literal 8468 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


l@M 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 Rjkf>*002ovPDHLkV1nBR=l%cy literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/yangchengdaoju.png b/repo/js/ArtifactsGroupPurchasing/assets/RecognitionObject/yangchengdaoju.png new file mode 100644 index 0000000000000000000000000000000000000000..0c328a07bc9b59acdcfda2798c17e31c91001de0 GIT binary patch literal 2966 zcmV;H3u*L;P)VfWCxbzUVRuMJcH z=8+Ou)zRMf>gDVC&tI137nbK21sUcS4fBheYin+sB}2sXbn4V)|7I|JGZ;=?_B@@+ zk{2Gkd24-bWnn?A)rE!Cg@wg0U*7)tsz=k?iYlscZk0h8083!i{hlZ5%ZBrizmOry zEZtPa97!f30k>oO+xqg{{PNuV_P6zb+mTL0u5#o}fo>v}E@p{~GyiwP^5fn|n1~I) znzo*~nJ>-~kzvtmK&N6XlS(Hdv5@b~=L&NQxa}^B z$z?fC$HS$3IvVf{KK;E8tQ{OHWbi_U@Vo4mBV*9xOvOS}GL}vP>r^U6bH1}=JRT0% zOvY~p1JC|uFxX7ScsP(t$8+g8or(dM;I1g0isI*?kk?@|9R^&st1MB>;QHY)8I192 zf$w6v5q+7Z^GwQYJP3FkSu$SAQ$MHq2IQW~r4vreF%NcHj&tcmnWdU!w?LQk>0CM< z^f)ZWeU?ex6zB=9uId9qQCfi7fluhW`N zM6dJdnu%(Jxdek8Hx+orX8X95PgBW=-)U{;SOn%B*MSQ{YAKdUox1Js-@Y3e)b>9c z=zlh#9n^k!`!3+NvrMXKiIq8U&2e3*MPRQ3I4+4Db3RIWDi-q1&whFSq`ytkAwyLX z7?Z%53{|NW9WS2rFU)?4g?#0FV|iB{S3`Xp*vEys0bI&c(SUbm`ctQ-m*)wq6vlXU zX?ka;KScxH26h$v>riJ2zsr_RHaaE~k>$CC?v6ewqCg=`ED411k|B!Tjy}WOd^!;k zCz}IDxvD09s%jzBS>n`fZvYoE#PPxYz>8riqLRY5f~BxRjwpv-44oY8^99V~%Xx}Q zMgwkpG5bG)iFjn@!zZ<}ivufBNKqBAE;#1F8fE9_>5pVQESUc9U8RwH4*dtz(? zP=RAH7`Sf$%MsdV?mFQ zV?F;j8G^N-kV0Pv22Db^)9bKm2S+8avH^@%z&u_dg%#Wr6{AC=K8IDfz5Ekcj$pi6 z5J(|74!9i|t|tn2CS#$g*Hf6RodYXTsFvocX~5>d3Z-2A{>@*hSWvjV%u-qMBIt2c zs~R}21B0_VOVopzn*wu{BM*0Wo;~X463l}uYym8VE8ypk`;EIl#Pe5EFwd?y7Qk6D zQOeUd1wg$iFlClb#m+vyn{JhAIJ-5r0G5F`D-^Q!zu!-%Vj;mU=uVtt(LSzotkh}8 z%LS&8A$(4I1Nf%ETwkUGZs+Si-ZZdzqhRHzZ~uH9^f<0BMV+k*7Imjv!L}@!07FmJ zG4Gpyr>R#{YGs$;TLLSkFfgi=YyO&i<9FGL8E`z+iF538TB>caQq^(^OPP}^5_e|5)qmXmaIL1`Fq^@hR&y2%Z@_VbX+GbVRPxO4u^k^B?d|SwZ(B{qkk@rdC2t!9Zoq&RcUzD7 z*P0k@7HXEkZ6_u%xB>t3+$mgXG%5s~13Sz|g$y@kj_GA6CPOhfDhhR;!Ocg986qw? z=D~vXLWYP(f*!lYxVy8ry>+y=%a6lEJj`t&rU{U8NgH<~1M7hA^ zY5e%`fJ(+n)ldtLvt%OZaqezzetb7QGBDcR@j#>Q>Fs{>_`&m+xm8~5pq^e3O zMcZUmwMyHEe;?V|*uc-v#6w7#rO0@=HqdjS=1sTMzzl9VG7|BK;JC!nsq^rczh^tt zeG*te3O|%6IKwNFA<8aI-~8uU(2uJ_Cl9un4l4uwShG;G3~oO;&ZUz=j&oFU-LTTz z{X_z*8o{s%1*!wf5aolO$KO|1@^n&&`6ZQbnoZ*3YIMwI2$$7T1G9|VW*r&S$t3Mf zzz`2s367SL24JJh*BYM*K76BpqD>xuP@W}U`1sg3*bD1TaQh727p-x z-&kAk>wbd5Z2}ni8O&2fUK1dbJ)M2@)w#2ECsb5x2< z#6ErayItMa07h?dEWR#7Rqd*-x07$EWHe7FV?m$g=&akm$R6LwE4Kz@3KdOJ}Mczq?4C)@+wDO z<;a!A#h%XlBJf?61ZjVC|HY5*n~7+sm?inD7COXjKZNn1GibK*Whlv0Ef@LJQYVE!eEZ4!L&O;( zez?2a*ZowAsySrk5Ctb)6l&XH~XQwm-V}ahDSn_I(x-d7X;kfY6&s;=n{K|Ba7|-o(4Jb-x;IkGCwz;7`W2# zh=}v6Z6QiO9X4gSwAKc~d4JHfG$#nI4&vQIiyR;Z{Xb*GaC@^AL@CIj8BmA9HEf;f z{NuPWL;=ISZBWezs)ia!>yZVIDbC|bL*9L))1$>*>6^yjS>RRUa`I>`G|3em`!^u%y@h!y!|M!E-x3f@nD|LBzyTp3My z3P^JEO>p;3@bF9Y4Niq1pP&?X-vkCvf2f?Ne^O9ra#>#Fo_Vfor+9+oJp2;fd=q>E z<4g0xPA+%+d&=nBF_Z1HUEO>W7<_}`%kn}_t+4-l+UWlo5JJcuU+VA=ECi82k&B6m zsw@cJJ=ggkvc6ehGu?a>+b*2l*K6k%FcfZ8I(70(WzHqs1vs~Q$ z5*fS#lDq3LH z_KJ1(ip@$5Su@%7-d4+RM@>E*Hod>ia@$O&;_M)A|7d5gSO$0Bn7JJuZ}yx0KVyW3 z{+u#eIngydB7$Lhi`T1tAQit(8gHKNT$&qLo)>sziT$@@CjZYE{X1hctId<)(pnpc z0qdr?L`FtHY!8o!IJe67AK2{s+bkKL?y~rQ#^~=Uqq<^$S8tH}AZX(>7r0>z9}b!R zKV$UakZEadAY6sBSM0KWw~t_{|7VOCz8nGB{c^8)QC1LKk&9RCp1F>{P8$C|WAx{g z5kqWDctTuQL_~y#UkqGPNlwt6Emjb>-rQux0GEI>Vxq%OEVKK45)>kTP8m&Y_Ci;b zmK1t=h3#*!MSo8lE$?>=3y(x7a`TDls`h=n(*ol2*Za&SGWHsLO{O$?`GXCByOJR~D&o`%yFaHu&isAS zXi|f>Zy+dAkrBh@8P1T9{eQ;jzygPaxG-dC2%F*VR!ex~ubbjhlogbg6beD<$)N?A z!P8s37(N^XMGJn!@Z&fr?C~RpSNqJqA2Y^-p6)US0R1sn^FAVw`2YX_07*qoM6N<$ Ef<}+*KmY&$ literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/3.png b/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/3.png new file mode 100644 index 0000000000000000000000000000000000000000..2e4fca9108c8b61d7b55ce8ce6b92d531c869398 GIT binary patch literal 459 zcmV;+0W|)JP)3Kk zxy+BVqo*a5@y*0$h>l>^=D$cI5O-l-eNJGd?)1AK^Gx>kU z=<87vkc#cIoML0bkyWgn?DFLZNX5s)rVKs-(eA!6$kKr!Q74z#L7Z}9qcsDvoU36;iI zhUT4V&0eqenn3~$6do%lxQ2yCB73T%%J<1m3xtXtv(ZCrR-5OW{YYlK-e*>sAL!}> z4Y!!+@N=td;ofF|us$3z-8b_VEkNVOapV91002ovPDHLkV1jm$ BEWx0V61q^8FoV{Y_cX_-!VEX@z5d_r~24GiOlofPq zvlU$3|1(C|mHGum9bD+}>xA(?n2|V@&T8{~v)}CaQoE`MbTNH47sXek%7qHi%-trEJ-aF6n=LzFweQu%Qk%t%C|3xwtMd{RLuUC7`u5Yl; zN(}+}_wXWw(z+sl7jIC2f=o?M4!yR)`sWGbjw)X-|7d5g*h7mP;HK6U!<2gZ#q6Bp z^y9ekwwX>b(czFFL{?f4SK43i{d|x4vt8yz*+CFDIeWz(ThMS)q%trz8y0`jvG8|20U_TQVa{b-Iw&DqleoOv2}2v z!_q#tCB5!gQWnHpf8gFK@ppxXD`q-8xX=Nj^xILBiagxu71`9&E9_E}Lb0b;h$zI= jbE|A~(}Uf7VjzM5>AiT;D0_eH00000NkvXXu0mjfKTXn~ literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/5.png b/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/5.png new file mode 100644 index 0000000000000000000000000000000000000000..081b91f2ad1f363701cb64a2392cee498a775bd0 GIT binary patch literal 447 zcmV;w0YLtVP)3LH z_KK}42)MV^^8XnltmxeVGX`g`*oh6^FZP&YRq^St>7+()kfP=NZl4aD{y$^1VuD+J ziGN)&2-Ow^l;s76M?|>##DEm-oA3Dhq|w)-Cgpj7&R(&Yh#@c}>dZ>p|7VOI?Xbwt z2*y<5>=nz9ksNw$gZ2M2Mikj@eF-DF1)P2owZa psUcU^S^qtaJu$u5W8Pfm2LK!ZEVikIg0=tv002ovPDHLkV1iYZ*AxH% literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/6.png b/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/6.png new file mode 100644 index 0000000000000000000000000000000000000000..aba3db68abd960463c371c54d1230935e944aefa GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl3LH z_KJldH=me}O5gk2EdQQ1`gGWIR-0!~Xe3060YU|bMsA+r{P~E<|1(CnHd&SA1iAah z!1aR^MMOp%T9FblGe&<;8BJ>R_6>}N+X81W+}>>U|BTW9Ge+lD*`_6j!X=Oy4Bw7{9Q*%_ z(aMRg3%lJfthRZ%*ZkRT^D`@Lr!{*;L`1lF#WFxt{6Ay#@3hfBuxhx-|1(DSwpy0u z1|k&Q-D)|d$tyc8q`ENR^a|S_$3dR`f5zzAdTXen>l>`IQbXYG2nvZhvCQu8DUhQ7 zXN;hV_AhWqhzo-&a`uXy)9(3ZzZr_69kZQcW5SUYwO9H+*=d2IXzx77_*fK0omIY1 zcA+Y|xW*;}HIQbsdcNKVvkv0AAIFUwOa0-I>g6AOV4=hBlQ4%r+5t85_GYV!{6G)C z7~jC?#Xaut4nU2$wAO}UN|V>iz2*=H{y$^%`G^T5IY312Y_TfJ4gvtCaV_5K6j~Vo O0000P)3M) zf5r$u`hC)f0l$j>XN;ciGH2+n@ySXJNlOYvM%ig0)0(}0oiP4<#AMY(R|aRVSTyA7 z6PukD@@%*HzcWU6w^&9*Mqp7C6CHkfh3)?{MxPFwF6(o1_KHPU6c8LWx6=dS&!-Lt6n#BvvT3?A z+!%y)QBe`cm)b)Vy**$yxzP)YqJ+4xyIU+Fik|GW$W0H%q9{2b?A1QA|7VPToiskV x+|I){28*J!q|mQNO@5vLsYpr)LskKF69B#DAvqr4utfj>002ovPDHLkV1m%Gu`2)o literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/8.png b/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/8.png new file mode 100644 index 0000000000000000000000000000000000000000..0fffc636387d28505336f6d126f59bfb91dd4ff7 GIT binary patch literal 541 zcmV+&0^3LH z^^Psd4%#%$`QBE`&qqvtoizS**yP4W>y;DS(vm{mePf)xVi`6~bN+n9Nxjr0v%Uh3NQy#^}Q#)4lT@&#khBt2npH zHa$6%Vf7@}Plple;2Qp(Hrg`7IW{I76i(4m5eFAK{5Wn5mxeRm>^Ga#=p7Io#qeaO z1w{1sN#ko9te@_(_eG=(af z+U(^Q7zGcf$jFGZD{cRth8hV{^m4CxQFahq1%xr7-uuNKbBIeoieBt7FUmq!R9Ec( zU>h`MK#KmHGU}-E_4EU!3OJh6;qi9A8N#IhXN(^0uxPFD^9_u4_5y`?N2TxM9Z+9C z-eJM;_5f7*|1(D4j+(sLZ}#n&$v>ErU+pt%D)VE=O%L8Q-TB2Hb4UV$nE&S#$n2F9 f+~Q-yT)krfZnbe4HR9Nm00000NkvXXu0mjfm;(uI literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/9.png b/repo/js/ArtifactsGroupPurchasing/assets/分解可获得经验数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..298e7f00692ee7812f28ce6c8634ed6b427cc3da GIT binary patch literal 443 zcmV;s0Yv_ZP)3KU z$_l!&&gRc4qyJ~n(cjZXyXH8>#fCFnU2pvlEdA}M$I;Z!Op?Lb zD>f}Dbj1X>o13iOA2fY?!0h~L+vzP{a96+HX9iM)i5g4&A8v;_Xv+*|EQ)*rq7N)^ z_;nH#+^_eUmE{IvQ8c;9>*ZdMEB~A_n%U|Z5FCZBs0-Pe3%>Lr_JHrT+J~ lSzcXl-B;%m1WPb*MF4kVJgpI+Gc*7I002ovPDHLkV1kue)l2{Y literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/0.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/0.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b2a8d99b6f5445bd99e3a4946f1bc7628ed51f GIT binary patch literal 602 zcmV-g0;T%Q?qk|qad|u*U_U5fso8QaOe85Sz)3&UvdF%eX^r*Dz+tGUw21g7 zv}Bn=&cPp1uiK7}?dh*nIjef>jAFP~TP+rNL78uel^xAo%L zQ+MxxATkKV1wyT{`T16(+HTf5;^b&AIv4E}7GjTqd%OHf)jY1=fyDbb6eHnT?idri zmq(!Y&PI~2hY2H8DSgdw=lGzkY91^yL}aGNSD=&6=QmTnu@w_`cP0c^3$Z7LAa~o3 z56ZmSYE;jicM_RFINe?l_V>ORg6GmOl)jg;fbtJPWYDhNtX)w0P#_QlVRv&41T$rr zFcV?b!Y%;ABjYF(3PZl0)VTn(iLiWj0|4L6Ai5uoLZ18(H_PlSZ6fS*CI!H);5`%x zM<7on-gVGeRB~q~j8EJ_Q&ZC*WYP&Uwei)ls9>rJva_7u0pQwoKe{qF3V9{JZ3vg^m^!dQYfL?Thr|7X*`gsqvZYh2&|~Q8 zm>?;JKs79D6O*S4zgd2bWeu4m``C>D2zq=)pnN66*-9t*)!!}py`z{Kg2N;^);{Xs zghCO4s>I@a_}~!~mlhX|nN&mnraR=Gi<_VRH)}U*zkYl>suzG>)#GB98wA7Se|dX4 ooXe(xYc;Cb%({PahNJxa1GXzC*?#spsRf=cjv*SN$ps(#4);rJ@N!pu zvNmdG((PxxdiM%nXeCYNy0$Lz>!*ub&HeLbZtdrGb#?N(cFM}e*`)74@7 z>WXCb+Fe~eLc*%be*UTCo^W;H494>JO|0Ax)e^%4gYJ1axW)y(UBR_PrAbDP{rg*& z&S;MV%Bv$bXQ|qW9?&>*a{aNDkN%x4HZ6TC5Pb1+M1YH1W$NbkdL^4}jH$}8AzO}1 R-U7On!PC{xWt~$(698{>RqOx& literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/2.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/2.png new file mode 100644 index 0000000000000000000000000000000000000000..4416e7f292b94063ab4e09e246ce2be7fc93eb07 GIT binary patch literal 457 zcmV;)0XF`LP)4#7 z?=M189LCR|=brAp-P_pAuF5?(p}0d-ERrF{YTm2MTbmghFEmDr36*{e=_jH;!s=Z2 zvNp3l`=0GQpYuFB`vORDkm6=$+{cIeg>>}2oO#aO-CmtZTLB{)BUzr*nSfSjJU-lS z*7KceR5DA;8>CJE2Yb8Nel4Z^zReMf&E;B5$0GRhvzD8fng>dNcV(TRI4mTHpS2ve zBIh9)YE-inYfvDlH6-uUFc~VOqbfn`H7tsphm;Z-O5B8Hh}LTup41614>1fiDp|k_ zA`-;jJ~Kgb1g(b*uVImQ)u+Uqo*aQLl55!%2WbN)hDV*{$Al7N6=&NJ)ep5s$RNm~ zDTk+2h-2cTnss~DAd3J&wJIQk=*3ig}4%+LS~D-R!m~zt(-Ai?Co~`=LE^`H8tz`Kp;pke5cgiHS2lr zs(;AhP-S)6rWb+%=@*1cJLmtPdNK94;?eLI;cm2-kP`^H00000NkvXXu0mjfs434P literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/3.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/3.png new file mode 100644 index 0000000000000000000000000000000000000000..3d32a94428dadefcdde691b56412e66ed0d87309 GIT binary patch literal 497 zcmV3SU zXHUXF7zgnCc=l*%izALw_3Db4D#oZW5fjA~#DSQ&;(j5?HFgisnhNmraE(7lL!PCDdCSP?+RE}r)Q?{#;)<+q2YB%o@rvbj6eHj? zHyg;{J;zQ8ZLHdepcnzNrCzrayGZahg+?t_f}mPd@zRa!7^ARq4ftHd=OV~xQ%EhU zI3$!ey#F2Rce@-~ph(mrt&wzco9pZlkNJ!%`lgOQ#0Zzp!&vx^-0S-_5Dj@cyG$xx zN+L!J*)qT9oZJW(fqR!}zyf&*P>cvU1UacxYOJblsc$rx2d$63E7GuHvjNCS|5GH& zvG5&nz}RCpcAE=I>awVPeJzb})!AiAZi>irc4jUcS*_y~hcdIhY0pMpx0B1SrdWhi zqifCl7vTNbhdYA4%Z2&Hv9SsJ`f8@wckF`RzM({1A(OL;;{!)tQ7xcYBW`iCJWQ7rlaY=pDYQYT9K00000NkvXXu0mjfg0bsz literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/4.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/4.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae96914fc93789e74a870e82662e81187d66941 GIT binary patch literal 438 zcmV;n0ZIOeP)cDb|f-7u1s+?UlQI(aGWU`0g{*`Z5j5MpLnBvDY8ZoQlwdU1~WVLb%LDI4rYs29|9wV4ZZ?#{lj;1Ap5_P~S z1Yj*n%ahSKM)0n3CHal^vr8GtpahHBt&(5AuU=yWqf;{!uf9K3oK~BXoI?1l1MKCp z7{QaH0^n6j(B3?hHCweW8i~X(f~Zjns^gTPnY3AUTG{?@%1bINU0?(gi8UZ-c3MAZ z7}%}b=`=>Lcz$NRvj%uGt;dq5H4J!-wQe<6TW}rRimvYasU7T07*qoM6N<$f`G5b0ssI2 literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/5.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/5.png new file mode 100644 index 0000000000000000000000000000000000000000..84681681c5eb8c35e7bf286f13df5adb312ba67d GIT binary patch literal 542 zcmV+(0^$9MP)&cAWUpS!xqZ`htba3dI&R;(#LWXlm3!O1 z=bo2g-y#!f0LNXQK7MqbI~wlKFG&O=0!XlsWZTU;qQzpVAjt(umLyqPFJ)J6C6XC} z5&uwvJ^5n$o_jp%LNeGH97Rn>88I9{(CieKK`l+aapq!NG@gpa#c%?eTUkf6^745= zV_cLL!U)yDUCXM5XxC~Qt+!v@?$2Xq*tg#A)$VMn%;enogcP_yurHoHLG-_)({1zV zuq%h zK#C8Ga9zIt08{;49Waw~EWbF#FN6`Q*Q64rhdmS2-vk%+JvX~rjLhn zr^Th*4cTZlup8J0JuwR)CFBbmzfJ~t;jhB}sB^+~NC^RjlrVF7rCQnje$>P6^vCd^ g)7sk7$V3{M-;HVDIhe+IBme*a07*qoM6N<$f&zy88vp#Q<%_~fWQpb^ns?E>3s?~YMKwJ4_Ea`>?cugK z=o_VZ1!X$1v!{5PGjz?+wf*#ty~Rawvgrs$AQ(Y*_1)i`BeWZjGEk(T6C;{e06`0m zHg~OBM5uI@XZcQ&?VxzY8lYkO$zcYe&zIXS_W;=-Qk+b2iZu`nP9S9HT6BGtXb>qV zSp`~y@Kkg`( z9vT_%_WA;2Q+Ji$-#2t^FBvyoI+-A$j1!!FZ;wA0jxwF9E?|Tf$waJ$q@8C81<(aiN}zZ$}9zS&MCLn(xDheW_hHIXna_p}1!E^Zk|SLLn7za@k}{doRIC z_Ev8umB8~vYzvT3+E`n~BSY6})spqX5BB$4#* zTT22#90lPhqF+S!C40|Um35CKhPZiV9GlvHV zi|SYGD*jGSFDvCQOhbQf)ilo}5~)fgt4r-|^M@w)cLimrjVxo~NEE&@G8SwjEUGrR zQBD$LBz#eO1tKapLM!`;ve9KAKGjy^9@7~xCU zK0v5OC=1Ulz)UuiB9!qUEW6-vluiPgkH(=#e1lLXJ3X(>Dj??ZTaZSmHtwGW(Q1?g zrCstMOf{aRYM5mpVxf=aU6g08L|I*00000NkvXXu0mjf;a;!d literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/8.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/8.png new file mode 100644 index 0000000000000000000000000000000000000000..cc41163b25976e1fefea3e26ed8ece3ab41e5744 GIT binary patch literal 469 zcmV;`0V@89P)3qb zYfHjl6bJBqyqq)Vh=f{&PHh%h(A9$8bf@ga>;hdR98?Ac6-t_{n^s;zb1ohYO0${9 zK176ZCL{R2IOqTTIPhS&fhLSyGc${k&}l(TR7+z0LwZ9`x5CAmcir6CM^JWxvSS@I zn|`=bWb|*!uUYrh96{NzWLyBT&-*QmtFz0wwB-4G%QgDyyJ&F?V}P!sA)SG41UJwg z4+l@YpI6OK|wlJ*Q(hY1Jffc%XHe)SZsBYQlLpwXRl{I(l3>qqR8~!85H> zWb_ylZ0uOWncCUytzAHgxPXO2=ddd>DiyPZe6n77fim|Lr!7N25@_ZFmhFn500000 LNkvXXu0mjfnS#$j literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/9.png b/repo/js/ArtifactsGroupPurchasing/assets/分解数量数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..006ca60855f2ae41699a955741016d9c3d2a0a3d GIT binary patch literal 459 zcmV;+0W|)JP)4Ft z?Jq)690&08@11kIb#KcHT;bdpUI>%rnQAJUE?Ww(l*TmkFg7!@Fh)y>>Uy|MDu(%mIJhLXc4>I3(YGMN z3J$xgl)L_TzOBxCF*_ev)aXsf(l=5r$*RcTCvD@-x`uXhmo;{J2)}tHA4pi2Z=gB(Qmu+g3IWQ=aX^?Ah^{fb9EP^y&QA`&5v`HoMVDLp*J+ImM;YE^vwMDV zU*~EBtTmD^Br?1>IW<#piX4YwaL5jb;l)re1Qn9JvoI8tlxtFIZtd;v9SsIUZ^bNB z2(vu~TsNP$2*S002ovPDHLkV1lmp B(Ru&? literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/0.png b/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/0.png new file mode 100644 index 0000000000000000000000000000000000000000..b7f065ad9e6d5c0a8553b9fffb4264709ccb29d4 GIT binary patch literal 703 zcmV;w0zmzVP)g)Tw*Vk_!;9)oq!%He9ZzgAqCUYQok|0Tnro-W=!|B#9 zuRZRRXXKV51`u7;ubzd%5W-_$z_7foUeNEFt+7~~Wmy~HdLkRj$l(e=rm$>gP8SMA zAcUuF78^?02xo;@3O2WQSeAtl z#^VWzRCeWtD5=x3i@$H0P&Pr5kJ?{=z4L0HKPYbMNK$lTSYD?nZgdEtd|(0)b{7f= z$6;liG)2#AmSV9u0^@IIfz#zdf#twnUh^ zkPt%8k*~F_=Xyo~x3LW^U0cRol(7DGD3qGlW7D74exMx=1W$%X6}R##xQ*pu_|>%h z#s}S+4=aamFGW!lO_LPGFwEIm_~);^mqSxRQ8oH{PV+FFkKv-C`u48Au}PImty9nI l6-teKV4}9MBkj^w{sn`gH(dVeUylF)002ovPDHLkV1kp@N(cY| literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/1.png b/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/1.png new file mode 100644 index 0000000000000000000000000000000000000000..350d00f05673045611ae9f5cfbff4c3918464106 GIT binary patch literal 423 zcmV;Y0a*TtP)4Fu z+e^Yw9Kdn^x~9&}U39}V+uiFjdN7ipUVJDjLv50fVV9@E3MwyX8bL1!rGWxbQpIca)!5m4ABXknz6^G(I#Yo&7i z@~UxgSpH#*^a=jRa&o;~IlH}klx4Zo`8Y1t6n2b;mg1R8_5A+fNtWd=btzm>*-4E{ z>8+E~i$?Rh4YC!c6S$<^M3w!)l~UOr^K=4B@;M;Sv+6 z>;MkNB^^_Sp6Q@|8v4azGPTh?{HRa^6vj9$!Wrzt7L3!f_hk?r$R;cE&vaF}8-OS? z!hk5(d-&_y`%W%Dq_MWcHXP_atkr5q=Ou+rRvLgP0H$zoyBTOTNCo;28D%V$5H)$aZz?AaWK$Hbh){L+gj3ZnkErcPQGb4-|`wc6QcQ`3- RNyq>I002ovPDHLkV1gLL!(#vd literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/2.png b/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6ee94409c36e535e3dd08cc973e5292f47c3be GIT binary patch literal 609 zcmV-n0-pVeP)4E? z{ZCR+7{~Abb{Dq0$Z(RDT?uG_2s(qAEo-JtDU&vqB@{Gz8__o zsCa@1El0PK>3W@p5LRo{!s4>B$AshyB?uu!)t3Shy?L~|chGDZ4~EwO01(1*`Ip_{ zM&L>1_VOCTh`51Ft{NJ?SEK3>LYC#Wk~;##H=F6qw=?HdB7|bNT7M(AUl9Lif9wem z%d)WqArUBsYYijC5-CF8vp)^|!>~Nh z7mA0keM?s~7Qsvu!)0<6uC=~+`7XPg0|3x;BeA{n!0zh2+%L{S+Rm#D1Ghh{M5|S* z*#zWK#pe&2u8+y&Ek_W&X*9aI&9WQ-pj`Rw^7teHX34N z?N3rs90&0GznN)-+A>>Ckq4);z>Tr4GSsP!lFWx%ZXz0*WJV+*^I;m`Qz~i0M|9ej z79dY@c`)U2?>*oM0lFV36u+3$SM_Yk?lisDj5ePerf&)~qI#Weh}w|}Iq!=O~R z2#c$71fm>)h^SFET5VIl{qJ!q$uJDZf%Ef=;7R1``c}WmBC34EBd2>gn`Iz`sr1>7 z@4&n1`}r#f0DurCl4+}Ly0}z9&~z3;7>&hWzp;{9y^7T7JNs5VUUa!4(bKjL1A!3A zWN6piO2OX*`9)G~bH~})IYNl0v#z-n9#K@X$6&@8@h+2Vf+t~w5X*7jygS5*#bGqP zuU0f%qg?(7@1#x1)CV!fGOsf)K{3r1jHuNm=a`lF2pxK!{;jJb+KbatDV$8d^H}p75lS z@>=t#-7)E!buMjf?_Xpx901W+e0p|4Me43lu26jEzWiR9vRtMnwfgZ1C&RKh`23=W zs8VRfRphNA*}t!=sck$u_TxUokr=VGygokRtdwi6QI0@VDpt)cdN4{PQ+%1>$Z50g z<$q}5%Nj;h;u59Pzu#FLHwz@# RDYyUt002ovPDHLkV1ln9P0IiP literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/4.png b/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/4.png new file mode 100644 index 0000000000000000000000000000000000000000..86480edaee54880d602f3adbd2799a69bba449d4 GIT binary patch literal 557 zcmV+|0@D47P)Nklj={rms_|Ns8|d+EvzWLXAej#of(UDJdYFW>x!ft$DQBP&3tcJ+x% zOfNrq`oh0||6q#$<5V3Oo;iQ<+K-<;-@E@9uHn}0`!3#baO0t7dj=#`)%QGp^8D_- zN7H97`}5~7#CR;KUA*JsQc8~;JM-b=r}>N5<`g#k`SS;^+SMl>#q5Bvj9K$meERg| ze3K{=1V<*lXJbZG-oMj-@#DJeae;zn=lHtj% zx9^v(+`M%8#+h@M=Pg>pP*T~BhWaMWgS-35(--A6oh6m+g=MV?X=R911rMh5oSGj$ ze}Yo%zkgS+-9nE`xH@PE!c>3z_I=yV1IV&C&HnM@=czLnODfw5sE$r7+`jAJqNVGL vE8CHy#@Q=G`P)3py z?N3r+7{;If4Obh4&9E3HFR6gk5LZxc*@t2@bBi{dY?Ogc=A;*T(Zwi&2t^Ded$nK& zP7<`x!{Hppc^*!8gX0<>xOaX0?Yi&#y3onf`YD&U%CH?(sZDL$(E05`D6%qs$0hC6q4f`6 z2q8O#Vmy%!hGKzN(Ny{~U1b2E(P-qi3wDPa-JSHz`(D^?JBN(d&-GtYs7Fi|>%!wD zmaVloe)Go`I^L~0A=9>>+$B+|wU*@iCm~>pqLH*$Cpk6P4vECd9=T!G>ldJUokNfO zf%_hxTshp%b+-x?AdCqDfZgJr<=S{V)FU^{w4wokrV{{A6g@rj@ITZgQK<&aYsrsC zH&tkaF(!n3+suyLuq)IfGQ|bGacpk>DZ{YBci%HV(Q-V+^E}7lOg0w?MxQOdUXG^@ z4k#g~Tz;pSlgVrihGK33j z{ZCR+7{~Ab207zuW^>ghFCkzntOUj8%MY@#rHfGWjfpcAL|H79w2|P=3Us2CQp#Xq zL1OoMc@cTBE9c%*bm?ZDogbdNXk#}hg*y?&Zogovc=P$74HXT|k|A)I&*Z8o{v={tLQD?+a!fbU28(J<@NjOW% zck!}J-#;Gt5(5C7WOJ6eh3n#beDrS~ouU1yq zeq{gvKnT<6jMe5uV&4u~jwF+o+4&|__chU7i9*viIPo=lz%UGi@Q6$z#8Eli=DUDG z*}>gFP%CpTdh+=KYeC3Fimlw3Pb}AP98Vy6JTiq7WSQf9%PU^7y!AZSqcuE*x4ZFjY&F0I#8JqL?_yj^&EP`hX zFC_|1MU|woM%vcd8w^EgnuZYKL;{iDZg*qeT&}b)nM}Je-^A2Yvvqza5G#Qq^sYUr0MIm@N@w10?~YB()k{_7e|lATr?dN!aeUThUs_o7 mIGoEfbIyU`$!3j??e9;mD&iyeogrcX00004d# z>r28=7zXhDZwkevG_dx;wy)Pl+X<#FvuvXFF}b>lv$d#?gk+dQD~YK zqFdoMHs8pBS&ce8AAh{>InO}`My45tW#8Wa2*a?*(#ksgcT#Bv*>HROfm4^;v+mj{ zjBC?FpM*qF;&~xRpCetiQFCKAhBuWP8uF>AY^-nT+1(3>qWF|}=^Y$LR4D#CI*gi~ zTV~idj^n*Px>R4Q;7}cD?X^F~5&)2Re(f8YP@(uwr`8Zejpgv@3;+Z{2+|j27^UD! z^tEFXj!cFFfMhZ?HRF_T^=+OS#j8whmseo`$Y!(m4^fipP;h7&**`qVaXbLP2eT zk55uj6vyxXrm10Kwz0W6P(wq9%rvJqWSPwJ$DEmpg|kd0nW-d%8ihKfsW^X(LE^KZ z1_FX0@A2dD-s8U8>>BIt?w<4A`JA(}?=HA~SE}qDGOb!Ygg1UgG7JkLWEeJj8F#sf z<(1E^9lfRZ>VT?e*y-{x42ux*2ZCR$_C>?m#@0?W8iPE~a@_ubv$;(Twrsl?ip3MJ zr{=}dM?#UT=0Usu!>3sM3L%us!TALfAkKW~?>Rhn%bL0h1Y&&U51)8Wf8x@?kqdZz zek_iiCk+Z!o@-F3zI%S;OW@>R(^Z1hzR`=SnhHxLMP=2a6Eoq9DCW#-o51pQo2Ii^ z`vbv6!`jnlF9%;ty4(cIatNVNIHK+w107xc2S=_f!(cR8#_Joak(5u^Docy$Ig>Z)qtQv3hL#`x3i1Ceh0W*4ni1>#waQUA;fe# zL+|Vzb*ct{X?267k_aK1&f4sbk@0DbcFtn8Uqmi34I#g?cL=bV2qBx@A#dp}7S`Un zQ!S}$(`a>p^Dxizcm%*rsZ>VYH(pYHKkuJVBr_N-R5FDZ062s%E?YZ#^AJv+555YV zhi*6suP0MfQq?nDR95ppIy5pB3`K6Z1W6%;Amq*Kn=(aLNqKF7KwMN-Q!iI;+IBM; z8X-iINno=(ut<=U&F*-oTb`JFKRvs&{cWEluYE|TGe)x&w6ymweOx~!yvbDh`opnY zIzw|D2O&(5l*>)%^efWF$DlwUu9P$@yN5K|x%mZ?!Dum>tp=k-r(YSJm}yt`S5!6@ bmP-BrQR68m0ZV9f00000NkvXXu0mjf-GV?C literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/9.png b/repo/js/ArtifactsGroupPurchasing/assets/已储存经验数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..71948a71d873ceaafdbde0f35eb282f81c05183a GIT binary patch literal 654 zcmV;90&)F`P)5vR3t9hg*gkH)-BpRzbu%nj=A~8g9Hfx$<*Pr(r z3n2sm36e67*+h~?9$#9gP#ec=nG6E}G@TkZe=OqF5EMlNKsKB8ZUrht_i(QZm#S)I zs!gvS01!ffV7N}9Cg9Ivn4>w@66WyEudKJ&rg1eIjca-aa_C_?7A+RY-x($` zN>Q|Nbn3sVB?9^TK@&#lWNO0liNM~m*Xz~Fyzp5A6qOtvvk}WHYxpTi(jyagu}oE3 zp%6(LJ74Iw13z#n7Eko{8Hl#0uXnlT-L82Wtby`P&5|T z>IMtBqH|DAiTL5;m*L$A08n(&WObBP*5ihMsd7rhO^-Bg&jvy$k)X^|pGA_!ys;cw z$Q22Mce-Bb-JVT`Ir8~Kdc)+6+J-!L8tY2gO-;{0FtqF24q5FpEp6Sra@kq#6y;u( ow6u1AFq)fNy98Bt|AFxJH*cl$?Sxf4s{jB107*qoM6N<$g5B*mrT_o{ literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/0.png b/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/0.png new file mode 100644 index 0000000000000000000000000000000000000000..3e08bf71304150598402546ecf43b85c31e20680 GIT binary patch literal 616 zcmV-u0+;=XP)l&PU!n~35Elgfq6p95s+w6s?VgNP;FE* zq}Bp5JdxBF@Uz|em}P$Un_CX&^F=w@IdFBDBG8nFe*IR(6_5~WldV=xLn|D)UXmM7 zC>;DXY(dFjbvzZxFg+(xr;-t9^*hydgB4}cQybme^4f=Oj6!k~y24s!`xjI$CSkf! z%}6!o8QOmlc=zS~*SrE! ztY!C(s5y!H@4qvlal8<(iU^HZrsJ3Lf z&Z&o@-1>})_IXQJ?Ao)lvUMUubZ&igZhcl&$HL{SZe2V3`pNan7f#l6PG-od?p(5R z&F$;wUO&C@28^H*x38at@Zls>qNJ&R_M&Ciubf7gfY>p4_QD%i&!89uk*H{$c=q&B zED|M6{ijbI8SD}rlc9l#?p&-AmoA*B#wv02=z+542@KIWb(bl8T#aI;Uh+bw=kkMCH~4B>?+8H=h3DlOF&8002ov JPDHLkV1jdFcaQ)8 literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/2.png b/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/2.png new file mode 100644 index 0000000000000000000000000000000000000000..562b3bf8941bda14442a054127e755f7a04c5e64 GIT binary patch literal 534 zcmV+x0_pvUP)4E@ z?N8HC6vppA*anS>_`%UK$h_<&Tim+MAS-@QT#TYDh(@!)1SdnBF3Th{WV0&7E$d!b zdr22oX|G}9{t;5{Rud9Po)0JY{PH~KoLs;_o`Ib2L3Cp~-H;`-*ZR|yn~fjag%85x z*bUz_1356}nR>PUx_ek77+ui7P|{ng4#5i&sbx*A5{yocJK6mENL-9QnJ?|;aj#7< zI>qQ^dIkL2D^Y_??%hP#$3TvOoI~(RKX>SRvmpWHV4q+#FxA-NLw3fRk81PFhS_UT zGoWiS!ARHSNL*wgXKO8+)Vo%TU<8b#Cc)@X`5juAvk4Y*`JIm^#~mxgP{7o^fNS>d zMA&=X-pwNHLEeaK>NP|vIbv2v19rD-^ zf6eWTuRQIv_h^cSs?Xj$zZJN{LT(5-Lf%h>O}fOuRKI@v>=uQwnPGwjx$XzcQn7C+ z1S9jP^&*)V55V(TN6=){U;bVkoD+RRS$w;6)9)G)JT1UhK0_}{Fe;XEuG!!Pf`vS2 z$P%5DV3f(NhZbTUF+9|KB=~49ky-{lt!_h?72vOKeTl0DG_{KL_7zeN_U&U%vhY&< Y1B-*qBhjc1c>n+a07*qoM6N<$f_wn_Gynhq literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/3.png b/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/3.png new file mode 100644 index 0000000000000000000000000000000000000000..4857790fe4dedef8f3ee62446e57cd9f214c0abc GIT binary patch literal 523 zcmV+m0`&cfP)33j z;ZNE?7{>2^gheM=QpW(7D51K-OjsA8BnFg}EyFJ)I94OVl1;yC6GYL0$SfW$l(MGC zTAG3Ok67w!SVQvW&0X$y&->hyLvc2(scqAcXX<{`6Y(V-OF9S=4Haw}@|`Y8!qwh> zKC_!Em%dFj$u#79Ll#=~l~4p(n^BK%Uby{X2SGXr(&Y=i-^qZmt_t}=!GeYg&gM8E zpsxfY{mw6#@bmn{f)t5QuxUHAOhr1lVH)y8ld5MWX0wrz)A_`^p>hmR8#{19f3Po#G2Vfsk=yjliG zm0K3{_fNN6`abWWfP3npHj^KwS#)p%jkT_6$YV{ye2v@BXLDTT_%2zNBhmhLQyicZ7C4ox%hjYMTaN#quh>(Sw{ZHSvk=J6rI z9UVn1cwP+5Z=U%tvjhcTTZYGGpC0e31py@z;uHX)5N)(~#Bg9c!L(WsA|VbNf&vVV zQmvg>Sk0ziEBO>Y5aIvO1G?$p{cT2!U0+|8bM*sJp6gO+8SvZE@g?;hV&_*G)>z8cb%f^>Kugh(q9K8b`{7g|;LoMs+#U}_ zGYo6|X=u5-M(etJP`_igR`MzSIS5AChEB9jQr8Lqb(2eJA^MpNuWXvoRkiM~rdFyO zlk{mO{r;3>* zYfl6l=2p%jDRZU6d~rj@l#&KsCCzc4T?7a+x22P~^V9X?9T*(z?UatjCE!KI9yBTr-!&z6@|>!PHgdY z$m0vXi+{LKidyoZ0}t|PV7$AB#pxOC%s4g2dHu~=NkbcIiS9*LW(S{4CN&PXs(`U^ z)|my9ogbqa8y9;Ue<%&kjt>Y%HTjJ521ZfF#zlAUxnWlYg~J@dr~#!wC^E{K?fmD_ zx`{idj2*)`HRtxM)}f@;ZPrSF_XYb`GQp^KDer&%!Y{4OzFgjnL@Oog41&?11I2ur z&Jo>>4|}TiIu>u*ije#D-07ivnY6fltKr{b7PqPo+;v+yEeN5For!0z|33H!porj0 TbS4gi00000NkvXXu0mjfKI-|| literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/6.png b/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/6.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2dd27ff003235f0349969cbfa0ffe4cccf8914 GIT binary patch literal 579 zcmV-J0=)f+P)2%G zZBN=z6ae7q?h_uMDW5t@?7_j~M8 za7j0A9H3F>Sa2RzC`sfck2@Osj{sDicE)= zLpWj4=rE{2WdM>y{@(?s=4wLM^YgA35M9r!rDiP`3=I&2CB6pMh9t(D%U+o&mQpp7I#Hu7L5w^-2L*70oP&1NM!vt*8ufWZdd*Xfnea2 zse+Ou@?C)j9|u&9YT3C3=ipyy(WzN`JhmaUYyII!uDfiro?BZF4Fs zYfHjl6bJBqM;AeXFcS^SaMMh*O*2UeqM{4kj7mtv+v_5<3ro_>x#@h&Tx>eh+J~t1 zgxVOwdHLh~|K}iz48~7i;*s$}kwJqiA{#pgPBQH9hDOIphWC$8dtzN`SL2BUV!&|C zOw152G7M@(MFvcnHakciWF@HkyBkFY;#)O#88=|K78z}x=y?nl<(Pua70@Eoqz1je zRuma@1U8vY!6yGUnHGHMYzD4r)=GiMrWT>S?TZ|%uuWsYH_%LO4Ymw3BIXSz4 zYdUQ&c&{f~71FRNY(u5W9RTA7OUB_1NSQn29E5TU=%oVL2R_Ku+V>@*5= zejwBrK!n+S$#e>$uE1ro869N7sa);~BBA-Rdl=P0bBilXnTCjGpWOb47NHn!_pG+~ zvLb_?RKLw%Pnumi$l(oj1@1#s#r#rmRQweG2610_;i@8QCIA2c07*qoM6N<$g7rPK A0ssI2 literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/8.png b/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/8.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4608259abecf985e09775c68b89c075427f7e9 GIT binary patch literal 594 zcmV-Y09+3kI)zsc`@~TomNTHGva@3%$ZBjrJibaYsw!ToHf_DLq_i{yEa$Ks& zhiJ^=)@t%kb{@Z(?92dyq!lXK;q)dG@tTm6y4CApbJ(d0d^YwqYF>2BX!Hb00qvYQ znTSi>>O>ZwO77P~q44t;7VvF5CUvGzI(6WB^KM?h^w#Syahb6MC$e~b)qKCY1_~Ex z)TUBAx7yqUNg=sCzFH}VQm4m1KwZcqCv~*HU~*uNUa;}GQcFz-QmAO5ybpLl5 zU}t0Fvu4&vC@G|QdMTGVz8$qtSAd>NSadkO7(&MS+Q)XI@E_N16dcPdkGK`DzfqoE z3!r0kNdFA~g)l24R&$5Ug?_5{}@ai7d*! zdbd@Q`*l1)2Nr$403ei<)#lkv?6jK&^as>qEJ0Y|V$mpLuq#OVj>FQ;nHi(qWN|VE gyGCbJkTg#H1+X3;IrQ$ETmS$707*qoM6N<$g3V1C&j0`b literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/9.png b/repo/js/ArtifactsGroupPurchasing/assets/背包摩拉数字/9.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4cac4d71a8203967f7f0b7b230f7131f0e05f6 GIT binary patch literal 526 zcmV+p0`dKcP)4E@ z{ZHCp5Xbv}K0oXUkuluXE@PsQF=q=QT9S!l1|yiv0m^)Zq3k6rDo7bED_yBAir|0} zBK#3cy~d$YlP8zE=RUdn-g6IuFoiH>wL9m7A9COK>$P(4qNcZGRVroo(u|L_Ja!;V z5(rb%GqZg0;IeZv)U{h@&{eaU)C-4)aJm?tJAky_loRp9tH~Lsi`h%>b{Z1gr*^i8 z?X8V&^AE(aPq8P@ra%cEd--kuOaHGj)U{r#Mih^70JR$u?F|3~HWUiiznI zQsq3;{t=F(nK?-)Jj{^@lW*SoMLutGrNU3}M*12M!X)EmCE?iQvY9l99qL*<7QdRq zqQX126s5_fi94 QjsO4v07*qoM6N<$g5-7e82|tP literal 0 HcmV?d00001 diff --git a/repo/js/ArtifactsGroupPurchasing/main.js b/repo/js/ArtifactsGroupPurchasing/main.js index 8d932f711..8392d4d15 100644 --- a/repo/js/ArtifactsGroupPurchasing/main.js +++ b/repo/js/ArtifactsGroupPurchasing/main.js @@ -28,6 +28,7 @@ let runnedEnding = false; if (settings.logName) { expGain = await processArtifacts(); + moraGain = await mora(); } await genshin.tpToStatueOfTheSeven(); await switchPartyIfNeeded(settings.partyName); @@ -163,8 +164,11 @@ let runnedEnding = false; if (settings.logName) { expGain = await processArtifacts() - expGain; + moraGain = await mora() - moraGain; log.info(`${settings.logName}:联机狗粮分解获得经验${expGain}`); notification.send(`${settings.logName}:联机狗粮分解获得经验${expGain}`); + log.info(`${settings.logName}:联机狗粮获得摩拉${moraGain}`); + notification.send(`${settings.logName}:联机狗粮获得摩拉${moraGain}`); } { @@ -186,49 +190,10 @@ let runnedEnding = false; )(); async function checkP1Name(p1Name) { - if (true) { - //log.info("禁用了房主名称校验,直接视为通过"); - //强制禁用房主检测 - return true; - } - try { - // 加载目标 PNG - const targetPngs = await readFolder(targetsPath, false); - for (const f of targetPngs) { - if (!f.fullPath.endsWith('.png')) continue; - const mat = file.ReadImageMatSync(f.fullPath); - const ro = RecognitionObject.TemplateMatch(mat, 395, 158, 588, 65); - const baseName = f.fileName.replace(/\.png$/i, ''); - targetsRo.push({ ro, baseName }); - } - log.info(`加载完成共 ${targetsRo.length} 个目标`); - await genshin.returnMainUi(); - await keyPress("F2"); - await sleep(2000); - const gameRegion = captureGameRegion(); - for (const { ro, baseName } of targetsRo) { - if (gameRegion.find(ro).isExist()) { gameRegion.dispose(); log.info(`找到房主为${baseName}`); return true; } - } - gameRegion.dispose(); - } catch { } - try { - const gameRegion = captureGameRegion(); - const resList = gameRegion.findMulti(RecognitionObject.ocr(400, 170, 300, 55)); - gameRegion.dispose(); - let hit = null; - let txt; - for (const res of resList) { - txt = res.text.trim(); - if (txt === p1Name) { hit = txt; break; } - } - if (hit) { - log.info(`识别到房主为${hit},与预期相符`); - return true; - } else { - log.warn(`识别结果为${txt},与预期的${p1Name}不符,重试`); - return false; - } - } catch { return false; } + //log.info("禁用了房主名称校验,直接视为通过"); + //强制禁用房主检测 + return true; + } @@ -1409,38 +1374,9 @@ async function recognizeAndInteract() { } async function processArtifacts() { - // 定义一个独立的函数用于在指定区域进行 OCR 识别并输出识别内容 - async function recognizeTextInRegion(ocrRegion, timeout = 5000) { - let startTime = Date.now(); - let retryCount = 0; // 重试计数 - while (Date.now() - startTime < timeout) { - try { - // 在指定区域进行 OCR 识别 - const gameRegion = captureGameRegion(); - let ocrResult = gameRegion.find(RecognitionObject.ocr(ocrRegion.x, ocrRegion.y, ocrRegion.width, ocrRegion.height)); - gameRegion.dispose(); - if (ocrResult) { - let correctedText = ocrResult.text; - return correctedText; // 返回识别到的内容 - } else { - log.warn(`OCR 识别区域未找到内容`); - return null; // 如果 OCR 未识别到内容,返回 null - } - } catch (error) { - retryCount++; // 增加重试计数 - log.warn(`OCR 识别失败,正在进行第 ${retryCount} 次重试...`); - } - await sleep(500); // 短暂延迟,避免过快循环 - } - log.warn(`经过多次尝试,仍然无法在指定区域识别到文字`); - return null; // 如果未识别到文字,返回 null - } - const decomposeRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/decompose.png")); const quickChooseRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/quickChoose.png")); const confirmRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/confirm.png")); - const doDecomposeRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/doDecompose.png")); - const doDecompose2Ro = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/doDecompose2.png")); const outDatedRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/ConfirmButton.png"), 760, 700, 100, 100); await genshin.returnMainUi(); @@ -1456,7 +1392,7 @@ async function processArtifacts() { async function decomposeArtifacts() { keyPress("B"); - if (await findAndClick(outDatedRo)) { + if (await findAndClick(outDatedRo, 5)) { log.info("检测到过期物品弹窗,处理"); await sleep(1000); } @@ -1470,22 +1406,16 @@ async function processArtifacts() { await sleep(1000); // 识别已储存经验(1570-880-1650-930) - const regionToCheck1 = { x: 1570, y: 880, width: 80, height: 50 }; - const raw = await recognizeTextInRegion(regionToCheck1); - - // 把识别到的文字里所有非数字字符去掉,只保留数字 - const digits = (raw || '').replace(/\D/g, ''); + const digits = await numberTemplateMatch("assets/已储存经验数字", 1573, 885, 74, 36); let initialValue = 0; - if (digits) { - initialValue = parseInt(digits, 10); + if (digits >= 0) { + initialValue = digits; log.info(`已储存经验识别成功: ${initialValue}`); } else { log.warn(`在指定区域未识别到有效数字: ${initialValue}`); } - let regionToCheck3 = { x: 100, y: 885, width: 170, height: 50 }; - if (!await findAndClick(quickChooseRo)) { await genshin.returnMainUi(); return 0; @@ -1498,58 +1428,21 @@ async function processArtifacts() { await genshin.returnMainUi(); return 0; } - await sleep(1500); + await sleep(2000); - let decomposedNum2 = await recognizeTextInRegion(regionToCheck3); - - // 使用正则表达式提取第一个数字 - const match2 = decomposedNum2.match(/已选(\d+)/); - - // 检查是否匹配成功 - if (match2) { - // 将匹配到的第一个数字转换为数字类型并存储在变量中 - let firstNumber2 = Number(match2[1]); - log.info(`分解总数是: ${firstNumber2}`); - } else { - log.info("识别失败"); - } - //识别当前总经验 - notification.Send(`当前经验如图`); // 当前总经验(1470-880-205-70) - const regionToCheck2 = { x: 1470, y: 880, width: 205, height: 70 }; - const raw2 = await recognizeTextInRegion(regionToCheck2); - // 只保留数字 - const digits2 = (raw2 || '').replace(/\D/g, ''); + const digits2 = await numberTemplateMatch("assets/分解可获得经验数字", 1469, 899, 180, 37, 0.95, 0.85, 5, 1); let newValue = 0; - if (digits2) { - newValue = parseInt(digits2, 10); + if (digits2 >= 0) { + newValue = digits2 log.info(`当前总经验识别成功: ${newValue}`); } else { log.warn(`在指定区域未识别到有效数字: ${newValue}`); } - /* - // 根据用户配置,分解狗粮 - await sleep(1000); - // 点击分解按钮 - if (!await findAndClick(doDecomposeRo)) { - await genshin.returnMainUi(); - return 0; - } - await sleep(500); - - // 4. "进行分解"按钮// 点击进行分解按钮 - if (!await findAndClick(doDecompose2Ro)) { - await genshin.returnMainUi(); - return 0; - } - await sleep(1000); - - // 5. 关闭确认界面 - await click(1340, 755); - await sleep(1000); - */ + + // 7. 计算分解获得经验=总经验-上次剩余 const resinExperience = Math.max(newValue - initialValue, 0); log.info(`分解可获得经验: ${resinExperience}`); let resultExperience = resinExperience; @@ -1582,4 +1475,173 @@ async function processArtifacts() { } return false; } +} + +async function mora() { + + let result = 0; + let tryTimes = 0; + while (result === 0 && tryTimes < 3) { + await genshin.returnMainUi(); + await sleep(100); + log.info("开始尝试识别摩拉"); + keyPress("B"); + await sleep(1500); + //切换到任务或养成道具 + let startTime = Date.now(); + while (Date.now() - startTime < 5000) { + // 尝试识别“任务”图标 + const renwuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/renwu.png")); + let res = await findAndClick(renwuRo); + if (res) { + recognized = true; + break; + } + + // 尝试识别“养成道具”文字 + const yangchengdaojuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/yangchengdaoju.png")); + res = await findAndClick(yangchengdaojuRo); + if (res) { + recognized = true; + break; + } + + await sleep(500); // 短暂延迟,避免过快循环 + } + + let moraRes = 0; + await sleep(1000); + if (settings.notify) { + notification.Send(`当前摩拉如图`); + } + + const moraRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/mora.png")); + const gameRegion = captureGameRegion(); + let moraX = 336; + let moraY = 1004; + try { + const result = gameRegion.find(moraRo); + if (result.isExist()) { + moraX = result.x; + moraY = result.y; + } + } catch (err) { + } finally { + gameRegion.dispose(); + } + + moraRes = await numberTemplateMatch("assets/背包摩拉数字", moraX, moraY, 300, 40); + + if (moraRes >= 0) { + log.info(`成功识别到摩拉数值: ${moraRes}`); + result = moraRes; + } else { + log.warn("未能识别到摩拉数值。"); + } + + await sleep(500); + tryTimes++; + await genshin.returnMainUi(); + } + return result; +} + +/** + * 在指定区域内,用 0-9 的 PNG 模板做「多阈值 + 非极大抑制」数字识别, + * 最终把检测到的数字按左右顺序拼成一个整数返回。 + * + * @param {string} numberPngFilePath - 存放 0.png ~ 9.png 的文件夹路径(不含文件名) + * @param {number} x - 待识别区域的左上角 x 坐标,默认 0 + * @param {number} y - 待识别区域的左上角 y 坐标,默认 0 + * @param {number} w - 待识别区域的宽度,默认 1920 + * @param {number} h - 待识别区域的高度,默认 1080 + * @param {number} maxThreshold - 模板匹配起始阈值,默认 0.95(最高可信度) + * @param {number} minThreshold - 模板匹配最低阈值,默认 0.8(最低可信度) + * @param {number} splitCount - 在 maxThreshold 与 minThreshold 之间做几次等间隔阈值递减,默认 3 + * @param {number} maxOverlap - 非极大抑制时允许的最大重叠像素,默认 2;只要 x 或 y 方向重叠大于该值即视为重复框 + * + * @returns {number} 识别出的整数;若没有任何有效数字框则返回 -1 + * + * @example + * const mora = await numberTemplateMatch('摩拉数字', 860, 70, 200, 40); + * if (mora >= 0) console.log(`当前摩拉:${mora}`); + */ +async function numberTemplateMatch( + numberPngFilePath, + x = 0, y = 0, w = 1920, h = 1080, + maxThreshold = 0.95, + minThreshold = 0.8, + splitCount = 3, + maxOverlap = 2 +) { + let ros = []; + for (let i = 0; i <= 9; i++) { + ros[i] = RecognitionObject.TemplateMatch( + file.ReadImageMatSync(`${numberPngFilePath}/${i}.png`), x, y, w, h); + } + + function setThreshold(roArr, newThreshold) { + for (let i = 0; i < roArr.length; i++) { + roArr[i].Threshold = newThreshold; + roArr[i].InitTemplate(); + } + } + + const gameRegion = captureGameRegion(); + const allCandidates = []; + + /* 1. splitCount 次等间隔阈值递减 */ + for (let k = 0; k < splitCount; k++) { + const curThr = maxThreshold - (maxThreshold - minThreshold) * k / Math.max(splitCount - 1, 1); + setThreshold(ros, curThr); + + /* 2. 0-9 每个模板跑一遍,所有框都收 */ + for (let digit = 0; digit <= 9; digit++) { + const res = gameRegion.findMulti(ros[digit]); + if (res.count === 0) continue; + + for (let i = 0; i < res.count; i++) { + const box = res[i]; + allCandidates.push({ + digit: digit, + x: box.x, + y: box.y, + w: box.width, + h: box.height, + thr: curThr + }); + } + } + + } + gameRegion.dispose(); + + /* 3. 无结果提前返回 -1 */ + if (allCandidates.length === 0) { + return -1; + } + + /* 4. 非极大抑制(必须 x、y 两个方向重叠都 > maxOverlap 才视为重复) */ + const adopted = []; + for (const c of allCandidates) { + let overlap = false; + for (const a of adopted) { + const xOverlap = Math.max(0, Math.min(c.x + c.w, a.x + a.w) - Math.max(c.x, a.x)); + const yOverlap = Math.max(0, Math.min(c.y + c.h, a.y + a.h) - Math.max(c.y, a.y)); + if (xOverlap > maxOverlap && yOverlap > maxOverlap) { + overlap = true; + break; + } + } + if (!overlap) { + adopted.push(c); + //log.info(`在 [${c.x},${c.y},${c.w},${c.h}] 找到数字 ${c.digit},匹配阈值=${c.thr}`); + } + } + + /* 5. 按 x 排序,拼整数;仍无有效框时返回 -1 */ + if (adopted.length === 0) return -1; + adopted.sort((a, b) => a.x - b.x); + + return adopted.reduce((num, item) => num * 10 + item.digit, 0); } \ No newline at end of file diff --git a/repo/js/ArtifactsGroupPurchasing/manifest.json b/repo/js/ArtifactsGroupPurchasing/manifest.json index ecb70ad26..ab2521121 100644 --- a/repo/js/ArtifactsGroupPurchasing/manifest.json +++ b/repo/js/ArtifactsGroupPurchasing/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "AAA狗粮联机团购", - "version": "1.11.5", + "version": "1.12.0", "tags": [ "狗粮" ], diff --git a/repo/js/AutoHoeingOneDragon/README.md b/repo/js/AutoHoeingOneDragon/README.md index a85844e20..600cb8092 100644 --- a/repo/js/AutoHoeingOneDragon/README.md +++ b/repo/js/AutoHoeingOneDragon/README.md @@ -57,6 +57,7 @@ - - 蕈兽 :表明路线含有蕈兽,蕈兽遇到雷火元素时会发生转化,转化后占据精英怪物的名额却只掉落少量摩拉,通常建议禁用 - - 小怪 :表明路线只含小怪,战斗强度低,且无需携带万叶来拾取可能掉落的狗粮,可以适当携带等级较低或不上场的角色来获取经验收益 - - 狭窄地形 :表明路线存在部分非常狭窄,任何位移技能都容易导致致命后果 + - - 环境伤害 :路线处于雪山或挪德卡莱苦壑崖区域,环境伤害会持续扣血 - - 分组逻辑:不含路径组1排除标签和任何其他组标签的路径会进入路径组1,剩余路径若含有路径组x的标签之一,则会进入路径组x - - 使用示例:路径组一填写蕈兽,禁用蕈兽路线,路径组二填写次数盾,水免,处理路径组一的配队难以处理的次数盾和水免怪物,路径组三填写小怪,队伍中放升级中角色获取经验,将本js添加到【多个配置组】中,根据路径组的具体情况配置每个配置组的设置 - - 新增支持自定义标签,将会尝试将未知的标签通过文件路径,description匹配,含有对应关键词的路线即视为含有这些标签 @@ -103,4 +104,3 @@ ### 五、**其他** - **想要测作者怎么办** :来q群1057307824测测莫酱(有其他问题也行) - - 不看github issue,只接受通过qq反馈 diff --git a/repo/js/AutoHoeingOneDragon/manifest.json b/repo/js/AutoHoeingOneDragon/manifest.json index 916326c53..e7fb3d6f7 100644 --- a/repo/js/AutoHoeingOneDragon/manifest.json +++ b/repo/js/AutoHoeingOneDragon/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "锄地一条龙", - "version": "1.20.7", + "version": "1.20.9", "description": "一站式解决自动化锄地,支持只拾取狗粮,请仔细阅读README.md后使用", "authors": [ { diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/101蒙德雪山(600_1,200_1).json b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/101蒙德雪山(600_1,200_1).json index 2a2eedf66..205ca27fd 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/101蒙德雪山(600_1,200_1).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/101蒙德雪山(600_1,200_1).json @@ -15,7 +15,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "101蒙德雪山(600_1,200_1)", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/102蒙德雪山(600_1).json b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/102蒙德雪山(600_1).json index b4f107794..061ed846f 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/102蒙德雪山(600_1).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/102蒙德雪山(600_1).json @@ -1,6 +1,9 @@ { "info": { "name": "102蒙德雪山(600_1)", + "tags": [ + "环境伤害" + ], "type": "collect", "author": "汐", "version": "1.0", diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/103蒙德雪山(600_2,200_4).json b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/103蒙德雪山(600_2,200_4).json index 6a7dab5c9..baca106a3 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/103蒙德雪山(600_2,200_4).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/103蒙德雪山(600_2,200_4).json @@ -14,7 +14,9 @@ } ], "map_name": "Teyvat", - "tags": [], + "tags": [ + "环境伤害" + ], "last_modified_time": 1754740578989, "enable_monster_loot_split": false, "map_match_method": "" diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/733挪德卡莱苦壑崖北(200_5).json b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/733挪德卡莱苦壑崖北(200_5).json index aab03060d..547cf3506 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/733挪德卡莱苦壑崖北(200_5).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/733挪德卡莱苦壑崖北(200_5).json @@ -13,7 +13,9 @@ "map_match_method": "SIFT", "map_name": "Teyvat", "name": "733挪德卡莱苦壑崖北(200_5)", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/734挪德卡莱苦壑崖西南(200_7).json b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/734挪德卡莱苦壑崖西南(200_7).json index 07c19c6d5..85ca8fc5a 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/734挪德卡莱苦壑崖西南(200_7).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/734挪德卡莱苦壑崖西南(200_7).json @@ -13,7 +13,9 @@ "map_match_method": "SIFT", "map_name": "Teyvat", "name": "734挪德卡莱苦壑崖西南(200_7)", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/735挪德卡莱苦壑崖西(200_10).json b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/735挪德卡莱苦壑崖西(200_10).json index 368c46f84..7532bb00a 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/735挪德卡莱苦壑崖西(200_10).json +++ b/repo/js/AutoHoeingOneDragon/pathing/0-汐酱/1-精英/735挪德卡莱苦壑崖西(200_10).json @@ -13,7 +13,9 @@ "map_match_method": "SIFT", "map_name": "Teyvat", "name": "735挪德卡莱苦壑崖西(200_10)", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A01-蒙德-龙脊雪山-眠龙谷-北-3只.json b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A01-蒙德-龙脊雪山-眠龙谷-北-3只.json index 402f12425..8d00f36d3 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A01-蒙德-龙脊雪山-眠龙谷-北-3只.json +++ b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A01-蒙德-龙脊雪山-眠龙谷-北-3只.json @@ -14,8 +14,8 @@ "map_match_method": "", "map_name": "Teyvat", "name": "A01-蒙德-龙脊雪山-眠龙谷-北-3只", - "tags": [ - "高危" + "tags": [ + "环境伤害" ], "type": "collect", "version": "1.0" diff --git a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A02-蒙德-龙脊雪山-覆雪之路-2只.json b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A02-蒙德-龙脊雪山-覆雪之路-2只.json index b5605a191..3f65c1742 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A02-蒙德-龙脊雪山-覆雪之路-2只.json +++ b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A02-蒙德-龙脊雪山-覆雪之路-2只.json @@ -14,7 +14,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "A02-蒙德-龙脊雪山-覆雪之路-2只", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A03-蒙德-龙脊雪山-寒天之钉-下方-3只.json b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A03-蒙德-龙脊雪山-寒天之钉-下方-3只.json index b2e151dc7..97ad48d6c 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A03-蒙德-龙脊雪山-寒天之钉-下方-3只.json +++ b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A03-蒙德-龙脊雪山-寒天之钉-下方-3只.json @@ -14,8 +14,8 @@ "map_match_method": "", "map_name": "Teyvat", "name": "A03-蒙德-龙脊雪山-寒天之钉-下方-3只", - "tags": [ - "高危" + "tags": [ + "环境伤害" ], "type": "collect", "version": "1.0" diff --git a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A04-蒙德-龙脊雪山-七天神像-东北-3只.json b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A04-蒙德-龙脊雪山-七天神像-东北-3只.json index 4d39e6db3..61773516d 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A04-蒙德-龙脊雪山-七天神像-东北-3只.json +++ b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A04-蒙德-龙脊雪山-七天神像-东北-3只.json @@ -8,7 +8,9 @@ "hash_res": "75441803", "map_name": "Teyvat", "bgi_version": "0.45.0", - "tags": [], + "tags": [ + "环境伤害" + ], "last_modified_time": 1752249603177 }, "positions": [ diff --git a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A05-蒙德-龙脊雪山-七天神像-东-3只.json b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A05-蒙德-龙脊雪山-七天神像-东-3只.json index 2deaa9e91..14cbcc674 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A05-蒙德-龙脊雪山-七天神像-东-3只.json +++ b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A05-蒙德-龙脊雪山-七天神像-东-3只.json @@ -14,7 +14,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "A05-蒙德-龙脊雪山-七天神像-东-3只", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A06-蒙德-龙脊雪山-七天神像-西南-2只.json b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A06-蒙德-龙脊雪山-七天神像-西南-2只.json index 90a71c6b0..74f59e770 100644 --- a/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A06-蒙德-龙脊雪山-七天神像-西南-2只.json +++ b/repo/js/AutoHoeingOneDragon/pathing/1-莫酱/0-飞萤/A06-蒙德-龙脊雪山-七天神像-西南-2只.json @@ -14,7 +14,9 @@ "map_match_method": "", "map_name": "Teyvat", "name": "A06-蒙德-龙脊雪山-七天神像-西南-2只", - "tags": [], + "tags": [ + "环境伤害" + ], "type": "collect", "version": "1.0" }, diff --git a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/004枫丹旧日之海龙蜥 传奇.json b/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/004枫丹旧日之海龙蜥 传奇.json deleted file mode 100644 index 92773d98a..000000000 --- a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/004枫丹旧日之海龙蜥 传奇.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "info": { - "authors": [ - { - "links": "", - "name": "汐" - } - ], - "bgi_version": "0.45.0", - "description": " 路线信息:该路线预计用时100秒,预计收入1200摩拉,包含以下怪物:2只精英传奇倍率三。", - "enable_monster_loot_split": false, - "last_modified_time": 1767726586175, - "map_match_method": "", - "map_name": "SeaOfBygoneEras", - "name": "004枫丹旧日之海龙蜥 传奇", - "tags": [], - "type": "collect", - "version": "1.0" - }, - "positions": [ - { - "action": "", - "action_params": "", - "id": 1, - "move_mode": "walk", - "type": "teleport", - "x": 3542.162841796875, - "y": 1377.1722412109375 - }, - { - "action": "", - "action_params": "", - "id": 2, - "move_mode": "dash", - "type": "path", - "x": 3550.346923828125, - "y": 1430.4874267578125 - }, - { - "action": "fight", - "action_params": "", - "id": 3, - "move_mode": "dash", - "type": "path", - "x": 3544.763427734375, - "y": 1462.154052734375 - }, - { - "action": "fight", - "action_params": "", - "id": 4, - "move_mode": "dash", - "type": "orientation", - "x": 3544.763427734375, - "y": 1462.154052734375 - }, - { - "action": "combat_script", - "action_params": "wait(1)", - "id": 5, - "move_mode": "dash", - "type": "orientation", - "x": 3544.763427734375, - "y": 1462.154052734375 - } - ] -} \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/525枫丹切萨勒姆宫(200_2).json b/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/525枫丹切萨勒姆宫(200_2).json deleted file mode 100644 index 406a3cdee..000000000 --- a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/525枫丹切萨勒姆宫(200_2).json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "info": { - "authors": [ - { - "links": "", - "name": "汐" - } - ], - "bgi_version": "0.45.0", - "description": " 路线信息:该路线预计用时51秒,包含以下怪物:2只魔像禁卫。", - "enable_monster_loot_split": false, - "last_modified_time": 1767728650378, - "map_match_method": "", - "map_name": "SeaOfBygoneEras", - "name": "525枫丹切萨勒姆宫(200_2)", - "tags": [], - "type": "collect", - "version": "1.0" - }, - "positions": [ - { - "action": "", - "action_params": "", - "id": 1, - "move_mode": "walk", - "type": "teleport", - "x": 4739.18896484375, - "y": 1354.5679931640625 - }, - { - "action": "", - "action_params": "", - "id": 2, - "move_mode": "dash", - "type": "path", - "x": 4730.55078125, - "y": 1374.54443359375 - }, - { - "action": "fight", - "action_params": "", - "id": 3, - "move_mode": "dash", - "type": "path", - "x": 4713.1474609375, - "y": 1388.3568115234375 - }, - { - "action": "combat_script", - "action_params": "wait(1)", - "id": 4, - "move_mode": "dash", - "type": "orientation", - "x": 4713.1474609375, - "y": 1388.3568115234375 - } - ] -} \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/526枫丹切萨勒姆宫东(200_2).json b/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/526枫丹切萨勒姆宫东(200_2).json deleted file mode 100644 index 48be4f4eb..000000000 --- a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/526枫丹切萨勒姆宫东(200_2).json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "info": { - "authors": [ - { - "links": "", - "name": "汐" - } - ], - "bgi_version": "0.45.0", - "description": " 路线信息:该路线预计用时66秒,包含以下怪物:2只魔像禁卫。", - "enable_monster_loot_split": false, - "last_modified_time": 1767728638478, - "map_match_method": "", - "map_name": "SeaOfBygoneEras", - "name": "526枫丹切萨勒姆宫东(200_2)", - "tags": [], - "type": "collect", - "version": "1.0" - }, - "positions": [ - { - "action": "", - "action_params": "", - "id": 1, - "move_mode": "walk", - "type": "teleport", - "x": 4547.02490234375, - "y": 1477.1634521484375 - }, - { - "action": "", - "action_params": "", - "id": 2, - "move_mode": "dash", - "type": "path", - "x": 4564.86767578125, - "y": 1371.078857421875 - }, - { - "action": "combat_script", - "action_params": "keydown(w),wait(2.4),dash", - "id": 3, - "move_mode": "dash", - "type": "orientation", - "x": 4541.044921875, - "y": 1351.780029296875 - }, - { - "action": "", - "action_params": "", - "id": 4, - "move_mode": "dash", - "type": "path", - "x": 4541.044921875, - "y": 1351.780029296875 - }, - { - "action": "fight", - "action_params": "", - "id": 5, - "move_mode": "dash", - "type": "path", - "x": 4556.9306640625, - "y": 1311.4007568359375 - }, - { - "action": "combat_script", - "action_params": "wait(1)", - "id": 6, - "move_mode": "dash", - "type": "orientation", - "x": 4556.9306640625, - "y": 1311.4007568359375 - } - ] -} \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/527枫丹旧日之海谐律院(200_2).json b/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/527枫丹旧日之海谐律院(200_2).json deleted file mode 100644 index 9dd49a56b..000000000 --- a/repo/js/AutoHoeingOneDragon/pathing/旧日和圣山锄地路线/旧日之海/527枫丹旧日之海谐律院(200_2).json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "info": { - "authors": [ - { - "links": "", - "name": "汐" - } - ], - "bgi_version": "0.45.0", - "description": " 路线信息:该路线预计用时52秒,包含以下怪物:2只魔像禁卫。", - "enable_monster_loot_split": false, - "last_modified_time": 1767728664745, - "map_match_method": "", - "map_name": "SeaOfBygoneEras", - "name": "527枫丹旧日之海谐律院(200_2)", - "tags": [], - "type": "collect", - "version": "1.0" - }, - "positions": [ - { - "action": "", - "action_params": "", - "id": 1, - "move_mode": "walk", - "type": "teleport", - "x": 4006.736328125, - "y": 1337.83544921875 - }, - { - "action": "", - "action_params": "", - "id": 2, - "move_mode": "dash", - "type": "path", - "x": 3981.960693359375, - "y": 1324.236328125 - }, - { - "action": "fight", - "action_params": "", - "id": 3, - "move_mode": "dash", - "type": "path", - "x": 3967.423583984375, - "y": 1273.9945068359375 - }, - { - "action": "combat_script", - "action_params": "wait(1)", - "id": 4, - "move_mode": "dash", - "type": "orientation", - "x": 3967.423583984375, - "y": 1273.9945068359375 - } - ] -} \ No newline at end of file diff --git a/repo/js/AutoHoeingOneDragon/settings.json b/repo/js/AutoHoeingOneDragon/settings.json index 1269fc77d..6dd1f0e10 100644 --- a/repo/js/AutoHoeingOneDragon/settings.json +++ b/repo/js/AutoHoeingOneDragon/settings.json @@ -114,7 +114,7 @@ { "name": "tagsForGroup1", "type": "input-text", - "label": "允许使用的标签:\n水免,次数盾,高危,传奇,蕈兽,小怪,沙暴,狭窄地形]\n允许使用自定义标签,文件路径或描述包含时将会视为路线含有该标签\n多个标签使用【中文逗号】分隔\n\n路径组一要【排除】的标签", + "label": "允许使用的标签:\n水免,次数盾,高危,传奇,蕈兽,小怪,沙暴,狭窄地形,环境伤害\n允许使用自定义标签,文件路径或描述包含时将会视为路线含有该标签\n多个标签使用【中文逗号】分隔\n\n路径组一要【排除】的标签", "default": "蕈兽,传奇,狭窄地形" }, {