1
0
mirror of https://github.com/TheFunny/ArisuAutoSweeper synced 2026-06-24 05:14:52 +00:00

46 Commits

Author SHA1 Message Date
YoursFunny ff2f226713 fix: update assets file 2026-05-26 21:54:23 +08:00
YoursFunny 8177d0f56d fix: update ui assets for OVERSEA server 2026-05-26 21:53:53 +08:00
YoursFunny b606108871 fix: update assets file 2026-04-24 19:30:05 +08:00
YoursFunny be09b39bbe fix: update ui assets for jp 2026-04-24 19:26:36 +08:00
YoursFunny fafb9d5a5c fix: update assets file 2026-01-20 19:45:18 +08:00
YoursFunny 998d52b56c fix: update ui assets for jp 2026-01-20 19:43:55 +08:00
YoursFunny 3e6a82764a fix(login): disable clicking back when login for jp 2025-10-27 14:30:45 +08:00
YoursFunny 3cd8161afb feat(momotalk): add a single tool page for momotalk,
remove its scheduler,
and some minor improvements
2025-10-13 11:41:48 +08:00
YoursFunny 02b8de6d18 fix: update assets file 2025-09-23 20:02:23 +08:00
YoursFunny 7a321eae48 fix: update configs to enable new bounty stage for OVERSEA server 2025-09-23 20:01:32 +08:00
YoursFunny ad19268e5a fix: update ui assets for zht 2025-09-23 19:59:49 +08:00
YoursFunny 8bc170e170 fix: update ui assets for en 2025-09-23 19:59:26 +08:00
YoursFunny 1d618d1624 fix: update assets file 2025-08-09 13:19:41 +08:00
YoursFunny 9eb3bde649 fix: update ui assets for OVERSEA server 2025-08-09 13:18:23 +08:00
YoursFunny 62ef4c733c fix: update assets file 2025-07-22 20:13:27 +08:00
YoursFunny 27dbd31434 fix: update ui assets for jp 2025-07-22 20:12:46 +08:00
YoursFunny 74ef1a7b4d fix: update configs 2025-05-18 19:57:13 +08:00
YoursFunny 43282354cd fix(bounty): update stage select option 2025-05-18 19:53:27 +08:00
YoursFunny f92d92aec0 fix: update assets file 2025-05-13 21:54:43 +08:00
YoursFunny 3a00c47125 fix(cafe): update ui assets for zht 2025-05-13 21:53:18 +08:00
YoursFunny bca3395cb9 fix(cafe): update ui assets for jp & en 2025-05-13 21:53:08 +08:00
YoursFunny 766cb78377 fix(cafe): synchronize Cafe No.2 for global server 2025-05-13 21:52:07 +08:00
YoursFunny 84acb67061 fix: update assets file 2025-04-22 19:53:10 +08:00
YoursFunny 9c07251669 fix: update ui assets for jp 2025-04-22 19:52:59 +08:00
YoursFunny 19272d6cbe fix(cafe): correct invitation detection of Cafe No.2 in OVERSEA server 2025-03-08 18:43:25 +08:00
YoursFunny f268cfeda8 fix: update assets file 2025-01-29 16:41:31 +08:00
YoursFunny 37b5d4e4d2 fix(cafe): update ui assets for zht 2025-01-29 16:40:32 +08:00
YoursFunny 29bd71ccc8 fix(cafe): adjust timer of Cafe No.2 2025-01-22 15:01:49 +08:00
YoursFunny d5f4891d4e fix(cafe): adjust click template offset 2025-01-22 15:01:20 +08:00
YoursFunny 9a500b9191 fix: update assets file 2025-01-20 23:20:29 +08:00
YoursFunny 180fa6aa7d fix(cafe): update ui assets for jp 2025-01-20 23:19:46 +08:00
YoursFunny 4325118562 fix(cafe): update latest Cafe No.2 switch for jp 2025-01-20 23:19:45 +08:00
YoursFunny 2adf3f9efe fix: update assets file 2024-11-12 18:16:27 +08:00
YoursFunny 648bbb8a63 fix(cafe): update ui assets for zht 2024-11-12 18:16:05 +08:00
YoursFunny f73bba3e20 fix(cafe): update ui assets for en 2024-11-12 18:16:05 +08:00
YoursFunny e321fd7e28 lang(cafe): correct Cafe No.2 description 2024-11-12 18:16:05 +08:00
YoursFunny 6215f061c8 fix(cafe): enable Cafe No.2 for OVERSEA server 2024-11-12 18:09:13 +08:00
YoursFunny 72a948da68 fix: update assets file 2024-10-23 23:35:14 +08:00
YoursFunny c69a8543c6 fix: update ui assets for en
(cherry picked from commit a5d20a95be)
2024-10-23 23:34:54 +08:00
YoursFunny c16e50157e fix: update ui assets for zht 2024-10-23 23:29:51 +08:00
YoursFunny 2cd705b5ba fix: update assets file 2024-09-24 14:08:29 +08:00
YoursFunny f70e75f1a6 fix: update ui assets for en
(cherry picked from commit daf55b76e2)
2024-09-24 14:07:36 +08:00
YoursFunny 861cf9a2da fix: update ui assets for zht 2024-09-24 13:58:49 +08:00
YoursFunny 437977ef63 fix(circle): improve circle enter 2024-09-03 15:10:36 +08:00
YoursFunny 123c248f43 fix: update assets file 2024-09-03 15:07:40 +08:00
YoursFunny 1461cc41c6 fix(circle): update ui assets 2024-09-03 15:07:11 +08:00
103 changed files with 451 additions and 387 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

+1
View File
@@ -377,6 +377,7 @@ pre.rich-traceback-code {
#pywebio-scope-scheduler-bar, #pywebio-scope-scheduler-bar,
#pywebio-scope-log-bar, #pywebio-scope-log-bar,
#pywebio-scope-log, #pywebio-scope-log,
#pywebio-scope-daemon-log-bar,
#pywebio-scope-daemon-overview #pywebio-scope-groups { #pywebio-scope-daemon-overview #pywebio-scope-groups {
font-weight: 500; font-weight: 500;
margin: 0.3125rem; margin: 0.3125rem;
+4 -3
View File
@@ -133,12 +133,13 @@ pre.rich-traceback-code {
color: #c9d1d9; color: #c9d1d9;
} }
#pywebio-scope-scheduler-bar,
#pywebio-scope-log-bar,
#pywebio-scope-log,
#pywebio-scope-running, #pywebio-scope-running,
#pywebio-scope-pending, #pywebio-scope-pending,
#pywebio-scope-waiting, #pywebio-scope-waiting,
#pywebio-scope-scheduler-bar,
#pywebio-scope-log-bar,
#pywebio-scope-log,
#pywebio-scope-daemon-log-bar,
#pywebio-scope-daemon-overview #pywebio-scope-groups { #pywebio-scope-daemon-overview #pywebio-scope-groups {
background-color: #2f3136; background-color: #2f3136;
border: 1px solid #21262d; border: 1px solid #21262d;
+4 -3
View File
@@ -133,12 +133,13 @@ pre.rich-traceback-code {
border: 1px solid lightgrey; border: 1px solid lightgrey;
} }
#pywebio-scope-scheduler-bar,
#pywebio-scope-log-bar,
#pywebio-scope-log,
#pywebio-scope-running, #pywebio-scope-running,
#pywebio-scope-pending, #pywebio-scope-pending,
#pywebio-scope-waiting, #pywebio-scope-waiting,
#pywebio-scope-scheduler-bar,
#pywebio-scope-log-bar,
#pywebio-scope-log,
#pywebio-scope-daemon-log-bar,
#pywebio-scope-daemon-overview #pywebio-scope-groups { #pywebio-scope-daemon-overview #pywebio-scope-groups {
background-color: white; background-color: white;
border: 1px solid lightgrey; border: 1px solid lightgrey;
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

+2 -5
View File
@@ -250,11 +250,8 @@
} }
}, },
"Momotalk": { "Momotalk": {
"Scheduler": { "Momotalk": {
"Enable": false, "Enable": true
"NextRun": "2020-01-01 00:00:00",
"Command": "Momotalk",
"ServerUpdate": "04:00"
} }
} }
} }
+8 -23
View File
@@ -770,7 +770,8 @@
6, 6,
7, 7,
8, 8,
9 9,
10
] ]
}, },
"Count": { "Count": {
@@ -792,7 +793,8 @@
6, 6,
7, 7,
8, 8,
9 9,
10
] ]
}, },
"Count": { "Count": {
@@ -814,7 +816,8 @@
6, 6,
7, 7,
8, 8,
9 9,
10
] ]
}, },
"Count": { "Count": {
@@ -1059,28 +1062,10 @@
} }
}, },
"Momotalk": { "Momotalk": {
"Scheduler": { "Momotalk": {
"Enable": { "Enable": {
"type": "checkbox", "type": "checkbox",
"value": false, "value": true,
"option": [
true,
false
]
},
"NextRun": {
"type": "datetime",
"value": "2020-01-01 00:00:00",
"validate": "datetime"
},
"Command": {
"type": "input",
"value": "Momotalk",
"display": "hide"
},
"ServerUpdate": {
"type": "input",
"value": "04:00",
"display": "hide" "display": "hide"
} }
} }
+10 -3
View File
@@ -156,17 +156,17 @@ Bounty:
Highway: Highway:
Stage: Stage:
value: 0 value: 0
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
Count: 2 Count: 2
DesertRailroad: DesertRailroad:
Stage: Stage:
value: 0 value: 0
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
Count: 2 Count: 2
Schoolhouse: Schoolhouse:
Stage: Stage:
value: 0 value: 0
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
Count: 2 Count: 2
Scrimmage: Scrimmage:
@@ -267,3 +267,10 @@ ItemStorage:
stored: StoredTacticalChallengeTicket stored: StoredTacticalChallengeTicket
order: 6 order: 6
color: "#7ac8e5" color: "#7ac8e5"
# ==================== Momotalk ====================
Momotalk:
Enable:
value: true
display: hide
+7 -1
View File
@@ -33,7 +33,13 @@
"tasks": [ "tasks": [
"Circle", "Circle",
"Task", "Task",
"Mail", "Mail"
]
},
"Tool": {
"menu": "collapse",
"page": "tool",
"tasks": [
"Momotalk" "Momotalk"
] ]
} }
+8 -1
View File
@@ -80,5 +80,12 @@ Reward:
- Scheduler - Scheduler
Mail: Mail:
- Scheduler - Scheduler
# ==================== Tool ====================
Tool:
menu: 'collapse'
page: 'tool'
tasks:
Momotalk: Momotalk:
- Scheduler - Momotalk
+6 -3
View File
@@ -87,15 +87,15 @@ class GeneratedConfig:
Bounty_OnError = 'skip' # stop, skip Bounty_OnError = 'skip' # stop, skip
# Group `Highway` # Group `Highway`
Highway_Stage = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Highway_Stage = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Highway_Count = 2 Highway_Count = 2
# Group `DesertRailroad` # Group `DesertRailroad`
DesertRailroad_Stage = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 DesertRailroad_Stage = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
DesertRailroad_Count = 2 DesertRailroad_Count = 2
# Group `Schoolhouse` # Group `Schoolhouse`
Schoolhouse_Stage = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Schoolhouse_Stage = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Schoolhouse_Count = 2 Schoolhouse_Count = 2
# Group `Scrimmage` # Group `Scrimmage`
@@ -166,3 +166,6 @@ class GeneratedConfig:
ItemStorage_BountyTicket = {} ItemStorage_BountyTicket = {}
ItemStorage_ScrimmageTicket = {} ItemStorage_ScrimmageTicket = {}
ItemStorage_TacticalChallengeTicket = {} ItemStorage_TacticalChallengeTicket = {}
# Group `Momotalk`
Momotalk_Enable = True
+21 -4
View File
@@ -15,6 +15,10 @@
"Reward": { "Reward": {
"name": "Reward", "name": "Reward",
"help": "" "help": ""
},
"Tool": {
"name": "Tools",
"help": ""
} }
}, },
"Task": { "Task": {
@@ -251,7 +255,7 @@
}, },
"SecondCafe": { "SecondCafe": {
"name": "Second Floor", "name": "Second Floor",
"help": "JP server only\nEnable auto switch to second floor and perform interaction" "help": "Enable auto switch to second floor and perform interaction"
} }
}, },
"Invitation": { "Invitation": {
@@ -502,7 +506,8 @@
"6": "06 - Overpass F", "6": "06 - Overpass F",
"7": "07 - Overpass G", "7": "07 - Overpass G",
"8": "08 - Overpass H", "8": "08 - Overpass H",
"9": "09 - Overpass I" "9": "09 - Overpass I",
"10": "10 - Overpass J"
}, },
"Count": { "Count": {
"name": "Sweep X times", "name": "Sweep X times",
@@ -526,7 +531,8 @@
"6": "06 - Abandoned Train F", "6": "06 - Abandoned Train F",
"7": "07 - Abandoned Train G", "7": "07 - Abandoned Train G",
"8": "08 - Abandoned Train H", "8": "08 - Abandoned Train H",
"9": "09 - Abandoned Train I" "9": "09 - Abandoned Train I",
"10": "10 - Abandoned Train J"
}, },
"Count": { "Count": {
"name": "Sweep X times", "name": "Sweep X times",
@@ -550,7 +556,8 @@
"6": "06 - Besieged Classroom F", "6": "06 - Besieged Classroom F",
"7": "07 - Besieged Classroom G", "7": "07 - Besieged Classroom G",
"8": "08 - Besieged Classroom H", "8": "08 - Besieged Classroom H",
"9": "09 - Besieged Classroom I" "9": "09 - Besieged Classroom I",
"10": "10 - Besieged Classroom J"
}, },
"Count": { "Count": {
"name": "Sweep X times", "name": "Sweep X times",
@@ -846,6 +853,16 @@
"help": "" "help": ""
} }
}, },
"Momotalk": {
"_info": {
"name": "Momotalk",
"help": "Tools need to stop the scheduler and then run independently"
},
"Enable": {
"name": "",
"help": ""
}
},
"Gui": { "Gui": {
"Aside": { "Aside": {
"Install": "Install", "Install": "Install",
+21 -4
View File
@@ -15,6 +15,10 @@
"Reward": { "Reward": {
"name": "收菜", "name": "收菜",
"help": "" "help": ""
},
"Tool": {
"name": "工具",
"help": ""
} }
}, },
"Task": { "Task": {
@@ -251,7 +255,7 @@
}, },
"SecondCafe": { "SecondCafe": {
"name": "第二咖啡厅", "name": "第二咖啡厅",
"help": "仅支持日服\n自动切换第二咖啡厅进行互动点击" "help": "自动切换第二咖啡厅进行互动点击"
} }
}, },
"Invitation": { "Invitation": {
@@ -502,7 +506,8 @@
"6": "06 - 高架公路 F", "6": "06 - 高架公路 F",
"7": "07 - 高架公路 G", "7": "07 - 高架公路 G",
"8": "08 - 高架公路 H", "8": "08 - 高架公路 H",
"9": "09 - 高架公路 I" "9": "09 - 高架公路 I",
"10": "10 - 高架公路 J"
}, },
"Count": { "Count": {
"name": "扫荡次数", "name": "扫荡次数",
@@ -526,7 +531,8 @@
"6": "06 - 被遗弃的列车 F", "6": "06 - 被遗弃的列车 F",
"7": "07 - 被遗弃的列车 G", "7": "07 - 被遗弃的列车 G",
"8": "08 - 被遗弃的列车 H", "8": "08 - 被遗弃的列车 H",
"9": "09 - 被遗弃的列车 I" "9": "09 - 被遗弃的列车 I",
"10": "10 - 被遗弃的列车 J"
}, },
"Count": { "Count": {
"name": "扫荡次数", "name": "扫荡次数",
@@ -550,7 +556,8 @@
"6": "06 - 被袭击的教室 F", "6": "06 - 被袭击的教室 F",
"7": "07 - 被袭击的教室 G", "7": "07 - 被袭击的教室 G",
"8": "08 - 被袭击的教室 H", "8": "08 - 被袭击的教室 H",
"9": "09 - 被袭击的教室 I" "9": "09 - 被袭击的教室 I",
"10": "10 - 被袭击的教室 J"
}, },
"Count": { "Count": {
"name": "扫荡次数", "name": "扫荡次数",
@@ -846,6 +853,16 @@
"help": "" "help": ""
} }
}, },
"Momotalk": {
"_info": {
"name": "Momotalk",
"help": "工具需要停止调度器再单独运行"
},
"Enable": {
"name": "",
"help": ""
}
},
"Gui": { "Gui": {
"Aside": { "Aside": {
"Install": "安装", "Install": "安装",
+4 -3
View File
@@ -611,7 +611,7 @@ class AlasGUI(Frame):
[ [
put_scope("scheduler-bar"), put_scope("scheduler-bar"),
put_scope("groups"), put_scope("groups"),
put_scope("log-bar"), put_scope("daemon-log-bar"),
put_scope("log", [put_html("")]), put_scope("log", [put_html("")]),
], ],
) )
@@ -625,7 +625,7 @@ class AlasGUI(Frame):
[ [
put_scope( put_scope(
"_daemon_upper", "_daemon_upper",
[put_scope("scheduler-bar"), put_scope("log-bar")], [put_scope("scheduler-bar"), put_scope("daemon-log-bar")],
), ),
put_scope("groups"), put_scope("groups"),
put_scope("log", [put_html("")]), put_scope("log", [put_html("")]),
@@ -654,7 +654,8 @@ class AlasGUI(Frame):
scope="scheduler_btn", scope="scheduler_btn",
) )
with use_scope("log-bar"): with use_scope("daemon-log-bar"):
with use_scope("log-title"):
put_text(t("Gui.Overview.Log")).style( put_text(t("Gui.Overview.Log")).style(
"font-size: 1.25rem; margin: auto .5rem auto;" "font-size: 1.25rem; margin: auto .5rem auto;"
) )
+6 -1
View File
@@ -6,11 +6,12 @@ from multiprocessing import Process
from typing import Dict, List, Union from typing import Dict, List, Union
from filelock import FileLock from filelock import FileLock
from rich.console import Console, ConsoleRenderable
from module.config.utils import filepath_config from module.config.utils import filepath_config
from module.logger import logger, set_file_logger, set_func_logger from module.logger import logger, set_file_logger, set_func_logger
from module.webui.fake import get_config_mod, mod_instance from module.webui.fake import get_config_mod, mod_instance
from module.webui.setting import State from module.webui.setting import State
from rich.console import Console, ConsoleRenderable
class ProcessManager: class ProcessManager:
@@ -147,6 +148,10 @@ class ProcessManager:
if e is not None: if e is not None:
AzurLaneAutoScript.stop_event = e AzurLaneAutoScript.stop_event = e
ArisuAutoSweeper(config_name=config_name).loop() ArisuAutoSweeper(config_name=config_name).loop()
elif func == "Momotalk":
from tasks.momotalk.momotalk import MomoTalk
MomoTalk(config=config_name, task="Momotalk").run()
else: else:
logger.critical(f"No function matched: {func}") logger.critical(f"No function matched: {func}")
logger.info(f"[{config_name}] exited. Reason: Finish\n") logger.info(f"[{config_name}] exited. Reason: Finish\n")
+187 -103
View File
@@ -96,18 +96,18 @@ CIRCLE_CHECK = ButtonWrapper(
), ),
en=Button( en=Button(
file='./assets/en/base/page/CIRCLE_CHECK.png', file='./assets/en/base/page/CIRCLE_CHECK.png',
area=(102, 8, 168, 38),
search=(82, 0, 188, 58),
color=(190, 199, 208),
button=(102, 8, 168, 38),
),
zht=Button(
file='./assets/zht/base/page/CIRCLE_CHECK.png',
area=(106, 10, 161, 38), area=(106, 10, 161, 38),
search=(86, 0, 181, 58), search=(86, 0, 181, 58),
color=(154, 167, 180), color=(154, 167, 180),
button=(106, 10, 161, 38), button=(106, 10, 161, 38),
), ),
zht=Button(
file='./assets/zht/base/page/CIRCLE_CHECK.png',
area=(93, 3, 224, 39),
search=(73, 0, 244, 59),
color=(187, 197, 206),
button=(93, 3, 224, 39),
),
) )
COMMISSIONS_CHECK = ButtonWrapper( COMMISSIONS_CHECK = ButtonWrapper(
name='COMMISSIONS_CHECK', name='COMMISSIONS_CHECK',
@@ -207,6 +207,13 @@ GACHA_CHECK = ButtonWrapper(
) )
HOME = ButtonWrapper( HOME = ButtonWrapper(
name='HOME', name='HOME',
jp=Button(
file='./assets/jp/base/page/HOME.png',
area=(1224, 10, 1250, 35),
search=(1204, 0, 1270, 55),
color=(162, 176, 202),
button=(1224, 10, 1250, 35),
),
share=Button( share=Button(
file='./assets/share/base/page/HOME.png', file='./assets/share/base/page/HOME.png',
area=(1218, 8, 1253, 41), area=(1218, 8, 1253, 41),
@@ -251,6 +258,13 @@ MAIL_CHECK = ButtonWrapper(
) )
MAIN_GO_TO_CAFE = ButtonWrapper( MAIN_GO_TO_CAFE = ButtonWrapper(
name='MAIN_GO_TO_CAFE', name='MAIN_GO_TO_CAFE',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_CAFE.png',
area=(86, 632, 113, 670),
search=(66, 612, 133, 690),
color=(174, 222, 246),
button=(86, 632, 113, 670),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_CAFE.png', file='./assets/share/base/page/MAIN_GO_TO_CAFE.png',
area=(81, 638, 102, 668), area=(81, 638, 102, 668),
@@ -261,6 +275,13 @@ MAIN_GO_TO_CAFE = ButtonWrapper(
) )
MAIN_GO_TO_CIRCLE = ButtonWrapper( MAIN_GO_TO_CIRCLE = ButtonWrapper(
name='MAIN_GO_TO_CIRCLE', name='MAIN_GO_TO_CIRCLE',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_CIRCLE.png',
area=(531, 631, 561, 659),
search=(511, 611, 581, 679),
color=(182, 230, 254),
button=(531, 631, 561, 659),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_CIRCLE.png', file='./assets/share/base/page/MAIN_GO_TO_CIRCLE.png',
area=(542, 630, 581, 665), area=(542, 630, 581, 665),
@@ -271,6 +292,13 @@ MAIN_GO_TO_CIRCLE = ButtonWrapper(
) )
MAIN_GO_TO_CRAFTING = ButtonWrapper( MAIN_GO_TO_CRAFTING = ButtonWrapper(
name='MAIN_GO_TO_CRAFTING', name='MAIN_GO_TO_CRAFTING',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_CRAFTING.png',
area=(645, 627, 667, 662),
search=(625, 607, 687, 682),
color=(206, 235, 251),
button=(645, 627, 667, 662),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_CRAFTING.png', file='./assets/share/base/page/MAIN_GO_TO_CRAFTING.png',
area=(665, 622, 693, 664), area=(665, 622, 693, 664),
@@ -281,6 +309,13 @@ MAIN_GO_TO_CRAFTING = ButtonWrapper(
) )
MAIN_GO_TO_GACHA = ButtonWrapper( MAIN_GO_TO_GACHA = ButtonWrapper(
name='MAIN_GO_TO_GACHA', name='MAIN_GO_TO_GACHA',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_GACHA.png',
area=(871, 626, 893, 671),
search=(851, 606, 913, 691),
color=(172, 223, 242),
button=(871, 626, 893, 671),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_GACHA.png', file='./assets/share/base/page/MAIN_GO_TO_GACHA.png',
area=(900, 623, 924, 670), area=(900, 623, 924, 670),
@@ -291,6 +326,13 @@ MAIN_GO_TO_GACHA = ButtonWrapper(
) )
MAIN_GO_TO_MAIL = ButtonWrapper( MAIN_GO_TO_MAIL = ButtonWrapper(
name='MAIN_GO_TO_MAIL', name='MAIN_GO_TO_MAIL',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_MAIL.png',
area=(1144, 27, 1165, 44),
search=(1124, 7, 1185, 64),
color=(102, 125, 168),
button=(1144, 27, 1165, 44),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_MAIL.png', file='./assets/share/base/page/MAIN_GO_TO_MAIL.png',
area=(1130, 29, 1156, 49), area=(1130, 29, 1156, 49),
@@ -301,26 +343,47 @@ MAIN_GO_TO_MAIL = ButtonWrapper(
) )
MAIN_GO_TO_MOMOTALK = ButtonWrapper( MAIN_GO_TO_MOMOTALK = ButtonWrapper(
name='MAIN_GO_TO_MOMOTALK', name='MAIN_GO_TO_MOMOTALK',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_MOMOTALK.png',
area=(125, 118, 146, 151),
search=(105, 98, 166, 171),
color=(244, 200, 211),
button=(125, 118, 146, 151),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_MOMOTALK.png', file='./assets/share/base/page/MAIN_GO_TO_MOMOTALK.png',
area=(154, 134, 177, 158), area=(138, 130, 159, 161),
search=(134, 114, 197, 178), search=(118, 110, 179, 181),
color=(255, 219, 227), color=(251, 215, 224),
button=(154, 134, 177, 158), button=(138, 130, 159, 161),
), ),
) )
MAIN_GO_TO_PURCHASE = ButtonWrapper( MAIN_GO_TO_PURCHASE = ButtonWrapper(
name='MAIN_GO_TO_PURCHASE', name='MAIN_GO_TO_PURCHASE',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_PURCHASE.png',
area=(122, 209, 148, 243),
search=(102, 189, 168, 263),
color=(190, 222, 246),
button=(122, 209, 148, 243),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_PURCHASE.png', file='./assets/share/base/page/MAIN_GO_TO_PURCHASE.png',
area=(148, 204, 183, 253), area=(136, 210, 165, 250),
search=(128, 184, 203, 273), search=(116, 190, 185, 270),
color=(172, 214, 239), color=(175, 216, 240),
button=(148, 204, 183, 253), button=(136, 210, 165, 250),
), ),
) )
MAIN_GO_TO_SCHEDULE = ButtonWrapper( MAIN_GO_TO_SCHEDULE = ButtonWrapper(
name='MAIN_GO_TO_SCHEDULE', name='MAIN_GO_TO_SCHEDULE',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_SCHEDULE.png',
area=(198, 634, 217, 667),
search=(178, 614, 237, 687),
color=(176, 222, 243),
button=(198, 634, 217, 667),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_SCHEDULE.png', file='./assets/share/base/page/MAIN_GO_TO_SCHEDULE.png',
area=(194, 638, 216, 672), area=(194, 638, 216, 672),
@@ -331,6 +394,13 @@ MAIN_GO_TO_SCHEDULE = ButtonWrapper(
) )
MAIN_GO_TO_SHOP = ButtonWrapper( MAIN_GO_TO_SHOP = ButtonWrapper(
name='MAIN_GO_TO_SHOP', name='MAIN_GO_TO_SHOP',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_SHOP.png',
area=(752, 628, 786, 665),
search=(732, 608, 806, 685),
color=(168, 221, 248),
button=(752, 628, 786, 665),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_SHOP.png', file='./assets/share/base/page/MAIN_GO_TO_SHOP.png',
area=(773, 630, 816, 667), area=(773, 630, 816, 667),
@@ -341,36 +411,43 @@ MAIN_GO_TO_SHOP = ButtonWrapper(
) )
MAIN_GO_TO_TASK = ButtonWrapper( MAIN_GO_TO_TASK = ButtonWrapper(
name='MAIN_GO_TO_TASK', name='MAIN_GO_TO_TASK',
jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_TASK.png',
area=(30, 214, 55, 248),
search=(10, 194, 75, 268),
color=(186, 218, 245),
button=(30, 214, 55, 248),
),
share=Button( share=Button(
file='./assets/share/base/page/MAIN_GO_TO_TASK.png', file='./assets/share/base/page/MAIN_GO_TO_TASK.png',
area=(52, 220, 78, 248), area=(47, 219, 70, 246),
search=(32, 200, 98, 268), search=(27, 199, 90, 266),
color=(226, 207, 203), color=(212, 204, 208),
button=(52, 220, 78, 248), button=(47, 219, 70, 246),
), ),
) )
MAIN_GO_TO_WORK = ButtonWrapper( MAIN_GO_TO_WORK = ButtonWrapper(
name='MAIN_GO_TO_WORK', name='MAIN_GO_TO_WORK',
jp=Button( jp=Button(
file='./assets/jp/base/page/MAIN_GO_TO_WORK.png', file='./assets/jp/base/page/MAIN_GO_TO_WORK.png',
area=(1167, 605, 1241, 632), area=(1167, 668, 1222, 688),
search=(1147, 585, 1261, 652), search=(1147, 648, 1242, 708),
color=(135, 149, 169), color=(141, 156, 174),
button=(1167, 605, 1241, 632), button=(1167, 668, 1222, 688),
), ),
en=Button( en=Button(
file='./assets/en/base/page/MAIN_GO_TO_WORK.png', file='./assets/en/base/page/MAIN_GO_TO_WORK.png',
area=(1127, 605, 1250, 637), area=(1143, 591, 1241, 613),
search=(1107, 585, 1270, 657), search=(1123, 571, 1261, 633),
color=(90, 112, 141), color=(110, 129, 154),
button=(1127, 605, 1250, 637), button=(1143, 591, 1241, 613),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/MAIN_GO_TO_WORK.png', file='./assets/zht/base/page/MAIN_GO_TO_WORK.png',
area=(1167, 595, 1277, 637), area=(1188, 586, 1241, 613),
search=(1147, 575, 1280, 657), search=(1168, 566, 1261, 633),
color=(73, 100, 133), color=(141, 155, 174),
button=(1167, 595, 1277, 637), button=(1188, 586, 1241, 613),
), ),
) )
MISSION_CHECK = ButtonWrapper( MISSION_CHECK = ButtonWrapper(
@@ -399,6 +476,13 @@ MISSION_CHECK = ButtonWrapper(
) )
MOMOTALK_CHECK = ButtonWrapper( MOMOTALK_CHECK = ButtonWrapper(
name='MOMOTALK_CHECK', name='MOMOTALK_CHECK',
jp=Button(
file='./assets/jp/base/page/MOMOTALK_CHECK.png',
area=(144, 107, 169, 130),
search=(124, 87, 189, 150),
color=(253, 211, 219),
button=(144, 107, 169, 130),
),
share=Button( share=Button(
file='./assets/share/base/page/MOMOTALK_CHECK.png', file='./assets/share/base/page/MOMOTALK_CHECK.png',
area=(144, 107, 169, 130), area=(144, 107, 169, 130),
@@ -589,48 +673,48 @@ WORK_GO_TO_BOUNTY = ButtonWrapper(
name='WORK_GO_TO_BOUNTY', name='WORK_GO_TO_BOUNTY',
jp=Button( jp=Button(
file='./assets/jp/base/page/WORK_GO_TO_BOUNTY.png', file='./assets/jp/base/page/WORK_GO_TO_BOUNTY.png',
area=(667, 383, 764, 409), area=(679, 401, 741, 417),
search=(647, 363, 784, 429), search=(659, 381, 761, 437),
color=(171, 187, 212), color=(155, 164, 186),
button=(667, 383, 764, 409), button=(679, 401, 741, 417),
), ),
en=Button( en=Button(
file='./assets/en/base/page/WORK_GO_TO_BOUNTY.png', file='./assets/en/base/page/WORK_GO_TO_BOUNTY.png',
area=(671, 409, 760, 440), area=(668, 385, 756, 412),
search=(651, 389, 780, 460), search=(648, 365, 776, 432),
color=(183, 202, 227), color=(180, 198, 223),
button=(671, 409, 760, 440), button=(668, 385, 756, 412),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/WORK_GO_TO_BOUNTY.png', file='./assets/zht/base/page/WORK_GO_TO_BOUNTY.png',
area=(668, 410, 770, 438), area=(667, 383, 769, 410),
search=(648, 390, 790, 458), search=(647, 363, 789, 430),
color=(170, 185, 211), color=(169, 184, 209),
button=(668, 410, 770, 438), button=(667, 383, 769, 410),
), ),
) )
WORK_GO_TO_COMMISSIONS = ButtonWrapper( WORK_GO_TO_COMMISSIONS = ButtonWrapper(
name='WORK_GO_TO_COMMISSIONS', name='WORK_GO_TO_COMMISSIONS',
jp=Button( jp=Button(
file='./assets/jp/base/page/WORK_GO_TO_COMMISSIONS.png', file='./assets/jp/base/page/WORK_GO_TO_COMMISSIONS.png',
area=(653, 475, 749, 501), area=(661, 504, 724, 521),
search=(633, 455, 769, 521), search=(641, 484, 744, 541),
color=(171, 185, 208), color=(155, 163, 184),
button=(653, 475, 749, 501), button=(661, 504, 724, 521),
), ),
en=Button( en=Button(
file='./assets/en/base/page/WORK_GO_TO_COMMISSIONS.png', file='./assets/en/base/page/WORK_GO_TO_COMMISSIONS.png',
area=(656, 494, 803, 517), area=(653, 477, 787, 496),
search=(636, 474, 823, 537), search=(633, 457, 807, 516),
color=(192, 204, 221), color=(187, 199, 218),
button=(656, 494, 803, 517), button=(653, 477, 787, 496),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/WORK_GO_TO_COMMISSIONS.png', file='./assets/zht/base/page/WORK_GO_TO_COMMISSIONS.png',
area=(656, 492, 757, 519), area=(654, 474, 753, 503),
search=(636, 472, 777, 539), search=(634, 454, 773, 523),
color=(177, 190, 212), color=(179, 192, 213),
button=(656, 492, 757, 519), button=(654, 474, 753, 503),
), ),
) )
WORK_GO_TO_EVENT = ButtonWrapper( WORK_GO_TO_EVENT = ButtonWrapper(
@@ -661,95 +745,95 @@ WORK_GO_TO_MISSION = ButtonWrapper(
name='WORK_GO_TO_MISSION', name='WORK_GO_TO_MISSION',
jp=Button( jp=Button(
file='./assets/jp/base/page/WORK_GO_TO_MISSION.png', file='./assets/jp/base/page/WORK_GO_TO_MISSION.png',
area=(722, 155, 807, 199), area=(710, 220, 769, 249),
search=(702, 135, 827, 219), search=(690, 200, 789, 269),
color=(173, 188, 211), color=(137, 153, 180),
button=(722, 155, 807, 199), button=(710, 220, 769, 249),
), ),
en=Button( en=Button(
file='./assets/en/base/page/WORK_GO_TO_MISSION.png', file='./assets/en/base/page/WORK_GO_TO_MISSION.png',
area=(720, 160, 871, 206), area=(721, 158, 873, 197),
search=(700, 140, 891, 226), search=(701, 138, 893, 217),
color=(192, 204, 221), color=(180, 195, 215),
button=(720, 160, 871, 206), button=(721, 158, 873, 197),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/WORK_GO_TO_MISSION.png', file='./assets/zht/base/page/WORK_GO_TO_MISSION.png',
area=(719, 152, 805, 202), area=(720, 152, 812, 200),
search=(699, 132, 825, 222), search=(700, 132, 832, 220),
color=(182, 194, 214), color=(181, 195, 215),
button=(719, 152, 805, 202), button=(720, 152, 812, 200),
), ),
) )
WORK_GO_TO_SCHOOL_EXCHANGE = ButtonWrapper( WORK_GO_TO_SCHOOL_EXCHANGE = ButtonWrapper(
name='WORK_GO_TO_SCHOOL_EXCHANGE', name='WORK_GO_TO_SCHOOL_EXCHANGE',
jp=Button( jp=Button(
file='./assets/jp/base/page/WORK_GO_TO_SCHOOL_EXCHANGE.png', file='./assets/jp/base/page/WORK_GO_TO_SCHOOL_EXCHANGE.png',
area=(636, 566, 753, 592), area=(642, 606, 721, 624),
search=(616, 546, 773, 612), search=(622, 586, 741, 644),
color=(176, 187, 207), color=(167, 174, 192),
button=(636, 566, 753, 592), button=(642, 606, 721, 624),
), ),
en=Button( en=Button(
file='./assets/en/base/page/WORK_GO_TO_SCHOOL_EXCHANGE.png', file='./assets/en/base/page/WORK_GO_TO_SCHOOL_EXCHANGE.png',
area=(643, 572, 778, 602), area=(635, 569, 769, 597),
search=(623, 552, 798, 622), search=(615, 549, 789, 617),
color=(190, 203, 221), color=(198, 204, 216),
button=(643, 572, 778, 602), button=(635, 569, 769, 597),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/WORK_GO_TO_SCHOOL_EXCHANGE.png', file='./assets/zht/base/page/WORK_GO_TO_SCHOOL_EXCHANGE.png',
area=(643, 575, 764, 601), area=(635, 567, 761, 594),
search=(623, 555, 784, 621), search=(615, 547, 781, 614),
color=(171, 185, 208), color=(181, 191, 209),
button=(643, 575, 764, 601), button=(635, 567, 761, 594),
), ),
) )
WORK_GO_TO_STORY = ButtonWrapper( WORK_GO_TO_STORY = ButtonWrapper(
name='WORK_GO_TO_STORY', name='WORK_GO_TO_STORY',
jp=Button( jp=Button(
file='./assets/jp/base/page/WORK_GO_TO_STORY.png', file='./assets/jp/base/page/WORK_GO_TO_STORY.png',
area=(998, 155, 1078, 199), area=(993, 220, 1081, 250),
search=(978, 135, 1098, 219), search=(973, 200, 1101, 270),
color=(215, 221, 232), color=(209, 214, 224),
button=(998, 155, 1078, 199), button=(993, 220, 1081, 250),
), ),
en=Button( en=Button(
file='./assets/en/base/page/WORK_GO_TO_STORY.png', file='./assets/en/base/page/WORK_GO_TO_STORY.png',
area=(994, 159, 1109, 211), area=(996, 159, 1112, 205),
search=(974, 139, 1129, 231), search=(976, 139, 1132, 225),
color=(208, 215, 228), color=(200, 209, 225),
button=(994, 159, 1109, 211), button=(996, 159, 1112, 205),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/WORK_GO_TO_STORY.png', file='./assets/zht/base/page/WORK_GO_TO_STORY.png',
area=(995, 153, 1086, 201), area=(991, 152, 1093, 202),
search=(975, 133, 1106, 221), search=(971, 132, 1113, 222),
color=(181, 192, 212), color=(190, 200, 218),
button=(995, 153, 1086, 201), button=(991, 152, 1093, 202),
), ),
) )
WORK_GO_TO_TACTICAL_CHALLENGE = ButtonWrapper( WORK_GO_TO_TACTICAL_CHALLENGE = ButtonWrapper(
name='WORK_GO_TO_TACTICAL_CHALLENGE', name='WORK_GO_TO_TACTICAL_CHALLENGE',
jp=Button( jp=Button(
file='./assets/jp/base/page/WORK_GO_TO_TACTICAL_CHALLENGE.png', file='./assets/jp/base/page/WORK_GO_TO_TACTICAL_CHALLENGE.png',
area=(801, 565, 920, 593), area=(821, 600, 911, 620),
search=(781, 545, 940, 613), search=(801, 580, 931, 640),
color=(172, 186, 209), color=(156, 164, 185),
button=(801, 565, 920, 593), button=(821, 600, 911, 620),
), ),
en=Button( en=Button(
file='./assets/en/base/page/WORK_GO_TO_TACTICAL_CHALLENGE.png', file='./assets/en/base/page/WORK_GO_TO_TACTICAL_CHALLENGE.png',
area=(1012, 532, 1152, 591), area=(803, 566, 922, 623),
search=(992, 512, 1172, 611), search=(783, 546, 942, 643),
color=(199, 211, 227), color=(186, 201, 220),
button=(1012, 532, 1152, 591), button=(803, 566, 922, 623),
), ),
zht=Button( zht=Button(
file='./assets/zht/base/page/WORK_GO_TO_TACTICAL_CHALLENGE.png', file='./assets/zht/base/page/WORK_GO_TO_TACTICAL_CHALLENGE.png',
area=(1014, 530, 1120, 569), area=(801, 564, 908, 595),
search=(994, 510, 1140, 589), search=(781, 544, 928, 615),
color=(190, 201, 219), color=(179, 192, 213),
button=(1014, 530, 1120, 569), button=(801, 564, 908, 595),
), ),
) )
+4 -3
View File
@@ -1,10 +1,10 @@
from module.base.button import ButtonWrapper from module.base.button import ButtonWrapper
from module.base.decorator import run_once, Config from module.base.decorator import Config, run_once
from module.base.timer import Timer from module.base.timer import Timer
from module.base.utils import get_color from module.base.utils import get_color
from module.exception import GameNotRunningError, GamePageUnknownError, RequestHumanTakeover from module.exception import GameNotRunningError, GamePageUnknownError, RequestHumanTakeover
from module.logger import logger from module.logger import logger
from module.ocr.ocr import Ocr, Digit from module.ocr.ocr import Digit, Ocr
from tasks.base.assets.assets_base_page import BACK from tasks.base.assets.assets_base_page import BACK
from tasks.base.main_page import MainPage from tasks.base.main_page import MainPage
from tasks.base.page import Page, page_main from tasks.base.page import Page, page_main
@@ -23,7 +23,8 @@ class UI(MainPage):
# temporary block check for jp # temporary block check for jp
@Config.when(Emulator_GameLanguage='jp') @Config.when(Emulator_GameLanguage='jp')
def appear_trademark_year(self): def appear_trademark_year(self):
return False # this disables using back button in jp due to a login issue
return True
@Config.when(Emulator_GameLanguage=None) @Config.when(Emulator_GameLanguage=None)
def appear_trademark_year(self): def appear_trademark_year(self):
+4 -4
View File
@@ -117,10 +117,10 @@ OCR_TICKET = ButtonWrapper(
), ),
zht=Button( zht=Button(
file='./assets/zht/bounty/OCR_TICKET.png', file='./assets/zht/bounty/OCR_TICKET.png',
area=(155, 81, 206, 119), area=(168, 84, 219, 121),
search=(135, 61, 226, 139), search=(148, 64, 239, 141),
color=(209, 217, 221), color=(202, 210, 216),
button=(155, 81, 206, 119), button=(168, 84, 219, 121),
), ),
) )
SELECT_DESERT_RAILROAD = ButtonWrapper( SELECT_DESERT_RAILROAD = ButtonWrapper(
+80 -128
View File
@@ -27,144 +27,96 @@ CAFE_FIRST = ButtonWrapper(
name='CAFE_FIRST', name='CAFE_FIRST',
jp=Button( jp=Button(
file='./assets/jp/cafe/CAFE_FIRST.png', file='./assets/jp/cafe/CAFE_FIRST.png',
area=(82, 152, 136, 175), area=(96, 92, 111, 110),
search=(62, 132, 156, 195), search=(76, 72, 131, 130),
color=(111, 127, 147), color=(185, 192, 200),
button=(82, 152, 136, 175), button=(96, 92, 111, 110),
), ),
en=Button( en=Button(
file='./assets/en/cafe/CAFE_FIRST.png', file='./assets/en/cafe/CAFE_FIRST.png',
area=(82, 152, 136, 175), area=(205, 96, 215, 107),
search=(62, 132, 156, 195), search=(185, 76, 235, 127),
color=(111, 127, 147), color=(176, 184, 194),
button=(82, 152, 136, 175), button=(205, 96, 215, 107),
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/CAFE_FIRST.png', file='./assets/zht/cafe/CAFE_FIRST.png',
area=(82, 152, 136, 175), area=(153, 93, 164, 109),
search=(62, 132, 156, 195), search=(133, 73, 184, 129),
color=(111, 127, 147), color=(172, 180, 190),
button=(82, 152, 136, 175), button=(153, 93, 164, 109),
), ),
) )
CAFE_INVITE = ButtonWrapper( CAFE_INVITE = ButtonWrapper(
name='CAFE_INVITE', name='CAFE_INVITE',
jp=Button( jp=Button(
file='./assets/jp/cafe/CAFE_INVITE.png', file='./assets/jp/cafe/CAFE_INVITE.png',
area=(816, 635, 845, 655), area=(870, 637, 903, 663),
search=(796, 615, 865, 675), search=(850, 617, 923, 683),
color=(173, 182, 192), color=(253, 217, 235),
button=(816, 635, 845, 655), button=(870, 637, 903, 663),
), ),
en=Button( en=Button(
file='./assets/en/cafe/CAFE_INVITE.png', file='./assets/en/cafe/CAFE_INVITE.png',
area=(816, 635, 845, 655), area=(870, 637, 903, 663),
search=(796, 615, 865, 675), search=(850, 617, 923, 683),
color=(173, 182, 192), color=(253, 217, 235),
button=(816, 635, 845, 655), button=(870, 637, 903, 663),
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/CAFE_INVITE.png', file='./assets/zht/cafe/CAFE_INVITE.png',
area=(816, 635, 845, 655), area=(870, 637, 903, 663),
search=(796, 615, 865, 675), search=(850, 617, 923, 683),
color=(173, 182, 192), color=(253, 217, 235),
button=(816, 635, 845, 655), button=(870, 637, 903, 663),
), ),
) )
CAFE_INVITED = ButtonWrapper( CAFE_INVITED = ButtonWrapper(
name='CAFE_INVITED', name='CAFE_INVITED',
jp=Button( jp=Button(
file='./assets/jp/cafe/CAFE_INVITED.png', file='./assets/jp/cafe/CAFE_INVITED.png',
area=(815, 633, 847, 657), area=(870, 637, 903, 663),
search=(795, 613, 867, 677), search=(850, 617, 923, 683),
color=(144, 144, 146), color=(111, 109, 109),
button=(815, 633, 847, 657), button=(870, 637, 903, 663),
), ),
en=Button( en=Button(
file='./assets/en/cafe/CAFE_INVITED.png', file='./assets/en/cafe/CAFE_INVITED.png',
area=(815, 633, 847, 657), area=(870, 637, 903, 663),
search=(795, 613, 867, 677), search=(850, 617, 923, 683),
color=(144, 144, 146), color=(111, 109, 109),
button=(815, 633, 847, 657), button=(870, 637, 903, 663),
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/CAFE_INVITED.png', file='./assets/zht/cafe/CAFE_INVITED.png',
area=(815, 633, 847, 657), area=(870, 637, 903, 663),
search=(795, 613, 867, 677), search=(850, 617, 923, 683),
color=(144, 144, 146), color=(111, 109, 109),
button=(815, 633, 847, 657), button=(870, 637, 903, 663),
), ),
) )
CAFE_SECOND = ButtonWrapper( CAFE_SECOND = ButtonWrapper(
name='CAFE_SECOND', name='CAFE_SECOND',
jp=Button( jp=Button(
file='./assets/jp/cafe/CAFE_SECOND.png', file='./assets/jp/cafe/CAFE_SECOND.png',
area=(219, 152, 279, 175), area=(99, 92, 108, 110),
search=(199, 132, 299, 195), search=(79, 72, 128, 130),
color=(110, 126, 146), color=(193, 200, 209),
button=(219, 152, 279, 175), button=(99, 92, 108, 110),
), ),
en=Button( en=Button(
file='./assets/en/cafe/CAFE_SECOND.png', file='./assets/en/cafe/CAFE_SECOND.png',
area=(219, 152, 279, 175), area=(207, 96, 214, 107),
search=(199, 132, 299, 195), search=(187, 76, 234, 127),
color=(110, 126, 146), color=(174, 182, 192),
button=(219, 152, 279, 175), button=(207, 96, 214, 107),
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/CAFE_SECOND.png', file='./assets/zht/cafe/CAFE_SECOND.png',
area=(219, 152, 279, 175), area=(153, 93, 162, 110),
search=(199, 132, 299, 195), search=(133, 73, 182, 130),
color=(110, 126, 146), color=(169, 178, 189),
button=(219, 152, 279, 175), button=(153, 93, 162, 110),
),
)
CHANGE_CAFE_NOT_SELECTED = ButtonWrapper(
name='CHANGE_CAFE_NOT_SELECTED',
jp=Button(
file='./assets/jp/cafe/CHANGE_CAFE_NOT_SELECTED.png',
area=(84, 89, 178, 109),
search=(64, 69, 198, 129),
color=(185, 193, 203),
button=(84, 89, 178, 109),
),
en=Button(
file='./assets/en/cafe/CHANGE_CAFE_NOT_SELECTED.png',
area=(84, 89, 178, 109),
search=(64, 69, 198, 129),
color=(185, 193, 203),
button=(84, 89, 178, 109),
),
zht=Button(
file='./assets/zht/cafe/CHANGE_CAFE_NOT_SELECTED.png',
area=(84, 89, 178, 109),
search=(64, 69, 198, 129),
color=(185, 193, 203),
button=(84, 89, 178, 109),
),
)
CHANGE_CAFE_SELECTED = ButtonWrapper(
name='CHANGE_CAFE_SELECTED',
jp=Button(
file='./assets/jp/cafe/CHANGE_CAFE_SELECTED.png',
area=(40, 87, 191, 112),
search=(20, 67, 211, 132),
color=(82, 105, 130),
button=(40, 87, 191, 112),
),
en=Button(
file='./assets/en/cafe/CHANGE_CAFE_SELECTED.png',
area=(40, 87, 191, 112),
search=(20, 67, 211, 132),
color=(82, 105, 130),
button=(40, 87, 191, 112),
),
zht=Button(
file='./assets/zht/cafe/CHANGE_CAFE_SELECTED.png',
area=(40, 87, 191, 112),
search=(20, 67, 211, 132),
color=(82, 105, 130),
button=(40, 87, 191, 112),
), ),
) )
CHECK_MOMOTALK = ButtonWrapper( CHECK_MOMOTALK = ButtonWrapper(
@@ -195,24 +147,24 @@ CHECK_REWARD = ButtonWrapper(
name='CHECK_REWARD', name='CHECK_REWARD',
jp=Button( jp=Button(
file='./assets/jp/cafe/CHECK_REWARD.png', file='./assets/jp/cafe/CHECK_REWARD.png',
area=(1095, 621, 1146, 637), area=(1120, 635, 1166, 651),
search=(1075, 601, 1166, 657), search=(1100, 615, 1186, 671),
color=(82, 105, 129), color=(79, 102, 127),
button=(1086, 607, 1225, 685), button=(1109, 627, 1239, 691),
), ),
en=Button( en=Button(
file='./assets/en/cafe/CHECK_REWARD.png', file='./assets/en/cafe/CHECK_REWARD.png',
area=(1090, 613, 1229, 644), area=(1116, 636, 1218, 654),
search=(1070, 593, 1249, 664), search=(1096, 616, 1238, 674),
color=(64, 88, 115), color=(77, 100, 125),
button=(1086, 611, 1229, 685), button=(1113, 625, 1239, 692),
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/CHECK_REWARD.png', file='./assets/zht/cafe/CHECK_REWARD.png',
area=(1087, 609, 1222, 644), area=(1125, 634, 1209, 651),
search=(1067, 589, 1242, 664), search=(1105, 614, 1229, 671),
color=(70, 94, 120), color=(107, 128, 149),
button=(1086, 613, 1229, 682), button=(1113, 626, 1237, 692),
), ),
) )
CLICKABLE_TEMPLATE = ButtonWrapper( CLICKABLE_TEMPLATE = ButtonWrapper(
@@ -363,10 +315,10 @@ INVITE_IN_SECOND = ButtonWrapper(
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/INVITE_IN_SECOND.png', file='./assets/zht/cafe/INVITE_IN_SECOND.png',
area=(482, 147, 799, 177), area=(487, 146, 793, 178),
search=(462, 127, 819, 197), search=(467, 126, 813, 198),
color=(166, 177, 188), color=(153, 165, 178),
button=(482, 147, 799, 177), button=(487, 146, 793, 178),
), ),
) )
INVITE_IN_SECOND_CLOSE = ButtonWrapper( INVITE_IN_SECOND_CLOSE = ButtonWrapper(
@@ -411,10 +363,10 @@ INVITE_SUBSTITUTE = ButtonWrapper(
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/INVITE_SUBSTITUTE.png', file='./assets/zht/cafe/INVITE_SUBSTITUTE.png',
area=(506, 157, 775, 186), area=(580, 154, 701, 183),
search=(486, 137, 795, 206), search=(560, 134, 721, 203),
color=(176, 186, 196), color=(147, 160, 174),
button=(673, 477, 857, 542), button=(672, 475, 857, 544),
), ),
) )
INVITE_SUBSTITUTE_CLOSE = ButtonWrapper( INVITE_SUBSTITUTE_CLOSE = ButtonWrapper(
@@ -517,24 +469,24 @@ OCR_CAFE = ButtonWrapper(
name='OCR_CAFE', name='OCR_CAFE',
jp=Button( jp=Button(
file='./assets/jp/cafe/OCR_CAFE.png', file='./assets/jp/cafe/OCR_CAFE.png',
area=(1103, 642, 1202, 672), area=(1127, 657, 1219, 682),
search=(1083, 622, 1222, 692), search=(1107, 637, 1239, 702),
color=(87, 107, 129), color=(93, 112, 134),
button=(1103, 642, 1202, 672), button=(1127, 657, 1219, 682),
), ),
en=Button( en=Button(
file='./assets/en/cafe/OCR_CAFE.png', file='./assets/en/cafe/OCR_CAFE.png',
area=(1105, 639, 1195, 674), area=(1127, 657, 1219, 682),
search=(1085, 619, 1215, 694), search=(1107, 637, 1239, 702),
color=(84, 104, 127), color=(93, 112, 134),
button=(1105, 639, 1195, 674), button=(1127, 657, 1219, 682),
), ),
zht=Button( zht=Button(
file='./assets/zht/cafe/OCR_CAFE.png', file='./assets/zht/cafe/OCR_CAFE.png',
area=(1072, 639, 1232, 679), area=(1127, 657, 1219, 682),
search=(1052, 619, 1252, 699), search=(1107, 637, 1239, 702),
color=(71, 93, 118), color=(93, 112, 134),
button=(1072, 639, 1232, 679), button=(1127, 657, 1219, 682),
), ),
) )
OCR_NAME = ButtonWrapper( OCR_NAME = ButtonWrapper(
+7 -31
View File
@@ -1,6 +1,5 @@
from enum import Enum from enum import Enum
from module.base.decorator import Config
from module.base.timer import Timer from module.base.timer import Timer
from module.logger import logger from module.logger import logger
from module.ui.switch import Switch from module.ui.switch import Switch
@@ -9,10 +8,6 @@ from tasks.cafe.assets.assets_cafe import *
from tasks.cafe.invitation import handle_invitation from tasks.cafe.invitation import handle_invitation
from tasks.cafe.ui import CafeUI from tasks.cafe.ui import CafeUI
SWITCH_CAFE = Switch('Cafe_switch')
SWITCH_CAFE.add_state('off', CHANGE_CAFE_NOT_SELECTED)
SWITCH_CAFE.add_state('on', CHANGE_CAFE_SELECTED)
SWITCH_CAFE_SELECT = Switch('Cafe_switch_select') SWITCH_CAFE_SELECT = Switch('Cafe_switch_select')
SWITCH_CAFE_SELECT.add_state('1', CAFE_FIRST) SWITCH_CAFE_SELECT.add_state('1', CAFE_FIRST)
SWITCH_CAFE_SELECT.add_state('2', CAFE_SECOND) SWITCH_CAFE_SELECT.add_state('2', CAFE_SECOND)
@@ -30,16 +25,10 @@ class CafeStatus(Enum):
class Cafe(CafeUI): class Cafe(CafeUI):
@Config.when(Emulator_GameLanguage='jp') @property
def _is_second_cafe_on(self): def is_second_cafe_on(self):
return self.config.Cafe_SecondCafe return self.config.Cafe_SecondCafe
@Config.when(Emulator_GameLanguage=None)
def _is_second_cafe_on(self):
return False
is_second_cafe_on = property(_is_second_cafe_on)
def _handle_cafe(self, status): def _handle_cafe(self, status):
match status: match status:
case CafeStatus.STUDENT_LIST: case CafeStatus.STUDENT_LIST:
@@ -71,7 +60,7 @@ class Cafe(CafeUI):
if handle_invitation(self): if handle_invitation(self):
return CafeStatus.CLICK return CafeStatus.CLICK
case CafeStatus.CLICK: case CafeStatus.CLICK:
buttons = self.get_clickable_buttons(offset=(45, 10)) buttons = self.get_clickable_buttons()
self.click = len(buttons) self.click = len(buttons)
logger.attr('Clickable', self.click) logger.attr('Clickable', self.click)
if not buttons: if not buttons:
@@ -119,7 +108,6 @@ class Cafe(CafeUI):
status = CafeStatus.STUDENT_LIST status = CafeStatus.STUDENT_LIST
loading_timer = Timer(2).start() loading_timer = Timer(2).start()
action_timer = Timer(1, count=1) action_timer = Timer(1, count=1)
is_list = False
is_reset = False is_reset = False
is_second = False is_second = False
is_enable = is_reward_on or is_touch_on is_enable = is_reward_on or is_touch_on
@@ -136,11 +124,6 @@ class Cafe(CafeUI):
if not loading_timer.reached(): if not loading_timer.reached():
continue continue
if not is_list and status == CafeStatus.STUDENT_LIST and self.appear(STUDENT_LIST):
is_list = True
loading_timer = Timer(3).start()
continue
if not is_reward_on and status == CafeStatus.OCR: if not is_reward_on and status == CafeStatus.OCR:
logger.info('Skip reward') logger.info('Skip reward')
status = CafeStatus.CLICK status = CafeStatus.CLICK
@@ -157,26 +140,19 @@ class Cafe(CafeUI):
continue continue
if self.is_second_cafe_on and not is_second and status == CafeStatus.FINISHED: if self.is_second_cafe_on and not is_second and status == CafeStatus.FINISHED:
if not SWITCH_CAFE.appear(main=self):
logger.warning('Cafe switch not found')
continue
if SWITCH_CAFE.get(main=self) == 'off':
SWITCH_CAFE.set('on', main=self)
logger.info('Switching to second cafe')
if not SWITCH_CAFE_SELECT.appear(main=self): if not SWITCH_CAFE_SELECT.appear(main=self):
logger.info('Cafe switch select not found') logger.info('Cafe switch not found')
continue continue
match (SWITCH_CAFE_SELECT.get(main=self)): match SWITCH_CAFE_SELECT.get(main=self):
case '1': case '1':
if self.click_with_interval(CAFE_SECOND): if self.click_with_interval(CAFE_FIRST):
continue continue
case '2': case '2':
logger.info('Cafe second arrived') logger.info('Cafe second arrived')
SWITCH_CAFE.set('off', main=self)
status = CafeStatus.STUDENT_LIST status = CafeStatus.STUDENT_LIST
is_list = False
is_second = True is_second = True
self.check = 0 self.check = 0
loading_timer.reset().start()
if action_timer.reached_and_reset(): if action_timer.reached_and_reset():
logger.attr('Status', status) logger.attr('Status', status)
+3 -3
View File
@@ -6,7 +6,7 @@ import numpy as np
from module.base.base import ModuleBase from module.base.base import ModuleBase
from module.base.timer import Timer from module.base.timer import Timer
from module.base.utils import area_size, area_offset from module.base.utils import area_offset, area_size
from module.config.utils import get_server_next_update from module.config.utils import get_server_next_update
from module.logger import logger from module.logger import logger
from module.ocr.ocr import Ocr from module.ocr.ocr import Ocr
@@ -223,7 +223,7 @@ def handle_invitation_status(status: InvitationStatus, main: ModuleBase) -> Invi
if not invitation.is_invitation: if not invitation.is_invitation:
logger.info('Invitation waiting until next refresh') logger.info('Invitation waiting until next refresh')
return InvitationStatus.FINISHED return InvitationStatus.FINISHED
if main.appear(CAFE_INVITED): if main.match_color(CAFE_INVITED):
logger.info('Invitation in cooldown') logger.info('Invitation in cooldown')
return InvitationStatus.FINISHED return InvitationStatus.FINISHED
if invitation.choice != 'list_top' and invitation.target_name is None: if invitation.choice != 'list_top' and invitation.target_name is None:
@@ -243,7 +243,7 @@ def handle_invitation_status(status: InvitationStatus, main: ModuleBase) -> Invi
case InvitationStatus.SELECT: case InvitationStatus.SELECT:
if main.appear(INVITE_CONFIRM): if main.appear(INVITE_CONFIRM):
return InvitationStatus.CONFIRM return InvitationStatus.CONFIRM
if main.config.LANG == 'jp' and main.appear(INVITE_IN_SECOND): if main.appear(INVITE_IN_SECOND):
return InvitationStatus.IN_SECOND return InvitationStatus.IN_SECOND
if main.appear(INVITE_SUBSTITUTE): if main.appear(INVITE_SUBSTITUTE):
return InvitationStatus.SUBSTITUTE return InvitationStatus.SUBSTITUTE
+1 -1
View File
@@ -31,7 +31,7 @@ class CafeUI(UI):
# generate result # generate result
return cv2.bitwise_and(image, image, mask=mask) return cv2.bitwise_and(image, image, mask=mask)
def get_clickable_buttons(self, similarity=0.8, offset=(45, 10)): def get_clickable_buttons(self, similarity=0.8, offset=(40, 10)):
image = self.extract_clickable_from_image(self.device.image) image = self.extract_clickable_from_image(self.device.image)
self.template.matched_button._button_offset = offset self.template.matched_button._button_offset = offset
self.template.load_offset(self.template) self.template.load_offset(self.template)
+6 -6
View File
@@ -14,16 +14,16 @@ CIRCLE = ButtonWrapper(
), ),
en=Button( en=Button(
file='./assets/en/circle/CIRCLE.png', file='./assets/en/circle/CIRCLE.png',
area=(197, 314, 229, 351), area=(196, 314, 235, 355),
search=(177, 294, 249, 371), search=(176, 294, 255, 375),
color=(173, 219, 236), color=(183, 221, 238),
button=(191, 298, 434, 457), button=(191, 298, 434, 457),
), ),
zht=Button( zht=Button(
file='./assets/zht/circle/CIRCLE.png', file='./assets/zht/circle/CIRCLE.png',
area=(197, 314, 229, 350), area=(196, 314, 235, 355),
search=(177, 294, 249, 370), search=(176, 294, 255, 375),
color=(171, 218, 236), color=(183, 221, 238),
button=(190, 296, 433, 457), button=(190, 296, 433, 457),
), ),
) )
+1 -1
View File
@@ -28,7 +28,7 @@ class Circle(UI):
self.click_with_interval(CIRCLE, 3) self.click_with_interval(CIRCLE, 3)
continue continue
else: else:
self.device.click(MAIN_GO_TO_CIRCLE) self.appear_then_click(MAIN_GO_TO_CIRCLE, 3)
def _handle_circle(self, status): def _handle_circle(self, status):
match status: match status:
+22 -8
View File
@@ -5,21 +5,35 @@ from module.base.button import Button, ButtonWrapper
OCR_AP = ButtonWrapper( OCR_AP = ButtonWrapper(
name='OCR_AP', name='OCR_AP',
jp=Button(
file='./assets/jp/item/data/OCR_AP.png',
area=(512, 13, 597, 32),
search=(492, 0, 617, 52),
color=(199, 204, 208),
button=(512, 13, 597, 32),
),
share=Button( share=Button(
file='./assets/share/item/data/OCR_AP.png', file='./assets/share/item/data/OCR_AP.png',
area=(560, 11, 667, 37), area=(535, 13, 660, 36),
search=(540, 0, 687, 57), search=(515, 0, 680, 56),
color=(211, 216, 219), color=(207, 215, 220),
button=(560, 11, 667, 37), button=(535, 13, 660, 36),
), ),
) )
OCR_DATA = ButtonWrapper( OCR_DATA = ButtonWrapper(
name='OCR_DATA', name='OCR_DATA',
jp=Button(
file='./assets/jp/item/data/OCR_DATA.png',
area=(716, 14, 1058, 33),
search=(696, 0, 1078, 53),
color=(211, 219, 224),
button=(716, 14, 1058, 33),
),
share=Button( share=Button(
file='./assets/share/item/data/OCR_DATA.png', file='./assets/share/item/data/OCR_DATA.png',
area=(768, 12, 1072, 37), area=(745, 11, 1069, 39),
search=(748, 0, 1092, 57), search=(725, 0, 1089, 59),
color=(212, 220, 224), color=(216, 223, 227),
button=(768, 12, 1072, 37), button=(745, 11, 1069, 39),
), ),
) )

Some files were not shown because too many files have changed in this diff Show More