From a0782e0053f9a94a0c23145d2f59003da31a4e28 Mon Sep 17 00:00:00 2001 From: Dongw Date: Sun, 1 Oct 2023 12:02:32 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E9=87=8D=E6=9E=84tasks=E5=B9=B6?= =?UTF-8?q?=E6=8B=86=E5=88=86=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/image/Armada/ArmadaPageFlag.png | Bin 0 -> 2450 bytes ...rds.png => ClaimedContributionRewards.png} | Bin .../image/Armada/CommissionsPageFlag.png | Bin 0 -> 1019 bytes ...eceive.png => CommissionsRewardsClaim.png} | Bin ...=> CommissionsRewardsLastDistribution.png} | Bin .../Armada/CommissionsRewardsPageFlag.png | Bin 0 -> 1381 bytes ...ollection.png => BPMissionsQuickClaim.png} | Bin ...NotReceive.png => DailyBPRewardsClaim.png} | Bin ...ewardsOk.png => DailyBPRewardsClaimed.png} | Bin ...sPreview.png => DailyBPRewardsPreview.png} | Bin ...ticeRewards.png => NoneDailyBPRewards.png} | Bin .../{Homeland => Dorm}/CloseCollectAP.png | Bin .../image/{Homeland => Dorm}/CollectAP.png | Bin .../{Homeland => Dorm}/CollectAPButton.png | Bin .../image/{Homeland => Dorm}/CollectGold.png | Bin .../{Homeland => Dorm}/CollectGoldMax.png | Bin .../image/{Homeland => Dorm}/Confirm.png | Bin .../resource/image/Dorm/ErrandsPageFlag.png | Bin 0 -> 30726 bytes .../ErrandsRefresh.png} | Bin .../ErrandsUnfold.png} | Bin .../NextQuest.png => Dorm/NextErrands.png} | Bin .../QuickDispatch.png} | Bin .../StartQuest.png => Dorm/StartErrands.png} | Bin .../StartExpeditions.png} | Bin .../SwitchToFragmentPage.png | Bin .../SwitchToMaterialPage.png | Bin .../{BurdenReduction.png => LITE.png} | Bin .../image/MaterialEvent/MaterialEventFlag.png | Bin 0 -> 8662 bytes ...ClickBurdenReduction.png => QuickLITE.png} | Bin .../Armada/EnterArmadaContribution.png | Bin .../Armada/EnterCommissionsPage.png} | Bin .../Attack/EnterAttackEventPage.png} | Bin .../EnterMaterialExpeditionPage.png} | Bin .../EnterUniversalMiragePage.png | Bin 0 -> 10444 bytes .../EnterCommissionsRewardsPage.png} | Bin .../Dorm/EnterErrandsPage.png} | Bin .../Dorm/EnterExpeditionsPage.png} | Bin .../Home/EnterAttackPage.png} | Bin .../Home}/EnterSupplyPage.png | Bin .../EnterMaterialEventPage.png} | Bin .../Missions/EnterBPMissionsPage.png} | Bin .../Shop/EnterActivityShopPage.png | Bin .../Shop/EnterMirageStorePage.png | Bin .../Supply}/EnterShopPage.png | Bin .../UniversalMirage/EnterBladeGravePage.png | Bin 0 -> 5613 bytes .../EnterGlacialFencesPage.png | Bin 0 -> 6336 bytes .../EnterIlluminatedLandPage.png | Bin 0 -> 7419 bytes .../EnterRoaringPalacePage.png | Bin 0 -> 7012 bytes .../resource/image/Shop/DailyShopPageFlag.png | Bin 0 -> 4866 bytes assets/resource/pipeline/armada.json | 607 ------------------ assets/resource/pipeline/armada/armada.json | 25 + .../resource/pipeline/armada/commissions.json | 259 ++++++++ .../pipeline/armada/contributions.json | 332 ++++++++++ assets/resource/pipeline/awards.json | 161 ++--- assets/resource/pipeline/dorm/dorm.json | 115 ++++ assets/resource/pipeline/dorm/errands.json | 245 +++++++ .../expeditions.json} | 135 ++-- assets/resource/pipeline/homeland.json | 363 ----------- assets/resource/pipeline/material_event.json | 114 +--- .../navigation/armada_navigation.json | 36 ++ .../navigation/attack_event_navigation.json | 15 + .../navigation/attack_navigation.json | 15 + .../challenge_event_navigation.json | 15 + .../navigation/commissions_navigation.json | 15 + .../pipeline/navigation/dorm_navigation.json | 27 + .../pipeline/navigation/home_navigation.json | 94 +++ .../material_expedition_navigation.json | 15 + .../navigation/missions_navigation.json | 15 + .../pipeline/navigation/shop_navigation.json | 27 + .../navigation/supply_navigation.json | 15 + .../universal_mirage_navigation.json | 55 ++ assets/resource/pipeline/shop.json | 67 +- assets/resource/pipeline/utils.json | 17 + source/cli/main.cpp | 8 +- source/cli/main.h | 2 +- 75 files changed, 1504 insertions(+), 1290 deletions(-) create mode 100644 assets/resource/image/Armada/ArmadaPageFlag.png rename assets/resource/image/Armada/{ReceivedContributionRewards.png => ClaimedContributionRewards.png} (100%) create mode 100644 assets/resource/image/Armada/CommissionsPageFlag.png rename assets/resource/image/Armada/{ArmadaPrizePoolReceive.png => CommissionsRewardsClaim.png} (100%) rename assets/resource/image/Armada/{ArmadaPrizePoolViewLastAssignment.png => CommissionsRewardsLastDistribution.png} (100%) create mode 100644 assets/resource/image/Armada/CommissionsRewardsPageFlag.png rename assets/resource/image/Awards/{CombatMissionOneClickCollection.png => BPMissionsQuickClaim.png} (100%) rename assets/resource/image/Awards/{DailyPracticeRewardsNotReceive.png => DailyBPRewardsClaim.png} (100%) rename assets/resource/image/Awards/{DailyPracticeRewardsOk.png => DailyBPRewardsClaimed.png} (100%) rename assets/resource/image/Awards/{DailyPracticeRewardsPreview.png => DailyBPRewardsPreview.png} (100%) rename assets/resource/image/Awards/{NoDailyPracticeRewards.png => NoneDailyBPRewards.png} (100%) rename assets/resource/image/{Homeland => Dorm}/CloseCollectAP.png (100%) rename assets/resource/image/{Homeland => Dorm}/CollectAP.png (100%) rename assets/resource/image/{Homeland => Dorm}/CollectAPButton.png (100%) rename assets/resource/image/{Homeland => Dorm}/CollectGold.png (100%) rename assets/resource/image/{Homeland => Dorm}/CollectGoldMax.png (100%) rename assets/resource/image/{Homeland => Dorm}/Confirm.png (100%) create mode 100644 assets/resource/image/Dorm/ErrandsPageFlag.png rename assets/resource/image/{Homeland/QuestRefresh.png => Dorm/ErrandsRefresh.png} (100%) rename assets/resource/image/{Homeland/QuestUnfold.png => Dorm/ErrandsUnfold.png} (100%) rename assets/resource/image/{Homeland/NextQuest.png => Dorm/NextErrands.png} (100%) rename assets/resource/image/{Homeland/OneClickDispatch.png => Dorm/QuickDispatch.png} (100%) rename assets/resource/image/{Homeland/StartQuest.png => Dorm/StartErrands.png} (100%) rename assets/resource/image/{StorySweep/StartStorySweep.png => Dorm/StartExpeditions.png} (100%) rename assets/resource/image/{StorySweep => Dorm}/SwitchToFragmentPage.png (100%) rename assets/resource/image/{StorySweep => Dorm}/SwitchToMaterialPage.png (100%) rename assets/resource/image/MaterialEvent/{BurdenReduction.png => LITE.png} (100%) create mode 100644 assets/resource/image/MaterialEvent/MaterialEventFlag.png rename assets/resource/image/MaterialEvent/{OneClickBurdenReduction.png => QuickLITE.png} (100%) rename assets/resource/image/{ => Navigation}/Armada/EnterArmadaContribution.png (100%) rename assets/resource/image/{Armada/EnterCommissionedRecovery.png => Navigation/Armada/EnterCommissionsPage.png} (100%) rename assets/resource/image/{MaterialEvent/AttackPageFlag.png => Navigation/Attack/EnterAttackEventPage.png} (100%) rename assets/resource/image/{MaterialEvent/EnterMaterialEvent.png => Navigation/AttackEvent/EnterMaterialExpeditionPage.png} (100%) create mode 100644 assets/resource/image/Navigation/ChallengeEvent/EnterUniversalMiragePage.png rename assets/resource/image/{Armada/EnterArmadaPrizePoolPage.png => Navigation/Commissions/EnterCommissionsRewardsPage.png} (100%) rename assets/resource/image/{Homeland/EnterQuest.png => Navigation/Dorm/EnterErrandsPage.png} (100%) rename assets/resource/image/{StorySweep/EnterStorySweep.png => Navigation/Dorm/EnterExpeditionsPage.png} (100%) rename assets/resource/image/{MaterialEvent/EnterAttack.png => Navigation/Home/EnterAttackPage.png} (100%) rename assets/resource/image/{Shop => Navigation/Home}/EnterSupplyPage.png (100%) rename assets/resource/image/{MaterialEvent/MaterialActivitiesPageFlag.png => Navigation/MaterialExpedition/EnterMaterialEventPage.png} (100%) rename assets/resource/image/{Awards/CombatMissionPageFlag.png => Navigation/Missions/EnterBPMissionsPage.png} (100%) rename assets/resource/image/{ => Navigation}/Shop/EnterActivityShopPage.png (100%) rename assets/resource/image/{ => Navigation}/Shop/EnterMirageStorePage.png (100%) rename assets/resource/image/{Shop => Navigation/Supply}/EnterShopPage.png (100%) create mode 100644 assets/resource/image/Navigation/UniversalMirage/EnterBladeGravePage.png create mode 100644 assets/resource/image/Navigation/UniversalMirage/EnterGlacialFencesPage.png create mode 100644 assets/resource/image/Navigation/UniversalMirage/EnterIlluminatedLandPage.png create mode 100644 assets/resource/image/Navigation/UniversalMirage/EnterRoaringPalacePage.png create mode 100644 assets/resource/image/Shop/DailyShopPageFlag.png delete mode 100644 assets/resource/pipeline/armada.json create mode 100644 assets/resource/pipeline/armada/armada.json create mode 100644 assets/resource/pipeline/armada/commissions.json create mode 100644 assets/resource/pipeline/armada/contributions.json create mode 100644 assets/resource/pipeline/dorm/dorm.json create mode 100644 assets/resource/pipeline/dorm/errands.json rename assets/resource/pipeline/{story_sweep.json => dorm/expeditions.json} (67%) delete mode 100644 assets/resource/pipeline/homeland.json create mode 100644 assets/resource/pipeline/navigation/armada_navigation.json create mode 100644 assets/resource/pipeline/navigation/attack_event_navigation.json create mode 100644 assets/resource/pipeline/navigation/attack_navigation.json create mode 100644 assets/resource/pipeline/navigation/challenge_event_navigation.json create mode 100644 assets/resource/pipeline/navigation/commissions_navigation.json create mode 100644 assets/resource/pipeline/navigation/dorm_navigation.json create mode 100644 assets/resource/pipeline/navigation/home_navigation.json create mode 100644 assets/resource/pipeline/navigation/material_expedition_navigation.json create mode 100644 assets/resource/pipeline/navigation/missions_navigation.json create mode 100644 assets/resource/pipeline/navigation/shop_navigation.json create mode 100644 assets/resource/pipeline/navigation/supply_navigation.json create mode 100644 assets/resource/pipeline/navigation/universal_mirage_navigation.json diff --git a/assets/resource/image/Armada/ArmadaPageFlag.png b/assets/resource/image/Armada/ArmadaPageFlag.png new file mode 100644 index 0000000000000000000000000000000000000000..a3f305d230d3fd19dd6a8a49fcab65392c48cef7 GIT binary patch literal 2450 zcmXw*dpr~B8^96Ah+{)8k=!qtjHEVd#%vsH?l!lYa!XQjGRCH2AxRBI=60wUY3RsZ zB19ufB9>fhv0SIQot@L~_s9Fbe>~s!xxdfnO>xGcr6u=E3JD2G+uI>s1t(IlAOI1; zuGj8hDkLO7=p%W5RwwpAT}|y z3>Tp3UCOk+@{A=YTcc0bIS8PCL^M;m-LhR(tjK`SiR{(~WQ@9JLGQvLeNr~p0lmO% zpn@CF*$U_k90hu3m^tB*`#=*VXPZO>h?GdXDk8)oM1Tk|P_BJtDKt=6I1p5oFfAiR z1HH7i_R%yes#VX^vpQ$=#vtN>m(}v-4G{39thI_Y3TKzo<&8Eh2W$EQ1vhvyG!tr2 zVjylV1mh8E8-gNk3aqfSw3JX<^WQffPbpjzH&7=Z#eyzG^wdz7^B#*^--rW+rF|7sP`I*x4De8QPZUNV7 zU&d32-76)}zbKl`r1&}b&W=+>%56pexFduR3`FEl_W9v48te2r<2QbaP6fwm=DLb$gQf18P-B{E zY6rZo99;NLByvf38vzsd`I$DF6<{|ajqTrt7NuxjZ7N0lL-6V7F!B;1GaW-g- zdo+bxTbX`q9c5N3nH)2ZHx0l!Uaq%Xkzl^(pu%pPjCSw}?%2<7+y$T9ierA$O&!+| zcov`*Yn~dA264ELt*Akq79|YxQ#X-$o1>2+&W6W-|Eyx1Z{$Q>>q$@05p@>RR#W;d zkFO56uLCYD*KDs~-0az|^K0Sk@v82aFWDZHc|}EsS@2gV%$316%^>MVuZG0Q#4E(w zmcQUTU;I>zITE2tId%s(2$wdZ;?b0?Ig3qm9tvy%3yj`b;XLu*?}I)epDSqBjy*Pl zq^eCCrAmq*G3@w;^#~Gsh!QI9u(c$og}v<_IW!mhFf2N}WqRkthoPsuB{%r~GUQCk z;@44@Q}e0OMmiN98!!#WcoZ)avGrHHcKMq;-+oy(`NEf*=+rg-#{jSSGEtvMvq$>L zLJxEY;f+C4`J@T^Bb1FQt$vwSYUhy*O{N zkieyB8LP&xO;aJ&)eOU(<$M)Yi1C}sbu%!kKq1h&n7|`SCPycoyb>}o;$S2xZSe#DXf%Jw@zM^8#DKn z9s2Q#82g!7usu!uI%;%+vdj#dU^1^Kk)tZM#BZQz-pr8$IIY^^U-5u|xo#Qh9c

apu;-0Wb3O_PrWvKGd^?_e0s@C~P?JuGPN}{8y#y z5fe~P_U;%rmMyJC8*gVN*Ie(Y7BThyYgNX+BdFW)sRgh_IWzc5U{Lc;9k-%r6HIcjkfHX zwZ>yt$lDVt_1&1vyMEYP3XdM@eL_ObL)HIJYSzv)-LBjj#BFC+#>U$~DT6fnfd7mypr8}!h-+!iDhtpwnSVY*#vUfUVC|wC{ zi6p$B&|3Fy;=5srRAFTg$nQ(nI)a8!fg?bCAk zQ2`A5&x|`|DRn3u)Aw+Y2FF)P6yT&^n4GaB`9J?VJa=asoJfmJUwn))32{;iz7n8W2P=`2?ESiKc)vQ28>%^b(>T+;%<$4zwVn<7S zW#WuX*PJUr*~yVmg-8|^(VgUGE4r5OA7A@$qQ-gpoj(2K>fwF03c1?y#(9di0&e0r zM4J>rVp2rEu<#e!=gP(Bv@wpz5|3U=kIB1i1r+TAW$OU+7XU}(6K&lQ!X}&PPXh?@ z%#6#2r9`rIzz(=-&74Ij!mzxZb%LWoa!Vk6%<`(QP_UaGK6#TV>>}@f~ JC)TI0{R3$Am?!`M literal 0 HcmV?d00001 diff --git a/assets/resource/image/Armada/ReceivedContributionRewards.png b/assets/resource/image/Armada/ClaimedContributionRewards.png similarity index 100% rename from assets/resource/image/Armada/ReceivedContributionRewards.png rename to assets/resource/image/Armada/ClaimedContributionRewards.png diff --git a/assets/resource/image/Armada/CommissionsPageFlag.png b/assets/resource/image/Armada/CommissionsPageFlag.png new file mode 100644 index 0000000000000000000000000000000000000000..4328cf310c3da1c9c3b7d9bac14d2738882e4854 GIT binary patch literal 1019 zcmV!Usa& zBLo-cXb}QU1TUIPT4-V%gb##3JAw!2Xb}QU1TUIPT4-VnM5t2=Qo@7Kjxi9SPAN!< zI>NuuT+%{2e}D%~y;!grC%>OZM{jfmbzFfl?X+m`?VbqXz=P(J7TOKn3EjTionFpV zY&mwXXKcKeG{V(tRk^vAJKQh9gAz##9{vEIdOG9}@IPJ@-oH5;o9O*K-a{JUTE%>M z?b(444qTK-T5xHM;*SPy-R%ZYz7Xl<1KnT`XCsE6;aW;zccbuTrwA7%k``QjgMo)% zM+_fBL;m1mJDnem_uLxm#(%NPBE6hBJ+|>TqD0a{1J||5>A}c|30JM=Y(LKx3-(vv zMa^ylfFl*!DY%q+|L6JcdO-*UfD$PS4FOZ1{b9uLGk6pZFV|NN1EwD8@i|geD-sP- zDzqa)t?HCct5PZgD3P+zz`1ts%Yo?a5D~m~e$Vf{I#CKu1Q5aJ=S)OOrI5Khr9_351^3#6BmT*xbWuZyqAkqzO=KF{lGT>3Q z<>qQOcW?nJX!29LAj%G%EdRa>Ht;6?L`FL^X19u@ZgXM z4^eZrp64@f&(R4jEXL890)gwAs5#-NIXNBXx(1h0D)Y9qoz9DzgHC8+F^+2mO#b-W zo57F)k7`A(uVjz1m$(8gEXHxI$cQ;KdZSvAs3X)dt{vygd%GvN8Z9ivaSeq|6gpA( p2Q4hc@#z#k5iKmm@qbZh`3uHbe8?J#CuaZv002ovPDHLkV1mvi(V_qV literal 0 HcmV?d00001 diff --git a/assets/resource/image/Armada/ArmadaPrizePoolReceive.png b/assets/resource/image/Armada/CommissionsRewardsClaim.png similarity index 100% rename from assets/resource/image/Armada/ArmadaPrizePoolReceive.png rename to assets/resource/image/Armada/CommissionsRewardsClaim.png diff --git a/assets/resource/image/Armada/ArmadaPrizePoolViewLastAssignment.png b/assets/resource/image/Armada/CommissionsRewardsLastDistribution.png similarity index 100% rename from assets/resource/image/Armada/ArmadaPrizePoolViewLastAssignment.png rename to assets/resource/image/Armada/CommissionsRewardsLastDistribution.png diff --git a/assets/resource/image/Armada/CommissionsRewardsPageFlag.png b/assets/resource/image/Armada/CommissionsRewardsPageFlag.png new file mode 100644 index 0000000000000000000000000000000000000000..35192723fb86599fb300e44ca13aff12d216ba85 GIT binary patch literal 1381 zcmV-r1)BPaP)*_7lwH0QIpsB2wR|*AnC0k4-`p3^lo>-Ag`yI+s1!}d&$bEzO^#;g zrq-~H@)frKH`8%@^|ubQFq8&=Jx8V~uWabvhxB z-A;k9$>A2IgLYe$8M;EQ^kg*qVlf9@u*2nS5z`5I>`n@A5daEBCFra+)2W|40EVy4 z<>eB%K(O8;)nPj`f3L(JErYXIji=9h0sL|GSuwAIqfnm&o!4LIKUDwx*{g|r8F0Z) zm$O;K&e92a>`n??u*2nS5vLw5&rYrq-l9;S1l_SyZo8v${BAn6@EY9NNE<#UHW&xj z=(e>VZ(2&{9}F*oqfnm&-FFwf6&B<0wYj`p0@oe(5fQe-7&Z-EjDxe<%qP#a77NPF zD|6r|)F(lACgc+Y`fV@{U3b_QyEqNtY@`iaFpUjeng-AnZo6@LMkz4>MAQ}Dt7+`| zr5SJ(>XV>56Y>cH-ME@qFP5OG00{r;jjY2b*cE4)|J*!4>@;HbCH z58det-U^HGXDpe|DNqyuUE#e%^x}DLbR-3!JK_Tn8=QtbUKYT@5pxDJ}Fmy+Js>*I%n=cj==ni!_oh@QIA&=ipLr1;+er!=GnmW673j$3|EI*rE zg^q~6|JnQdud@Jt_+`(?P@*80K-lDwYW;`mm6A3xv{1||&{4QQfcG`JZNW|_fcV7n z?BpswXV1R6w*7Vh<9E}Uq|6w~DBK^wN4$aBwgYwmsReoZ(Mln=&ae%u%_JSLJ6l8m zPsf+$<7)sILm7qp1K3W3tMb4%4x`DSDq1#`PcO)?U#=JP>kP0|nyPBduH9A677^U| z-E<}?gJTS36dnj*2NhPM|DfH`ED~WSi*v8y6U%RkDmaGsPQP7pu_Y+xEx6+8F`>gXHytc?l^00000NkvXXu0mjf1UP)R literal 0 HcmV?d00001 diff --git a/assets/resource/image/Awards/CombatMissionOneClickCollection.png b/assets/resource/image/Awards/BPMissionsQuickClaim.png similarity index 100% rename from assets/resource/image/Awards/CombatMissionOneClickCollection.png rename to assets/resource/image/Awards/BPMissionsQuickClaim.png diff --git a/assets/resource/image/Awards/DailyPracticeRewardsNotReceive.png b/assets/resource/image/Awards/DailyBPRewardsClaim.png similarity index 100% rename from assets/resource/image/Awards/DailyPracticeRewardsNotReceive.png rename to assets/resource/image/Awards/DailyBPRewardsClaim.png diff --git a/assets/resource/image/Awards/DailyPracticeRewardsOk.png b/assets/resource/image/Awards/DailyBPRewardsClaimed.png similarity index 100% rename from assets/resource/image/Awards/DailyPracticeRewardsOk.png rename to assets/resource/image/Awards/DailyBPRewardsClaimed.png diff --git a/assets/resource/image/Awards/DailyPracticeRewardsPreview.png b/assets/resource/image/Awards/DailyBPRewardsPreview.png similarity index 100% rename from assets/resource/image/Awards/DailyPracticeRewardsPreview.png rename to assets/resource/image/Awards/DailyBPRewardsPreview.png diff --git a/assets/resource/image/Awards/NoDailyPracticeRewards.png b/assets/resource/image/Awards/NoneDailyBPRewards.png similarity index 100% rename from assets/resource/image/Awards/NoDailyPracticeRewards.png rename to assets/resource/image/Awards/NoneDailyBPRewards.png diff --git a/assets/resource/image/Homeland/CloseCollectAP.png b/assets/resource/image/Dorm/CloseCollectAP.png similarity index 100% rename from assets/resource/image/Homeland/CloseCollectAP.png rename to assets/resource/image/Dorm/CloseCollectAP.png diff --git a/assets/resource/image/Homeland/CollectAP.png b/assets/resource/image/Dorm/CollectAP.png similarity index 100% rename from assets/resource/image/Homeland/CollectAP.png rename to assets/resource/image/Dorm/CollectAP.png diff --git a/assets/resource/image/Homeland/CollectAPButton.png b/assets/resource/image/Dorm/CollectAPButton.png similarity index 100% rename from assets/resource/image/Homeland/CollectAPButton.png rename to assets/resource/image/Dorm/CollectAPButton.png diff --git a/assets/resource/image/Homeland/CollectGold.png b/assets/resource/image/Dorm/CollectGold.png similarity index 100% rename from assets/resource/image/Homeland/CollectGold.png rename to assets/resource/image/Dorm/CollectGold.png diff --git a/assets/resource/image/Homeland/CollectGoldMax.png b/assets/resource/image/Dorm/CollectGoldMax.png similarity index 100% rename from assets/resource/image/Homeland/CollectGoldMax.png rename to assets/resource/image/Dorm/CollectGoldMax.png diff --git a/assets/resource/image/Homeland/Confirm.png b/assets/resource/image/Dorm/Confirm.png similarity index 100% rename from assets/resource/image/Homeland/Confirm.png rename to assets/resource/image/Dorm/Confirm.png diff --git a/assets/resource/image/Dorm/ErrandsPageFlag.png b/assets/resource/image/Dorm/ErrandsPageFlag.png new file mode 100644 index 0000000000000000000000000000000000000000..86161303bcf073ad5df9ea73567bc3a800a831ea GIT binary patch literal 30726 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 z z#t$c~Fq~C!u)KU#*M6~s9o_6?VAx@1WDGr8SlSEm2?_~G6y{sA6Rr4C?}`(4opI<3 zyYjkPJ?!JN$e%4#n%izR*~ZbLZnqE8D-s^M)Y=PB)F9kdW2F38ydNW7a(E(1m7nW> zI1lmk2-qLFzT9Ih!rN*UmnBS2PSM~>tDf`~TE}5&i)7Es*UxBWZ$=ic+uFe&uGh3~ bWbOV@zPhaG{{_77i>IcftynE@74`oCWUmYF literal 0 HcmV?d00001 diff --git a/assets/resource/image/Homeland/QuestRefresh.png b/assets/resource/image/Dorm/ErrandsRefresh.png similarity index 100% rename from assets/resource/image/Homeland/QuestRefresh.png rename to assets/resource/image/Dorm/ErrandsRefresh.png diff --git a/assets/resource/image/Homeland/QuestUnfold.png b/assets/resource/image/Dorm/ErrandsUnfold.png similarity index 100% rename from assets/resource/image/Homeland/QuestUnfold.png rename to assets/resource/image/Dorm/ErrandsUnfold.png diff --git a/assets/resource/image/Homeland/NextQuest.png b/assets/resource/image/Dorm/NextErrands.png similarity index 100% rename from assets/resource/image/Homeland/NextQuest.png rename to assets/resource/image/Dorm/NextErrands.png diff --git a/assets/resource/image/Homeland/OneClickDispatch.png b/assets/resource/image/Dorm/QuickDispatch.png similarity index 100% rename from assets/resource/image/Homeland/OneClickDispatch.png rename to assets/resource/image/Dorm/QuickDispatch.png diff --git a/assets/resource/image/Homeland/StartQuest.png b/assets/resource/image/Dorm/StartErrands.png similarity index 100% rename from assets/resource/image/Homeland/StartQuest.png rename to assets/resource/image/Dorm/StartErrands.png diff --git a/assets/resource/image/StorySweep/StartStorySweep.png b/assets/resource/image/Dorm/StartExpeditions.png similarity index 100% rename from assets/resource/image/StorySweep/StartStorySweep.png rename to assets/resource/image/Dorm/StartExpeditions.png diff --git a/assets/resource/image/StorySweep/SwitchToFragmentPage.png b/assets/resource/image/Dorm/SwitchToFragmentPage.png similarity index 100% rename from assets/resource/image/StorySweep/SwitchToFragmentPage.png rename to assets/resource/image/Dorm/SwitchToFragmentPage.png diff --git a/assets/resource/image/StorySweep/SwitchToMaterialPage.png b/assets/resource/image/Dorm/SwitchToMaterialPage.png similarity index 100% rename from assets/resource/image/StorySweep/SwitchToMaterialPage.png rename to assets/resource/image/Dorm/SwitchToMaterialPage.png diff --git a/assets/resource/image/MaterialEvent/BurdenReduction.png b/assets/resource/image/MaterialEvent/LITE.png similarity index 100% rename from assets/resource/image/MaterialEvent/BurdenReduction.png rename to assets/resource/image/MaterialEvent/LITE.png diff --git a/assets/resource/image/MaterialEvent/MaterialEventFlag.png b/assets/resource/image/MaterialEvent/MaterialEventFlag.png new file mode 100644 index 0000000000000000000000000000000000000000..31258307fd82bf72aa51256224a57de8084315ff GIT binary patch literal 8662 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 CWTPhl literal 0 HcmV?d00001 diff --git a/assets/resource/image/Armada/EnterArmadaPrizePoolPage.png b/assets/resource/image/Navigation/Commissions/EnterCommissionsRewardsPage.png similarity index 100% rename from assets/resource/image/Armada/EnterArmadaPrizePoolPage.png rename to assets/resource/image/Navigation/Commissions/EnterCommissionsRewardsPage.png diff --git a/assets/resource/image/Homeland/EnterQuest.png b/assets/resource/image/Navigation/Dorm/EnterErrandsPage.png similarity index 100% rename from assets/resource/image/Homeland/EnterQuest.png rename to assets/resource/image/Navigation/Dorm/EnterErrandsPage.png diff --git a/assets/resource/image/StorySweep/EnterStorySweep.png b/assets/resource/image/Navigation/Dorm/EnterExpeditionsPage.png similarity index 100% rename from assets/resource/image/StorySweep/EnterStorySweep.png rename to assets/resource/image/Navigation/Dorm/EnterExpeditionsPage.png diff --git a/assets/resource/image/MaterialEvent/EnterAttack.png b/assets/resource/image/Navigation/Home/EnterAttackPage.png similarity index 100% rename from assets/resource/image/MaterialEvent/EnterAttack.png rename to assets/resource/image/Navigation/Home/EnterAttackPage.png diff --git a/assets/resource/image/Shop/EnterSupplyPage.png b/assets/resource/image/Navigation/Home/EnterSupplyPage.png similarity index 100% rename from assets/resource/image/Shop/EnterSupplyPage.png rename to assets/resource/image/Navigation/Home/EnterSupplyPage.png diff --git a/assets/resource/image/MaterialEvent/MaterialActivitiesPageFlag.png b/assets/resource/image/Navigation/MaterialExpedition/EnterMaterialEventPage.png similarity index 100% rename from assets/resource/image/MaterialEvent/MaterialActivitiesPageFlag.png rename to assets/resource/image/Navigation/MaterialExpedition/EnterMaterialEventPage.png diff --git a/assets/resource/image/Awards/CombatMissionPageFlag.png b/assets/resource/image/Navigation/Missions/EnterBPMissionsPage.png similarity index 100% rename from assets/resource/image/Awards/CombatMissionPageFlag.png rename to assets/resource/image/Navigation/Missions/EnterBPMissionsPage.png diff --git a/assets/resource/image/Shop/EnterActivityShopPage.png b/assets/resource/image/Navigation/Shop/EnterActivityShopPage.png similarity index 100% rename from assets/resource/image/Shop/EnterActivityShopPage.png rename to assets/resource/image/Navigation/Shop/EnterActivityShopPage.png diff --git a/assets/resource/image/Shop/EnterMirageStorePage.png b/assets/resource/image/Navigation/Shop/EnterMirageStorePage.png similarity index 100% rename from assets/resource/image/Shop/EnterMirageStorePage.png rename to assets/resource/image/Navigation/Shop/EnterMirageStorePage.png diff --git a/assets/resource/image/Shop/EnterShopPage.png b/assets/resource/image/Navigation/Supply/EnterShopPage.png similarity index 100% rename from assets/resource/image/Shop/EnterShopPage.png rename to assets/resource/image/Navigation/Supply/EnterShopPage.png diff --git a/assets/resource/image/Navigation/UniversalMirage/EnterBladeGravePage.png b/assets/resource/image/Navigation/UniversalMirage/EnterBladeGravePage.png new file mode 100644 index 0000000000000000000000000000000000000000..ba643465554ae3a5085ac991bd9cb5abcb01839d GIT binary patch literal 5613 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 literal 0 HcmV?d00001 diff --git a/assets/resource/image/Navigation/UniversalMirage/EnterGlacialFencesPage.png b/assets/resource/image/Navigation/UniversalMirage/EnterGlacialFencesPage.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b268f3d60b6e87d70b601f2222820bf71794e3 GIT binary patch literal 6336 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 literal 0 HcmV?d00001 diff --git a/assets/resource/image/Navigation/UniversalMirage/EnterRoaringPalacePage.png b/assets/resource/image/Navigation/UniversalMirage/EnterRoaringPalacePage.png new file mode 100644 index 0000000000000000000000000000000000000000..109e11d80b80277dcb11fa9aa72e5e9ad4a95f3f GIT binary patch literal 7012 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 literal 0 HcmV?d00001 diff --git a/assets/resource/image/Shop/DailyShopPageFlag.png b/assets/resource/image/Shop/DailyShopPageFlag.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec245aef90c256d90cb5ebcdf34dce3ba2a3a79 GIT binary patch literal 4866 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 A=Kufz literal 0 HcmV?d00001 diff --git a/assets/resource/pipeline/armada.json b/assets/resource/pipeline/armada.json deleted file mode 100644 index 308b953..0000000 --- a/assets/resource/pipeline/armada.json +++ /dev/null @@ -1,607 +0,0 @@ -{ - "$schema": "../pipeline.schema.json", - "Armada": { - "next": [ - "EnterArmada", - "Sub_StartUp" - ] - }, - "EnterArmada": { - "recognition": "OCR", - "text": [ - "舰团" - ], - "roi": [ - 879, - 661, - 54, - 29 - ], - "action": "Click", - "next": [ - "EnterCommissionedRecovery", - "EnterArmada" - ] - }, - "EnterCommissionedRecovery": { - "recognition": "TemplateMatch", - "template": "Armada/EnterCommissionedRecovery.png", - "roi": [ - 390, - 583, - 215, - 137 - ], - "action": "Click", - "next": [ - "EnterCommissionedRecovery", - "ApplyForANewCommission", - "AcceptNewCommission", - "CommissionItem", - "CommissionItemBuyMax", - "CommissionItemBuy", - "CommissionSubmitButton", - "CommissionNoSubmitButton" - ] - }, - "ApplyForANewCommission": { - "recognition": "TemplateMatch", - "template": "Armada/ApplyForANewCommission.png", - "threshold": 0.9, - "roi": [ - 37, - 577, - 239, - 141 - ], - "action": "Click", - "next": [ - "ApplyForANewCommission", - "AcceptNewCommission", - "CommissionItem", - "CommissionItemBuyMax", - "CommissionItemBuy", - "CommissionSubmitButton" - ] - }, - "AcceptNewCommission": { - "recognition": "OCR", - "text": [ - "接受" - ], - "roi": [ - 1018, - 154, - 211, - 560 - ], - "action": "Click", - "next": [ - "AcceptNewCommission", - "CommissionItem", - "CommissionItemBuyMax", - "CommissionItemBuy", - "CommissionSubmitButton" - ] - }, - "CommissionItem": { - "recognition": "TemplateMatch", - "green_mask": true, - "template": "Armada/CommissionItem.png", - "roi": [ - 7, - 112, - 248, - 248 - ], - "action": "Click", - "post_wait_freezes": 200, - "next": [ - "CommissionItemBuyMax", - "CommissionItemBuy", - "CommissionSubmitButton", - "CommissionItem" - ] - }, - "CommissionItemBuyMax": { - "recognition": "TemplateMatch", - "template": "Armada/CommissionItemBuyMax.png", - "roi": [ - 565, - 500, - 158, - 133 - ], - "action": "Click", - "next": [ - "CommissionItemBuy", - "CommissionSubmitButton" - ] - }, - "CommissionItemBuy": { - "recognition": "TemplateMatch", - "template": "Armada/CommissionItemBuy.png", - "roi": [ - 872, - 494, - 167, - 145 - ], - "action": "Click", - "post_wait_freezes": 200, - "next": [ - "CommissionSubmitButton", - "SubmitCommission" - ] - }, - "CommissionSubmitButton": { - "recognition": "TemplateMatch", - "template": "Armada/CommissionSubmitButton.png", - "threshold": 0.95, - "roi": [ - 860, - 579, - 171, - 141 - ], - "action": "Click", - "next": [ - "CommissionSubmitButton", - "SubmitCommission" - ] - }, - "CommissionNoSubmitButton": { - "inverse": true, - "recognition": "TemplateMatch", - "template": "Armada/CommissionSubmitButton.png", - "roi": [ - 860, - 579, - 171, - 141 - ], - "next": [ - "EnterArmadaPrizePoolPage" - ] - }, - "CommossionLimit": { - "recognition": "OCR", - "text": [ - "回收委托次数已经耗尽" - ], - "roi": [ - 361, - 287, - 539, - 142 - ], - "action": "Click", - "post_wait_freezes": 200, - "next": [ - "EnterArmadaPrizePoolPage" - ] - }, - "SubmitCommission": { - "recognition": "TemplateMatch", - "template": "Armada/SubmitCommission.png", - "roi": [ - 696, - 492, - 230, - 141 - ], - "action": "Click", - "post_wait_freezes": 200, - "next": [ - "CommossionLimit", - "SubmitCommission", - "Sub_CloseDialogBox", - "CommissionItem", - "CommissionItemBuyMax", - "CommissionItemBuy", - "CommissionSubmitButton", - "CommissionNoSubmitButton" - ] - }, - "EnterArmadaPrizePoolPage": { - "recognition": "TemplateMatch", - "template": "Armada/EnterArmadaPrizePoolPage.png", - "roi": [ - 1095, - 161, - 185, - 137 - ], - "action": "Click", - "next": [ - "ArmadaPrizePoolReceive", - "Sub_CloseDialogBox", - "ArmadaPrizePoolViewLastAssignment", - "EnterArmadaPrizePoolPage" - ] - }, - "ArmadaPrizePoolReceive": { - "recognition": "TemplateMatch", - "template": "Armada/ArmadaPrizePoolReceive.png", - "roi": [ - 828, - 580, - 168, - 137 - ], - "action": "Click", - "post_wait_freezes": 200, - "next": [ - "Sub_CloseDialogBox", - "ArmadaPrizePoolViewLastAssignment" - ] - }, - "ArmadaPrizePoolViewLastAssignment": { - "recognition": "TemplateMatch", - "template": "Armada/ArmadaPrizePoolViewLastAssignment.png", - "roi": [ - 778, - 579, - 268, - 137 - ], - "next": [ - "BackToArmadaPage" - ] - }, - "BackToArmadaPage": { - "recognition": "TemplateMatch", - "template": "Utils/BackButton.png", - "roi": [ - 0, - 0, - 180, - 133 - ], - "action": "Click", - "post_wait_freezes": { - "time": 200, - "target": [ - 0, - 600, - 300, - 110 - ] - }, - "next": [ - "EnterArmadaContribution", - "BackToArmadaPage" - ] - }, - "EnterArmadaContribution":{ - "recognition": "TemplateMatch", - "template": "Armada/EnterArmadaContribution.png", - "roi": [ - 832, - 586, - 212, - 133 - ], - "action": "Click", - "post_wait_freezes": { - "time": 200, - "target": [ - 0, - 0, - 420, - 330 - ] - }, - "next": [ - "ReceiveContributionRewards_0", - "ReceiveContributionRewards_1200", - "ReceiveContributionRewards_2500", - "ReceiveContributionRewards_3700", - "ReceiveContributionRewards_5000", - "ReceivedContributionRewards_5000", - "ReceivedContributionRewards_3700", - "ReceivedContributionRewards_2500", - "ReceivedContributionRewards_1200", - "ReceivedContributionRewards_0" - ] - }, - "ReceiveContributionRewards_0": { - "recognition": "TemplateMatch", - "inverse": true, - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 26, - 644, - 96, - 67 - ], - "next": [ - "NotReachContributionProgress_0", - "ReachContributionProgress_0" - ] - }, - "ReceivedContributionRewards_0": { - "recognition": "TemplateMatch", - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 26, - 644, - 96, - 67 - ], - "next": [ - "ReceiveContributionRewards_1200", - "ReceivedContributionRewards_1200" - ] - }, - "NotReachContributionProgress_0": { - "recognition": "TemplateMatch", - "template": "Armada/NotReachContributionProgress.png", - "green_mask": true, - "roi": [ - 199, - 630, - 47, - 44 - ], - "next": [ - "Stop" - ] - }, - "ReachContributionProgress_0": { - "recognition": "TemplateMatch", - "template": "Armada/ReachContributionProgress.png", - "roi": [ - 199, - 630, - 47, - 44 - ], - "action": "Click", - "next": [ - "Sub_CloseDialogBox", - "Stop" - ] - }, - "ReceiveContributionRewards_1200": { - "recognition": "TemplateMatch", - "inverse": true, - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 19, - 523, - 109, - 85 - ], - "next": [ - "NotReachContributionProgress_1200", - "ReachContributionProgress_1200" - ] - }, - "ReceivedContributionRewards_1200": { - "recognition": "TemplateMatch", - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 19, - 523, - 109, - 85 - ], - "next": [ - "ReceiveContributionRewards_2500", - "ReceivedContributionRewards_2500" - ] - }, - "NotReachContributionProgress_1200": { - "recognition": "TemplateMatch", - "template": "Armada/NotReachContributionProgress.png", - "green_mask": true, - "roi": [ - 206, - 517, - 36, - 42 - ], - "next": [ - "Stop" - ] - }, - "ReachContributionProgress_1200": { - "recognition": "TemplateMatch", - "template": "Armada/ReachContributionProgress.png", - "roi": [ - 206, - 517, - 36, - 42 - ], - "action": "Click", - "next": [ - "Sub_CloseDialogBox", - "Stop" - ] - }, - "ReceiveContributionRewards_2500": { - "recognition": "TemplateMatch", - "inverse": true, - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 17, - 410, - 114, - 85 - ], - "next": [ - "NotReachContributionProgress_2500", - "ReachContributionProgress_2500" - ] - }, - "ReceivedContributionRewards_2500": { - "recognition": "TemplateMatch", - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 17, - 410, - 114, - 85 - ], - "next": [ - "ReceiveContributionRewards_3700", - "ReceivedContributionRewards_3700" - ] - }, - "NotReachContributionProgress_2500": { - "recognition": "TemplateMatch", - "template": "Armada/NotReachContributionProgress.png", - "green_mask": true, - "roi": [ - 206, - 409, - 34, - 37 - ], - "next": [ - "Stop" - ] - }, - "ReachContributionProgress_2500": { - "recognition": "TemplateMatch", - "template": "Armada/ReachContributionProgress.png", - "roi": [ - 206, - 409, - 34, - 37 - ], - "action": "Click", - "next": [ - "Sub_CloseDialogBox", - "Stop" - ] - }, - "ReceiveContributionRewards_3700": { - "recognition": "TemplateMatch", - "inverse": true, - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 18, - 294, - 111, - 88 - ], - "next": [ - "NotReachContributionProgress_3700", - "ReachContributionProgress_3700" - ] - }, - "ReceivedContributionRewards_3700": { - "recognition": "TemplateMatch", - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 18, - 294, - 111, - 88 - ], - "next": [ - "ReceiveContributionRewards_5000", - "ReceivedContributionRewards_5000" - ] - }, - "NotReachContributionProgress_3700": { - "recognition": "TemplateMatch", - "template": "Armada/NotReachContributionProgress.png", - "green_mask": true, - "roi": [ - 207, - 298, - 34, - 37 - ], - "next": [ - "Stop" - ] - }, - "ReachContributionProgress_3700": { - "recognition": "TemplateMatch", - "template": "Armada/ReachContributionProgress.png", - "roi": [ - 207, - 298, - 34, - 37 - ], - "action": "Click", - "next": [ - "Sub_CloseDialogBox", - "Stop" - ] - }, - "ReceiveContributionRewards_5000": { - "recognition": "TemplateMatch", - "inverse": true, - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 19, - 187, - 110, - 83 - ], - "next": [ - "NotReachContributionProgress_5000", - "ReachContributionProgress_5000" - ] - }, - "ReceivedContributionRewards_5000": { - "recognition": "TemplateMatch", - "template": "Armada/ReceivedContributionRewards.png", - "green_mask": true, - "roi": [ - 19, - 187, - 110, - 83 - ], - "next": [ - "Stop" - ] - }, - "NotReachContributionProgress_5000": { - "recognition": "TemplateMatch", - "template": "Armada/NotReachContributionProgress.png", - "green_mask": true, - "roi": [ - 207, - 187, - 35, - 36 - ], - "next": [ - "Stop" - ] - }, - "ReachContributionProgress_5000": { - "recognition": "TemplateMatch", - "template": "Armada/ReachContributionProgress.png", - "roi": [ - 207, - 187, - 35, - 36 - ], - "action": "Click", - "next": [ - "Sub_CloseDialogBox", - "Stop" - ] - } -} \ No newline at end of file diff --git a/assets/resource/pipeline/armada/armada.json b/assets/resource/pipeline/armada/armada.json new file mode 100644 index 0000000..c6f5272 --- /dev/null +++ b/assets/resource/pipeline/armada/armada.json @@ -0,0 +1,25 @@ +{ + "$schema": "../../pipeline.schema.json", + "Armada": { + "next": [ + "ArmadaPageFlag", + "Sub_EnterArmadaPage", + "Sub_StartUp" + ] + }, + "ArmadaPageFlag": { + "recognition": "TemplateMatch", + "template": "Armada/ArmadaPageFlag.png", + "roi": [ + 0, + 599, + 168, + 121 + ], + "next": [ + "Commissions", + "Contributions", + "Stop" + ] + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/armada/commissions.json b/assets/resource/pipeline/armada/commissions.json new file mode 100644 index 0000000..bd9aacc --- /dev/null +++ b/assets/resource/pipeline/armada/commissions.json @@ -0,0 +1,259 @@ +{ + "$schema": "../../pipeline.schema.json", + "Commissions": { + "next": [ + "CommissionsPageFlag", + "Sub_EnterCommissionsPage", + "Sub_EnterArmadaPage", + "Sub_BackButton" + ] + }, + "CommissionsPageFlag": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionsPageFlag.png", + "roi": [ + 0, + 62, + 129, + 127 + ], + "next": [ + "ApplyForANewCommission", + "AcceptNewCommission", + "CommissionItem", + "CommissionItemBuyMax", + "CommissionItemBuy", + "CommissionSubmitButton", + "CommissionNoneSubmitButton" + ] + }, + "ApplyForANewCommission": { + "recognition": "TemplateMatch", + "template": "Armada/ApplyForANewCommission.png", + "threshold": 0.9, + "roi": [ + 37, + 577, + 239, + 141 + ], + "action": "Click", + "next": [ + "ApplyForANewCommission", + "AcceptNewCommission", + "CommissionItem", + "CommissionItemBuyMax", + "CommissionItemBuy", + "CommissionSubmitButton" + ] + }, + "AcceptNewCommission": { + "recognition": "OCR", + "text": [ + "接受" + ], + "roi": [ + 1018, + 154, + 211, + 560 + ], + "action": "Click", + "next": [ + "AcceptNewCommission", + "CommissionItem", + "CommissionItemBuyMax", + "CommissionItemBuy", + "CommissionSubmitButton" + ] + }, + "CommissionItem": { + "recognition": "TemplateMatch", + "green_mask": true, + "template": "Armada/CommissionItem.png", + "roi": [ + 7, + 112, + 248, + 248 + ], + "action": "Click", + "post_wait_freezes": 200, + "next": [ + "CommissionItemBuyMax", + "CommissionItemBuy", + "CommissionSubmitButton", + "CommissionItem" + ] + }, + "CommissionItemBuyMax": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionItemBuyMax.png", + "roi": [ + 565, + 500, + 158, + 133 + ], + "action": "Click", + "next": [ + "CommissionItemBuy", + "CommissionSubmitButton" + ] + }, + "CommissionItemBuy": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionItemBuy.png", + "roi": [ + 872, + 494, + 167, + 145 + ], + "action": "Click", + "post_wait_freezes": 200, + "next": [ + "CommissionSubmitButton", + "SubmitCommission" + ] + }, + "CommissionSubmitButton": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionSubmitButton.png", + "threshold": 0.95, + "roi": [ + 860, + 579, + 171, + 141 + ], + "action": "Click", + "next": [ + "CommissionSubmitButton", + "SubmitCommission" + ] + }, + "CommissionNoneSubmitButton": { + "inverse": true, + "recognition": "TemplateMatch", + "template": "Armada/CommissionSubmitButton.png", + "roi": [ + 860, + 579, + 171, + 141 + ], + "next": [ + "CommissionsRewardsPageFlag", + "Sub_EnterCommissionsRewardsPage" + ] + }, + "CommossionLimit": { + "recognition": "OCR", + "text": [ + "回收委托次数已经耗尽" + ], + "roi": [ + 361, + 287, + 539, + 142 + ], + "action": "Click", + "post_wait_freezes": 200, + "next": [ + "CommissionsRewardsPageFlag", + "Sub_EnterCommissionsRewardsPage" + ] + }, + "SubmitCommission": { + "recognition": "TemplateMatch", + "template": "Armada/SubmitCommission.png", + "roi": [ + 696, + 492, + 230, + 141 + ], + "action": "Click", + "post_wait_freezes": 200, + "next": [ + "CommossionLimit", + "SubmitCommission", + "Sub_CloseDialogBox", + "CommissionItem", + "CommissionItemBuyMax", + "CommissionItemBuy", + "CommissionSubmitButton", + "CommissionNoneSubmitButton" + ] + }, + "CommissionsRewardsPageFlag": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionsRewardsPageFlag.png", + "roi": [ + 0, + 60, + 131, + 131 + ], + "next": [ + "CommissionsRewardsClaim", + "Sub_CloseDialogBox", + "CommissionsRewardsLastDistribution" + ] + }, + "CommissionsRewardsClaim": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionsRewardsClaim.png", + "roi": [ + 828, + 580, + 168, + 137 + ], + "action": "Click", + "post_wait_freezes": 200, + "next": [ + "Sub_CloseDialogBox", + "CommissionsRewardsLastDistribution" + ] + }, + "CommissionsRewardsLastDistribution": { + "recognition": "TemplateMatch", + "template": "Armada/CommissionsRewardsLastDistribution.png", + "roi": [ + 778, + 579, + 268, + 137 + ], + "next": [ + "BackToArmadaPage" + ] + }, + "BackToArmadaPage": { + "recognition": "TemplateMatch", + "template": "Utils/BackButton.png", + "roi": [ + 0, + 0, + 180, + 133 + ], + "action": "Click", + "post_wait_freezes": { + "time": 200, + "target": [ + 0, + 600, + 300, + 110 + ] + }, + "next": [ + "Contributions", + "Stop" + ] + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/armada/contributions.json b/assets/resource/pipeline/armada/contributions.json new file mode 100644 index 0000000..bb92e14 --- /dev/null +++ b/assets/resource/pipeline/armada/contributions.json @@ -0,0 +1,332 @@ +{ + "$schema": "../../pipeline.schema.json", + "Contributions": { + "next": [ + "ContributionsPageFlag", + "Sub_EnterContributionsPage", + "Sub_EnterArmadaPage", + "Sub_BackButton" + ] + }, + "ContributionsPageFlag": { + "recognition": "OCR", + "text": "舰团贡献进度", + "roi": [ + 36, + 59, + 248, + 132 + ], + "next": [ + "ClaimContributionRewards_0", + "ClaimContributionRewards_1200", + "ClaimContributionRewards_2500", + "ClaimContributionRewards_3700", + "ClaimContributionRewards_5000", + "ClaimedContributionRewards_5000", + "ClaimedContributionRewards_3700", + "ClaimedContributionRewards_2500", + "ClaimedContributionRewards_1200", + "ClaimedContributionRewards_0" + ] + }, + "ClaimContributionRewards_0": { + "recognition": "TemplateMatch", + "inverse": true, + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 26, + 644, + 96, + 67 + ], + "next": [ + "NotReachContributionProgress_0", + "ReachContributionProgress_0" + ] + }, + "ClaimedContributionRewards_0": { + "recognition": "TemplateMatch", + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 26, + 644, + 96, + 67 + ], + "next": [ + "ClaimContributionRewards_1200", + "ClaimedContributionRewards_1200" + ] + }, + "NotReachContributionProgress_0": { + "recognition": "TemplateMatch", + "template": "Armada/NotReachContributionProgress.png", + "green_mask": true, + "roi": [ + 199, + 630, + 47, + 44 + ], + "next": [ + "Stop" + ] + }, + "ReachContributionProgress_0": { + "recognition": "TemplateMatch", + "template": "Armada/ReachContributionProgress.png", + "roi": [ + 199, + 630, + 47, + 44 + ], + "action": "Click", + "next": [ + "Sub_CloseDialogBox", + "Stop" + ] + }, + "ClaimContributionRewards_1200": { + "recognition": "TemplateMatch", + "inverse": true, + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 19, + 523, + 109, + 85 + ], + "next": [ + "NotReachContributionProgress_1200", + "ReachContributionProgress_1200" + ] + }, + "ClaimedContributionRewards_1200": { + "recognition": "TemplateMatch", + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 19, + 523, + 109, + 85 + ], + "next": [ + "ClaimContributionRewards_2500", + "ClaimedContributionRewards_2500" + ] + }, + "NotReachContributionProgress_1200": { + "recognition": "TemplateMatch", + "template": "Armada/NotReachContributionProgress.png", + "green_mask": true, + "roi": [ + 206, + 517, + 36, + 42 + ], + "next": [ + "Stop" + ] + }, + "ReachContributionProgress_1200": { + "recognition": "TemplateMatch", + "template": "Armada/ReachContributionProgress.png", + "roi": [ + 206, + 517, + 36, + 42 + ], + "action": "Click", + "next": [ + "Sub_CloseDialogBox", + "Stop" + ] + }, + "ClaimContributionRewards_2500": { + "recognition": "TemplateMatch", + "inverse": true, + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 17, + 410, + 114, + 85 + ], + "next": [ + "NotReachContributionProgress_2500", + "ReachContributionProgress_2500" + ] + }, + "ClaimedContributionRewards_2500": { + "recognition": "TemplateMatch", + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 17, + 410, + 114, + 85 + ], + "next": [ + "ClaimContributionRewards_3700", + "ClaimedContributionRewards_3700" + ] + }, + "NotReachContributionProgress_2500": { + "recognition": "TemplateMatch", + "template": "Armada/NotReachContributionProgress.png", + "green_mask": true, + "roi": [ + 206, + 409, + 34, + 37 + ], + "next": [ + "Stop" + ] + }, + "ReachContributionProgress_2500": { + "recognition": "TemplateMatch", + "template": "Armada/ReachContributionProgress.png", + "roi": [ + 206, + 409, + 34, + 37 + ], + "action": "Click", + "next": [ + "Sub_CloseDialogBox", + "Stop" + ] + }, + "ClaimContributionRewards_3700": { + "recognition": "TemplateMatch", + "inverse": true, + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 18, + 294, + 111, + 88 + ], + "next": [ + "NotReachContributionProgress_3700", + "ReachContributionProgress_3700" + ] + }, + "ClaimedContributionRewards_3700": { + "recognition": "TemplateMatch", + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 18, + 294, + 111, + 88 + ], + "next": [ + "ClaimContributionRewards_5000", + "ClaimedContributionRewards_5000" + ] + }, + "NotReachContributionProgress_3700": { + "recognition": "TemplateMatch", + "template": "Armada/NotReachContributionProgress.png", + "green_mask": true, + "roi": [ + 207, + 298, + 34, + 37 + ], + "next": [ + "Stop" + ] + }, + "ReachContributionProgress_3700": { + "recognition": "TemplateMatch", + "template": "Armada/ReachContributionProgress.png", + "roi": [ + 207, + 298, + 34, + 37 + ], + "action": "Click", + "next": [ + "Sub_CloseDialogBox", + "Stop" + ] + }, + "ClaimContributionRewards_5000": { + "recognition": "TemplateMatch", + "inverse": true, + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 19, + 187, + 110, + 83 + ], + "next": [ + "NotReachContributionProgress_5000", + "ReachContributionProgress_5000" + ] + }, + "ClaimedContributionRewards_5000": { + "recognition": "TemplateMatch", + "template": "Armada/ClaimedContributionRewards.png", + "green_mask": true, + "roi": [ + 19, + 187, + 110, + 83 + ], + "next": [ + "Stop" + ] + }, + "NotReachContributionProgress_5000": { + "recognition": "TemplateMatch", + "template": "Armada/NotReachContributionProgress.png", + "green_mask": true, + "roi": [ + 207, + 187, + 35, + 36 + ], + "next": [ + "Stop" + ] + }, + "ReachContributionProgress_5000": { + "recognition": "TemplateMatch", + "template": "Armada/ReachContributionProgress.png", + "roi": [ + 207, + 187, + 35, + 36 + ], + "action": "Click", + "next": [ + "Sub_CloseDialogBox", + "Stop" + ] + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/awards.json b/assets/resource/pipeline/awards.json index 8f948b8..05f8749 100644 --- a/assets/resource/pipeline/awards.json +++ b/assets/resource/pipeline/awards.json @@ -2,56 +2,35 @@ "$schema": "../pipeline.schema.json", "Awards": { "next": [ - "EnterAwards", + "MissionsPageFlag", + "Sub_EnterMissionsPage", "Sub_StartUp" ] }, - "EnterAwards": { + "MissionsPageFlag": { "recognition": "OCR", - "text": [ - "任务" - ], + "text": "作战任务", "roi": [ - 92, - 115, - 54, - 34 + 0, + 60, + 210, + 575 ], - "target": [ - 30, - 108, - 40, - 32 - ], - "action": "Click", - "post_wait_freezes": 1, + "post_wait_freezes": 200, "next": [ - "Sub_CombatMissionPageFlag", - "CombatMissionOneClickCollection", - "NoDailyPracticeRewards", - "DailyPracticeRewards_100", - "DailyPracticeRewards_200", - "DailyPracticeRewards_300", - "DailyPracticeRewards_450", - "DailyPracticeRewards_600", - "EnterAwards" + "Sub_EnterBPMissionsPage", + "BPMissionsQuickClaim", + "NoneDailyBPRewards", + "DailyBPRewards_100", + "DailyBPRewards_200", + "DailyBPRewards_300", + "DailyBPRewards_450", + "DailyBPRewards_600" ] }, - "Sub_CombatMissionPageFlag": { - "is_sub": true, - "recognition": "TemplateMatch", - "template": "Awards/CombatMissionPageFlag.png", - "roi": [ - 35, - 64, - 213, - 143 - ], - "action": "Click" - }, - "CombatMissionOneClickCollection": { + "BPMissionsQuickClaim": { "recognition": "TemplateMatch", - "template": "Awards/CombatMissionOneClickCollection.png", + "template": "Awards/BPMissionsQuickClaim.png", "threshold": 0.85, "roi": [ 1055, @@ -62,18 +41,18 @@ "action": "Click", "next": [ "Sub_CloseDialogBox", - "CombatMissionOneClickCollection", - "NoDailyPracticeRewards", - "DailyPracticeRewards_100", - "DailyPracticeRewards_200", - "DailyPracticeRewards_300", - "DailyPracticeRewards_450", - "DailyPracticeRewards_600" + "BPMissionsQuickClaim", + "NoneDailyBPRewards", + "DailyBPRewards_100", + "DailyBPRewards_200", + "DailyBPRewards_300", + "DailyBPRewards_450", + "DailyBPRewards_600" ] }, - "DailyPracticeRewards_100": { + "DailyBPRewards_100": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsOk.png", + "template": "Awards/DailyBPRewardsClaimed.png", "inverse": true, "roi": [ 485, @@ -89,16 +68,16 @@ 67 ], "next": [ - "DailyPracticeRewardsNotReceive_100", - "DailyPracticeRewardsPreview", + "DailyBPRewardsClaim_100", + "DailyBPRewardsPreview", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewardsNotReceive_100": { + "DailyBPRewardsClaim_100": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsNotReceive.png", + "template": "Awards/DailyBPRewardsClaim.png", "roi": [ 485, 637, @@ -106,16 +85,16 @@ 67 ], "next": [ - "DailyPracticeRewardsPreview", - "DailyPracticeRewards_100", + "DailyBPRewardsPreview", + "DailyBPRewards_100", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewards_200": { + "DailyBPRewards_200": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsOk.png", + "template": "Awards/DailyBPRewardsClaimed.png", "inverse": true, "roi": [ 660, @@ -131,16 +110,16 @@ 69 ], "next": [ - "DailyPracticeRewardsNotReceive_200", - "DailyPracticeRewardsPreview", + "DailyBPRewardsClaim_200", + "DailyBPRewardsPreview", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewardsNotReceive_200": { + "DailyBPRewardsClaim_200": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsNotReceive.png", + "template": "Awards/DailyBPRewardsClaim.png", "roi": [ 660, 636, @@ -148,16 +127,16 @@ 69 ], "next": [ - "DailyPracticeRewardsPreview", - "DailyPracticeRewards_200", + "DailyBPRewardsPreview", + "DailyBPRewards_200", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewards_300": { + "DailyBPRewards_300": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsOk.png", + "template": "Awards/DailyBPRewardsClaimed.png", "inverse": true, "roi": [ 837, @@ -173,16 +152,16 @@ 69 ], "next": [ - "DailyPracticeRewardsNotReceive_300", - "DailyPracticeRewardsPreview", + "DailyBPRewardsClaim_300", + "DailyBPRewardsPreview", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewardsNotReceive_300": { + "DailyBPRewardsClaim_300": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsNotReceive.png", + "template": "Awards/DailyBPRewardsClaim.png", "roi": [ 837, 637, @@ -190,16 +169,16 @@ 69 ], "next": [ - "DailyPracticeRewardsPreview", - "DailyPracticeRewards_300", + "DailyBPRewardsPreview", + "DailyBPRewards_300", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewards_450": { + "DailyBPRewards_450": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsOk.png", + "template": "Awards/DailyBPRewardsClaimed.png", "inverse": true, "roi": [ 1013, @@ -215,16 +194,16 @@ 67 ], "next": [ - "DailyPracticeRewardsNotReceive_450", - "DailyPracticeRewardsPreview", + "DailyBPRewardsClaim_450", + "DailyBPRewardsPreview", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewardsNotReceive_450": { + "DailyBPRewardsClaim_450": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsNotReceive.png", + "template": "Awards/DailyBPRewardsClaim.png", "roi": [ 1013, 636, @@ -232,16 +211,16 @@ 67 ], "next": [ - "DailyPracticeRewardsPreview", - "DailyPracticeRewards_450", + "DailyBPRewardsPreview", + "DailyBPRewards_450", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewards_600": { + "DailyBPRewards_600": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsOk.png", + "template": "Awards/DailyBPRewardsClaimed.png", "inverse": true, "roi": [ 1187, @@ -257,16 +236,16 @@ 66 ], "next": [ - "DailyPracticeRewardsNotReceive_600", - "DailyPracticeRewardsPreview", + "DailyBPRewardsClaim_600", + "DailyBPRewardsPreview", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewardsNotReceive_600": { + "DailyBPRewardsClaim_600": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsNotReceive.png", + "template": "Awards/DailyBPRewardsClaim.png", "roi": [ 1187, 636, @@ -274,16 +253,16 @@ 66 ], "next": [ - "DailyPracticeRewardsPreview", - "DailyPracticeRewards_600", + "DailyBPRewardsPreview", + "DailyBPRewards_600", "Sub_CloseDialogBox", "Sub_BackButton", "HomeFlag" ] }, - "DailyPracticeRewardsPreview": { + "DailyBPRewardsPreview": { "recognition": "TemplateMatch", - "template": "Awards/DailyPracticeRewardsPreview.png", + "template": "Awards/DailyBPRewardsPreview.png", "roi": [ 442, 94, @@ -296,9 +275,9 @@ "HomeFlag" ] }, - "NoDailyPracticeRewards": { + "NoneDailyBPRewards": { "recognition": "TemplateMatch", - "template": "Awards/NoDailyPracticeRewards.png", + "template": "Awards/NoneDailyBPRewards.png", "roi": [ 439, 597, diff --git a/assets/resource/pipeline/dorm/dorm.json b/assets/resource/pipeline/dorm/dorm.json new file mode 100644 index 0000000..071427b --- /dev/null +++ b/assets/resource/pipeline/dorm/dorm.json @@ -0,0 +1,115 @@ +{ + "$schema": "../../pipeline.schema.json", + "Dorm": { + "next": [ + "DormPageFlag", + "Sub_EnterDormPage", + "Sub_StartUp" + ] + }, + "DormPageFlag": { + "recognition": "OCR", + "text": "家园小队", + "roi": [ + 28, + 589, + 208, + 131 + ], + "next": [ + "CollectGold", + "CollectAP", + "Errands", + "Expeditions", + "Stop" + ] + }, + "CollectGold": { + "recognition": "TemplateMatch", + "template": [ + "Dorm/CollectGold.png", + "Dorm/CollectGoldMax.png" + ], + "roi": [ + 286, + 69, + 141, + 146 + ], + "action": "Click", + "next": [ + "CollectGold", + "CollectAP", + "Errands", + "Expeditions", + "Stop" + ] + }, + "CollectAP": { + "recognition": "TemplateMatch", + "template": "Dorm/CollectAP.png", + "roi": [ + 124, + 68, + 146, + 155 + ], + "action": "Click", + "next": [ + "CollectAP", + "CollectAPButton" + ] + }, + "CollectAPButton": { + "recognition": "TemplateMatch", + "template": "Dorm/CollectAPButton.png", + "roi": [ + 650, + 496, + 215, + 130 + ], + "action": "Click", + "next": [ + "APMax", + "CollectAPButton", + "Errands", + "Expeditions", + "Stop" + ] + }, + "APMax": { + "recognition": "OCR", + "text": [ + "已经达到", + "体力", + "上限" + ], + "roi": [ + 461, + 289, + 359, + 138 + ], + "next": [ + "CloseCollectAP" + ] + }, + "CloseCollectAP": { + "recognition": "TemplateMatch", + "template": "Dorm/CloseCollectAP.png", + "roi": [ + 1017, + 58, + 137, + 138 + ], + "action": "Click", + "next": [ + "CloseCollectAP", + "Errands", + "Expeditions", + "Stop" + ] + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/dorm/errands.json b/assets/resource/pipeline/dorm/errands.json new file mode 100644 index 0000000..65003b7 --- /dev/null +++ b/assets/resource/pipeline/dorm/errands.json @@ -0,0 +1,245 @@ +{ + "$schema": "../../pipeline.schema.json", + "Errands": { + "next": [ + "ErrandsPageFlag", + "Sub_EnterErrandsPage", + "Sub_EnterDormPage", + "Sub_BackButton" + ] + }, + "ErrandsPageFlag": { + "recognition": "TemplateMatch", + "template": "Dorm/ErrandsPageFlag.png", + "roi": [ + 0, + 17, + 278, + 250 + ], + "next": [ + "ErrandsConfirm", + "ErrandsUnfold", + "ErrandsCompleted", + "ErrandsNeed", + "ErrandsNoNeed" + ] + }, + "ErrandsUnfold": { + "recognition": "TemplateMatch", + "template": "Dorm/ErrandsUnfold.png", + "roi": [ + 1185, + 293, + 95, + 135 + ], + "action": "Click", + "next": [ + "ErrandsUnfold", + "ErrandsConfirm", + "ErrandsCompleted", + "ErrandsNeed", + "ErrandsNoNeed" + ] + }, + "ErrandsCompleted": { + "recognition": "OCR", + "text": [ + "完成" + ], + "roi": [ + 834, + 0, + 446, + 720 + ], + "action": "Click", + "next": [ + "ErrandsConfirm", + "ErrandsCompleted", + "ErrandsNeed", + "ErrandsNoNeed" + ] + }, + "ErrandsConfirm": { + "recognition": "TemplateMatch", + "template": "Dorm/Confirm.png", + "roi": [ + 560, + 478, + 159, + 133 + ], + "action": "Click", + "next": [ + "ErrandsConfirm", + "ErrandsCompleted", + "ErrandsNeed", + "ErrandsNoNeed" + ] + }, + "ErrandsNeed": { + "recognition": "OCR", + "text": [ + "需要" + ], + "roi": [ + 1134, + 0, + 55, + 720 + ], + "action": "Click", + "next": [ + "ErrandsQuickDispatch" + ] + }, + "ErrandsNoNeed": { + "inverse": true, + "recognition": "OCR", + "text": [ + "需要" + ], + "roi": [ + 1134, + 0, + 55, + 720 + ], + "next": [ + "Expeditions", + "Stop" + ] + }, + "ErrandsQuickDispatch": { + "recognition": "TemplateMatch", + "template": "Dorm/QuickDispatch.png", + "roi": [ + 763, + 606, + 219, + 114 + ], + "action": "Click", + "next": [ + "NoEligibleRoles", + "StartErrands", + "NotEnoughRiceBalls" + ] + }, + "NoEligibleRoles": { + "recognition": "OCR", + "text": [ + "没有找到", + "合适的", + "推荐女武神" + ], + "roi": [ + 395, + 284, + 489, + 145 + ], + "action": "Click", + "next": [ + "ErrandsRefresh" + ] + }, + "ErrandsRefresh": { + "recognition": "TemplateMatch", + "template": "Dorm/ErrandsRefresh.png", + "roi": [ + 1117, + 0, + 163, + 132 + ], + "action": "Click", + "next": [ + "NotEnoughRefreshes", + "ErrandsQuickDispatch" + ] + }, + "NotEnoughRefreshes": { + "recognition": "OCR", + "text": [ + "今日剩余", + "刷新次数不足" + ], + "roi": [ + 427, + 286, + 425, + 143 + ], + "action": "Click", + "next": [ + "NextErrands", + "EndErrands" + ] + }, + "NextErrands": { + "recognition": "TemplateMatch", + "template": "Dorm/NextErrands.png", + "roi": [ + 1157, + 293, + 123, + 134 + ], + "action": "Click", + "next": [ + "ErrandsQuickDispatch" + ] + }, + "EndErrands": { + "recognition": "TemplateMatch", + "template": "Dorm/NextErrands.png", + "roi": [ + 1157, + 293, + 123, + 134 + ], + "inverse": true, + "next": [ + "Expeditions", + "Stop" + ] + }, + "StartErrands": { + "recognition": "TemplateMatch", + "template": "Dorm/StartErrands.png", + "roi": [ + 1028, + 610, + 220, + 110 + ], + "action": "Click", + "next": [ + "NotEnoughRiceBalls", + "ErrandsNeed", + "ErrandsNoNeed" + ] + }, + "NotEnoughRiceBalls": { + "recognition": "OCR", + "text": [ + "饭团不足", + "无法排遣", + "请稍后尝试" + ], + "roi": [ + 362, + 287, + 558, + 141 + ], + "next": [ + "Expeditions", + "Stop" + ] + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/story_sweep.json b/assets/resource/pipeline/dorm/expeditions.json similarity index 67% rename from assets/resource/pipeline/story_sweep.json rename to assets/resource/pipeline/dorm/expeditions.json index 14d0ab4..f58774e 100644 --- a/assets/resource/pipeline/story_sweep.json +++ b/assets/resource/pipeline/dorm/expeditions.json @@ -1,49 +1,22 @@ { - "$schema": "../pipeline.schema.json", - "StorySweep": { + "$schema": "../../pipeline.schema.json", + "Expeditions": { "next": [ - "StorySweepEnterHomeland", - "EnterStorySweep", + "ExpeditionsPageFlag", + "Sub_EnterExpeditionsPage", + "Sub_EnterDormPage", "Sub_BackButton" ] }, - "StorySweepEnterHomeland": { + "ExpeditionsPageFlag": { "recognition": "OCR", - "text": [ - "家园" - ], + "text": "今日远征可用体力", "roi": [ - 1005, - 610, - 155, - 110 - ], - "action": "Click", - "post_wait_freezes": { - "time": 200, - "target": [ - 0, - 400, - 380, - 320 - ] - }, - "next": [ - "StorySweepEnterHomeland", - "EnterStorySweep", - "Sub_StartUp" - ] - }, - "EnterStorySweep": { - "recognition": "TemplateMatch", - "template": "StorySweep/EnterStorySweep.png", - "roi": [ - 743, - 596, - 161, - 124 + 33, + 62, + 286, + 128 ], - "action": "Click", "next": [ "FragmentConfirm", "FragmentCompleted", @@ -54,7 +27,7 @@ "is_sub": true, "enabled": false, "recognition": "TemplateMatch", - "template": "StorySweep/SwitchToFragmentPage.png", + "template": "Dorm/SwitchToFragmentPage.png", "roi": [ 1038, 36, @@ -67,7 +40,7 @@ "is_sub": true, "enabled": false, "recognition": "TemplateMatch", - "template": "StorySweep/SwitchToMaterialPage.png", + "template": "Dorm/SwitchToMaterialPage.png", "roi": [ 1038, 117, @@ -97,7 +70,7 @@ }, "FragmentConfirm": { "recognition": "TemplateMatch", - "template": "Homeland/Confirm.png", + "template": "Dorm/Confirm.png", "roi": [ 560, 478, @@ -113,7 +86,7 @@ }, "SwitchToMaterialPage": { "recognition": "TemplateMatch", - "template": "StorySweep/SwitchToMaterialPage.png", + "template": "Dorm/SwitchToMaterialPage.png", "roi": [ 1038, 117, @@ -160,13 +133,13 @@ "inverse": true, "next": [ "Sub_SwitchToFragmentPage", - "SelectFirstStorySweep", - "NoIdleStorySweep" + "SelectFirstExpeditions", + "NoIdleExpeditions" ] }, "MaterialConfirm": { "recognition": "TemplateMatch", - "template": "Homeland/Confirm.png", + "template": "Dorm/Confirm.png", "roi": [ 560, 478, @@ -180,7 +153,7 @@ "MaterialNoCompleted" ] }, - "SelectFirstStorySweep": { + "SelectFirstExpeditions": { "recognition": "OCR", "text": [ "开始远征" @@ -193,13 +166,14 @@ ], "action": "Click", "next": [ - "StorySweepOneClickDispatch", - "StartStorySweep", - "NoIdleStorySweep", - "SelectFirstStorySweep" + "ExpeditionsQuickDispatch", + "StartExpeditions", + "NoIdleExpeditions", + "SelectFirstExpeditions" ] }, - "NoIdleStorySweep": { + "NoIdleExpeditions": { + "inverse": true, "recognition": "OCR", "text": [ "开始远征" @@ -210,7 +184,6 @@ 203, 573 ], - "inverse": true, "action": "Swipe", "begin": [ 400, @@ -235,15 +208,15 @@ ] }, "next": [ - "SelectFirstStorySweep", - "StorySweepOneClickDispatch", - "StartStorySweep", - "NoIdleStorySweep" + "SelectFirstExpeditions", + "ExpeditionsQuickDispatch", + "StartExpeditions", + "NoIdleExpeditions" ] }, - "StorySweepOneClickDispatch": { + "ExpeditionsQuickDispatch": { "recognition": "TemplateMatch", - "template": "Homeland/OneClickDispatch.png", + "template": "Dorm/QuickDispatch.png", "roi": [ 680, 583, @@ -252,13 +225,13 @@ ], "action": "Click", "next": [ - "StartStorySweep", - "StorySweepConsumptionLimit" + "StartExpeditions", + "ExpeditionsConsumptionLimit" ] }, - "StartStorySweep": { + "StartExpeditions": { "recognition": "TemplateMatch", - "template": "StorySweep/StartStorySweep.png", + "template": "Dorm/StartExpeditions.png", "roi": [ 996, 584, @@ -276,16 +249,16 @@ ] }, "next": [ - "SelectFirstStorySweep", - "StorySweepNotEnoughNumberOfLevels", - "StorySweepNotEnoughAP", - "StorySweepConsumptionLimit", - "StorySweepOneClickDispatch", - "StartStorySweep", - "NoIdleStorySweep" + "SelectFirstExpeditions", + "ExpeditionsNotEnoughNumberOfLevels", + "ExpeditionsNotEnoughAP", + "ExpeditionsConsumptionLimit", + "ExpeditionsQuickDispatch", + "StartExpeditions", + "NoIdleExpeditions" ] }, - "StorySweepConsumptionLimit": { + "ExpeditionsConsumptionLimit": { "recognition": "OCR", "text": [ "已达到", @@ -299,7 +272,7 @@ 138 ] }, - "StorySweepNotEnoughAP": { + "ExpeditionsNotEnoughAP": { "recognition": "OCR", "text": [ "所需体力不足" @@ -313,14 +286,14 @@ "action": "Click", "post_wait_freezes": 200, "next": [ - "StorySweepNotEnoughAPToGetStoredAP", - "StorySweepConsumptionLimit", + "ExpeditionsNotEnoughAPToGetStoredAP", + "ExpeditionsConsumptionLimit", "Stop" ] }, - "StorySweepNotEnoughAPToGetStoredAP": { + "ExpeditionsNotEnoughAPToGetStoredAP": { "recognition": "TemplateMatch", - "template": "Homeland/CollectAPButton.png", + "template": "Dorm/CollectAPButton.png", "roi": [ 647, 492, @@ -329,14 +302,14 @@ ], "action": "Click", "next": [ - "StartStorySweep", - "SelectFirstStorySweep", - "StorySweepConsumptionLimit", - "StorySweepOneClickDispatch", - "NoIdleStorySweep" + "StartExpeditions", + "SelectFirstExpeditions", + "ExpeditionsConsumptionLimit", + "ExpeditionsQuickDispatch", + "NoIdleExpeditions" ] }, - "StorySweepNotEnoughNumberOfLevels": { + "ExpeditionsNotEnoughNumberOfLevels": { "recognition": "OCR", "text": [ "所需关卡次数不足" diff --git a/assets/resource/pipeline/homeland.json b/assets/resource/pipeline/homeland.json deleted file mode 100644 index 74667b6..0000000 --- a/assets/resource/pipeline/homeland.json +++ /dev/null @@ -1,363 +0,0 @@ -{ - "$schema": "../pipeline.schema.json", - "Homeland": { - "next": [ - "Sub_HomeButton", - "Sub_BackButton", - "Sub_ObtainedAwards", - "Sub_CollectDailyLoginReward", - "Sub_CloseAnnouncement", - "EnterHomeland", - "CollectGold", - "CollectAP", - "EnterQuest", - "Sub_StartUp" - ] - }, - "EnterHomeland": { - "recognition": "OCR", - "text": [ - "家园" - ], - "roi": [ - 1005, - 610, - 155, - 110 - ], - "action": "Click", - "post_wait_freezes": { - "time": 200, - "target": [ - 0, - 400, - 380, - 320 - ] - }, - "next": [ - "EnterHomeland", - "CollectGold", - "CollectAP", - "EnterQuest", - "Sub_StartUp" - ] - }, - "CollectGold": { - "recognition": "TemplateMatch", - "template": [ - "Homeland/CollectGold.png", - "Homeland/CollectGoldMax.png" - ], - "roi": [ - 286, - 69, - 141, - 146 - ], - "action": "Click", - "next": [ - "CollectGold", - "CollectAP", - "EnterQuest" - ] - }, - "CollectAP": { - "recognition": "TemplateMatch", - "template": "Homeland/CollectAP.png", - "roi": [ - 124, - 68, - 146, - 155 - ], - "action": "Click", - "next": [ - "CollectAP", - "CollectAPButton", - "EnterQuest" - ] - }, - "CollectAPButton": { - "recognition": "TemplateMatch", - "template": "Homeland/CollectAPButton.png", - "roi": [ - 650, - 496, - 215, - 130 - ], - "action": "Click", - "next": [ - "APMax", - "CollectAPButton", - "EnterQuest" - ] - }, - "APMax": { - "recognition": "OCR", - "text": [ - "已经达到", - "体力", - "上限" - ], - "roi": [ - 461, - 289, - 359, - 138 - ], - "next": [ - "CloseCollectAP", - "EnterQuest" - ] - }, - "CloseCollectAP": { - "recognition": "TemplateMatch", - "template": "Homeland/CloseCollectAP.png", - "roi": [ - 1017, - 58, - 137, - 138 - ], - "action": "Click", - "next": [ - "CloseCollectAP", - "EnterQuest" - ] - }, - "EnterQuest": { - "recognition": "TemplateMatch", - "template": "Homeland/EnterQuest.png", - "roi": [ - 905, - 595, - 160, - 125 - ], - "action": "Click", - "next": [ - "EnterQuest", - "QuestConfirm", - "QuestUnfold", - "QuestCompleted", - "QuestNeed", - "QuestNoNeed" - ] - }, - "QuestUnfold": { - "recognition": "TemplateMatch", - "template": "Homeland/QuestUnfold.png", - "roi": [ - 1185, - 293, - 95, - 135 - ], - "action": "Click", - "next": [ - "QuestUnfold", - "QuestConfirm", - "QuestCompleted", - "QuestNeed", - "QuestNoNeed" - ] - }, - "QuestCompleted": { - "recognition": "OCR", - "text": [ - "完成" - ], - "roi": [ - 834, - 0, - 446, - 720 - ], - "action": "Click", - "next": [ - "QuestConfirm", - "QuestCompleted", - "QuestNeed", - "QuestNoNeed" - ] - }, - "QuestConfirm": { - "recognition": "TemplateMatch", - "template": "Homeland/Confirm.png", - "roi": [ - 560, - 478, - 159, - 133 - ], - "action": "Click", - "next": [ - "QuestConfirm", - "QuestCompleted", - "QuestNeed", - "QuestNoNeed" - ] - }, - "QuestNeed": { - "recognition": "OCR", - "text": [ - "需要" - ], - "roi": [ - 1134, - 0, - 55, - 720 - ], - "action": "Click", - "next": [ - "OneClickDispatch" - ] - }, - "QuestNoNeed": { - "recognition": "OCR", - "text": [ - "需要" - ], - "roi": [ - 1134, - 0, - 55, - 720 - ], - "inverse": true, - "next": [ - "StorySweep" - ] - }, - "OneClickDispatch": { - "recognition": "TemplateMatch", - "template": "Homeland/OneClickDispatch.png", - "roi": [ - 763, - 606, - 219, - 114 - ], - "action": "Click", - "next": [ - "NoEligibleRoles", - "StartQuest", - "NotEnoughRiceBalls" - ] - }, - "NoEligibleRoles": { - "recognition": "OCR", - "text": [ - "没有找到", - "合适的", - "推荐女武神" - ], - "roi": [ - 395, - 284, - 489, - 145 - ], - "action": "Click", - "next": [ - "QuestRefresh" - ] - }, - "QuestRefresh": { - "recognition": "TemplateMatch", - "template": "Homeland/QuestRefresh.png", - "roi": [ - 1117, - 0, - 163, - 132 - ], - "action": "Click", - "next": [ - "NotEnoughRefreshes", - "OneClickDispatch" - ] - }, - "NotEnoughRefreshes": { - "recognition": "OCR", - "text": [ - "今日剩余", - "刷新次数不足" - ], - "roi": [ - 427, - 286, - 425, - 143 - ], - "action": "Click", - "next": [ - "NextQuest", - "EndQuest" - ] - }, - "NextQuest": { - "recognition": "TemplateMatch", - "template": "Homeland/NextQuest.png", - "roi": [ - 1157, - 293, - 123, - 134 - ], - "action": "Click", - "next": [ - "OneClickDispatch" - ] - }, - "EndQuest": { - "recognition": "TemplateMatch", - "template": "Homeland/NextQuest.png", - "roi": [ - 1157, - 293, - 123, - 134 - ], - "inverse": true, - "next": [ - "StorySweep" - ] - }, - "StartQuest": { - "recognition": "TemplateMatch", - "template": "Homeland/StartQuest.png", - "roi": [ - 1028, - 610, - 220, - 110 - ], - "action": "Click", - "next": [ - "NotEnoughRiceBalls", - "QuestNeed", - "QuestNoNeed" - ] - }, - "NotEnoughRiceBalls": { - "recognition": "OCR", - "text": [ - "饭团不足", - "无法排遣", - "请稍后尝试" - ], - "roi": [ - 362, - 287, - 558, - 141 - ], - "next": [ - "StorySweep" - ] - } -} \ No newline at end of file diff --git a/assets/resource/pipeline/material_event.json b/assets/resource/pipeline/material_event.json index 4a79cd0..3b25af3 100644 --- a/assets/resource/pipeline/material_event.json +++ b/assets/resource/pipeline/material_event.json @@ -2,94 +2,32 @@ "$schema": "../pipeline.schema.json", "MaterialEvent": { "next": [ - "EnterAttack", + "MaterialEventFlag", + "Sub_CancelDownloadAudioFiles", + "Sub_EnterMaterialExpeditionPage", + "Sub_EnterAttackEventPage", + "Sub_EnterAttackPage", "Sub_StartUp" ] }, - "EnterAttack": { + "MaterialEventFlag": { "recognition": "TemplateMatch", - "template": "MaterialEvent/EnterAttack.png", + "template": "MaterialEvent/MaterialEventFlag.png", "roi": [ - 1025, - 77, - 167, - 163 + 525, + 40, + 229, + 141 ], - "action": "Click", - "post_wait_freezes": { - "time": 200, - "target": [ - 0, - 0, - 340, - 80 - ] - }, "next": [ - "TipsForDownloadAudioResources", - "EnterMaterialEvent", - "Sub_AttackPageFlag" + "QuickLITE", + "Sub_EnterMaterialEventPage", + "NoneQuickLITE" ] }, - "TipsForDownloadAudioResources": { - "recognition": "OCR", - "text": [ - "即将下载相关音频资源" - ], - "roi": [ - 298, - 232, - 669, - 143 - ], - "next": [ - "Sub_CancelButton", - "EnterAttack" - ] - }, - "Sub_AttackPageFlag": { - "is_sub": true, - "recognition": "TemplateMatch", - "template": "MaterialEvent/AttackPageFlag.png", - "roi": [ - 0, - 122, - 135, - 166 - ], - "action": "Click" - }, - "EnterMaterialEvent": { - "recognition": "TemplateMatch", - "template": "MaterialEvent/EnterMaterialEvent.png", - "roi": [ - 903, - 356, - 366, - 307 - ], - "action": "Click", - "next": [ - "OneClickBurdenReduction", - "Sub_MaterialActivitiesPageFlag", - "NoOneClickBurdenReduction" - ] - }, - "Sub_MaterialActivitiesPageFlag": { - "is_sub": true, - "recognition": "TemplateMatch", - "template": "MaterialEvent/MaterialActivitiesPageFlag.png", - "roi": [ - 0, - 162, - 137, - 216 - ], - "action": "Click" - }, - "OneClickBurdenReduction": { + "QuickLITE": { "recognition": "TemplateMatch", - "template": "MaterialEvent/OneClickBurdenReduction.png", + "template": "MaterialEvent/QuickLITE.png", "roi": [ 1037, 598, @@ -99,14 +37,14 @@ "action": "Click", "post_wait_freezes": 200, "next": [ - "BurdenReduction", - "MaterialEventNoLevelsToReduceReduction", - "OneClickBurdenReduction" + "LITE", + "MaterialEventNoneLevelsToLITE", + "QuickLITE" ] }, - "NoOneClickBurdenReduction": { + "NoneQuickLITE": { "recognition": "TemplateMatch", - "template": "MaterialEvent/OneClickBurdenReduction.png", + "template": "MaterialEvent/QuickLITE.png", "roi": [ 1037, 598, @@ -119,9 +57,9 @@ "HomeFlag" ] }, - "BurdenReduction": { + "LITE": { "recognition": "TemplateMatch", - "template": "MaterialEvent/BurdenReduction.png", + "template": "MaterialEvent/LITE.png", "roi": [ 558, 462, @@ -130,7 +68,7 @@ ], "action": "Click", "next": [ - "BurdenReduction", + "LITE", "MaterialEventNotEnoughAP", "Sub_CloseDialogBox", "Sub_HomeButton", @@ -168,13 +106,13 @@ ], "action": "Click", "next": [ - "BurdenReduction", + "QuickLITE", "Sub_CloseDialogBox", "Sub_HomeButton", "HomeFlag" ] }, - "MaterialEventNoLevelsToReduceReduction": { + "MaterialEventNoneLevelsToLITE": { "recognition": "OCR", "text": "没有可减负的关卡", "roi": [ diff --git a/assets/resource/pipeline/navigation/armada_navigation.json b/assets/resource/pipeline/navigation/armada_navigation.json new file mode 100644 index 0000000..9a5a707 --- /dev/null +++ b/assets/resource/pipeline/navigation/armada_navigation.json @@ -0,0 +1,36 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterCommissionsPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Armada/EnterCommissionsPage.png", + "roi": [ + 390, + 583, + 215, + 137 + ], + "action": "Click" + }, + "Sub_EnterContributionsPage":{ + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Armada/EnterArmadaContribution.png", + "roi": [ + 832, + 586, + 212, + 133 + ], + "action": "Click", + "post_wait_freezes": { + "time": 200, + "target": [ + 0, + 0, + 420, + 330 + ] + } + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/attack_event_navigation.json b/assets/resource/pipeline/navigation/attack_event_navigation.json new file mode 100644 index 0000000..c77dd31 --- /dev/null +++ b/assets/resource/pipeline/navigation/attack_event_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterMaterialExpeditionPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/AttackEvent/EnterMaterialExpeditionPage.png", + "roi": [ + 903, + 356, + 366, + 307 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/attack_navigation.json b/assets/resource/pipeline/navigation/attack_navigation.json new file mode 100644 index 0000000..00e5045 --- /dev/null +++ b/assets/resource/pipeline/navigation/attack_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterAttackEventPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Attack/EnterAttackEventPage.png", + "roi": [ + 0, + 122, + 135, + 166 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/challenge_event_navigation.json b/assets/resource/pipeline/navigation/challenge_event_navigation.json new file mode 100644 index 0000000..e5d54e2 --- /dev/null +++ b/assets/resource/pipeline/navigation/challenge_event_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterUniversalMiragePage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/ChallengeEvent/EnterUniversalMiragePage.png", + "roi": [ + 646, + 72, + 264, + 144 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/commissions_navigation.json b/assets/resource/pipeline/navigation/commissions_navigation.json new file mode 100644 index 0000000..4c2c289 --- /dev/null +++ b/assets/resource/pipeline/navigation/commissions_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterCommissionsRewardsPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Commissions/EnterCommissionsRewardsPage.png", + "roi": [ + 1095, + 161, + 185, + 137 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/dorm_navigation.json b/assets/resource/pipeline/navigation/dorm_navigation.json new file mode 100644 index 0000000..3b3bf2c --- /dev/null +++ b/assets/resource/pipeline/navigation/dorm_navigation.json @@ -0,0 +1,27 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterErrandsPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Dorm/EnterErrandsPage.png", + "roi": [ + 905, + 595, + 160, + 125 + ], + "action": "Click" + }, + "Sub_EnterExpeditionsPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Dorm/EnterExpeditionsPage.png", + "roi": [ + 743, + 596, + 161, + 124 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/home_navigation.json b/assets/resource/pipeline/navigation/home_navigation.json new file mode 100644 index 0000000..00d0d82 --- /dev/null +++ b/assets/resource/pipeline/navigation/home_navigation.json @@ -0,0 +1,94 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterAttackPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Home/EnterAttackPage.png", + "roi": [ + 1025, + 77, + 167, + 163 + ], + "action": "Click", + "post_wait_freezes": { + "time": 200, + "target": [ + 0, + 0, + 340, + 80 + ] + } + }, + "Sub_EnterSupplyPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Home/EnterSupplyPage.png", + "roi": [ + 1012, + 389, + 184, + 140 + ], + "action": "Click" + }, + "Sub_EnterArmadaPage": { + "is_sub": true, + "recognition": "OCR", + "text": [ + "舰团" + ], + "roi": [ + 879, + 661, + 54, + 29 + ], + "action": "Click" + }, + "Sub_EnterDormPage": { + "is_sub": true, + "recognition": "OCR", + "text": [ + "家园" + ], + "roi": [ + 1005, + 610, + 155, + 110 + ], + "action": "Click", + "post_wait_freezes": { + "time": 200, + "target": [ + 0, + 400, + 380, + 320 + ] + } + }, + "Sub_EnterMissionsPage": { + "is_sub": true, + "recognition": "OCR", + "text": [ + "任务" + ], + "roi": [ + 92, + 115, + 54, + 34 + ], + "target": [ + 30, + 108, + 40, + 32 + ], + "action": "Click", + "post_wait_freezes": 1 + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/material_expedition_navigation.json b/assets/resource/pipeline/navigation/material_expedition_navigation.json new file mode 100644 index 0000000..fa51ee8 --- /dev/null +++ b/assets/resource/pipeline/navigation/material_expedition_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterMaterialEventPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/MaterialExpedition/EnterMaterialEventPage.png", + "roi": [ + 0, + 162, + 137, + 216 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/missions_navigation.json b/assets/resource/pipeline/navigation/missions_navigation.json new file mode 100644 index 0000000..b9f121b --- /dev/null +++ b/assets/resource/pipeline/navigation/missions_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterBPMissionsPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Missions/EnterBPMissionsPage.png", + "roi": [ + 35, + 64, + 213, + 143 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/shop_navigation.json b/assets/resource/pipeline/navigation/shop_navigation.json new file mode 100644 index 0000000..468228c --- /dev/null +++ b/assets/resource/pipeline/navigation/shop_navigation.json @@ -0,0 +1,27 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterActivityShopPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Shop/EnterActivityShopPage.png", + "roi": [ + 61, + 509, + 203, + 133 + ], + "action": "Click" + }, + "Sub_EnterMirageStorePage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Shop/EnterMirageStorePage.png", + "roi": [ + 62, + 440, + 201, + 130 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/supply_navigation.json b/assets/resource/pipeline/navigation/supply_navigation.json new file mode 100644 index 0000000..654e2c3 --- /dev/null +++ b/assets/resource/pipeline/navigation/supply_navigation.json @@ -0,0 +1,15 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterShopPage": { + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/Supply/EnterShopPage.png", + "roi": [ + 157, + 484, + 213, + 135 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/navigation/universal_mirage_navigation.json b/assets/resource/pipeline/navigation/universal_mirage_navigation.json new file mode 100644 index 0000000..98c012c --- /dev/null +++ b/assets/resource/pipeline/navigation/universal_mirage_navigation.json @@ -0,0 +1,55 @@ +{ + "$schema": "../../pipeline.schema.json", + "Sub_EnterGlacialFencesPage": { + "enabled": false, + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/UniversalMirage/EnterGlacialFencesPage.png", + "roi": [ + 76, + 428, + 235, + 140 + ], + "action": "Click" + }, + "Sub_EnterIlluminatedLandPage": { + "enabled": false, + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/UniversalMirage/EnterIlluminatedLandPage.png", + "roi": [ + 371, + 428, + 240, + 140 + ], + "action": "Click" + }, + "Sub_EnterRoaringPalacePage": { + "enabled": false, + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/UniversalMirage/EnterRoaringPalacePage.png", + "roi": [ + 668, + 428, + 241, + 140 + ], + "action": "Click" + }, + "Sub_EnterBladeGravePage": { + "enabled": false, + "is_sub": true, + "recognition": "TemplateMatch", + "template": "Navigation/UniversalMirage/EnterBladeGravePage.png", + "roi": [ + 966, + 427, + 242, + 142 + ], + "action": "Click" + } +} \ No newline at end of file diff --git a/assets/resource/pipeline/shop.json b/assets/resource/pipeline/shop.json index 35945be..a833ffb 100644 --- a/assets/resource/pipeline/shop.json +++ b/assets/resource/pipeline/shop.json @@ -2,39 +2,25 @@ "$schema": "../pipeline.schema.json", "Shop": { "next": [ - "EnterSupplyPage", + "DailyShopPageFlag", + "Sub_EnterShopPage", + "Sub_EnterSupplyPage", "Sub_StartUp" ] }, - "EnterSupplyPage": { + "DailyShopPageFlag": { "recognition": "TemplateMatch", - "template": "Shop/EnterSupplyPage.png", + "template": "Shop/DailyShopPageFlag.png", "roi": [ - 1012, - 389, - 184, - 140 - ], - "action": "Click", - "next": [ - "EnterShopPage" - ] - }, - "EnterShopPage": { - "recognition": "TemplateMatch", - "template": "Shop/EnterShopPage.png", - "roi": [ - 157, - 484, - 213, - 135 + 63, + 53, + 201, + 138 ], - "action": "Click", "next": [ "LogisticsTerminalBuyCharacterFragmentByGold", "MirageStoreBuyTimeSwirlPassesBy1Asterite", - "Sub_CloseDialogBox", - "EnterShopPage" + "Sub_CloseDialogBox" ] }, "LogisticsTerminalBuyCharacterFragmentByGold": { @@ -159,39 +145,10 @@ "MirageStoreBuyTimeSwirlPassesBy1Asterite": { "recognition": "TemplateMatch", "template": "Shop/LogisticsTerminalPage.png", - "next": [ - "EnterActivityShopPage", - "EnterMirageStorePage" - ] - }, - "EnterActivityShopPage": { - "recognition": "TemplateMatch", - "template": "Shop/EnterActivityShopPage.png", - "roi": [ - 61, - 509, - 203, - 133 - ], - "action": "Click", - "next": [ - "EnterMirageStorePage", - "EnterActivityShopPage" - ] - }, - "EnterMirageStorePage": { - "recognition": "TemplateMatch", - "template": "Shop/EnterMirageStorePage.png", - "roi": [ - 62, - 440, - 201, - 130 - ], - "action": "Click", "next": [ "MirageStore1AsteriteFlag", - "EnterMirageStorePage", + "Sub_EnterMirageStorePage", + "Sub_EnterActivityShopPage", "Stop" ] }, diff --git a/assets/resource/pipeline/utils.json b/assets/resource/pipeline/utils.json index eface8d..517143a 100644 --- a/assets/resource/pipeline/utils.json +++ b/assets/resource/pipeline/utils.json @@ -66,5 +66,22 @@ ], "action": "Click" }, + "Sub_CancelDownloadAudioFiles": { + "is_sub": true, + "recognition": "OCR", + "text": [ + "即将下载相关音频资源" + ], + "roi": [ + 298, + 232, + 669, + 143 + ], + "next": [ + "Sub_CancelButton", + "Stop" + ] + }, "Stop": {} } \ No newline at end of file diff --git a/source/cli/main.cpp b/source/cli/main.cpp index 0d584a0..3503799 100644 --- a/source/cli/main.cpp +++ b/source/cli/main.cpp @@ -225,7 +225,7 @@ MaaSize get_device_index(const MaaSize& device_size) return index; } -json::value homeland_param() +json::value dorm_param() { json::value param; auto& diff = param["diff_task"]; @@ -319,7 +319,7 @@ bool proc_argv(int argc, char** argv, bool& debug, std::string& adb, std::string << "Please select tasks: " << std::endl << std::endl - << " 1. Homeland\n" + << " 1. Dorm\n" " 2. MaterialEvent\n" " 3. Armada\n" " 4. Shop\n" @@ -343,8 +343,8 @@ bool proc_argv(int argc, char** argv, bool& debug, std::string& adb, std::string switch (id) { case 1: - task_obj.type = "Homeland"; - task_obj.param = homeland_param(); + task_obj.type = "Dorm"; + task_obj.param = dorm_param(); break; case 2: task_obj.type = "MaterialEvent"; diff --git a/source/cli/main.h b/source/cli/main.h index f83381b..1d1a2cd 100644 --- a/source/cli/main.h +++ b/source/cli/main.h @@ -32,7 +32,7 @@ void print_version(); MaaSize scanning_devices(); -json::value homeland_param(); +json::value dorm_param(); json::value end_to_do_param();