From 668d77363aad7de6af1abfcbf93e3a99753bac8b Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Mon, 1 Jan 2024 11:04:16 +0000 Subject: [PATCH 01/18] feat:lesson --- aas.py | 4 + assets/en/schedule/CONFIRM.png | Bin 0 -> 11486 bytes assets/en/schedule/FIRST_ITEM.png | Bin 0 -> 71030 bytes assets/en/schedule/LOCATIONS.png | Bin 0 -> 12299 bytes assets/en/schedule/LOCATIONS_POPUP.png | Bin 0 -> 8216 bytes assets/en/schedule/OCR_TICKET.png | Bin 0 -> 5906 bytes assets/en/schedule/START_LESSON.png | Bin 0 -> 13231 bytes config/template.json | 31 +++++ module/config/argument/args.json | 152 +++++++++++++++++++++++ module/config/argument/argument.yaml | 41 ++++++ module/config/argument/menu.json | 1 + module/config/argument/task.yaml | 8 ++ module/config/config_generated.py | 23 ++++ module/config/config_manual.py | 2 +- module/config/i18n/en-US.json | 141 +++++++++++++++++++++ module/config/i18n/zh-CN.json | 141 +++++++++++++++++++++ tasks/schedule/assets/assets_schedule.py | 66 ++++++++++ tasks/schedule/schedule.py | 131 +++++++++++++++++++ tasks/schedule/scroll_select.py | 149 ++++++++++++++++++++++ tasks/schedule/ui.py | 80 ++++++++++++ 20 files changed, 969 insertions(+), 1 deletion(-) create mode 100644 assets/en/schedule/CONFIRM.png create mode 100644 assets/en/schedule/FIRST_ITEM.png create mode 100644 assets/en/schedule/LOCATIONS.png create mode 100644 assets/en/schedule/LOCATIONS_POPUP.png create mode 100644 assets/en/schedule/OCR_TICKET.png create mode 100644 assets/en/schedule/START_LESSON.png create mode 100644 tasks/schedule/schedule.py create mode 100644 tasks/schedule/scroll_select.py create mode 100644 tasks/schedule/ui.py diff --git a/aas.py b/aas.py index e95cd3e..1069bb5 100644 --- a/aas.py +++ b/aas.py @@ -62,6 +62,10 @@ class ArisuAutoSweeper(AzurLaneAutoScript): from tasks.mission.mission import Mission Mission(config=self.config, device=self.device).run() + def schedule(self): + from tasks.schedule.schedule import Schedule + Schedule(config=self.config, device=self.device).run() + def data_update(self): from tasks.item.data_update import DataUpdate DataUpdate(config=self.config, device=self.device).run() diff --git a/assets/en/schedule/CONFIRM.png b/assets/en/schedule/CONFIRM.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa69856da145f40c5f7141945e2018108ef74f4 GIT binary patch literal 11486 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 literal 0 HcmV?d00001 diff --git a/assets/en/schedule/LOCATIONS.png b/assets/en/schedule/LOCATIONS.png new file mode 100644 index 0000000000000000000000000000000000000000..fe967644194161b55c8bc66568897a3403dde99a GIT binary patch literal 12299 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 S5If$!u$zXa24&ao{rqpji+NrE literal 0 HcmV?d00001 diff --git a/assets/en/schedule/LOCATIONS_POPUP.png b/assets/en/schedule/LOCATIONS_POPUP.png new file mode 100644 index 0000000000000000000000000000000000000000..199c52b333214cb3089169443bdc11a838430f3c GIT binary patch literal 8216 zcmeHJc{rQf){knd!%;mg)mD*1O?4!MAR$6gr8QK|lm;OY5+uaT)ln6llp0&KsG>?u zL3)Zh=9;IXC`u4&s))F+PWRsLyZ5`#cmKG5^?jaX?{}}?Uc+y%wcZ_JVx-5r=ja{~ z2*j&@TE`Rw+5t?rz1_797&JuhOl!*^*vilZ ztWEO9f)Nk}IVX8}1+WS*Q&NVhA`riWVe&9VsJt>12A6}$Bjpv4a5(teBLYVy!40uC{;V2YOBos=eQXy1D2+7+Os(?Tspz<&%3?>I44NEZLDK?h5A z^2U2o@FXI5OC!dSJ;0j_?H!Nc>1S|a%yPXJ?3Ka3|-0V2N@(-)w#(+`}dkGK05 zWS3$#$qTW zZ!;3f{rmZwd?x}7gF_U+(w2ClGl@!;*>dCC2CNQ-f<=jK<$|07Ob(`Mrl5j^t0G|v zHeXSOBxk&f|Nlm*A{CU73i97kK>j&nD472X=j?=ZA$faX0N(H(7*{ORljtf2{&5;e zZIV058!!jBqxi+Pp&?SANTy(jPFQ^%lo;SM1dn${svwjRPA;k#IVX&ZvK&HQ2`h&| zsKVrcB^O5}d1ps?nDh7jIwU8btpxeL-}(Q!-`E=uR4B&%Ki9K$ph!Rs-~?u?3Q%GS zV&E@}R$IB@?(=m~1tt$XP=&4kZ*uE@BmbM&oQMZVg^7W;QsOI*=Yb9b5UC7@E5g66 zo8bMh?p8W@fDiIlM_{UetuK4N$gKZP2Kcj8!e6Qac^Xd!GRyy4Q#g^%r}uR~6^8}*`sca%6+tGsP^cJhtd=Xl@4roZDBw4As|$S% z0s23q`y%_hj`bZ5w85?Ej|L39{Al4=BG9+Jfd);+ABzEjjGc1pc(n5dLD)d$jSHUV)z zZ?vv*tc_Y#7vil`_tJCcIu`h`NL)=OOm_4&{g)QIGDv&X#wW6|#zK5TG9RdO*A975 z*Ib$`k6cqj^z4zfw}ycwxB|sV`OkTJQfHG7@=8^)-?yj-MnziCwf5f>LhEz=@@lSL z@fFA{pZC$*v~h%2a_h~Y^iz_Hk@w=_R+pC^I2flQs2o0ldQ#D(NSC@es8?4ej4R7N zHAGp$jz5|aG#U8-4twB`(Mo4KY(6qx5@prIs|-P9T~BYO+&<-IYD$lU_FA9k4!aO3 z@fKv3nKqxu3>Arj9aXuWSDUP`xXz9A52ES`T&dm+8Oil{A{=^lbu4D8>fi)7hz6qq zwoc^~_82E*J-J(s{)4zloc>r3f0 zpDF*jsrvebVRLEzqn>&TMElgU$#>!NLpVQ}&jT$HkMB=cUtgVqZ9 ziOB52xMw%)Tucj5jF*JI4=*$(OK@$^I&&iT1$xH$3T})ffp=ALCTN-Vev8+zgcsyR z#uG{AV5wG&w%UbHb>z`JrGSRpP&&e^z2uBVUSqxN>0RNd=?o>(y<&&NL#S2_kHld) zklFohhr`^I+&}l?Xtq5Nt&@)FD7SnYy27sT*Pfpv>(9qbdFezM=84^Sof?Xmomfwa znw9N6W?yl_b>V4}ab6kCw(ch8Ql60!WSlv5)g+4vr$TInZp=0fnw84S24XB$>N+M+ z-g8 zpR`;!#@pIks?Z-ji!MDw%Y`nE8A}aw-v4(#`L25EQkVqd8i4c-kQ$eed z$DcLD<_EJ44NOOQ(nWe%YFuHnF1wXLT@v?f?baVlO1&iYDDMilU0=Q7TZIZSBE6hJ9Ws3(JQUhvThEzYM5|rI<&Q1-L`3&4V zw3(^N0x#4-eg3?OJeX zj(&n#A0=!+8N%DO93AHqMUpRp53lx7+tLk%IvM?ChDz>lAD(n@m*!^;jOEv?bmqqf zyxGkIZM0czEAnq^X^LfV)<=6a1XC=#RhdTpuvW$Bx%M>cv2�`@#(|A{#Ct7DW4y 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 NzOIo@-pPyMe+6E%N~iz; literal 0 HcmV?d00001 diff --git a/assets/en/schedule/OCR_TICKET.png b/assets/en/schedule/OCR_TICKET.png new file mode 100644 index 0000000000000000000000000000000000000000..2b29ef4b29faba53c0f3662defa89b6e2b4e8137 GIT binary patch literal 5906 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 F{{e5(cLo3e literal 0 HcmV?d00001 diff --git a/config/template.json b/config/template.json index 32f08f8..37f69c9 100644 --- a/config/template.json +++ b/config/template.json @@ -70,6 +70,37 @@ "Substitute": false } }, + "Schedule": { + "Scheduler": { + "Enable": false, + "NextRun": "2020-01-01 00:00:00", + "Command": "Schedule", + "ServerUpdate": "04:00" + }, + "Schedule": { + "OnError": "skip" + }, + "Choice1": { + "Location": "None", + "Classrooms": null + }, + "Choice2": { + "Location": "None", + "Classrooms": null + }, + "Choice3": { + "Location": "None", + "Classrooms": null + }, + "Choice4": { + "Location": "None", + "Classrooms": null + }, + "Choice5": { + "Location": "None", + "Classrooms": null + } + }, "Shop": { "Scheduler": { "Enable": false, diff --git a/module/config/argument/args.json b/module/config/argument/args.json index e3acdf9..496b71d 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -318,6 +318,158 @@ } } }, + "Schedule": { + "Scheduler": { + "Enable": { + "type": "checkbox", + "value": false, + "option": [ + true, + false + ] + }, + "NextRun": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime" + }, + "Command": { + "type": "input", + "value": "Schedule", + "display": "hide" + }, + "ServerUpdate": { + "type": "input", + "value": "04:00", + "display": "hide" + } + }, + "Schedule": { + "OnError": { + "type": "select", + "value": "skip", + "option": [ + "stop", + "skip" + ] + } + }, + "Choice1": { + "Location": { + "type": "select", + "value": "None", + "option": [ + "None", + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "Classrooms": { + "type": "textarea", + "value": null + } + }, + "Choice2": { + "Location": { + "type": "select", + "value": "None", + "option": [ + "None", + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "Classrooms": { + "type": "textarea", + "value": null + } + }, + "Choice3": { + "Location": { + "type": "select", + "value": "None", + "option": [ + "None", + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "Classrooms": { + "type": "textarea", + "value": null + } + }, + "Choice4": { + "Location": { + "type": "select", + "value": "None", + "option": [ + "None", + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "Classrooms": { + "type": "textarea", + "value": null + } + }, + "Choice5": { + "Location": { + "type": "select", + "value": "None", + "option": [ + "None", + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "Classrooms": { + "type": "textarea", + "value": null + } + } + }, "Shop": { "Scheduler": { "Enable": { diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 6ebb6c8..14da2ff 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -93,6 +93,47 @@ Invitation: type: textarea Substitute: false +Schedule: + OnError: + value: skip + option: [ stop, skip ] + +Choice1: + Location: + value: None + option: [ None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] + Classrooms: + value: null + type: textarea +Choice2: + Location: + value: None + option: [ None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] + Classrooms: + value: null + type: textarea +Choice3: + Location: + value: None + option: [ None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] + Classrooms: + value: null + type: textarea +Choice4: + Location: + value: None + option: [ None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] + Classrooms: + value: null + type: textarea +Choice5: + Location: + value: None + option: [ None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] + Classrooms: + value: null + type: textarea + Bounty: OnError: value: skip diff --git a/module/config/argument/menu.json b/module/config/argument/menu.json index 82c45c1..9f562ec 100644 --- a/module/config/argument/menu.json +++ b/module/config/argument/menu.json @@ -13,6 +13,7 @@ "page": "setting", "tasks": [ "Cafe", + "Schedule", "Shop" ] }, diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index 12c9a0a..1a04704 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -29,6 +29,14 @@ Daily: - Scheduler - Cafe - Invitation + Schedule: + - Scheduler + - Schedule + - Choice1 + - Choice2 + - Choice3 + - Choice4 + - Choice5 Shop: - Scheduler - NormalShop diff --git a/module/config/config_generated.py b/module/config/config_generated.py index 9a66e6e..870a56c 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -52,6 +52,29 @@ class GeneratedConfig: Invitation_Name = None Invitation_Substitute = False + # Group `Schedule` + Schedule_OnError = 'skip' # stop, skip + + # Group `Choice1` + Choice1_Location = 'None' # None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + Choice1_Classrooms = None + + # Group `Choice2` + Choice2_Location = 'None' # None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + Choice2_Classrooms = None + + # Group `Choice3` + Choice3_Location = 'None' # None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + Choice3_Classrooms = None + + # Group `Choice4` + Choice4_Location = 'None' # None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + Choice4_Classrooms = None + + # Group `Choice5` + Choice5_Location = 'None' # None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + Choice5_Classrooms = None + # Group `Bounty` Bounty_OnError = 'skip' # stop, skip diff --git a/module/config/config_manual.py b/module/config/config_manual.py index e2b7a06..071ced1 100644 --- a/module/config/config_manual.py +++ b/module/config/config_manual.py @@ -9,7 +9,7 @@ class ManualConfig: SCHEDULER_PRIORITY = """ Restart > Cafe > TacticalChallenge > Circle > Mail - > DataUpdate > Bounty > Scrimmage > Task > Shop > Mission > Momotalk + > DataUpdate > Bounty > Scrimmage > Schedule > Task > Shop > Mission > Momotalk """ """ diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index a97c31c..66dcd24 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -34,6 +34,10 @@ "name": "Cafe", "help": "" }, + "Schedule": { + "name": "Lesson", + "help": "AAS will execute Lesson starting from Choice 1 to Choice 5.\nIt will ignore any Choice that have Location set as None or the text area for classrooms is empty.\nIf any of the active Choices have incorrect input, it will perform the action set in Error handling." + }, "Shop": { "name": "Shop", "help": "" @@ -277,6 +281,143 @@ "help": "Whether to replace the existing student with their alt.\nIf not, try to match the next student" } }, + "Schedule": { + "_info": { + "name": "Lesson Settings", + "help": "" + }, + "OnError": { + "name": "Error Handling", + "help": "Perform the selected action when an error occurs (ticket not enough or any invalid setting)", + "stop": "Stop script", + "skip": "Skip current task" + } + }, + "Choice1": { + "_info": { + "name": "Choice 1", + "help": "" + }, + "Location": { + "name": "Location", + "help": "", + "None": "None", + "0": "Schale Office", + "1": "Schale Residence", + "2": "Gehenna", + "3": "Abydos", + "4": "Millennium", + "5": "Trinity", + "6": "Red Winter", + "7": "Hyakkiyako", + "8": "D.U. Shiratori", + "9": "Shanhaijing" + }, + "Classrooms": { + "name": "Classrooms", + "help": "Type a number from 1 to 9 that represents the classroom position in the locations popup.\nUse > to connect multiple classrooms and AAS will select them following the order they appear. Example:\n5 > 3 > 2 > 4 > 1" + } + }, + "Choice2": { + "_info": { + "name": "Choice 2", + "help": "" + }, + "Location": { + "name": "Location", + "help": "", + "None": "None", + "0": "Schale Office", + "1": "Schale Residence", + "2": "Gehenna", + "3": "Abydos", + "4": "Millennium", + "5": "Trinity", + "6": "Red Winter", + "7": "Hyakkiyako", + "8": "D.U. Shiratori", + "9": "Shanhaijing" + }, + "Classrooms": { + "name": "Classrooms", + "help": "" + } + }, + "Choice3": { + "_info": { + "name": "Choice 3", + "help": "" + }, + "Location": { + "name": "Location", + "help": "", + "None": "None", + "0": "Schale Office", + "1": "Schale Residence", + "2": "Gehenna", + "3": "Abydos", + "4": "Millennium", + "5": "Trinity", + "6": "Red Winter", + "7": "Hyakkiyako", + "8": "D.U. Shiratori", + "9": "Shanhaijing" + }, + "Classrooms": { + "name": "Classrooms", + "help": "" + } + }, + "Choice4": { + "_info": { + "name": "Choice 4", + "help": "" + }, + "Location": { + "name": "Location", + "help": "", + "None": "None", + "0": "Schale Office", + "1": "Schale Residence", + "2": "Gehenna", + "3": "Abydos", + "4": "Millennium", + "5": "Trinity", + "6": "Red Winter", + "7": "Hyakkiyako", + "8": "D.U. Shiratori", + "9": "Shanhaijing" + }, + "Classrooms": { + "name": "Classrooms", + "help": "" + } + }, + "Choice5": { + "_info": { + "name": "Choice 5", + "help": "" + }, + "Location": { + "name": "Location", + "help": "", + "None": "None", + "0": "Schale Office", + "1": "Schale Residence", + "2": "Gehenna", + "3": "Abydos", + "4": "Millennium", + "5": "Trinity", + "6": "Red Winter", + "7": "Hyakkiyako", + "8": "D.U. Shiratori", + "9": "Shanhaijing" + }, + "Classrooms": { + "name": "Classrooms", + "help": "" + } + }, "Bounty": { "_info": { "name": "Bounty Settings", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 4ab9e1f..6ad9f51 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -34,6 +34,10 @@ "name": "咖啡厅", "help": "" }, + "Schedule": { + "name": "Task.Schedule.name", + "help": "Task.Schedule.help" + }, "Shop": { "name": "商店", "help": "" @@ -277,6 +281,143 @@ "help": "若咖啡厅已存在所邀请学生的不同服装,选择是否替换该学生\n若不替换,则尝试匹配下一位学生" } }, + "Schedule": { + "_info": { + "name": "Schedule._info.name", + "help": "Schedule._info.help" + }, + "OnError": { + "name": "Schedule.OnError.name", + "help": "Schedule.OnError.help", + "stop": "stop", + "skip": "skip" + } + }, + "Choice1": { + "_info": { + "name": "Choice1._info.name", + "help": "Choice1._info.help" + }, + "Location": { + "name": "Choice1.Location.name", + "help": "Choice1.Location.help", + "None": "None", + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9" + }, + "Classrooms": { + "name": "Choice1.Classrooms.name", + "help": "Choice1.Classrooms.help" + } + }, + "Choice2": { + "_info": { + "name": "Choice2._info.name", + "help": "Choice2._info.help" + }, + "Location": { + "name": "Choice2.Location.name", + "help": "Choice2.Location.help", + "None": "None", + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9" + }, + "Classrooms": { + "name": "Choice2.Classrooms.name", + "help": "Choice2.Classrooms.help" + } + }, + "Choice3": { + "_info": { + "name": "Choice3._info.name", + "help": "Choice3._info.help" + }, + "Location": { + "name": "Choice3.Location.name", + "help": "Choice3.Location.help", + "None": "None", + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9" + }, + "Classrooms": { + "name": "Choice3.Classrooms.name", + "help": "Choice3.Classrooms.help" + } + }, + "Choice4": { + "_info": { + "name": "Choice4._info.name", + "help": "Choice4._info.help" + }, + "Location": { + "name": "Choice4.Location.name", + "help": "Choice4.Location.help", + "None": "None", + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9" + }, + "Classrooms": { + "name": "Choice4.Classrooms.name", + "help": "Choice4.Classrooms.help" + } + }, + "Choice5": { + "_info": { + "name": "Choice5._info.name", + "help": "Choice5._info.help" + }, + "Location": { + "name": "Choice5.Location.name", + "help": "Choice5.Location.help", + "None": "None", + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9" + }, + "Classrooms": { + "name": "Choice5.Classrooms.name", + "help": "Choice5.Classrooms.help" + } + }, "Bounty": { "_info": { "name": "悬赏通缉设置", diff --git a/tasks/schedule/assets/assets_schedule.py b/tasks/schedule/assets/assets_schedule.py index 8e923b2..737ca02 100644 --- a/tasks/schedule/assets/assets_schedule.py +++ b/tasks/schedule/assets/assets_schedule.py @@ -3,6 +3,61 @@ from module.base.button import Button, ButtonWrapper # This file was auto-generated, do not modify it manually. To generate: # ``` python -m dev_tools.button_extract ``` +CONFIRM = ButtonWrapper( + name='CONFIRM', + jp=None, + en=Button( + file='./assets/en/schedule/CONFIRM.png', + area=(532, 528, 748, 589), + search=(512, 508, 768, 609), + color=(110, 207, 241), + button=(532, 528, 748, 589), + ), +) +FIRST_ITEM = ButtonWrapper( + name='FIRST_ITEM', + jp=None, + en=Button( + file='./assets/en/schedule/FIRST_ITEM.png', + area=(727, 137, 1103, 239), + search=(707, 117, 1123, 259), + color=(200, 209, 220), + button=(727, 137, 1103, 239), + ), +) +LOCATIONS = ButtonWrapper( + name='LOCATIONS', + jp=None, + en=Button( + file='./assets/en/schedule/LOCATIONS.png', + area=(1075, 638, 1256, 693), + search=(1055, 618, 1276, 713), + color=(107, 202, 237), + button=(1075, 638, 1256, 693), + ), +) +LOCATIONS_POPUP = ButtonWrapper( + name='LOCATIONS_POPUP', + jp=None, + en=Button( + file='./assets/en/schedule/LOCATIONS_POPUP.png', + area=(534, 101, 750, 135), + search=(514, 81, 770, 155), + color=(194, 202, 210), + button=(534, 101, 750, 135), + ), +) +OCR_TICKET = ButtonWrapper( + name='OCR_TICKET', + jp=None, + en=Button( + file='./assets/en/schedule/OCR_TICKET.png', + area=(220, 79, 266, 121), + search=(200, 59, 286, 141), + color=(214, 225, 229), + button=(220, 79, 266, 121), + ), +) SCROLL = ButtonWrapper( name='SCROLL', jp=Button( @@ -20,3 +75,14 @@ SCROLL = ButtonWrapper( button=(727, 137, 1103, 671), ), ) +START_LESSON = ButtonWrapper( + name='START_LESSON', + jp=None, + en=Button( + file='./assets/en/schedule/START_LESSON.png', + area=(506, 523, 773, 585), + search=(486, 503, 793, 605), + color=(110, 205, 239), + button=(506, 523, 773, 585), + ), +) diff --git a/tasks/schedule/schedule.py b/tasks/schedule/schedule.py new file mode 100644 index 0000000..8ddc04a --- /dev/null +++ b/tasks/schedule/schedule.py @@ -0,0 +1,131 @@ +from enum import Flag + +from module.base.timer import Timer +from module.exception import RequestHumanTakeover +from module.logger import logger +from tasks.base.assets.assets_base_page import BACK +from tasks.base.page import page_schedule +from tasks.schedule.ui import ScheduleUI +from tasks.base.assets.assets_base_page import SCHEDULE_CHECK + +import re + +class ScheduleStatus(Flag): + OCR = 0 + ENTER = 1 + SELECT = 2 + END = 3 + FINISH = 4 + + +class Schedule(ScheduleUI): + @property + def schedule_info(self): + info = [] + input_valid = True + schedule_config = self.config.cross_get("Schedule") + choices = ["Choice1", "Choice2", "Choice3", "Choice4", "Choice5"] + + for choice in choices: + location, classrooms = schedule_config[choice]["Location"], schedule_config[choice]["Classrooms"] + if location == "None" or not classrooms or (isinstance(classrooms, str) and classrooms.replace(" ", "") == ""): + continue + elif isinstance(classrooms, int): + classrooms_list = [str(classrooms)] + else: + classrooms = classrooms.strip() + classrooms = re.sub(r'[ \t\r\n]', '', classrooms) + classrooms = re.sub(r'[>﹥›˃ᐳ❯]', '>', classrooms) + classrooms_list = list(set(classrooms.split('>'))) + + if self.valid_classroom(classrooms_list): + info.append([location, classrooms_list]) + else: + logger.error(f"Failed to read {choice}") + input_valid = False + + return info if input_valid else [] + + def valid_classroom(self, classrooms_list): + if not classrooms_list: + return False + for classroom in classrooms_list: + if not classroom.isdigit(): + return False + if not 1 <= int(classroom) <= 9: + return False + return True + + @property + def valid_task(self) -> list: + task = self.schedule_info + if not task: + logger.warning('Lessons enabled but no task set') + self.error_handler() + return task + + def error_handler(self): + action = self.config.Schedule_OnError + if action == 'stop': + raise RequestHumanTakeover + elif action == 'skip': + with self.config.multi_set(): + self.config.task_delay(server_update=True) + self.config.task_stop() + + @property + def current_location(self): + return self.task[0][0] + + @property + def current_classrooms(self): + return self.task[0][1] + + def handle_schedule(self, status): + match status: + case ScheduleStatus.OCR: + if self.task: + self.ticket = self.get_ticket() + if self.ticket not in [0, None]: + return ScheduleStatus.ENTER + return ScheduleStatus.FINISH + case ScheduleStatus.ENTER: + if self.enter_location(self.current_location): + return ScheduleStatus.SELECT + else: + self.error_handler() + case ScheduleStatus.SELECT: + if self.select_classrooms(self.ticket, self.current_classrooms): + self.task.pop(0) + return ScheduleStatus.END + return ScheduleStatus.FINISH + case ScheduleStatus.END: + if self.appear(SCHEDULE_CHECK): + return ScheduleStatus.OCR + self.click_with_interval(BACK, interval=2) + case ScheduleStatus.FINISH: + return status + case _: + logger.warning(f'Invalid status: {status}') + return status + + def run(self): + self.ui_ensure(page_schedule) + self.task = self.valid_task + action_timer = Timer(0.5, 1) + status = ScheduleStatus.OCR + + while 1: + self.device.screenshot() + + if self.ui_additional(): + continue + + if action_timer.reached_and_reset(): + logger.attr('Status', status) + status = self.handle_schedule(status) + + if status == ScheduleStatus.FINISH: + break + + self.config.task_delay(server_update=True) \ No newline at end of file diff --git a/tasks/schedule/scroll_select.py b/tasks/schedule/scroll_select.py new file mode 100644 index 0000000..ba43641 --- /dev/null +++ b/tasks/schedule/scroll_select.py @@ -0,0 +1,149 @@ +""" +Original Author: sanmusen214(https://github.com/sanmusen214) +Adapted from https://github.com/sanmusen214/BAAH/blob/1.2/modules/AllTask/SubTask/ScrollSelect.py +""" + +from module.logger import logger +from module.base.timer import Timer + + +class ScrollSelect: + """ + Scroll and select the corresponding level by clicking on the right-side window. + + Parameters + ---------- + targetind : int + Index of the target level + window_starty: + Y-coordinate of the upper edge of the window + first_item_endy: + Y-coordinate of the lower edge of the first item + window_endy: + Y-coordinate of the lower edge of the window + clickx: int + Base X-coordinate for sliding and clicking the button + hasexpectimage: function + Function to determine the appearance of the expected image after clicking, returns a boolean + swipeoffsetx: int + X offset of the base X-coordinate during sliding to prevent accidental button clicks + finalclick: bool + Whether to click on clickx and the last row after the sliding ends + """ + def __init__(self, window_button, first_item_button, expected_button, clickx, swipeoffsetx=-100, finalclick=True) -> None: + # TODO: Actually, only concerned about the height of one element, completely displaying the Y of the first button, completely displaying the Y of the bottom button, the number of complete elements that the window can contain, the height of the last element in the window, and the left offset and response distance. + self.window_starty = window_button.area[1] + self.window_endy = window_button.area[3] + self.first_item_endy = first_item_button.area[3] + self.windowheight = window_button.height + self.itemheight = first_item_button.height + self.clickx = clickx + self.expected_button = expected_button + self.swipeoffsetx = swipeoffsetx + self.responsey = 40 + self.finalclick = finalclick + + def compute_swipe(self, main, x1, y1, distance, responsey): + """ + Swipe vertically from bottom to top, actual swipe distance calculated based on the distance between two target points, considering inertia. + """ + distance = abs(distance) + logger.info(f"Swipe distance: {distance}") + # 0-50 + if distance < 50: + main.device.swipe((x1, y1), (x1, y1 - (distance + responsey)), duration=2) + else: + # Effective swipe distance for the Chinese server is 60 + main.device.swipe((x1, y1), (x1, int(y1 - (distance + responsey - 4 * (1 + distance / 100)))), duration=1 + distance / 100) + + def select_location(self, main, target_index) -> None: + click_coords = main.device.click_methods.get(main.config.Emulator_ControlMethod, main.device.click_adb) + logger.info("Scroll and select the {}-th level".format(target_index + 1)) + self.scroll_right_up(main, scrollx=self.clickx + self.swipeoffsetx) + # Calculate how many complete elements are on one page + itemcount = self.windowheight // self.itemheight + # Calculate how much height the last incomplete element on this page occupies + lastitemheight = self.windowheight % self.itemheight + # Height below the incomplete element + hiddenlastitemheight = self.itemheight - lastitemheight + # Center point of the height of the first element + start_center_y = self.window_starty + self.itemheight // 2 + # Center point of the last complete element on this page + end_center_y = start_center_y + (itemcount - 1) * self.itemheight + # If the target element is on the current page + if target_index < itemcount: + # Center point of the target element + target_center_y = start_center_y + self.itemheight * target_index + self.run_until(main, + lambda: click_coords(self.clickx, target_center_y), + lambda: main.appear(self.expected_button), + ) + else: + # Start scrolling from the gap in the middle of the levels + scroll_start_from_y = self.window_endy - self.itemheight // 2 + # The target element is on subsequent pages + # Calculate how much the page should be scrolled + scrolltotal_distance = (target_index - itemcount) * self.itemheight + hiddenlastitemheight + logger.info("Height hidden by the last element: %d" % hiddenlastitemheight) + # First, slide up the hidden part, add a little distance to let the system recognize it as a swipe event + self.compute_swipe(main, self.clickx + self.swipeoffsetx, scroll_start_from_y, hiddenlastitemheight, self.responsey) + logger.info(f"Swipe distance: {hiddenlastitemheight}") + # Update scrolltotal_distance + scrolltotal_distance -= hiddenlastitemheight + # Still need to scroll up (target_index - itemcount) * self.itemheight + # Important: slide the height of (itemcount - 1) elements each time + if itemcount == 1: + scroll_distance = itemcount * self.itemheight + else: + scroll_distance = (itemcount - 1) * self.itemheight + while scroll_distance <= scrolltotal_distance: + self.compute_swipe(main, self.clickx + self.swipeoffsetx, scroll_start_from_y, scroll_distance, self.responsey) + scrolltotal_distance -= scroll_distance + if scrolltotal_distance > 5: + # Last slide + self.compute_swipe(main, self.clickx + self.swipeoffsetx, scroll_start_from_y, scrolltotal_distance, self.responsey) + if self.finalclick: + # Click on the last row + self.run_until(main, + lambda: click_coords(self.clickx, self.window_endy - self.itemheight // 2), + lambda: main.appear(self.expected_button) + ) + + def run_until(self, main, func1, func2, times=6, sleeptime=1.5) -> bool: + """ + Repeat the execution of func1 up to a maximum of times or until func2 evaluates to True. + + func1 should perform a single valid operation or internally call a screenshot function. + A screenshot is triggered before evaluating func2. + + After each execution of func1, wait for sleeptime seconds. + + If func2 evaluates to True, exit and return True. Otherwise, return False. + + Note: The comment assumes that func1 produces a meaningful operation or internally calls a screenshot function, + and func2 is evaluated after each execution of func1. + """ + for i in range(times): + main.device.screenshot() + if func2(): + return True + func1() + timer = Timer(sleeptime).start() + while not timer.reached_and_reset(): + pass + main.device.screenshot() + if func2(): + return True + logger.warning("run_until exceeded max times") + return False + + def scroll_right_up(self, main, scrollx=928, times=3): + """ + scroll to top + """ + for i in range(times): + main.device.swipe((scrollx, 226), (scrollx, 561), duration=0.2) + timer = Timer(0.5).start() + while not timer.reached_and_reset(): + pass + \ No newline at end of file diff --git a/tasks/schedule/ui.py b/tasks/schedule/ui.py new file mode 100644 index 0000000..81c8f70 --- /dev/null +++ b/tasks/schedule/ui.py @@ -0,0 +1,80 @@ +from module.base.timer import Timer +from module.logger import logger +from module.ocr.ocr import DigitCounter +from tasks.base.ui import UI +from tasks.base.assets.assets_base_page import SCHEDULE_CHECK +from tasks.schedule.assets.assets_schedule import * +from tasks.schedule.scroll_select import ScrollSelect +import numpy as np + + +SCROLL_SELECT = ScrollSelect(window_button=SCROLL, first_item_button=FIRST_ITEM, expected_button=LOCATIONS, clickx=1114) +xs = np.linspace(299, 995, 3, dtype=int) +ys = np.linspace(268, 573, 3, dtype=int) + +class ScheduleUI(UI): + def select_then_check(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper): + timer = Timer(8, 10).start() + while 1: + self.device.screenshot() + self.appear_then_click(dest_enter, interval=1) + self.handle_affection_level_up() + if self.appear(dest_check): + return True + + if timer.reached(): + return False + + def click_then_check(self, coords, dest_check: ButtonWrapper): + click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) + timer = Timer(3, 5).start() + wait = Timer(1).start() + while 1: + click_coords(*coords) + self.device.screenshot() + if self.appear_then_click(dest_check): + return True + while not wait.reached_and_reset(): + pass + if timer.reached(): + return False + + def enter_location(self, location): + SCROLL_SELECT.select_location(self, location) + if not self.appear(LOCATIONS): + logger.error("Unable to navigate to page for location {}".format(location + 1)) + return False + return self.select_then_check(LOCATIONS, LOCATIONS_POPUP) + + def select_classrooms(self, ticket, classrooms): + for classroom in classrooms: + if ticket == 0: + return False + classroom = int(classroom) - 1 + col = int(classroom % len(xs)) + row = int((classroom - col) / len(ys)) + targetloc = (xs[col], ys[row]) + if not self.click_then_check(targetloc, START_LESSON): + logger.info(f"Classroom {classroom + 1} does not exist or has already been clicked") + continue + if self.select_then_check(START_LESSON, CONFIRM): + ticket -= 1 + if not self.select_then_check(CONFIRM, LOCATIONS_POPUP): + break + return True + + def get_ticket(self): + """ + Page: + in: page_bounty + """ + if not self.appear(SCHEDULE_CHECK): + logger.warning('OCR failed due to invalid page') + return False + ticket, _, total = DigitCounter(OCR_TICKET).ocr_single_line(self.device.image) + if total == 0: + logger.warning('Invalid ticket') + return False + logger.attr('ScheduleTicket', ticket) + #self.config.stored.BountyTicket.set(ticket) + return ticket From eb5d41914c718904f42b4b419956c257f3966169 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Mon, 1 Jan 2024 14:59:49 +0000 Subject: [PATCH 02/18] refactor: mission --- MCE Manager.py | 4 +- .../en/mission/{CHECK_IR.png => CHECK_CR.png} | Bin .../en/mission/{CHECK_BD.png => CHECK_XP.png} | Bin .../mission/{SELECT_IR.png => SELECT_CR.png} | Bin .../mission/{SELECT_BD.png => SELECT_XP.png} | Bin tasks/mission/assets/assets_mission.py | 56 ++++++++-------- tasks/mission/mission.py | 62 +++++++++++------- tasks/mission/ui.py | 45 ++++++++----- 8 files changed, 95 insertions(+), 72 deletions(-) rename assets/en/mission/{CHECK_IR.png => CHECK_CR.png} (100%) rename assets/en/mission/{CHECK_BD.png => CHECK_XP.png} (100%) rename assets/en/mission/{SELECT_IR.png => SELECT_CR.png} (100%) rename assets/en/mission/{SELECT_BD.png => SELECT_XP.png} (100%) diff --git a/MCE Manager.py b/MCE Manager.py index efec62e..9c2c827 100644 --- a/MCE Manager.py +++ b/MCE Manager.py @@ -134,7 +134,7 @@ class MCE_Manager(customtkinter.CTk): self.template_labels.grid(row=0, column=0, sticky="ew") self.mode_label = customtkinter.CTkLabel(self.template_labels, text="Mode:", font=customtkinter.CTkFont(underline=True)) - self.mode_tooltip = CTkToolTip(self.mode_label, message="N:Mission Normal\nH:Mission Hard\nE:Event Quest\nBD:Commissions EXP\nIR:Commissions Credits\n") + self.mode_tooltip = CTkToolTip(self.mode_label, message="N : Mission Normal\nH : Mission Hard\nE : Event Quest\nXP : Commissions EXP\nCR : Commissions Credits\n", justify=tk.LEFT) self.mode_label.grid(row=1, column=0, padx=(130, 0), pady=5) self.stage_label = customtkinter.CTkLabel(self.template_labels, text="Stage:", font=customtkinter.CTkFont(underline=True)) @@ -269,7 +269,7 @@ class MCE_Manager(customtkinter.CTk): down_button = customtkinter.CTkButton(frame, text="Down", width=5, command=lambda f=frame, queue=queue: self.move_frame_down(f, queue), state=state) down_button.grid(row=0, column=1, padx=5, pady=5, sticky="w") # Dropdown menu for mode - mode_optionmenu = customtkinter.CTkOptionMenu(frame, width=60, values=["N", "H", "E", "BD", "IR"], state=state) + mode_optionmenu = customtkinter.CTkOptionMenu(frame, width=60, values=["N", "H", "E", "XP", "CR"], state=state) mode_optionmenu.set(inner_list[0] if inner_list else "N") mode_optionmenu.grid(row=0, column=2, padx=5, pady=5, sticky="w") # Entry widget for stage diff --git a/assets/en/mission/CHECK_IR.png b/assets/en/mission/CHECK_CR.png similarity index 100% rename from assets/en/mission/CHECK_IR.png rename to assets/en/mission/CHECK_CR.png diff --git a/assets/en/mission/CHECK_BD.png b/assets/en/mission/CHECK_XP.png similarity index 100% rename from assets/en/mission/CHECK_BD.png rename to assets/en/mission/CHECK_XP.png diff --git a/assets/en/mission/SELECT_IR.png b/assets/en/mission/SELECT_CR.png similarity index 100% rename from assets/en/mission/SELECT_IR.png rename to assets/en/mission/SELECT_CR.png diff --git a/assets/en/mission/SELECT_BD.png b/assets/en/mission/SELECT_XP.png similarity index 100% rename from assets/en/mission/SELECT_BD.png rename to assets/en/mission/SELECT_XP.png diff --git a/tasks/mission/assets/assets_mission.py b/tasks/mission/assets/assets_mission.py index caecaed..191f2a4 100644 --- a/tasks/mission/assets/assets_mission.py +++ b/tasks/mission/assets/assets_mission.py @@ -3,17 +3,6 @@ from module.base.button import Button, ButtonWrapper # This file was auto-generated, do not modify it manually. To generate: # ``` python -m dev_tools.button_extract ``` -CHECK_BD = ButtonWrapper( - name='CHECK_BD', - jp=None, - en=Button( - file='./assets/en/mission/CHECK_BD.png', - area=(94, 135, 325, 194), - search=(74, 115, 345, 214), - color=(208, 215, 220), - button=(94, 135, 325, 194), - ), -) CHECK_COMMISSIONS = ButtonWrapper( name='CHECK_COMMISSIONS', jp=None, @@ -25,11 +14,11 @@ CHECK_COMMISSIONS = ButtonWrapper( button=(646, 78, 909, 135), ), ) -CHECK_IR = ButtonWrapper( - name='CHECK_IR', +CHECK_CR = ButtonWrapper( + name='CHECK_CR', jp=None, en=Button( - file='./assets/en/mission/CHECK_IR.png', + file='./assets/en/mission/CHECK_CR.png', area=(97, 137, 340, 191), search=(77, 117, 360, 211), color=(213, 220, 223), @@ -47,6 +36,17 @@ CHECK_MISSION_SWEEP = ButtonWrapper( button=(654, 184, 703, 209), ), ) +CHECK_XP = ButtonWrapper( + name='CHECK_XP', + jp=None, + en=Button( + file='./assets/en/mission/CHECK_XP.png', + area=(94, 135, 325, 194), + search=(74, 115, 345, 214), + color=(208, 215, 220), + button=(94, 135, 325, 194), + ), +) HARD_OFF = ButtonWrapper( name='HARD_OFF', jp=None, @@ -146,25 +146,25 @@ RIGHT = ButtonWrapper( button=(1202, 311, 1280, 412), ), ) -SELECT_BD = ButtonWrapper( - name='SELECT_BD', +SELECT_CR = ButtonWrapper( + name='SELECT_CR', jp=None, en=Button( - file='./assets/en/mission/SELECT_BD.png', - area=(1016, 165, 1227, 211), - search=(996, 145, 1247, 231), - color=(205, 212, 220), - button=(1016, 165, 1227, 211), - ), -) -SELECT_IR = ButtonWrapper( - name='SELECT_IR', - jp=None, - en=Button( - file='./assets/en/mission/SELECT_IR.png', + file='./assets/en/mission/SELECT_CR.png', area=(1004, 267, 1237, 321), search=(984, 247, 1257, 341), color=(214, 220, 227), button=(1004, 267, 1237, 321), ), ) +SELECT_XP = ButtonWrapper( + name='SELECT_XP', + jp=None, + en=Button( + file='./assets/en/mission/SELECT_XP.png', + area=(1016, 165, 1227, 211), + search=(996, 145, 1247, 231), + color=(205, 212, 220), + button=(1016, 165, 1227, 211), + ), +) diff --git a/tasks/mission/mission.py b/tasks/mission/mission.py index 5b6d103..45c6ff9 100644 --- a/tasks/mission/mission.py +++ b/tasks/mission/mission.py @@ -3,7 +3,7 @@ from enum import Enum from module.base.timer import Timer from module.exception import RequestHumanTakeover from module.logger import logger -from tasks.mission.ui import MissionUI, CommissionsUI +from tasks.mission.ui import MissionUI, CommissionsUI, SWITCH_QUEST from tasks.stage.ap import AP from tasks.cafe.cafe import Cafe from tasks.circle.circle import Circle @@ -13,7 +13,7 @@ from tasks.item.data_update import DataUpdate import json import math from filelock import FileLock -from datetime import datetime +from datetime import datetime, timedelta class MissionStatus(Enum): AP = 0 # Calculate AP and decide to terminate Mission module or not @@ -45,8 +45,8 @@ class Mission(MissionUI, CommissionsUI): "N" : Normal Mission "H" : Hard Mission "E" : Event Quest - "IR" : Item Retrieval / Commission where you get credit - "BD" : Base Defense / Commission where you get exp + "CR" : Item Retrieval / Commission where you get credit + "XP" : Base Defense / Commission where you get exp Returns: list of list @@ -70,7 +70,7 @@ class Mission(MissionUI, CommissionsUI): logger.error("Failed to read configuration file") finally: return queue - + def check_reset_daily(self): # Check if it's time to reset the queue if self.reset_daily: @@ -80,10 +80,21 @@ class Mission(MissionUI, CommissionsUI): last_run_datetime = datetime.strptime(self.last_run, "%Y-%m-%d %H:%M:%S") reset_time = datetime.strptime(self.reset_time, "%H:%M:%S").time() - if current_date != last_run_datetime.date() and current_time >= reset_time: - self.last_run = str(datetime.now().replace(microsecond=0)) - logger.info("Reset Daily activated.") + # Check if the difference between the current date and last run date is 2 or greater days + if (current_date - last_run_datetime.date()).days >= 2: + # Set self.last_run to yesterday's date with time as reset_time + yesterday_datetime = current_datetime - timedelta(days=1) + yesterday_date = yesterday_datetime.date() + self.last_run = str(datetime.combine(yesterday_date, reset_time)) + logger.info("Reset Daily activated") return True + + # Check if the current date is different from the last run date and the current time is greater than or equal to the reset time + elif current_date != last_run_datetime.date() and current_time >= reset_time: + self.last_run = str(datetime.now().replace(microsecond=0)) + logger.info("Reset Daily activated") + return True + return False @property @@ -122,10 +133,10 @@ class Mission(MissionUI, CommissionsUI): """ if self.current_mode in ["N", "H"]: return self.select_mission(self.current_mode, self.current_stage) - elif self.current_mode in ["BD", "IR"]: + elif self.current_mode in ["CR", "XP"]: return self.select_commission(self.current_mode) elif self.current_mode == "E": - return self.select_event() + return self.select_mode(SWITCH_QUEST) else: logger.error("Uknown mode") return False @@ -235,24 +246,25 @@ class Mission(MissionUI, CommissionsUI): with self.lock.acquire(): self.previous_mode = None self.task = self.valid_task - action_timer = Timer(0.5, 1) - status = MissionStatus.AP - - """Update the dashboard to accurately calculate AP""" - DataUpdate(config=self.config, device=self.device).run() - - while 1: - self.device.screenshot() + if self.task: + action_timer = Timer(0.5, 1) + status = MissionStatus.AP + + """Update the dashboard to accurately calculate AP""" + DataUpdate(config=self.config, device=self.device).run() + + while 1: + self.device.screenshot() - if self.ui_additional(): - continue + if self.ui_additional(): + continue - if action_timer.reached_and_reset(): - logger.attr('Status', status) - status = self.handle_mission(status) + if action_timer.reached_and_reset(): + logger.attr('Status', status) + status = self.handle_mission(status) - if status == MissionStatus.FINISH: - break + if status == MissionStatus.FINISH: + break self.config.task_delay(server_update=True) \ No newline at end of file diff --git a/tasks/mission/ui.py b/tasks/mission/ui.py index c10e837..25fdbe0 100644 --- a/tasks/mission/ui.py +++ b/tasks/mission/ui.py @@ -2,19 +2,18 @@ from module.base.timer import Timer from module.logger import logger from module.ui.switch import Switch from module.ocr.ocr import Digit -from tasks.base.assets.assets_base_page import BACK, MISSION_CHECK, EVENT_CHECK -from tasks.base.page import page_mission, page_commissions #,page_event +from tasks.base.assets.assets_base_page import BACK, MISSION_CHECK, EVENT_CHECK, WORK_GO_TO_EVENT +from tasks.base.page import page_mission, page_commissions, page_work #,page_event from tasks.base.ui import UI from tasks.mission.assets.assets_mission import * from tasks.stage.ap import AP from tasks.stage.mission_list import StageList from tasks.stage.sweep import StageSweep - SHARED_LIST = StageList('SharedList') -MISSION_SWEEP = StageSweep('MissionSweep', 60) -MISSION_SWEEP.set_button(button_check=CHECK_MISSION_SWEEP) # Check sweep is different for mission -SHARED_SWEEP = StageSweep('SharedSweep', 60) +SHARED_SWEEP = StageSweep('MissionSweep', 99) +SHARED_SWEEP.set_button(button_check=CHECK_MISSION_SWEEP) # Check sweep is different for mission, event +COMMISSIONS_SWEEP = StageSweep('SharedSweep', 99) SWITCH_NORMAL = Switch("Normal_switch") SWITCH_NORMAL.add_state("on", NORMAL_ON) @@ -36,8 +35,8 @@ Missing for "E" because there are no event in Global and no page_event MODE_TO_PAGE = { "N": (MISSION_CHECK, page_mission), "H": (MISSION_CHECK, page_mission), - "BD": (CHECK_BD, page_commissions), - "IR": (CHECK_IR, page_commissions), + "XP": (CHECK_XP, page_commissions), + "CR": (CHECK_CR, page_commissions), "E" : (EVENT_CHECK) #page_event } @@ -94,9 +93,6 @@ class MissionUI(UI, AP): return False switch.set('on', main=self) return True - - def select_event(self): - return self.select_mode(SWITCH_QUEST) def enter_stage(self, index: int) -> bool: if not index: @@ -106,8 +102,8 @@ class MissionUI(UI, AP): return False def do_sweep(self, mode, num: int) -> bool: - if mode in ["N", "H", "E"]: - return MISSION_SWEEP.do_sweep(self, num=num) + if mode in ["XP", "CR"]: + return COMMISSIONS_SWEEP.do_sweep(self, num=num) else: return SHARED_SWEEP.do_sweep(self, num=num) @@ -120,10 +116,10 @@ class MissionUI(UI, AP): """ if prev==next or (prev in ["N", "H"] and next in ["N", "H"]): self.go_back(MODE_TO_PAGE[next][0]) - elif prev in ["BD", "IR"] and next in ["BD", "IR"]: + elif prev in ["XP", "CR"] and next in ["XP", "CR"]: self.go_back(CHECK_COMMISSIONS) else: - self.ui_ensure(MODE_TO_PAGE[next][1]) + self.goto_event() if next == "E" else self.ui_ensure(MODE_TO_PAGE[next][1]) def go_back(self, check): while 1: @@ -132,12 +128,27 @@ class MissionUI(UI, AP): return True self.click_with_interval(BACK, interval=2) + def goto_event(self): + """ + Should be removed after implementing ui_ensure(page_event) + """ + self.ui_ensure(page_work) + timer = Timer(1).start() + while 1: + self.device.screenshot() + if self.appear(EVENT_CHECK): + break + self.appear_then_click(WORK_GO_TO_EVENT) + self.device.swipe((40,160), (260, 40)) + while not timer.reached_and_reset(): + pass + class CommissionsUI(UI, AP): """Works the same way as select_bounty""" def select_commission(self, mode): to_button = { - "IR": (SELECT_IR, CHECK_IR), - "BD": (SELECT_BD, CHECK_BD) + "CR": (SELECT_CR, CHECK_CR), + "XP": (SELECT_XP, CHECK_XP) } dest_enter, dest_check = to_button[mode] timer = Timer(5, 10).start() From c26db5c1795a013a746dc4fb290826135b7b9000 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Mon, 1 Jan 2024 15:17:12 +0000 Subject: [PATCH 03/18] chore: added licenses --- licenses/BAAH-license | 21 +++++ licenses/CTkMessagebox-license | 121 +++++++++++++++++++++++++ licenses/CTkScrollableDropdown-license | 21 +++++ licenses/CTkToolTip-license | 121 +++++++++++++++++++++++++ 4 files changed, 284 insertions(+) create mode 100644 licenses/BAAH-license create mode 100644 licenses/CTkMessagebox-license create mode 100644 licenses/CTkScrollableDropdown-license create mode 100644 licenses/CTkToolTip-license diff --git a/licenses/BAAH-license b/licenses/BAAH-license new file mode 100644 index 0000000..c2885de --- /dev/null +++ b/licenses/BAAH-license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-present Electron React Boilerplate + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/CTkMessagebox-license b/licenses/CTkMessagebox-license new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/licenses/CTkMessagebox-license @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/licenses/CTkScrollableDropdown-license b/licenses/CTkScrollableDropdown-license new file mode 100644 index 0000000..c136acb --- /dev/null +++ b/licenses/CTkScrollableDropdown-license @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Akash Bora + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/CTkToolTip-license b/licenses/CTkToolTip-license new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/licenses/CTkToolTip-license @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. From 50e9a1a9d94c1ad1d36f49e793b7d3944005a7a7 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:27:08 +0000 Subject: [PATCH 04/18] fix: lesson --- tasks/schedule/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/schedule/ui.py b/tasks/schedule/ui.py index 81c8f70..d895d34 100644 --- a/tasks/schedule/ui.py +++ b/tasks/schedule/ui.py @@ -8,7 +8,7 @@ from tasks.schedule.scroll_select import ScrollSelect import numpy as np -SCROLL_SELECT = ScrollSelect(window_button=SCROLL, first_item_button=FIRST_ITEM, expected_button=LOCATIONS, clickx=1114) +SCROLL_SELECT = ScrollSelect(window_button=SCROLL, first_item_button=FIRST_ITEM, expected_button=LOCATIONS, clickx=1116) xs = np.linspace(299, 995, 3, dtype=int) ys = np.linspace(268, 573, 3, dtype=int) From 9216a36e0cd2bfcc72b2f8ffd4cac5a9030e5d8f Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:32:25 +0000 Subject: [PATCH 05/18] fix: shop --- tasks/shop/ui.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/shop/ui.py b/tasks/shop/ui.py index 6365cf3..0078c7b 100644 --- a/tasks/shop/ui.py +++ b/tasks/shop/ui.py @@ -97,10 +97,10 @@ class ShopUI(UI): one at 8 and the other at 16. Only once for each checkpoint. """ - if (8 < item < 16) and not self.swipe_flags[8]: + if (9 <= item <= 16) and not self.swipe_flags[8]: self.swipe_flags[8] = True return True - elif item > 16 and not self.swipe_flags[16]: + elif item > 17 and not self.swipe_flags[16]: self.swipe_flags[16] = True return True return False From 768da4d37f744d379863b2b47e9b60d9b3bea8ca Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:42:32 +0000 Subject: [PATCH 06/18] fix: shop --- tasks/shop/shop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/shop/shop.py b/tasks/shop/shop.py index 8e6d132..3c639e3 100644 --- a/tasks/shop/shop.py +++ b/tasks/shop/shop.py @@ -75,7 +75,7 @@ class Shop(ShopUI): self.select_items(self.current_item_list) return ShopStatus.PURCHASE case ShopStatus.PURCHASE: - if self.make_purchase(): + if self.make_purchase() and self.current_purchase_count > 1: return ShopStatus.REFRESH return ShopStatus.END case ShopStatus.REFRESH: From 29e2865d9366f217423cf7a877a4f8c792c04b7c Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Tue, 2 Jan 2024 20:57:08 +0000 Subject: [PATCH 07/18] fix: mission ocr --- tasks/stage/mission_list.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/stage/mission_list.py b/tasks/stage/mission_list.py index 340b73b..c622ca6 100644 --- a/tasks/stage/mission_list.py +++ b/tasks/stage/mission_list.py @@ -25,7 +25,7 @@ class StageList: ): self.name = name self.stage = button_list if button_list else STAGE_LIST - self.index_ocr = Ocr(button_index if button_index else OCR_INDEX, lang='en') + self.index_ocr = Ocr(button_index if button_index else OCR_INDEX, lang='zhs') self.stage_item = (button_item if button_item else STAGE_ITEM).button self.enter = button_enter if button_enter else STAGE_ENTER self.sweepable = button_stars if button_stars else STAGE_STARS From 74376e8627adec933613858fa9c0ccfdd95ab89f Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Tue, 2 Jan 2024 21:06:04 +0000 Subject: [PATCH 08/18] feat: 7 hours mission delay --- tasks/mission/mission.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tasks/mission/mission.py b/tasks/mission/mission.py index 45c6ff9..0133b2b 100644 --- a/tasks/mission/mission.py +++ b/tasks/mission/mission.py @@ -265,6 +265,7 @@ class Mission(MissionUI, CommissionsUI): if status == MissionStatus.FINISH: break - - self.config.task_delay(server_update=True) + + # delay mission to 7 hours if there are still stages in the queue + self.config.task_delay(minute=420) if self.task else self.config.task_delay(server_update=True) \ No newline at end of file From 84b1ca880fcc54f3683276f6d3fbe67399582471 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Tue, 2 Jan 2024 21:14:38 +0000 Subject: [PATCH 09/18] chore: updated lesson gui section --- module/config/i18n/en-US.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 66dcd24..b055d06 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -315,7 +315,7 @@ }, "Classrooms": { "name": "Classrooms", - "help": "Type a number from 1 to 9 that represents the classroom position in the locations popup.\nUse > to connect multiple classrooms and AAS will select them following the order they appear. Example:\n5 > 3 > 2 > 4 > 1" + "help": "Type a number from 1 to 9 that represents the classroom position in the locations popup.\nUse > to connect multiple classrooms and AAS will select them following the order they appear. Example:\n8 > 7 > 6 > 5 > 4 > 3 > 2 > 1" } }, "Choice2": { From bab2196ab7f257f53726c2bee797888bb6f9ce5e Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Tue, 2 Jan 2024 23:21:34 +0000 Subject: [PATCH 10/18] fix: shop --- tasks/shop/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/shop/ui.py b/tasks/shop/ui.py index 0078c7b..58eefb7 100644 --- a/tasks/shop/ui.py +++ b/tasks/shop/ui.py @@ -100,7 +100,7 @@ class ShopUI(UI): if (9 <= item <= 16) and not self.swipe_flags[8]: self.swipe_flags[8] = True return True - elif item > 17 and not self.swipe_flags[16]: + elif item >= 17 and not self.swipe_flags[16]: self.swipe_flags[16] = True return True return False From c08482f343a424c6e3475600f41e52256ed603aa Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 16:44:17 +0000 Subject: [PATCH 11/18] fix: mission event --- assets/en/mission/EVENT_INDEX.png | Bin 0 -> 29541 bytes assets/en/mission/EVENT_ITEM.png | Bin 0 -> 30357 bytes assets/en/mission/EVENT_LIST.png | Bin 0 -> 151669 bytes assets/en/mission/EVENT_STARS.png | Bin 0 -> 7174 bytes tasks/mission/assets/assets_mission.py | 44 +++++++++++++++++++++++++ tasks/mission/mission.py | 2 +- tasks/mission/ui.py | 10 +++--- 7 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 assets/en/mission/EVENT_INDEX.png create mode 100644 assets/en/mission/EVENT_ITEM.png create mode 100644 assets/en/mission/EVENT_LIST.png create mode 100644 assets/en/mission/EVENT_STARS.png diff --git a/assets/en/mission/EVENT_INDEX.png b/assets/en/mission/EVENT_INDEX.png new file mode 100644 index 0000000000000000000000000000000000000000..104fbc4bc8f2ede1612c9815ecabc4a58d66da1a GIT binary patch literal 29541 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 MwQpW4(z1Q@e<&|Zq5uE@ literal 0 HcmV?d00001 diff --git a/assets/en/mission/EVENT_ITEM.png b/assets/en/mission/EVENT_ITEM.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2a2a7637b09236137a13614ff2e133f26b31cb GIT binary patch literal 30357 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 literal 0 HcmV?d00001 diff --git a/assets/en/mission/EVENT_LIST.png b/assets/en/mission/EVENT_LIST.png new file mode 100644 index 0000000000000000000000000000000000000000..a3eb22db5e36c12ad785c26b5e2a6086d79b8eb3 GIT binary patch literal 151669 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 CI{s5@9eq1Y( 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 literal 0 HcmV?d00001 diff --git a/assets/en/mission/EVENT_STARS.png b/assets/en/mission/EVENT_STARS.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc774b78d2913253121f283e49898573136b72f GIT binary patch literal 7174 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 Yx_nn%F_#^gr3z$YX-CZZtJe?z12${>9{>OV literal 0 HcmV?d00001 diff --git a/tasks/mission/assets/assets_mission.py b/tasks/mission/assets/assets_mission.py index 191f2a4..61c5b43 100644 --- a/tasks/mission/assets/assets_mission.py +++ b/tasks/mission/assets/assets_mission.py @@ -47,6 +47,50 @@ CHECK_XP = ButtonWrapper( button=(94, 135, 325, 194), ), ) +EVENT_INDEX = ButtonWrapper( + name='EVENT_INDEX', + jp=None, + en=Button( + file='./assets/en/mission/EVENT_INDEX.png', + area=(704, 135, 761, 694), + search=(684, 115, 781, 714), + color=(189, 197, 195), + button=(704, 135, 761, 694), + ), +) +EVENT_ITEM = ButtonWrapper( + name='EVENT_ITEM', + jp=None, + en=Button( + file='./assets/en/mission/EVENT_ITEM.png', + area=(691, 136, 1198, 232), + search=(671, 116, 1218, 252), + color=(201, 219, 224), + button=(691, 136, 1198, 232), + ), +) +EVENT_LIST = ButtonWrapper( + name='EVENT_LIST', + jp=None, + en=Button( + file='./assets/en/mission/EVENT_LIST.png', + area=(695, 137, 1196, 688), + search=(675, 117, 1216, 708), + color=(171, 185, 190), + button=(695, 137, 1196, 688), + ), +) +EVENT_STARS = ButtonWrapper( + name='EVENT_STARS', + jp=None, + en=Button( + file='./assets/en/mission/EVENT_STARS.png', + area=(704, 186, 761, 218), + search=(684, 166, 781, 238), + color=(228, 223, 194), + button=(704, 186, 761, 218), + ), +) HARD_OFF = ButtonWrapper( name='HARD_OFF', jp=None, diff --git a/tasks/mission/mission.py b/tasks/mission/mission.py index 0133b2b..2363369 100644 --- a/tasks/mission/mission.py +++ b/tasks/mission/mission.py @@ -219,7 +219,7 @@ class Mission(MissionUI, CommissionsUI): self.update_task(failure=True) return MissionStatus.AP case MissionStatus.ENTER: - if self.enter_stage(self.current_stage): + if self.enter_stage(self.current_mode, self.current_stage): return MissionStatus.SWEEP self.update_task(failure=True) return MissionStatus.AP diff --git a/tasks/mission/ui.py b/tasks/mission/ui.py index 25fdbe0..debcbeb 100644 --- a/tasks/mission/ui.py +++ b/tasks/mission/ui.py @@ -11,6 +11,7 @@ from tasks.stage.mission_list import StageList from tasks.stage.sweep import StageSweep SHARED_LIST = StageList('SharedList') +EVENT_LIST = StageList('EventList', EVENT_LIST, EVENT_INDEX, EVENT_ITEM, button_stars=EVENT_STARS) SHARED_SWEEP = StageSweep('MissionSweep', 99) SHARED_SWEEP.set_button(button_check=CHECK_MISSION_SWEEP) # Check sweep is different for mission, event COMMISSIONS_SWEEP = StageSweep('SharedSweep', 99) @@ -37,7 +38,7 @@ MODE_TO_PAGE = { "H": (MISSION_CHECK, page_mission), "XP": (CHECK_XP, page_commissions), "CR": (CHECK_CR, page_commissions), - "E" : (EVENT_CHECK) #page_event + "E" : (EVENT_CHECK, None) #page_event } @@ -94,10 +95,9 @@ class MissionUI(UI, AP): switch.set('on', main=self) return True - def enter_stage(self, index: int) -> bool: - if not index: - index = SHARED_LIST.insight_max_sweepable_index(self) - if SHARED_LIST.select_index_enter(self, index): + def enter_stage(self, mode, index: int) -> bool: + list = EVENT_LIST if mode == "E" else SHARED_LIST + if list.select_index_enter(self, index): return True return False From 4b9e809beb35abb9fdce2f24d868acfc04859f7b Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:27:23 +0000 Subject: [PATCH 12/18] fix: mission AP calculations --- tasks/mission/mission.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/tasks/mission/mission.py b/tasks/mission/mission.py index 2363369..c773545 100644 --- a/tasks/mission/mission.py +++ b/tasks/mission/mission.py @@ -26,11 +26,19 @@ class MissionStatus(Enum): class Mission(MissionUI, CommissionsUI): - _stage_ap = [10, 15, 15, 15] - @property def stage_ap(self): - return self._stage_ap + match self.current_mode: + case "N": + return 10 + case "H": + return 20 + case "E": + stage = int(self.current_stage, base=10) + return 20 if stage >= 9 else 10 + 5 * math.floor(stage / 5) + case "XP" | "CR": + stage = int(self.current_stage, base=10) + return 40 if stage >= 9 else 5 + 15 * math.floor(stage / 4) @property def mission_info(self) -> list: @@ -145,9 +153,8 @@ class Mission(MissionUI, CommissionsUI): """ Calculate the possible number of sweeps based on the current AP """ - ap_cost = 20 if self.current_mode == "H" else 10 - required_ap = ap_cost * self.current_count - return math.floor(min(required_ap, self.current_ap) / ap_cost) + possible_count = math.floor(self.current_ap / self.stage_ap) + return min(possible_count, self.current_count) def update_task(self, failure=False): """ @@ -172,10 +179,9 @@ class Mission(MissionUI, CommissionsUI): self.task = [] def update_ap(self): - ap_cost = 20 if self.current_mode == "H" else 10 ap = self.config.stored.AP ap_old = ap.value - ap_new = ap_old - ap_cost * self.realistic_count + ap_new = ap_old - self.stage_ap * self.realistic_count ap.set(ap_new, ap.total) logger.info(f'Set AP: {ap_old} -> {ap_new}') From 283ef3e497aef91631041d035b46b50d79cd9525 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:37:53 +0000 Subject: [PATCH 13/18] fix: lesson classroom order --- tasks/schedule/schedule.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tasks/schedule/schedule.py b/tasks/schedule/schedule.py index 8ddc04a..3ae56eb 100644 --- a/tasks/schedule/schedule.py +++ b/tasks/schedule/schedule.py @@ -35,8 +35,10 @@ class Schedule(ScheduleUI): else: classrooms = classrooms.strip() classrooms = re.sub(r'[ \t\r\n]', '', classrooms) - classrooms = re.sub(r'[>﹥›˃ᐳ❯]', '>', classrooms) - classrooms_list = list(set(classrooms.split('>'))) + classrooms = (re.sub(r'[>﹥›˃ᐳ❯]', '>', classrooms)).split('>') + classrooms_list = [] + # tried to convert to set to remove duplicates but doesn't maintain order + [classrooms_list.append(x) for x in classrooms if x not in classrooms_list] if self.valid_classroom(classrooms_list): info.append([location, classrooms_list]) From ff1314ab882a4c9151f06ef0fdb6cb19875ca72e Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:10:17 +0000 Subject: [PATCH 14/18] fix: momotalk --- assets/en/momotalk/CHATTING.png | Bin 0 -> 4924 bytes tasks/momotalk/assets/assets_momotalk.py | 11 ++++ tasks/momotalk/ui.py | 75 +++++++++++++---------- 3 files changed, 53 insertions(+), 33 deletions(-) create mode 100644 assets/en/momotalk/CHATTING.png diff --git a/assets/en/momotalk/CHATTING.png b/assets/en/momotalk/CHATTING.png new file mode 100644 index 0000000000000000000000000000000000000000..3908b0a4f84ccefcc887df67f8361c9ab750692c GIT binary patch literal 4924 zcmeHLdu$X%7@xLM5upYtlt7WqHc}wn+sEB)y9-CDz0y{C&}UkTK)1Vd?b5s3V|UA4 zn-m&A3=(TZ2@jD+P>}>sqiBF&TcZL-w4^o$p~Yemlvkn=g*4#oy?CT8gnzwFZg+OR z-+bTi`^`5q*;`jQFL%_42_paiqw@3Y#Q+RL&Df6NvFI^-@{2L(@su}jfd;_SV~k%6 z*t%^z0P&y7r4@RGqktC`w@HwcYH0Giy$B7!%uK&m5bL0hRl^$DW5cf>X~i*Fvf<@c z2j%c)!&*77QH3Rq^Ge0WI+2s`%vsn>KaU)^p)O#4x67mPej6U}%cHi@P2yMpqSx8* zEF&OR;V8ti6%}Hfi6%sfqOo+;van1B$E9Hm#h6KoB^fKhP&`HRRx1{|a1>6JoP4o; zPAC|9v*ES6?&V3+=ku9-W|N}UkTl0}B*l;nLm&j9HF$KvPk6MHum?NTL{;|cvf{xE zk3zLluiJ1$HJF3j8*%H=LOLPENWb7EX%l7S6aY$M1m~?+U4h_|NJ1BMLyxW@EFHmm zYZYD5YL!7;N6hyHK-xMSkr)GVal0cSG(BfIN+Tr5fM~6>!3)V^s44ZT2y>PrnknII zblG`V&ih6imiu@?zdQ)kutcC@3OJoQZmZ)aaS%Q@^ASE$Y zr$umvKxc(f8?O3bXF5Zni=>Tv$iCnq_PgdX zkBmfRaLg!)ppGSIhe1NJR;$?>>MxZ2&{biVksex*2$O+g1;zwy3+}NYKE@IbtO`C) z)=*_Ngf@i|xGdCi$yi_^@PZi3LNsa+N_ePS9$@w!P5q!-UoAv>4P2W+gr+!kpP<65 z8l>+-%bpyJwk^dQ$NI%rO}=Bx)`q$%H?RqEe%_3Y8QlA`4JU#6_6dLyCirT&yB zlCs*f>`8OSPB^?~sy%gA;*7+k=LFK2T>6&O^3W@7pn z9({BB<8Gen7=629^E-cB?H==CKl3fS<5TZ!xz^p;+B3WvI}74~<u-Sc;p zuYL8`J1fT@D`MX!9N!mY`pKk!1;s{a5Ga|xdS literal 0 HcmV?d00001 diff --git a/tasks/momotalk/assets/assets_momotalk.py b/tasks/momotalk/assets/assets_momotalk.py index 3f0de62..14cdedb 100644 --- a/tasks/momotalk/assets/assets_momotalk.py +++ b/tasks/momotalk/assets/assets_momotalk.py @@ -14,6 +14,17 @@ BEGIN_STORY = ButtonWrapper( button=(796, 540, 1059, 591), ), ) +CHATTING = ButtonWrapper( + name='CHATTING', + jp=None, + en=Button( + file='./assets/en/momotalk/CHATTING.png', + area=(774, 563, 821, 585), + search=(754, 543, 841, 605), + color=(89, 102, 121), + button=(774, 563, 821, 585), + ), +) CHAT_AREA = ButtonWrapper( name='CHAT_AREA', jp=None, diff --git a/tasks/momotalk/ui.py b/tasks/momotalk/ui.py index a41d080..b89579c 100644 --- a/tasks/momotalk/ui.py +++ b/tasks/momotalk/ui.py @@ -26,7 +26,7 @@ SWITCH_SORT.add_state("descending", SORT_DESCENDING) button can be found in different locations""" REPLY_TEMPLATE = REPLY.matched_button.image STORY_TEMPLATE = STORY.matched_button.image - +CHATTING_TEMPLATE = CHATTING.matched_button.image class MomoTalkUI(UI): def __init__(self, config, device): @@ -68,18 +68,17 @@ class MomoTalkUI(UI): if timer.reached(): return False - def select_then_disappear(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper, force_select=False): + def select_then_disappear(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper): timer = Timer(5, 10).start() while 1: self.device.screenshot() - if force_select or self.appear(dest_enter): - self.click_with_interval(dest_enter, interval=1) + self.click_with_interval(dest_enter, interval=1) if not self.appear(dest_check): return True if timer.reached(): return False - def set_switch(self, switch): + def set_switch(self, switch, state='on'): """ Set switch to on. However, unsure why is inaccurate in momotalk. Returns: @@ -88,7 +87,7 @@ class MomoTalkUI(UI): if not switch.appear(main=self): logger.info(f'{switch.name} not found') return False - switch.set('on', main=self) + switch.set(state, main=self) return True @@ -108,9 +107,10 @@ class MomoTalkUI(UI): center_pt = (int(pt[0] + template.shape[1] / 2 + x_add), int(pt[1] + template.shape[0] / 2 + y_add)) seen.add(center_pt) if seen: - seen = filter(lambda x: point_in_area(x, CHAT_AREA.area), seen) - [click_coords(coords[0], coords[1]) for coords in seen] - self.swipe_page("down", self) + if y_add != 0: + seen = filter(lambda x: point_in_area(x, CHAT_AREA.area), seen) + [click_coords(coords[0], coords[1]) for coords in seen] + self.swipe_page("down", self) return True return False @@ -132,18 +132,22 @@ class MomoTalkUI(UI): """ Switch from newest to unread and sort the messages in descending order """ - logger.info("Sorting messages...") - steps = [UNREAD, CONFIRM_SORT, UNREAD_OFF, UNREAD_ON] - for i in range(len(steps)-2): - self.select_then_check(steps[i], steps[i+1], similarity=0.95) - return not self.appear(CONFIRM_SORT) and self.appear(UNREAD) and self.appear(SORT_ON) + while 1: + self.device.screenshot() + if self.set_switch(SWITCH_UNREAD): + self.click_with_interval(CONFIRM_SORT, interval=2) + continue + if self.appear(UNREAD, similarity=0.95): + break + self.click_with_interval(UNREAD, interval=2) + return self.set_switch(SWITCH_SORT, "descending") def check_first_student(self): """ If the first student has a red notification return True and start chat. Otherwise it means no students are available for interaction. """ - if self.match_color(FIRST_UNREAD, threshold=80) and self.select_then_disappear(FIRST_UNREAD, SELECT_STUDENT, force_select=True): + if self.match_color(FIRST_UNREAD, threshold=80) and self.select_then_disappear(FIRST_UNREAD, SELECT_STUDENT): return True logger.warning("No students available for interaction") return False @@ -154,24 +158,23 @@ class MomoTalkUI(UI): check if a reply or story button is found and click them. If the begin story button is found skip story. """ + timer = Timer(8, 5).start() logger.info("Chatting with student...") - stability_counter = 0 while 1: - self.wait_until_stable(CHAT_AREA, timer=Timer(10, 10)) + self.device.screenshot() if self.appear(BEGIN_STORY): logger.info("Begin Story detected") return True - if self.click_all(REPLY_TEMPLATE, y_add=62): + elif self.click_all(CHATTING_TEMPLATE): + timer.reset() + elif self.click_all(REPLY_TEMPLATE, y_add=62): logger.info("Clicked on reply") - stability_counter = 0 - continue - if self.click_all(STORY_TEMPLATE, y_add=62): + timer.reset() + elif self.click_all(STORY_TEMPLATE, y_add=62): logger.info("Clicked on story") - stability_counter = 0 - continue - logger.info("No new message detected") - stability_counter += 1 - if stability_counter > 3: + timer.reset() + elif timer.reached(): + logger.info("No new message detected") return False def skip_story(self): @@ -180,11 +183,17 @@ class MomoTalkUI(UI): button is clicked and disappears """ logger.info("Attempting to skip story...") - steps = [BEGIN_STORY, MENU, SKIP] - for step in steps: - self.appear_then_click(step) - if self.appear_then_click(CONFIRM_SKIP) and not self.appear(CONFIRM_SKIP, interval=5): - logger.info("Skipped story successfully") - return True - return False + steps = [CONFIRM_SKIP, SKIP, MENU, BEGIN_STORY] + timer = Timer(1).start() + while 1: + self.device.screenshot() + if self.handle_reward(): + logger.info("Skipped story successfully") + return True + for step in steps: + if self.appear_then_click(step): + while not timer.reached_and_reset(): + pass + break + From 5e229d779790b63652605454466470b2ac0d2cd8 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:58:29 +0000 Subject: [PATCH 15/18] chore: updated requirements.txt --- requirements-in.txt | 3 +++ requirements.txt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/requirements-in.txt b/requirements-in.txt index 255a687..6a6893a 100644 --- a/requirements-in.txt +++ b/requirements-in.txt @@ -31,6 +31,9 @@ starlette==0.14.2 uvicorn[standard]==0.17.6 aiofiles +# GUI +customtkinter + # For dev # pip-tools pynput diff --git a/requirements.txt b/requirements.txt index d353e9e..7a60605 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,6 +19,8 @@ cigam==0.0.3 # via apkutils2 click==8.1.3 # via uvicorn colorama==0.4.6 # via click, logzero, tqdm, uvicorn coloredlogs==15.0.1 # via onnxruntime +customtkinter==5.2.1 # via -r requirements-in.txt +darkdetect==0.8.0 # via customtkinter decorator==5.1.1 # via retry deprecated==1.2.13 # via uiautomator2 deprecation==2.1.0 # via adbutils From dff39db5b62227dd3e967ff63ba826e5696897f6 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:51:36 +0000 Subject: [PATCH 16/18] perf: momotalk --- tasks/momotalk/momotalk.py | 2 +- tasks/momotalk/ui.py | 15 ++------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/tasks/momotalk/momotalk.py b/tasks/momotalk/momotalk.py index 35f4974..5d9e3ac 100644 --- a/tasks/momotalk/momotalk.py +++ b/tasks/momotalk/momotalk.py @@ -33,7 +33,7 @@ class MomoTalk(MomoTalkUI): return MomoTalkStatus.OPEN case MomoTalkStatus.STORY: if self.skip_story(): - return MomoTalkStatus.OPEN + return MomoTalkStatus.CHAT case MomoTalkStatus.FINISHED: return status case _: diff --git a/tasks/momotalk/ui.py b/tasks/momotalk/ui.py index b89579c..647dabc 100644 --- a/tasks/momotalk/ui.py +++ b/tasks/momotalk/ui.py @@ -33,6 +33,7 @@ class MomoTalkUI(UI): super().__init__(config, device) self.swipe_vector_range = (0.65, 0.85) self.list = CHAT_AREA + self.click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) def swipe_page(self, direction: str, main: ModuleBase, vector_range=None, reverse=False): """ @@ -58,16 +59,6 @@ class MomoTalkUI(UI): vector = (-vector[0], -vector[1]) main.device.swipe_vector(vector, self.list.button) - def select_then_check(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper, similarity=0.85): - timer = Timer(5, 10).start() - while 1: - self.device.screenshot() - self.appear_then_click(dest_enter, interval=1, similarity=similarity) - if self.appear(dest_check, similarity=similarity): - return True - if timer.reached(): - return False - def select_then_disappear(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper): timer = Timer(5, 10).start() while 1: @@ -94,10 +85,8 @@ class MomoTalkUI(UI): def click_all(self, template, x_add=0, y_add=0): """ Find the all the locations of the template adding an offset if specified and click them. - TODO: filter coords that are not inside the chat area as otherwise it will close momotalk. If after filter, no coords then swipe. """ - click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) image = self.device.screenshot() result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED) threshold = 0.8 @@ -109,7 +98,7 @@ class MomoTalkUI(UI): if seen: if y_add != 0: seen = filter(lambda x: point_in_area(x, CHAT_AREA.area), seen) - [click_coords(coords[0], coords[1]) for coords in seen] + [self.click_coords(coords[0], coords[1]) for coords in seen] self.swipe_page("down", self) return True return False From 7803994a3e3d7ca6a718b7af00d6069a0dc6cd13 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Thu, 4 Jan 2024 13:58:14 +0000 Subject: [PATCH 17/18] fix: MCE Manager tooltip --- MCE Manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MCE Manager.py b/MCE Manager.py index 9c2c827..17b12a8 100644 --- a/MCE Manager.py +++ b/MCE Manager.py @@ -138,7 +138,7 @@ class MCE_Manager(customtkinter.CTk): self.mode_label.grid(row=1, column=0, padx=(130, 0), pady=5) self.stage_label = customtkinter.CTkLabel(self.template_labels, text="Stage:", font=customtkinter.CTkFont(underline=True)) - self.stage_tooltip = CTkToolTip(self.stage_label, message="Valid format for Mission: 1-1\nValid format for Commissions/Event: 01") + self.stage_tooltip = CTkToolTip(self.stage_label, message="Valid format\nMission: 1-1, 3-A\nCommissions & Event: 01", justify=tk.LEFT) self.stage_label.grid(row=1, column=1, padx=(40, 20), pady=5) self.run_times_label = customtkinter.CTkLabel(self.template_labels, text="Number of Sweeps:", font=customtkinter.CTkFont(underline=True)) From f484756e3fc1a35094b1bd0e8a5b5b14daeb95b7 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Thu, 4 Jan 2024 17:15:16 +0000 Subject: [PATCH 18/18] feat: add up in MCE manager --- MCE Manager.py | 19 ++++++++++++------- MCE/custom_widgets/ctk_add_button.py | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 MCE/custom_widgets/ctk_add_button.py diff --git a/MCE Manager.py b/MCE Manager.py index 17b12a8..6ccbf14 100644 --- a/MCE Manager.py +++ b/MCE Manager.py @@ -8,6 +8,7 @@ from MCE.custom_widgets.ctk_timeentry import CTkTimeEntry from MCE.custom_widgets.ctk_integerspinbox import CTkIntegerSpinbox from MCE.custom_widgets.ctk_templatedialog import CTkTemplateDialog from MCE.custom_widgets.ctk_notification import CTkNotification +from MCE.custom_widgets.ctk_add_button import CTkAddButton from MCE.utils import Linker, Config from filelock import FileLock, Timeout import threading @@ -117,7 +118,7 @@ class MCE_Manager(customtkinter.CTk): # Helper method to create Mission Tabview with Template and Queue Tabs def create_mission_tabview(self): - self.mission_tabview = customtkinter.CTkTabview(self, height=500) + self.mission_tabview = customtkinter.CTkTabview(self) self.mission_tabview.grid(row=17, column=0, columnspan=3, padx=20) self.tab_template = self.mission_tabview.add('Template') @@ -151,7 +152,8 @@ class MCE_Manager(customtkinter.CTk): self.highlight_label = customtkinter.CTkLabel(self.template_buttons_frame, text="*You can double click an entry and press up or down arrow to change its position", font=customtkinter.CTkFont(family="Inter", size=12)) self.highlight_label.grid(row=0, column=0, columnspan=3) - self.add_button = customtkinter.CTkButton(self.template_buttons_frame , text="Add", command=lambda queue=queue: self.add_frame(queue=queue)) + self.add_button = CTkAddButton(master=self.template_buttons_frame) + self.add_button.button.configure(command=lambda queue=queue, button=self.add_button.button: self.add_frame(queue=queue, button=button)) self.add_button.grid(row=1, column=0, padx=5, pady=5) # Clear button to clear all frames @@ -166,10 +168,10 @@ class MCE_Manager(customtkinter.CTk): # Helper method to create Template Frame and Queue Frame def create_template_and_queue_frames(self): - self.template_frame = customtkinter.CTkScrollableFrame(self.tab_template, width=400, height=350) + self.template_frame = customtkinter.CTkScrollableFrame(self.tab_template, width=435, height=350) self.template_frame.grid(row=1, column=0, sticky="nsew") - self.queue_frame = customtkinter.CTkScrollableFrame(self.tab_queue, width=400, height=350) + self.queue_frame = customtkinter.CTkScrollableFrame(self.tab_queue, width=435, height=350) self.queue_frame.grid(row=1, column=0, sticky="nsew") # Helper method to create Lists to Store Frame Widgets @@ -254,14 +256,15 @@ class MCE_Manager(customtkinter.CTk): return # Function to add a frame with widgets - def add_frame(self, inner_list=None, queue=False, state="normal"): + def add_frame(self, inner_list=None, queue=False, state="normal", button=None): + position = button.cget("text") if button else "Add Down" frames = self.queue_frames if queue else self.template_frames parent_frame = self.queue_frame if queue else self.template_frame row_index = len(frames) + 1 # Calculate the row for the new frame # Create a frame frame = tk.Frame(parent_frame, bg="gray17") frame.grid(row=row_index, column=0, columnspan=4, padx=10, pady=10, sticky="w") - frames.append(frame) + frames.append(frame) if position == "Add Down" else frames.insert(0, frame) # "Up" button to move the frame up up_button = customtkinter.CTkButton(frame, text="Up", width=5, command=lambda f=frame, queue=queue: self.move_frame_up(f, queue), state=state) up_button.grid(row=0, column=0, padx=5, pady=5, sticky="w") @@ -288,7 +291,9 @@ class MCE_Manager(customtkinter.CTk): delete_button = customtkinter.CTkButton(frame, text="Delete", width=5, command=lambda f=frame, queue=queue: self.delete_frame(f, queue), state=state) delete_button.grid(row=0, column=5, padx=5, pady=5, sticky="w") - frame.bind("", lambda event, f=frame: self.highlight_frame(f)) + frame.bind("", lambda event, f=frame: self.highlight_frame(f)) + if position == "Add Up": + self.update_frame_positions(queue=queue) # Function to clear all frames def clear_frames(self, queue=False): diff --git a/MCE/custom_widgets/ctk_add_button.py b/MCE/custom_widgets/ctk_add_button.py new file mode 100644 index 0000000..6ed2446 --- /dev/null +++ b/MCE/custom_widgets/ctk_add_button.py @@ -0,0 +1,16 @@ +import customtkinter + +class CTkAddButton(customtkinter.CTkFrame): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.button = customtkinter.CTkButton(self, text="Add Down", corner_radius=0, width=120) + self.button.grid(row=0, column=0) + self.option_menu = customtkinter.CTkOptionMenu( + self, values= ["Add Up", "Add Down"], width=10, command=self.set_button, corner_radius=0 + ) + self.option_menu.set("") + self.option_menu.grid(row=0, column=1) + + def set_button(self, value): + self.option_menu.set("") + self.button.configure(text=value) \ No newline at end of file