Compare commits
9 Commits
7d93c956c9
...
island
| Author | SHA1 | Date | |
|---|---|---|---|
| 82c324b467 | |||
| 799ad6c039 | |||
| 6684d2ddd1 | |||
| 3654d8645c | |||
| bff45100fd | |||
| 0ddb322df2 | |||
| eaab92f687 | |||
| 62d510b49d | |||
| 33e1a7119f |
BIN
assets/cn/island/ISLAND_INFO_EXIT.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
assets/cn/island/PROJECT_ATAGO_CHECK.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
assets/cn/island/PROJECT_CHEN_HAI_CHECK.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/island/PROJECT_EXPLORER_CHECK.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/cn/island/PROJECT_FRIEDRICH_DER_GROBE_CHECK.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
assets/cn/island/PROJECT_HELENA_CHECK.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
assets/cn/island/PROJECT_HOOD_CHECK.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/cn/island/PROJECT_OCEANA_CHECK.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/cn/island/PROJECT_PRINZ_EUGEN_CHECK.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
assets/cn/island/PROJECT_TB_CHECK.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/cn/island/PROJECT_WILLIAM_D_PORTER_CHECK.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/cn/island/ROLE_SELECT_TITLE_AREA.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
assets/cn/island/ROLE_SORTING_CLICK.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
assets/cn/island/ROLE_SORT_ASC.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
assets/cn/island/ROLE_SORT_DESC.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
assets/cn/island/TEMPLATE_ATAGO.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/cn/island/TEMPLATE_CHEN_HAI.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
assets/cn/island/TEMPLATE_EXPLORER.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
assets/cn/island/TEMPLATE_FRIEDRICH_DER_GROBE.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
assets/cn/island/TEMPLATE_HELENA.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/cn/island/TEMPLATE_HOOD.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/cn/island/TEMPLATE_OCEANA.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
assets/cn/island/TEMPLATE_PRINZ_EUGEN.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/cn/island/TEMPLATE_TB.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
assets/cn/island/TEMPLATE_WILLIAM_D_PORTER.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
@@ -1598,9 +1598,7 @@
|
||||
"Option2": 0,
|
||||
"Character2": "manjuu",
|
||||
"Option3": 0,
|
||||
"Character3": "manjuu",
|
||||
"Option4": 0,
|
||||
"Character4": "manjuu"
|
||||
"Character3": "manjuu"
|
||||
},
|
||||
"Island4": {
|
||||
"Receive": false,
|
||||
@@ -1629,7 +1627,11 @@
|
||||
"Option1": 0,
|
||||
"Character1": "manjuu",
|
||||
"Option2": 0,
|
||||
"Character2": "manjuu"
|
||||
"Character2": "manjuu",
|
||||
"Option3": 0,
|
||||
"Character3": "manjuu",
|
||||
"Option4": 0,
|
||||
"Character4": "manjuu"
|
||||
},
|
||||
"Island7": {
|
||||
"Receive": false,
|
||||
@@ -1694,6 +1696,13 @@
|
||||
"Option2": 0,
|
||||
"Character2": "manjuu"
|
||||
},
|
||||
"Island16": {
|
||||
"Receive": false,
|
||||
"Option1": 0,
|
||||
"Character1": "manjuu",
|
||||
"Option2": 0,
|
||||
"Character2": "manjuu"
|
||||
},
|
||||
"Storage": {
|
||||
"Storage": {}
|
||||
}
|
||||
|
||||
@@ -510,6 +510,12 @@ _Island:
|
||||
IslandOption11: &IslandOption11
|
||||
value: 0
|
||||
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
|
||||
IslandOption12: &IslandOption12
|
||||
value: 0
|
||||
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]
|
||||
IslandOption16: &IslandOption16
|
||||
value: 0
|
||||
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]
|
||||
IslandCharacter: &IslandCharacter
|
||||
value: manjuu
|
||||
option:
|
||||
@@ -522,9 +528,19 @@ _Island:
|
||||
- akashi
|
||||
- ying_swei
|
||||
- chao_ho
|
||||
- william_d_porter
|
||||
- chen_hai
|
||||
- hood
|
||||
- prinz_eugen
|
||||
- tb
|
||||
- oceana
|
||||
- explorer
|
||||
- unicorn
|
||||
- cheshire
|
||||
- amagi_chan
|
||||
- helena
|
||||
- atago
|
||||
- friedrich_der_grobe
|
||||
Island1:
|
||||
Receive: false
|
||||
Option1: *IslandOption8
|
||||
@@ -554,6 +570,14 @@ Island2:
|
||||
option: [ 0, 4 ]
|
||||
Character4: *IslandCharacter
|
||||
Island3:
|
||||
Receive: false
|
||||
Option1: *IslandOption16
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption16
|
||||
Character2: *IslandCharacter
|
||||
Option3: *IslandOption16
|
||||
Character3: *IslandCharacter
|
||||
Island4:
|
||||
Receive: false
|
||||
Option1: *IslandOption6
|
||||
Character1: *IslandCharacter
|
||||
@@ -563,7 +587,7 @@ Island3:
|
||||
Character3: *IslandCharacter
|
||||
Option4: *IslandOption6
|
||||
Character4: *IslandCharacter
|
||||
Island4:
|
||||
Island5:
|
||||
Receive: false
|
||||
Option1: *IslandOption4
|
||||
Character1: *IslandCharacter
|
||||
@@ -573,22 +597,16 @@ Island4:
|
||||
Character3: *IslandCharacter
|
||||
Option4: *IslandOption4
|
||||
Character4: *IslandCharacter
|
||||
Island5:
|
||||
Receive: false
|
||||
Option1: *IslandOption9
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption9
|
||||
Character2: *IslandCharacter
|
||||
Option3: *IslandOption9
|
||||
Character3: *IslandCharacter
|
||||
Option4: *IslandOption9
|
||||
Character4: *IslandCharacter
|
||||
Island6:
|
||||
Receive: false
|
||||
Option1: *IslandOption7
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption7
|
||||
Character2: *IslandCharacter
|
||||
Option3: *IslandOption7
|
||||
Character3: *IslandCharacter
|
||||
Option4: *IslandOption7
|
||||
Character4: *IslandCharacter
|
||||
Island7:
|
||||
Receive: false
|
||||
Option1: *IslandOption9
|
||||
@@ -596,29 +614,29 @@ Island7:
|
||||
Option2: *IslandOption9
|
||||
Character2: *IslandCharacter
|
||||
Island8:
|
||||
Receive: false
|
||||
Option1: *IslandOption12
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption12
|
||||
Character2: *IslandCharacter
|
||||
Island9:
|
||||
Receive: false
|
||||
Option1: *IslandOption11
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption11
|
||||
Character2: *IslandCharacter
|
||||
Island9:
|
||||
Island10:
|
||||
Receive: false
|
||||
Option1: *IslandOption10
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption10
|
||||
Character2: *IslandCharacter
|
||||
Island11:
|
||||
Receive: false
|
||||
Option1: *IslandOption9
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption9
|
||||
Character2: *IslandCharacter
|
||||
Island10:
|
||||
Receive: false
|
||||
Option1: *IslandOption7
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption7
|
||||
Character2: *IslandCharacter
|
||||
Island11:
|
||||
Receive: false
|
||||
Option1: *IslandOption5
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption5
|
||||
Character2: *IslandCharacter
|
||||
Island12:
|
||||
Receive: false
|
||||
Option1: *IslandOption6
|
||||
@@ -626,18 +644,24 @@ Island12:
|
||||
Option2: *IslandOption6
|
||||
Character2: *IslandCharacter
|
||||
Island13:
|
||||
Receive: false
|
||||
Option1: *IslandOption6
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption6
|
||||
Character2: *IslandCharacter
|
||||
Island14:
|
||||
Receive: false
|
||||
Option1: *IslandOption4
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption4
|
||||
Character2: *IslandCharacter
|
||||
Island14:
|
||||
Island15:
|
||||
Receive: false
|
||||
Option1: *IslandOption9
|
||||
Character1: *IslandCharacter
|
||||
Option2: *IslandOption9
|
||||
Character2: *IslandCharacter
|
||||
Island15:
|
||||
Island16:
|
||||
Receive: false
|
||||
Option1: *IslandOption9
|
||||
Character1: *IslandCharacter
|
||||
|
||||
@@ -248,6 +248,7 @@ Reward:
|
||||
- Island13
|
||||
- Island14
|
||||
- Island15
|
||||
- Island16
|
||||
|
||||
# ==================== DailyMission ====================
|
||||
|
||||
|
||||
@@ -274,127 +274,136 @@ class GeneratedConfig:
|
||||
# Group `Island1`
|
||||
Island1_Receive = False
|
||||
Island1_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8
|
||||
Island1_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island1_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island1_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8
|
||||
Island1_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island1_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island1_Option3 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8
|
||||
Island1_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island1_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island1_Option4 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8
|
||||
Island1_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island1_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island2`
|
||||
Island2_Receive = False
|
||||
Island2_Option1 = 0 # 0, 1
|
||||
Island2_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island2_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island2_Option2 = 0 # 0, 2
|
||||
Island2_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island2_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island2_Option3 = 0 # 0, 3
|
||||
Island2_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island2_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island2_Option4 = 0 # 0, 4
|
||||
Island2_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island2_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island3`
|
||||
Island3_Receive = False
|
||||
Island3_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island3_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island3_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island3_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island3_Option3 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island3_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island3_Option4 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island3_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island3_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
|
||||
Island3_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island3_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
|
||||
Island3_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island3_Option3 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
|
||||
Island3_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island4`
|
||||
Island4_Receive = False
|
||||
Island4_Option1 = 0 # 0, 1, 2, 3, 4
|
||||
Island4_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island4_Option2 = 0 # 0, 1, 2, 3, 4
|
||||
Island4_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island4_Option3 = 0 # 0, 1, 2, 3, 4
|
||||
Island4_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island4_Option4 = 0 # 0, 1, 2, 3, 4
|
||||
Island4_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island4_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island4_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island4_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island4_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island4_Option3 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island4_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island4_Option4 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island4_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island5`
|
||||
Island5_Receive = False
|
||||
Island5_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island5_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island5_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island5_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island5_Option3 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island5_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island5_Option4 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island5_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island5_Option1 = 0 # 0, 1, 2, 3, 4
|
||||
Island5_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island5_Option2 = 0 # 0, 1, 2, 3, 4
|
||||
Island5_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island5_Option3 = 0 # 0, 1, 2, 3, 4
|
||||
Island5_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island5_Option4 = 0 # 0, 1, 2, 3, 4
|
||||
Island5_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island6`
|
||||
Island6_Receive = False
|
||||
Island6_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
||||
Island6_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island6_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island6_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
||||
Island6_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island6_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island6_Option3 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
||||
Island6_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island6_Option4 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
||||
Island6_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island7`
|
||||
Island7_Receive = False
|
||||
Island7_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island7_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island7_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island7_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island7_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island7_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island8`
|
||||
Island8_Receive = False
|
||||
Island8_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
||||
Island8_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island8_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
||||
Island8_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island8_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
|
||||
Island8_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island8_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
|
||||
Island8_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island9`
|
||||
Island9_Receive = False
|
||||
Island9_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island9_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island9_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island9_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island9_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
||||
Island9_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island9_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
||||
Island9_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island10`
|
||||
Island10_Receive = False
|
||||
Island10_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
||||
Island10_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island10_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
||||
Island10_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island10_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
|
||||
Island10_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island10_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
|
||||
Island10_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island11`
|
||||
Island11_Receive = False
|
||||
Island11_Option1 = 0 # 0, 1, 2, 3, 4, 5
|
||||
Island11_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island11_Option2 = 0 # 0, 1, 2, 3, 4, 5
|
||||
Island11_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island11_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island11_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island11_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island11_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island12`
|
||||
Island12_Receive = False
|
||||
Island12_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island12_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island12_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island12_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island12_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island12_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island13`
|
||||
Island13_Receive = False
|
||||
Island13_Option1 = 0 # 0, 1, 2, 3, 4
|
||||
Island13_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island13_Option2 = 0 # 0, 1, 2, 3, 4
|
||||
Island13_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island13_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island13_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island13_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6
|
||||
Island13_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island14`
|
||||
Island14_Receive = False
|
||||
Island14_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island14_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island14_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island14_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island14_Option1 = 0 # 0, 1, 2, 3, 4
|
||||
Island14_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island14_Option2 = 0 # 0, 1, 2, 3, 4
|
||||
Island14_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island15`
|
||||
Island15_Receive = False
|
||||
Island15_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island15_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island15_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island15_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island15_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
||||
Island15_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `Island16`
|
||||
Island16_Receive = False
|
||||
Island16_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island16_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
Island16_Option2 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
Island16_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, william_d_porter, chen_hai, hood, prinz_eugen, tb, oceana, explorer, unicorn, cheshire, amagi_chan, helena, atago, friedrich_der_grobe
|
||||
|
||||
# Group `GeneralShop`
|
||||
GeneralShop_UseGems = False
|
||||
|
||||
@@ -7,6 +7,7 @@ from module.base.template import Template
|
||||
GET_ITEMS_ISLAND = Button(area={'cn': (588, 260, 692, 289), 'en': (588, 260, 692, 289), 'jp': (588, 260, 692, 289), 'tw': (588, 260, 692, 289)}, color={'cn': (178, 180, 180), 'en': (149, 151, 152), 'jp': (178, 180, 180), 'tw': (178, 180, 180)}, button={'cn': (0, 263, 129, 555), 'en': (588, 260, 692, 289), 'jp': (0, 263, 129, 555), 'tw': (0, 263, 129, 555)}, file={'cn': './assets/cn/island/GET_ITEMS_ISLAND.png', 'en': './assets/en/island/GET_ITEMS_ISLAND.png', 'jp': './assets/cn/island/GET_ITEMS_ISLAND.png', 'tw': './assets/cn/island/GET_ITEMS_ISLAND.png'})
|
||||
ISLAND_AMOUNT_MAX = Button(area={'cn': (960, 382, 988, 405), 'en': (960, 382, 988, 405), 'jp': (960, 382, 988, 405), 'tw': (960, 382, 988, 405)}, color={'cn': (72, 72, 78), 'en': (78, 78, 84), 'jp': (72, 72, 78), 'tw': (72, 72, 78)}, button={'cn': (960, 382, 988, 405), 'en': (960, 382, 988, 405), 'jp': (960, 382, 988, 405), 'tw': (960, 382, 988, 405)}, file={'cn': './assets/cn/island/ISLAND_AMOUNT_MAX.png', 'en': './assets/en/island/ISLAND_AMOUNT_MAX.png', 'jp': './assets/cn/island/ISLAND_AMOUNT_MAX.png', 'tw': './assets/cn/island/ISLAND_AMOUNT_MAX.png'})
|
||||
ISLAND_CLICK_SAFE_AREA = Button(area={'cn': (0, 263, 129, 555), 'en': (0, 263, 129, 555), 'jp': (0, 263, 129, 555), 'tw': (0, 263, 129, 555)}, color={'cn': (50, 52, 56), 'en': (50, 52, 56), 'jp': (50, 52, 56), 'tw': (50, 52, 56)}, button={'cn': (0, 263, 129, 555), 'en': (0, 263, 129, 555), 'jp': (0, 263, 129, 555), 'tw': (0, 263, 129, 555)}, file={'cn': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'en': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'jp': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png', 'tw': './assets/cn/island/ISLAND_CLICK_SAFE_AREA.png'})
|
||||
ISLAND_INFO_EXIT = Button(area={'cn': (907, 160, 933, 187), 'en': (907, 160, 933, 187), 'jp': (907, 160, 933, 187), 'tw': (907, 160, 933, 187)}, color={'cn': (96, 96, 96), 'en': (96, 96, 96), 'jp': (96, 96, 96), 'tw': (96, 96, 96)}, button={'cn': (907, 160, 933, 187), 'en': (907, 160, 933, 187), 'jp': (907, 160, 933, 187), 'tw': (907, 160, 933, 187)}, file={'cn': './assets/cn/island/ISLAND_INFO_EXIT.png', 'en': './assets/cn/island/ISLAND_INFO_EXIT.png', 'jp': './assets/cn/island/ISLAND_INFO_EXIT.png', 'tw': './assets/cn/island/ISLAND_INFO_EXIT.png'})
|
||||
ISLAND_MANAGEMENT = Button(area={'cn': (1077, 493, 1119, 533), 'en': (1077, 493, 1119, 533), 'jp': (1077, 493, 1119, 533), 'tw': (1077, 493, 1119, 533)}, color={'cn': (187, 224, 135), 'en': (187, 224, 135), 'jp': (187, 224, 135), 'tw': (187, 224, 135)}, button={'cn': (1077, 493, 1119, 533), 'en': (1077, 493, 1119, 533), 'jp': (1077, 493, 1119, 533), 'tw': (1077, 493, 1119, 533)}, file={'cn': './assets/cn/island/ISLAND_MANAGEMENT.png', 'en': './assets/cn/island/ISLAND_MANAGEMENT.png', 'jp': './assets/cn/island/ISLAND_MANAGEMENT.png', 'tw': './assets/cn/island/ISLAND_MANAGEMENT.png'})
|
||||
ISLAND_MANAGEMENT_CHECK = Button(area={'cn': (123, 21, 304, 47), 'en': (123, 21, 304, 47), 'jp': (123, 21, 304, 47), 'tw': (123, 21, 304, 47)}, color={'cn': (77, 83, 96), 'en': (90, 96, 108), 'jp': (77, 83, 96), 'tw': (77, 83, 96)}, button={'cn': (123, 21, 304, 47), 'en': (123, 21, 304, 47), 'jp': (123, 21, 304, 47), 'tw': (123, 21, 304, 47)}, file={'cn': './assets/cn/island/ISLAND_MANAGEMENT_CHECK.png', 'en': './assets/en/island/ISLAND_MANAGEMENT_CHECK.png', 'jp': './assets/cn/island/ISLAND_MANAGEMENT_CHECK.png', 'tw': './assets/cn/island/ISLAND_MANAGEMENT_CHECK.png'})
|
||||
ISLAND_MANAGEMENT_LOCKED = Button(area={'cn': (1092, 504, 1105, 520), 'en': (1092, 504, 1105, 520), 'jp': (1092, 504, 1105, 520), 'tw': (1092, 504, 1105, 520)}, color={'cn': (197, 206, 195), 'en': (197, 206, 195), 'jp': (197, 206, 195), 'tw': (197, 206, 195)}, button={'cn': (1092, 504, 1105, 520), 'en': (1092, 504, 1105, 520), 'jp': (1092, 504, 1105, 520), 'tw': (1092, 504, 1105, 520)}, file={'cn': './assets/cn/island/ISLAND_MANAGEMENT_LOCKED.png', 'en': './assets/cn/island/ISLAND_MANAGEMENT_LOCKED.png', 'jp': './assets/cn/island/ISLAND_MANAGEMENT_LOCKED.png', 'tw': './assets/cn/island/ISLAND_MANAGEMENT_LOCKED.png'})
|
||||
@@ -22,36 +23,58 @@ OCR_TRANSPORT_TIME_REMAIN = Button(area={'cn': (753, 210, 842, 230), 'en': (753,
|
||||
PRODUCT_MANJUU_CHECK = Button(area={'cn': (535, 107, 575, 138), 'en': (535, 107, 575, 138), 'jp': (535, 107, 575, 138), 'tw': (535, 107, 575, 138)}, color={'cn': (199, 181, 124), 'en': (199, 181, 124), 'jp': (199, 181, 124), 'tw': (199, 181, 124)}, button={'cn': (535, 107, 575, 138), 'en': (535, 107, 575, 138), 'jp': (535, 107, 575, 138), 'tw': (535, 107, 575, 138)}, file={'cn': './assets/cn/island/PRODUCT_MANJUU_CHECK.png', 'en': './assets/cn/island/PRODUCT_MANJUU_CHECK.png', 'jp': './assets/cn/island/PRODUCT_MANJUU_CHECK.png', 'tw': './assets/cn/island/PRODUCT_MANJUU_CHECK.png'})
|
||||
PROJECT_AKASHI_CHECK = Button(area={'cn': (1157, 176, 1217, 209), 'en': (1157, 176, 1217, 209), 'jp': (1157, 176, 1217, 209), 'tw': (1157, 176, 1217, 209)}, color={'cn': (173, 183, 168), 'en': (173, 183, 168), 'jp': (173, 183, 168), 'tw': (173, 183, 168)}, button={'cn': (1157, 176, 1217, 209), 'en': (1157, 176, 1217, 209), 'jp': (1157, 176, 1217, 209), 'tw': (1157, 176, 1217, 209)}, file={'cn': './assets/cn/island/PROJECT_AKASHI_CHECK.png', 'en': './assets/cn/island/PROJECT_AKASHI_CHECK.png', 'jp': './assets/cn/island/PROJECT_AKASHI_CHECK.png', 'tw': './assets/cn/island/PROJECT_AKASHI_CHECK.png'})
|
||||
PROJECT_AMAGI_CHAN_CHECK = Button(area={'cn': (1152, 167, 1229, 215), 'en': (1152, 167, 1229, 215), 'jp': (1152, 167, 1229, 215), 'tw': (1152, 167, 1229, 215)}, color={'cn': (136, 114, 106), 'en': (136, 114, 106), 'jp': (136, 114, 106), 'tw': (136, 114, 106)}, button={'cn': (1152, 167, 1229, 215), 'en': (1152, 167, 1229, 215), 'jp': (1152, 167, 1229, 215), 'tw': (1152, 167, 1229, 215)}, file={'cn': './assets/cn/island/PROJECT_AMAGI_CHAN_CHECK.png', 'en': './assets/cn/island/PROJECT_AMAGI_CHAN_CHECK.png', 'jp': './assets/cn/island/PROJECT_AMAGI_CHAN_CHECK.png', 'tw': './assets/cn/island/PROJECT_AMAGI_CHAN_CHECK.png'})
|
||||
PROJECT_ATAGO_CHECK = Button(area={'cn': (1161, 180, 1217, 211), 'en': (1161, 180, 1217, 211), 'jp': (1161, 180, 1217, 211), 'tw': (1161, 180, 1217, 211)}, color={'cn': (175, 156, 144), 'en': (175, 156, 144), 'jp': (175, 156, 144), 'tw': (175, 156, 144)}, button={'cn': (1161, 180, 1217, 211), 'en': (1161, 180, 1217, 211), 'jp': (1161, 180, 1217, 211), 'tw': (1161, 180, 1217, 211)}, file={'cn': './assets/cn/island/PROJECT_ATAGO_CHECK.png', 'en': './assets/cn/island/PROJECT_ATAGO_CHECK.png', 'jp': './assets/cn/island/PROJECT_ATAGO_CHECK.png', 'tw': './assets/cn/island/PROJECT_ATAGO_CHECK.png'})
|
||||
PROJECT_CHAO_HO_CHECK = Button(area={'cn': (1158, 174, 1218, 204), 'en': (1158, 174, 1218, 204), 'jp': (1158, 174, 1218, 204), 'tw': (1158, 174, 1218, 204)}, color={'cn': (182, 145, 150), 'en': (182, 145, 150), 'jp': (182, 145, 150), 'tw': (182, 145, 150)}, button={'cn': (1158, 174, 1218, 204), 'en': (1158, 174, 1218, 204), 'jp': (1158, 174, 1218, 204), 'tw': (1158, 174, 1218, 204)}, file={'cn': './assets/cn/island/PROJECT_CHAO_HO_CHECK.png', 'en': './assets/cn/island/PROJECT_CHAO_HO_CHECK.png', 'jp': './assets/cn/island/PROJECT_CHAO_HO_CHECK.png', 'tw': './assets/cn/island/PROJECT_CHAO_HO_CHECK.png'})
|
||||
PROJECT_CHEN_HAI_CHECK = Button(area={'cn': (1162, 175, 1215, 206), 'en': (1162, 175, 1215, 206), 'jp': (1162, 175, 1215, 206), 'tw': (1162, 175, 1215, 206)}, color={'cn': (145, 134, 130), 'en': (145, 134, 130), 'jp': (145, 134, 130), 'tw': (145, 134, 130)}, button={'cn': (1162, 175, 1215, 206), 'en': (1162, 175, 1215, 206), 'jp': (1162, 175, 1215, 206), 'tw': (1162, 175, 1215, 206)}, file={'cn': './assets/cn/island/PROJECT_CHEN_HAI_CHECK.png', 'en': './assets/cn/island/PROJECT_CHEN_HAI_CHECK.png', 'jp': './assets/cn/island/PROJECT_CHEN_HAI_CHECK.png', 'tw': './assets/cn/island/PROJECT_CHEN_HAI_CHECK.png'})
|
||||
PROJECT_CHESHIRE_CHECK = Button(area={'cn': (1161, 163, 1224, 207), 'en': (1161, 163, 1224, 207), 'jp': (1161, 163, 1224, 207), 'tw': (1161, 163, 1224, 207)}, color={'cn': (156, 150, 159), 'en': (156, 150, 159), 'jp': (156, 150, 159), 'tw': (156, 150, 159)}, button={'cn': (1161, 163, 1224, 207), 'en': (1161, 163, 1224, 207), 'jp': (1161, 163, 1224, 207), 'tw': (1161, 163, 1224, 207)}, file={'cn': './assets/cn/island/PROJECT_CHESHIRE_CHECK.png', 'en': './assets/cn/island/PROJECT_CHESHIRE_CHECK.png', 'jp': './assets/cn/island/PROJECT_CHESHIRE_CHECK.png', 'tw': './assets/cn/island/PROJECT_CHESHIRE_CHECK.png'})
|
||||
PROJECT_COMPLETE = Button(area={'cn': (616, 431, 670, 444), 'en': (616, 431, 670, 444), 'jp': (616, 431, 670, 444), 'tw': (616, 431, 670, 444)}, color={'cn': (158, 222, 255), 'en': (158, 222, 255), 'jp': (158, 222, 255), 'tw': (158, 222, 255)}, button={'cn': (580, 533, 762, 584), 'en': (580, 533, 762, 584), 'jp': (580, 533, 762, 584), 'tw': (580, 533, 762, 584)}, file={'cn': './assets/cn/island/PROJECT_COMPLETE.png', 'en': './assets/cn/island/PROJECT_COMPLETE.png', 'jp': './assets/cn/island/PROJECT_COMPLETE.png', 'tw': './assets/cn/island/PROJECT_COMPLETE.png'})
|
||||
PROJECT_EXPLORER_CHECK = Button(area={'cn': (1151, 168, 1223, 220), 'en': (1151, 168, 1223, 220), 'jp': (1151, 168, 1223, 220), 'tw': (1151, 168, 1223, 220)}, color={'cn': (200, 192, 189), 'en': (200, 192, 189), 'jp': (200, 192, 189), 'tw': (200, 192, 189)}, button={'cn': (1151, 168, 1223, 220), 'en': (1151, 168, 1223, 220), 'jp': (1151, 168, 1223, 220), 'tw': (1151, 168, 1223, 220)}, file={'cn': './assets/cn/island/PROJECT_EXPLORER_CHECK.png', 'en': './assets/cn/island/PROJECT_EXPLORER_CHECK.png', 'jp': './assets/cn/island/PROJECT_EXPLORER_CHECK.png', 'tw': './assets/cn/island/PROJECT_EXPLORER_CHECK.png'})
|
||||
PROJECT_FRIEDRICH_DER_GROBE_CHECK = Button(area={'cn': (1162, 177, 1217, 215), 'en': (1162, 177, 1217, 215), 'jp': (1162, 177, 1217, 215), 'tw': (1162, 177, 1217, 215)}, color={'cn': (106, 102, 100), 'en': (106, 102, 100), 'jp': (106, 102, 100), 'tw': (106, 102, 100)}, button={'cn': (1162, 177, 1217, 215), 'en': (1162, 177, 1217, 215), 'jp': (1162, 177, 1217, 215), 'tw': (1162, 177, 1217, 215)}, file={'cn': './assets/cn/island/PROJECT_FRIEDRICH_DER_GROBE_CHECK.png', 'en': './assets/cn/island/PROJECT_FRIEDRICH_DER_GROBE_CHECK.png', 'jp': './assets/cn/island/PROJECT_FRIEDRICH_DER_GROBE_CHECK.png', 'tw': './assets/cn/island/PROJECT_FRIEDRICH_DER_GROBE_CHECK.png'})
|
||||
PROJECT_HELENA_CHECK = Button(area={'cn': (1164, 175, 1217, 209), 'en': (1164, 175, 1217, 209), 'jp': (1164, 175, 1217, 209), 'tw': (1164, 175, 1217, 209)}, color={'cn': (184, 178, 195), 'en': (184, 178, 195), 'jp': (184, 178, 195), 'tw': (184, 178, 195)}, button={'cn': (1164, 175, 1217, 209), 'en': (1164, 175, 1217, 209), 'jp': (1164, 175, 1217, 209), 'tw': (1164, 175, 1217, 209)}, file={'cn': './assets/cn/island/PROJECT_HELENA_CHECK.png', 'en': './assets/cn/island/PROJECT_HELENA_CHECK.png', 'jp': './assets/cn/island/PROJECT_HELENA_CHECK.png', 'tw': './assets/cn/island/PROJECT_HELENA_CHECK.png'})
|
||||
PROJECT_HOOD_CHECK = Button(area={'cn': (1152, 167, 1232, 218), 'en': (1152, 167, 1232, 218), 'jp': (1152, 167, 1232, 218), 'tw': (1152, 167, 1232, 218)}, color={'cn': (203, 185, 173), 'en': (203, 185, 173), 'jp': (203, 185, 173), 'tw': (203, 185, 173)}, button={'cn': (1152, 167, 1232, 218), 'en': (1152, 167, 1232, 218), 'jp': (1152, 167, 1232, 218), 'tw': (1152, 167, 1232, 218)}, file={'cn': './assets/cn/island/PROJECT_HOOD_CHECK.png', 'en': './assets/cn/island/PROJECT_HOOD_CHECK.png', 'jp': './assets/cn/island/PROJECT_HOOD_CHECK.png', 'tw': './assets/cn/island/PROJECT_HOOD_CHECK.png'})
|
||||
PROJECT_LEMALIN_CHECK = Button(area={'cn': (1165, 173, 1232, 218), 'en': (1165, 173, 1232, 218), 'jp': (1165, 173, 1232, 218), 'tw': (1165, 173, 1232, 218)}, color={'cn': (225, 217, 221), 'en': (225, 217, 221), 'jp': (225, 217, 221), 'tw': (225, 217, 221)}, button={'cn': (1165, 173, 1232, 218), 'en': (1165, 173, 1232, 218), 'jp': (1165, 173, 1232, 218), 'tw': (1165, 173, 1232, 218)}, file={'cn': './assets/cn/island/PROJECT_LEMALIN_CHECK.png', 'en': './assets/cn/island/PROJECT_LEMALIN_CHECK.png', 'jp': './assets/cn/island/PROJECT_LEMALIN_CHECK.png', 'tw': './assets/cn/island/PROJECT_LEMALIN_CHECK.png'})
|
||||
PROJECT_MANJUU_CHECK = Button(area={'cn': (1162, 182, 1214, 205), 'en': (1162, 182, 1214, 205), 'jp': (1162, 182, 1214, 205), 'tw': (1162, 182, 1214, 205)}, color={'cn': (221, 192, 128), 'en': (221, 192, 128), 'jp': (221, 192, 128), 'tw': (221, 192, 128)}, button={'cn': (1162, 182, 1214, 205), 'en': (1162, 182, 1214, 205), 'jp': (1162, 182, 1214, 205), 'tw': (1162, 182, 1214, 205)}, file={'cn': './assets/cn/island/PROJECT_MANJUU_CHECK.png', 'en': './assets/cn/island/PROJECT_MANJUU_CHECK.png', 'jp': './assets/cn/island/PROJECT_MANJUU_CHECK.png', 'tw': './assets/cn/island/PROJECT_MANJUU_CHECK.png'})
|
||||
PROJECT_NEW_JERSEY_CHECK = Button(area={'cn': (1158, 170, 1223, 214), 'en': (1158, 170, 1223, 214), 'jp': (1158, 170, 1223, 214), 'tw': (1158, 170, 1223, 214)}, color={'cn': (138, 136, 159), 'en': (138, 136, 159), 'jp': (138, 136, 159), 'tw': (138, 136, 159)}, button={'cn': (1158, 170, 1223, 214), 'en': (1158, 170, 1223, 214), 'jp': (1158, 170, 1223, 214), 'tw': (1158, 170, 1223, 214)}, file={'cn': './assets/cn/island/PROJECT_NEW_JERSEY_CHECK.png', 'en': './assets/cn/island/PROJECT_NEW_JERSEY_CHECK.png', 'jp': './assets/cn/island/PROJECT_NEW_JERSEY_CHECK.png', 'tw': './assets/cn/island/PROJECT_NEW_JERSEY_CHECK.png'})
|
||||
PROJECT_OCEANA_CHECK = Button(area={'cn': (1148, 167, 1221, 221), 'en': (1148, 167, 1221, 221), 'jp': (1148, 167, 1221, 221), 'tw': (1148, 167, 1221, 221)}, color={'cn': (215, 208, 216), 'en': (215, 208, 216), 'jp': (215, 208, 216), 'tw': (215, 208, 216)}, button={'cn': (1148, 167, 1221, 221), 'en': (1148, 167, 1221, 221), 'jp': (1148, 167, 1221, 221), 'tw': (1148, 167, 1221, 221)}, file={'cn': './assets/cn/island/PROJECT_OCEANA_CHECK.png', 'en': './assets/cn/island/PROJECT_OCEANA_CHECK.png', 'jp': './assets/cn/island/PROJECT_OCEANA_CHECK.png', 'tw': './assets/cn/island/PROJECT_OCEANA_CHECK.png'})
|
||||
PROJECT_PRINZ_EUGEN_CHECK = Button(area={'cn': (1150, 169, 1235, 219), 'en': (1150, 169, 1235, 219), 'jp': (1150, 169, 1235, 219), 'tw': (1150, 169, 1235, 219)}, color={'cn': (200, 180, 177), 'en': (200, 180, 177), 'jp': (200, 180, 177), 'tw': (200, 180, 177)}, button={'cn': (1150, 169, 1235, 219), 'en': (1150, 169, 1235, 219), 'jp': (1150, 169, 1235, 219), 'tw': (1150, 169, 1235, 219)}, file={'cn': './assets/cn/island/PROJECT_PRINZ_EUGEN_CHECK.png', 'en': './assets/cn/island/PROJECT_PRINZ_EUGEN_CHECK.png', 'jp': './assets/cn/island/PROJECT_PRINZ_EUGEN_CHECK.png', 'tw': './assets/cn/island/PROJECT_PRINZ_EUGEN_CHECK.png'})
|
||||
PROJECT_SARATOGA_CHECK = Button(area={'cn': (1162, 166, 1223, 219), 'en': (1162, 166, 1223, 219), 'jp': (1162, 166, 1223, 219), 'tw': (1162, 166, 1223, 219)}, color={'cn': (212, 177, 178), 'en': (212, 177, 178), 'jp': (212, 177, 178), 'tw': (212, 177, 178)}, button={'cn': (1162, 166, 1223, 219), 'en': (1162, 166, 1223, 219), 'jp': (1162, 166, 1223, 219), 'tw': (1162, 166, 1223, 219)}, file={'cn': './assets/cn/island/PROJECT_SARATOGA_CHECK.png', 'en': './assets/cn/island/PROJECT_SARATOGA_CHECK.png', 'jp': './assets/cn/island/PROJECT_SARATOGA_CHECK.png', 'tw': './assets/cn/island/PROJECT_SARATOGA_CHECK.png'})
|
||||
PROJECT_SHIMAKAZE_CHECK = Button(area={'cn': (1163, 168, 1212, 218), 'en': (1163, 168, 1212, 218), 'jp': (1163, 168, 1212, 218), 'tw': (1163, 168, 1212, 218)}, color={'cn': (218, 199, 196), 'en': (218, 199, 196), 'jp': (218, 199, 196), 'tw': (218, 199, 196)}, button={'cn': (1163, 168, 1212, 218), 'en': (1163, 168, 1212, 218), 'jp': (1163, 168, 1212, 218), 'tw': (1163, 168, 1212, 218)}, file={'cn': './assets/cn/island/PROJECT_SHIMAKAZE_CHECK.png', 'en': './assets/cn/island/PROJECT_SHIMAKAZE_CHECK.png', 'jp': './assets/cn/island/PROJECT_SHIMAKAZE_CHECK.png', 'tw': './assets/cn/island/PROJECT_SHIMAKAZE_CHECK.png'})
|
||||
PROJECT_START = Button(area={'cn': (686, 610, 706, 630), 'en': (609, 610, 629, 630), 'jp': (686, 610, 706, 630), 'tw': (686, 610, 706, 630)}, color={'cn': (129, 213, 255), 'en': (128, 212, 254), 'jp': (129, 213, 255), 'tw': (129, 213, 255)}, button={'cn': (494, 599, 1087, 642), 'en': (609, 610, 629, 630), 'jp': (494, 599, 1087, 642), 'tw': (494, 599, 1087, 642)}, file={'cn': './assets/cn/island/PROJECT_START.png', 'en': './assets/en/island/PROJECT_START.png', 'jp': './assets/cn/island/PROJECT_START.png', 'tw': './assets/cn/island/PROJECT_START.png'})
|
||||
PROJECT_TASHKENT_CHECK = Button(area={'cn': (1164, 176, 1219, 213), 'en': (1164, 176, 1219, 213), 'jp': (1164, 176, 1219, 213), 'tw': (1164, 176, 1219, 213)}, color={'cn': (176, 146, 173), 'en': (176, 146, 173), 'jp': (176, 146, 173), 'tw': (176, 146, 173)}, button={'cn': (1164, 176, 1219, 213), 'en': (1164, 176, 1219, 213), 'jp': (1164, 176, 1219, 213), 'tw': (1164, 176, 1219, 213)}, file={'cn': './assets/cn/island/PROJECT_TASHKENT_CHECK.png', 'en': './assets/cn/island/PROJECT_TASHKENT_CHECK.png', 'jp': './assets/cn/island/PROJECT_TASHKENT_CHECK.png', 'tw': './assets/cn/island/PROJECT_TASHKENT_CHECK.png'})
|
||||
PROJECT_TB_CHECK = Button(area={'cn': (1148, 161, 1230, 218), 'en': (1148, 161, 1230, 218), 'jp': (1148, 161, 1230, 218), 'tw': (1148, 161, 1230, 218)}, color={'cn': (200, 207, 216), 'en': (200, 207, 216), 'jp': (200, 207, 216), 'tw': (200, 207, 216)}, button={'cn': (1148, 161, 1230, 218), 'en': (1148, 161, 1230, 218), 'jp': (1148, 161, 1230, 218), 'tw': (1148, 161, 1230, 218)}, file={'cn': './assets/cn/island/PROJECT_TB_CHECK.png', 'en': './assets/cn/island/PROJECT_TB_CHECK.png', 'jp': './assets/cn/island/PROJECT_TB_CHECK.png', 'tw': './assets/cn/island/PROJECT_TB_CHECK.png'})
|
||||
PROJECT_UNICORN_CHECK = Button(area={'cn': (1156, 167, 1224, 209), 'en': (1156, 167, 1224, 209), 'jp': (1156, 167, 1224, 209), 'tw': (1156, 167, 1224, 209)}, color={'cn': (199, 184, 218), 'en': (199, 184, 218), 'jp': (199, 184, 218), 'tw': (199, 184, 218)}, button={'cn': (1156, 167, 1224, 209), 'en': (1156, 167, 1224, 209), 'jp': (1156, 167, 1224, 209), 'tw': (1156, 167, 1224, 209)}, file={'cn': './assets/cn/island/PROJECT_UNICORN_CHECK.png', 'en': './assets/cn/island/PROJECT_UNICORN_CHECK.png', 'jp': './assets/cn/island/PROJECT_UNICORN_CHECK.png', 'tw': './assets/cn/island/PROJECT_UNICORN_CHECK.png'})
|
||||
PROJECT_WILLIAM_D_PORTER_CHECK = Button(area={'cn': (1152, 176, 1218, 220), 'en': (1152, 176, 1218, 220), 'jp': (1152, 176, 1218, 220), 'tw': (1152, 176, 1218, 220)}, color={'cn': (210, 179, 166), 'en': (210, 179, 166), 'jp': (210, 179, 166), 'tw': (210, 179, 166)}, button={'cn': (1152, 176, 1218, 220), 'en': (1152, 176, 1218, 220), 'jp': (1152, 176, 1218, 220), 'tw': (1152, 176, 1218, 220)}, file={'cn': './assets/cn/island/PROJECT_WILLIAM_D_PORTER_CHECK.png', 'en': './assets/cn/island/PROJECT_WILLIAM_D_PORTER_CHECK.png', 'jp': './assets/cn/island/PROJECT_WILLIAM_D_PORTER_CHECK.png', 'tw': './assets/cn/island/PROJECT_WILLIAM_D_PORTER_CHECK.png'})
|
||||
PROJECT_YING_SWEI_CHECK = Button(area={'cn': (1161, 177, 1217, 210), 'en': (1161, 177, 1217, 210), 'jp': (1161, 177, 1217, 210), 'tw': (1161, 177, 1217, 210)}, color={'cn': (171, 157, 165), 'en': (171, 157, 165), 'jp': (171, 157, 165), 'tw': (171, 157, 165)}, button={'cn': (1161, 177, 1217, 210), 'en': (1161, 177, 1217, 210), 'jp': (1161, 177, 1217, 210), 'tw': (1161, 177, 1217, 210)}, file={'cn': './assets/cn/island/PROJECT_YING_SWEI_CHECK.png', 'en': './assets/cn/island/PROJECT_YING_SWEI_CHECK.png', 'jp': './assets/cn/island/PROJECT_YING_SWEI_CHECK.png', 'tw': './assets/cn/island/PROJECT_YING_SWEI_CHECK.png'})
|
||||
ROLE_SELECT_CONFIRM = Button(area={'cn': (1068, 597, 1118, 621), 'en': (1068, 597, 1118, 621), 'jp': (1068, 597, 1118, 621), 'tw': (1068, 597, 1118, 621)}, color={'cn': (109, 206, 255), 'en': (125, 211, 255), 'jp': (109, 206, 255), 'tw': (109, 206, 255)}, button={'cn': (948, 585, 1239, 632), 'en': (1068, 597, 1118, 621), 'jp': (948, 585, 1239, 632), 'tw': (948, 585, 1239, 632)}, file={'cn': './assets/cn/island/ROLE_SELECT_CONFIRM.png', 'en': './assets/en/island/ROLE_SELECT_CONFIRM.png', 'jp': './assets/cn/island/ROLE_SELECT_CONFIRM.png', 'tw': './assets/cn/island/ROLE_SELECT_CONFIRM.png'})
|
||||
ROLE_SELECT_ENTER = Button(area={'cn': (579, 314, 700, 350), 'en': (578, 313, 701, 351), 'jp': (579, 314, 700, 350), 'tw': (579, 314, 700, 350)}, color={'cn': (239, 238, 237), 'en': (237, 237, 236), 'jp': (239, 238, 237), 'tw': (239, 238, 237)}, button={'cn': (534, 206, 747, 483), 'en': (578, 313, 701, 351), 'jp': (534, 206, 747, 483), 'tw': (534, 206, 747, 483)}, file={'cn': './assets/cn/island/ROLE_SELECT_ENTER.png', 'en': './assets/en/island/ROLE_SELECT_ENTER.png', 'jp': './assets/cn/island/ROLE_SELECT_ENTER.png', 'tw': './assets/cn/island/ROLE_SELECT_ENTER.png'})
|
||||
ROLE_SELECT_TITLE_AREA = Button(area={'cn': (518, 147, 763, 200), 'en': (518, 147, 763, 200), 'jp': (518, 147, 763, 200), 'tw': (518, 147, 763, 200)}, color={'cn': (80, 197, 255), 'en': (80, 197, 255), 'jp': (80, 197, 255), 'tw': (80, 197, 255)}, button={'cn': (518, 147, 763, 200), 'en': (518, 147, 763, 200), 'jp': (518, 147, 763, 200), 'tw': (518, 147, 763, 200)}, file={'cn': './assets/cn/island/ROLE_SELECT_TITLE_AREA.png', 'en': './assets/cn/island/ROLE_SELECT_TITLE_AREA.png', 'jp': './assets/cn/island/ROLE_SELECT_TITLE_AREA.png', 'tw': './assets/cn/island/ROLE_SELECT_TITLE_AREA.png'})
|
||||
ROLE_SORTING_CLICK = Button(area={'cn': (109, 606, 272, 644), 'en': (109, 606, 272, 644), 'jp': (109, 606, 272, 644), 'tw': (109, 606, 272, 644)}, color={'cn': (101, 102, 101), 'en': (101, 102, 101), 'jp': (101, 102, 101), 'tw': (101, 102, 101)}, button={'cn': (109, 606, 272, 644), 'en': (109, 606, 272, 644), 'jp': (109, 606, 272, 644), 'tw': (109, 606, 272, 644)}, file={'cn': './assets/cn/island/ROLE_SORTING_CLICK.png', 'en': './assets/cn/island/ROLE_SORTING_CLICK.png', 'jp': './assets/cn/island/ROLE_SORTING_CLICK.png', 'tw': './assets/cn/island/ROLE_SORTING_CLICK.png'})
|
||||
ROLE_SORT_ASC = Button(area={'cn': (143, 619, 150, 623), 'en': (143, 619, 150, 623), 'jp': (143, 619, 150, 623), 'tw': (143, 619, 150, 623)}, color={'cn': (244, 244, 244), 'en': (244, 244, 244), 'jp': (244, 244, 244), 'tw': (244, 244, 244)}, button={'cn': (143, 619, 150, 623), 'en': (143, 619, 150, 623), 'jp': (143, 619, 150, 623), 'tw': (143, 619, 150, 623)}, file={'cn': './assets/cn/island/ROLE_SORT_ASC.png', 'en': './assets/cn/island/ROLE_SORT_ASC.png', 'jp': './assets/cn/island/ROLE_SORT_ASC.png', 'tw': './assets/cn/island/ROLE_SORT_ASC.png'})
|
||||
ROLE_SORT_DESC = Button(area={'cn': (143, 627, 150, 631), 'en': (143, 627, 150, 631), 'jp': (143, 627, 150, 631), 'tw': (143, 627, 150, 631)}, color={'cn': (236, 236, 236), 'en': (236, 236, 236), 'jp': (236, 236, 236), 'tw': (236, 236, 236)}, button={'cn': (143, 627, 150, 631), 'en': (143, 627, 150, 631), 'jp': (143, 627, 150, 631), 'tw': (143, 627, 150, 631)}, file={'cn': './assets/cn/island/ROLE_SORT_DESC.png', 'en': './assets/cn/island/ROLE_SORT_DESC.png', 'jp': './assets/cn/island/ROLE_SORT_DESC.png', 'tw': './assets/cn/island/ROLE_SORT_DESC.png'})
|
||||
TEMPLATE_AKASHI = Template(file={'cn': './assets/cn/island/TEMPLATE_AKASHI.png', 'en': './assets/cn/island/TEMPLATE_AKASHI.png', 'jp': './assets/cn/island/TEMPLATE_AKASHI.png', 'tw': './assets/cn/island/TEMPLATE_AKASHI.png'})
|
||||
TEMPLATE_AMAGI_CHAN = Template(file={'cn': './assets/cn/island/TEMPLATE_AMAGI_CHAN.png', 'en': './assets/cn/island/TEMPLATE_AMAGI_CHAN.png', 'jp': './assets/cn/island/TEMPLATE_AMAGI_CHAN.png', 'tw': './assets/cn/island/TEMPLATE_AMAGI_CHAN.png'})
|
||||
TEMPLATE_ATAGO = Template(file={'cn': './assets/cn/island/TEMPLATE_ATAGO.png', 'en': './assets/cn/island/TEMPLATE_ATAGO.png', 'jp': './assets/cn/island/TEMPLATE_ATAGO.png', 'tw': './assets/cn/island/TEMPLATE_ATAGO.png'})
|
||||
TEMPLATE_CARROT = Template(file={'cn': './assets/cn/island/TEMPLATE_CARROT.png', 'en': './assets/cn/island/TEMPLATE_CARROT.png', 'jp': './assets/cn/island/TEMPLATE_CARROT.png', 'tw': './assets/cn/island/TEMPLATE_CARROT.png'})
|
||||
TEMPLATE_CHAO_HO = Template(file={'cn': './assets/cn/island/TEMPLATE_CHAO_HO.png', 'en': './assets/cn/island/TEMPLATE_CHAO_HO.png', 'jp': './assets/cn/island/TEMPLATE_CHAO_HO.png', 'tw': './assets/cn/island/TEMPLATE_CHAO_HO.png'})
|
||||
TEMPLATE_CHEN_HAI = Template(file={'cn': './assets/cn/island/TEMPLATE_CHEN_HAI.png', 'en': './assets/cn/island/TEMPLATE_CHEN_HAI.png', 'jp': './assets/cn/island/TEMPLATE_CHEN_HAI.png', 'tw': './assets/cn/island/TEMPLATE_CHEN_HAI.png'})
|
||||
TEMPLATE_CHESHIRE = Template(file={'cn': './assets/cn/island/TEMPLATE_CHESHIRE.png', 'en': './assets/cn/island/TEMPLATE_CHESHIRE.png', 'jp': './assets/cn/island/TEMPLATE_CHESHIRE.png', 'tw': './assets/cn/island/TEMPLATE_CHESHIRE.png'})
|
||||
TEMPLATE_COTTON = Template(file={'cn': './assets/cn/island/TEMPLATE_COTTON.png', 'en': './assets/cn/island/TEMPLATE_COTTON.png', 'jp': './assets/cn/island/TEMPLATE_COTTON.png', 'tw': './assets/cn/island/TEMPLATE_COTTON.png'})
|
||||
TEMPLATE_EXPLORER = Template(file={'cn': './assets/cn/island/TEMPLATE_EXPLORER.png', 'en': './assets/cn/island/TEMPLATE_EXPLORER.png', 'jp': './assets/cn/island/TEMPLATE_EXPLORER.png', 'tw': './assets/cn/island/TEMPLATE_EXPLORER.png'})
|
||||
TEMPLATE_FLEX = Template(file={'cn': './assets/cn/island/TEMPLATE_FLEX.png', 'en': './assets/cn/island/TEMPLATE_FLEX.png', 'jp': './assets/cn/island/TEMPLATE_FLEX.png', 'tw': './assets/cn/island/TEMPLATE_FLEX.png'})
|
||||
TEMPLATE_FRESH_MEAT = Template(file={'cn': './assets/cn/island/TEMPLATE_FRESH_MEAT.png', 'en': './assets/cn/island/TEMPLATE_FRESH_MEAT.png', 'jp': './assets/cn/island/TEMPLATE_FRESH_MEAT.png', 'tw': './assets/cn/island/TEMPLATE_FRESH_MEAT.png'})
|
||||
TEMPLATE_FRIEDRICH_DER_GROBE = Template(file={'cn': './assets/cn/island/TEMPLATE_FRIEDRICH_DER_GROBE.png', 'en': './assets/cn/island/TEMPLATE_FRIEDRICH_DER_GROBE.png', 'jp': './assets/cn/island/TEMPLATE_FRIEDRICH_DER_GROBE.png', 'tw': './assets/cn/island/TEMPLATE_FRIEDRICH_DER_GROBE.png'})
|
||||
TEMPLATE_HELENA = Template(file={'cn': './assets/cn/island/TEMPLATE_HELENA.png', 'en': './assets/cn/island/TEMPLATE_HELENA.png', 'jp': './assets/cn/island/TEMPLATE_HELENA.png', 'tw': './assets/cn/island/TEMPLATE_HELENA.png'})
|
||||
TEMPLATE_HOOD = Template(file={'cn': './assets/cn/island/TEMPLATE_HOOD.png', 'en': './assets/cn/island/TEMPLATE_HOOD.png', 'jp': './assets/cn/island/TEMPLATE_HOOD.png', 'tw': './assets/cn/island/TEMPLATE_HOOD.png'})
|
||||
TEMPLATE_ITEM_SATISFIED = Template(file={'cn': './assets/cn/island/TEMPLATE_ITEM_SATISFIED.png', 'en': './assets/cn/island/TEMPLATE_ITEM_SATISFIED.png', 'jp': './assets/cn/island/TEMPLATE_ITEM_SATISFIED.png', 'tw': './assets/cn/island/TEMPLATE_ITEM_SATISFIED.png'})
|
||||
TEMPLATE_LEMALIN = Template(file={'cn': './assets/cn/island/TEMPLATE_LEMALIN.png', 'en': './assets/cn/island/TEMPLATE_LEMALIN.png', 'jp': './assets/cn/island/TEMPLATE_LEMALIN.png', 'tw': './assets/cn/island/TEMPLATE_LEMALIN.png'})
|
||||
TEMPLATE_MANJUU = Template(file={'cn': './assets/cn/island/TEMPLATE_MANJUU.png', 'en': './assets/cn/island/TEMPLATE_MANJUU.png', 'jp': './assets/cn/island/TEMPLATE_MANJUU.png', 'tw': './assets/cn/island/TEMPLATE_MANJUU.png'})
|
||||
TEMPLATE_MILK = Template(file={'cn': './assets/cn/island/TEMPLATE_MILK.png', 'en': './assets/cn/island/TEMPLATE_MILK.png', 'jp': './assets/cn/island/TEMPLATE_MILK.png', 'tw': './assets/cn/island/TEMPLATE_MILK.png'})
|
||||
TEMPLATE_NAPA_CABBAGE = Template(file={'cn': './assets/cn/island/TEMPLATE_NAPA_CABBAGE.png', 'en': './assets/cn/island/TEMPLATE_NAPA_CABBAGE.png', 'jp': './assets/cn/island/TEMPLATE_NAPA_CABBAGE.png', 'tw': './assets/cn/island/TEMPLATE_NAPA_CABBAGE.png'})
|
||||
TEMPLATE_NEW_JERSEY = Template(file={'cn': './assets/cn/island/TEMPLATE_NEW_JERSEY.png', 'en': './assets/cn/island/TEMPLATE_NEW_JERSEY.png', 'jp': './assets/cn/island/TEMPLATE_NEW_JERSEY.png', 'tw': './assets/cn/island/TEMPLATE_NEW_JERSEY.png'})
|
||||
TEMPLATE_OCEANA = Template(file={'cn': './assets/cn/island/TEMPLATE_OCEANA.png', 'en': './assets/cn/island/TEMPLATE_OCEANA.png', 'jp': './assets/cn/island/TEMPLATE_OCEANA.png', 'tw': './assets/cn/island/TEMPLATE_OCEANA.png'})
|
||||
TEMPLATE_ONION = Template(file={'cn': './assets/cn/island/TEMPLATE_ONION.png', 'en': './assets/cn/island/TEMPLATE_ONION.png', 'jp': './assets/cn/island/TEMPLATE_ONION.png', 'tw': './assets/cn/island/TEMPLATE_ONION.png'})
|
||||
TEMPLATE_POULTRY = Template(file={'cn': './assets/cn/island/TEMPLATE_POULTRY.png', 'en': './assets/cn/island/TEMPLATE_POULTRY.png', 'jp': './assets/cn/island/TEMPLATE_POULTRY.png', 'tw': './assets/cn/island/TEMPLATE_POULTRY.png'})
|
||||
TEMPLATE_PRINZ_EUGEN = Template(file={'cn': './assets/cn/island/TEMPLATE_PRINZ_EUGEN.png', 'en': './assets/cn/island/TEMPLATE_PRINZ_EUGEN.png', 'jp': './assets/cn/island/TEMPLATE_PRINZ_EUGEN.png', 'tw': './assets/cn/island/TEMPLATE_PRINZ_EUGEN.png'})
|
||||
TEMPLATE_PROJECT = Template(file={'cn': './assets/cn/island/TEMPLATE_PROJECT.png', 'en': './assets/cn/island/TEMPLATE_PROJECT.png', 'jp': './assets/cn/island/TEMPLATE_PROJECT.png', 'tw': './assets/cn/island/TEMPLATE_PROJECT.png'})
|
||||
TEMPLATE_PROJECT_LOCKED = Template(file={'cn': './assets/cn/island/TEMPLATE_PROJECT_LOCKED.png', 'en': './assets/cn/island/TEMPLATE_PROJECT_LOCKED.png', 'jp': './assets/cn/island/TEMPLATE_PROJECT_LOCKED.png', 'tw': './assets/cn/island/TEMPLATE_PROJECT_LOCKED.png'})
|
||||
TEMPLATE_SARATOGA = Template(file={'cn': './assets/cn/island/TEMPLATE_SARATOGA.png', 'en': './assets/cn/island/TEMPLATE_SARATOGA.png', 'jp': './assets/cn/island/TEMPLATE_SARATOGA.png', 'tw': './assets/cn/island/TEMPLATE_SARATOGA.png'})
|
||||
@@ -59,7 +82,9 @@ TEMPLATE_SHIMAKAZE = Template(file={'cn': './assets/cn/island/TEMPLATE_SHIMAKAZE
|
||||
TEMPLATE_SLOT_LOCKED = Template(file={'cn': './assets/cn/island/TEMPLATE_SLOT_LOCKED.png', 'en': './assets/cn/island/TEMPLATE_SLOT_LOCKED.png', 'jp': './assets/cn/island/TEMPLATE_SLOT_LOCKED.png', 'tw': './assets/cn/island/TEMPLATE_SLOT_LOCKED.png'})
|
||||
TEMPLATE_STRAWBERRIES = Template(file={'cn': './assets/cn/island/TEMPLATE_STRAWBERRIES.png', 'en': './assets/cn/island/TEMPLATE_STRAWBERRIES.png', 'jp': './assets/cn/island/TEMPLATE_STRAWBERRIES.png', 'tw': './assets/cn/island/TEMPLATE_STRAWBERRIES.png'})
|
||||
TEMPLATE_TASHKENT = Template(file={'cn': './assets/cn/island/TEMPLATE_TASHKENT.png', 'en': './assets/cn/island/TEMPLATE_TASHKENT.png', 'jp': './assets/cn/island/TEMPLATE_TASHKENT.png', 'tw': './assets/cn/island/TEMPLATE_TASHKENT.png'})
|
||||
TEMPLATE_TB = Template(file={'cn': './assets/cn/island/TEMPLATE_TB.png', 'en': './assets/cn/island/TEMPLATE_TB.png', 'jp': './assets/cn/island/TEMPLATE_TB.png', 'tw': './assets/cn/island/TEMPLATE_TB.png'})
|
||||
TEMPLATE_UNICORN = Template(file={'cn': './assets/cn/island/TEMPLATE_UNICORN.png', 'en': './assets/cn/island/TEMPLATE_UNICORN.png', 'jp': './assets/cn/island/TEMPLATE_UNICORN.png', 'tw': './assets/cn/island/TEMPLATE_UNICORN.png'})
|
||||
TEMPLATE_WILLIAM_D_PORTER = Template(file={'cn': './assets/cn/island/TEMPLATE_WILLIAM_D_PORTER.png', 'en': './assets/cn/island/TEMPLATE_WILLIAM_D_PORTER.png', 'jp': './assets/cn/island/TEMPLATE_WILLIAM_D_PORTER.png', 'tw': './assets/cn/island/TEMPLATE_WILLIAM_D_PORTER.png'})
|
||||
TEMPLATE_YING_SWEI = Template(file={'cn': './assets/cn/island/TEMPLATE_YING_SWEI.png', 'en': './assets/cn/island/TEMPLATE_YING_SWEI.png', 'jp': './assets/cn/island/TEMPLATE_YING_SWEI.png', 'tw': './assets/cn/island/TEMPLATE_YING_SWEI.png'})
|
||||
TRANSPORT_LOCKED = Button(area={'cn': (659, 380, 683, 412), 'en': (659, 380, 683, 412), 'jp': (659, 380, 683, 412), 'tw': (659, 380, 683, 412)}, color={'cn': (192, 192, 190), 'en': (192, 192, 190), 'jp': (192, 192, 190), 'tw': (192, 192, 190)}, button={'cn': (659, 380, 683, 412), 'en': (659, 380, 683, 412), 'jp': (659, 380, 683, 412), 'tw': (659, 380, 683, 412)}, file={'cn': './assets/cn/island/TRANSPORT_LOCKED.png', 'en': './assets/cn/island/TRANSPORT_LOCKED.png', 'jp': './assets/cn/island/TRANSPORT_LOCKED.png', 'tw': './assets/cn/island/TRANSPORT_LOCKED.png'})
|
||||
TRANSPORT_RECEIVE = Button(area={'cn': (938, 206, 1065, 235), 'en': (938, 206, 1065, 235), 'jp': (938, 206, 1065, 235), 'tw': (938, 206, 1065, 235)}, color={'cn': (76, 195, 255), 'en': (76, 195, 255), 'jp': (76, 195, 255), 'tw': (76, 195, 255)}, button={'cn': (938, 206, 1065, 235), 'en': (938, 206, 1065, 235), 'jp': (938, 206, 1065, 235), 'tw': (938, 206, 1065, 235)}, file={'cn': './assets/cn/island/TRANSPORT_RECEIVE.png', 'en': './assets/cn/island/TRANSPORT_RECEIVE.png', 'jp': './assets/cn/island/TRANSPORT_RECEIVE.png', 'tw': './assets/cn/island/TRANSPORT_RECEIVE.png'})
|
||||
|
||||
@@ -58,11 +58,11 @@ class Island(IslandProjectRun, IslandTransportRun):
|
||||
def run(self):
|
||||
if server.server in ['cn', 'en']:
|
||||
transport = False
|
||||
project_config = [self.config.__getattribute__(f'Island{i}_Receive') for i in range(1, 16)]
|
||||
project_config = [self.config.__getattribute__(f'Island{i}_Receive')
|
||||
for i in range(1, len(name_to_slot) + 1)]
|
||||
project = any(project_config)
|
||||
names = self.island_config_to_names(project_config)
|
||||
if transport or project:
|
||||
self.ui_goto_island()
|
||||
self.ui_ensure(page_island_phone)
|
||||
self.island_run(transport=transport, project=project, names=names)
|
||||
self.ui_goto(page_main, get_ship=False)
|
||||
|
||||
@@ -16,6 +16,12 @@ from module.island.ui import IslandUI
|
||||
from module.logger import logger
|
||||
from module.map.map_grids import SelectedGrids
|
||||
from module.ocr.ocr import Duration, Ocr
|
||||
from module.ui.switch import Switch
|
||||
|
||||
|
||||
ROLE_SORTING = Switch('Role_sorting')
|
||||
ROLE_SORTING.add_state('Ascending', check_button=ROLE_SORT_ASC, click_button=ROLE_SORTING_CLICK)
|
||||
ROLE_SORTING.add_state('Descending', check_button=ROLE_SORT_DESC, click_button=ROLE_SORTING_CLICK)
|
||||
|
||||
|
||||
class ProjectNameOcr(Ocr):
|
||||
@@ -339,7 +345,61 @@ class IslandProjectRun(IslandUI):
|
||||
for button in TEMPLATE_PROJECT.match_multi(image_gray)])
|
||||
return projects.select(valid=True)
|
||||
|
||||
def project_receive(self, button, skip_first_screenshot=True):
|
||||
def ensure_project(self, name, trial=7, skip_first_screenshot=True):
|
||||
"""
|
||||
Ensure the specific project is in the current page.
|
||||
|
||||
Args:
|
||||
name (str|IslandProject): the project name to ensure
|
||||
trial (int): retry times
|
||||
skip_first_screenshot (bool):
|
||||
"""
|
||||
logger.hr('Project ensure')
|
||||
if isinstance(name, IslandProject):
|
||||
name = name.name
|
||||
for _ in range(trial):
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
projects = self.project_detect(self.device.image)
|
||||
if not projects:
|
||||
continue
|
||||
if name in projects.get('name'):
|
||||
logger.info(f'Ensured project: {name}')
|
||||
break
|
||||
|
||||
keys = list(name_to_slot.keys())
|
||||
if name in keys:
|
||||
project_id = keys.index(name) + 1
|
||||
projects_id = projects.get('id')
|
||||
if project_id > projects_id[0]:
|
||||
self.drag_page((0, -500), ISLAND_PROJECT_SWIPE.area, 0.6)
|
||||
else:
|
||||
self.drag_page((0, 500), ISLAND_PROJECT_SWIPE.area, 0.6)
|
||||
continue
|
||||
else:
|
||||
logger.warning(f'Wrong project name {name}, skip ensuring')
|
||||
break
|
||||
|
||||
def drag_page(self, vector, box, sleep=0.5):
|
||||
"""
|
||||
Drag the management page.
|
||||
|
||||
Args:
|
||||
vector (tuple):
|
||||
box (tuple):
|
||||
sleep (float):
|
||||
"""
|
||||
p1, p2 = random_rectangle_vector(vector, box=box, random_range=(0, -5, 0, 5))
|
||||
self.device.drag(p1, p2, segments=2, shake=(0, 25), point_random=(0, 0, 0, 0), shake_random=(0, -5, 0, 5))
|
||||
self.device.sleep(sleep)
|
||||
|
||||
def is_in_enter_page(self):
|
||||
return self.image_color_count(ROLE_SELECT_TITLE_AREA, color=(57, 189, 255), threshold=221, count=8000)
|
||||
|
||||
def project_receive(self, button):
|
||||
"""
|
||||
Receive a project and enter role select page.
|
||||
|
||||
@@ -353,16 +413,12 @@ class IslandProjectRun(IslandUI):
|
||||
self.interval_clear([ISLAND_MANAGEMENT_CHECK, PROJECT_COMPLETE,
|
||||
GET_ITEMS_ISLAND, ROLE_SELECT_ENTER])
|
||||
success = False
|
||||
enter = True
|
||||
click_timer = Timer(5, count=10).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
# UI additional
|
||||
if self.island_in_management(interval=5):
|
||||
self.device.click(button)
|
||||
self.device.sleep(0.1)
|
||||
click_timer.reset()
|
||||
continue
|
||||
|
||||
@@ -374,7 +430,9 @@ class IslandProjectRun(IslandUI):
|
||||
click_timer.reset()
|
||||
continue
|
||||
|
||||
if enter and self.appear_then_click(ROLE_SELECT_ENTER, threshold=10, interval=2):
|
||||
# Enter page
|
||||
if self.is_in_enter_page() and \
|
||||
self.appear_then_click(ROLE_SELECT_ENTER, threshold=10, interval=2):
|
||||
success = True
|
||||
self.interval_clear(GET_ITEMS_ISLAND)
|
||||
click_timer.reset()
|
||||
@@ -382,25 +440,24 @@ class IslandProjectRun(IslandUI):
|
||||
|
||||
if self.appear_then_click(PROJECT_COMPLETE, offset=(20, 20), interval=1):
|
||||
success = True
|
||||
enter = False
|
||||
self.interval_clear(GET_ITEMS_ISLAND)
|
||||
self.interval_reset(ROLE_SELECT_ENTER)
|
||||
click_timer.reset()
|
||||
continue
|
||||
|
||||
if self.handle_get_items():
|
||||
enter = True
|
||||
self.interval_clear(ROLE_SELECT_ENTER)
|
||||
click_timer.reset()
|
||||
continue
|
||||
|
||||
# handle island level up
|
||||
if not enter and click_timer.reached():
|
||||
if click_timer.reached():
|
||||
self.device.click(GET_ITEMS_ISLAND)
|
||||
self.device.sleep(0.3)
|
||||
click_timer.reset()
|
||||
continue
|
||||
|
||||
# End
|
||||
if self.appear(ROLE_SELECT_CONFIRM, offset=(20, 20)):
|
||||
break
|
||||
|
||||
@@ -423,12 +480,7 @@ class IslandProjectRun(IslandUI):
|
||||
click_button (Button): character button to click
|
||||
check_button (Button):
|
||||
"""
|
||||
skip_first_screenshot=True
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
for _ in self.loop():
|
||||
if self.appear(check_button, offset=(20, 20)):
|
||||
break
|
||||
if self.appear(ROLE_SELECT_CONFIRM, offset=(20, 20), interval=2):
|
||||
@@ -436,12 +488,8 @@ class IslandProjectRun(IslandUI):
|
||||
continue
|
||||
|
||||
self.interval_clear(ROLE_SELECT_CONFIRM)
|
||||
skip_first_screenshot=True
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
# End
|
||||
if self.appear(ISLAND_AMOUNT_MAX, offset=(20, 20)):
|
||||
return True
|
||||
@@ -453,26 +501,21 @@ class IslandProjectRun(IslandUI):
|
||||
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
|
||||
continue
|
||||
|
||||
def project_character_select(self, character='manjuu', skip_first_screenshot=True):
|
||||
def project_character_select(self, character='manjuu'):
|
||||
"""
|
||||
Select a role to produce.
|
||||
|
||||
Args:
|
||||
character (str): character name to select
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
bool: if selected
|
||||
"""
|
||||
logger.info('Island select role')
|
||||
timeout = Timer(1.5, count=3).start()
|
||||
ROLE_SORTING.set('Descending', main=self)
|
||||
timeout = Timer(5, count=3).start()
|
||||
count = 0
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if timeout.reached():
|
||||
self.ui_ensure_management_page()
|
||||
return False
|
||||
@@ -484,8 +527,14 @@ class IslandProjectRun(IslandUI):
|
||||
return self._project_character_select(click_button, check_button)
|
||||
else:
|
||||
name = ' '.join(map(lambda x: x.capitalize(), character.split('_')))
|
||||
logger.info(f'No character {name} found')
|
||||
if count >= 2:
|
||||
# retry 2 times for character select
|
||||
if 1 <= count < 3:
|
||||
logger.info(f'No character {name} was found, try reversed order')
|
||||
ROLE_SORTING.set('Ascending', main=self)
|
||||
# select manjuu after 4 trials
|
||||
elif count >= 3:
|
||||
logger.info(f'No character {name} was found, use manjuu')
|
||||
ROLE_SORTING.set('Ascending', main=self)
|
||||
character = 'manjuu'
|
||||
count += 1
|
||||
continue
|
||||
@@ -518,28 +567,23 @@ class IslandProjectRun(IslandUI):
|
||||
peaks = np.array(peaks) + y_top
|
||||
return ProductItem(self.device.image, peaks, project_id)
|
||||
|
||||
def product_select(self, option, project_id, trial=2, skip_first_screenshot=True):
|
||||
def product_select(self, option, project_id, trial=2):
|
||||
"""
|
||||
Select a product in items list.
|
||||
|
||||
Args:
|
||||
option (str): option to select
|
||||
trail (int): retry times
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
bool: if selected
|
||||
"""
|
||||
logger.hr('Island Select Product')
|
||||
last = None
|
||||
last_item = None
|
||||
bottom_item = None
|
||||
retry = trial
|
||||
click_interval = Timer(1)
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
current = self.get_current_product(project_id)
|
||||
if trial > 0 and not len(current.items):
|
||||
trial -= 1
|
||||
@@ -561,7 +605,7 @@ class IslandProjectRun(IslandUI):
|
||||
click_interval.reset()
|
||||
drag = False
|
||||
|
||||
if last == current.items[-1]:
|
||||
if bottom_item == current.items[-1]:
|
||||
if retry > 0:
|
||||
retry -= 1
|
||||
continue
|
||||
@@ -569,18 +613,21 @@ class IslandProjectRun(IslandUI):
|
||||
self.ui_ensure_management_page()
|
||||
return False
|
||||
|
||||
if drag:
|
||||
last = current.items[-1]
|
||||
self.device.click(last.button)
|
||||
self.island_drag_next_page((0, -300), ISLAND_PRODUCT_ITEMS.area, 0.5)
|
||||
# clear record if current product is different during 2 drags
|
||||
if last_item is not None and last_item != current:
|
||||
self.device.click_record.pop()
|
||||
self.device.click_record.pop()
|
||||
|
||||
def product_select_confirm(self, skip_first_screenshot=True):
|
||||
if drag:
|
||||
last_item = current
|
||||
bottom_item = current.items[-1]
|
||||
self.device.click(bottom_item.button)
|
||||
self.drag_page((0, -300), ISLAND_PRODUCT_ITEMS.area, 0.5)
|
||||
|
||||
def product_select_confirm(self):
|
||||
"""
|
||||
Start the product after product selected.
|
||||
|
||||
Args:
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
bool: if success
|
||||
"""
|
||||
@@ -588,12 +635,7 @@ class IslandProjectRun(IslandUI):
|
||||
last = None
|
||||
success = False
|
||||
timeout = Timer(1.5, count=3).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if timeout.reached():
|
||||
break
|
||||
|
||||
@@ -634,45 +676,6 @@ class IslandProjectRun(IslandUI):
|
||||
if self.island_in_management():
|
||||
return True
|
||||
|
||||
def island_drag_next_page(self, vector, box, sleep=0.5):
|
||||
"""
|
||||
Drag to the next page.
|
||||
|
||||
Args:
|
||||
vector (tuple):
|
||||
box (tuple):
|
||||
sleep (float):
|
||||
"""
|
||||
logger.info('Island drag to next page')
|
||||
p1, p2 = random_rectangle_vector(vector, box=box, random_range=(0, -5, 0, 5))
|
||||
self.device.drag(p1, p2, segments=2, shake=(0, 25), point_random=(0, 0, 0, 0), shake_random=(0, -5, 0, 5))
|
||||
self.device.sleep(sleep)
|
||||
|
||||
def ensure_project(self, project, trial=7, skip_first_screenshot=True):
|
||||
"""
|
||||
Ensure the specific project is in the current page.
|
||||
|
||||
Args:
|
||||
project (IslandProject): the project to ensure
|
||||
trial (int): retry times
|
||||
skip_first_screenshot (bool):
|
||||
"""
|
||||
logger.hr('Project ensure')
|
||||
for _ in range(trial):
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
projects = self.project_detect(self.device.image)
|
||||
if not projects:
|
||||
continue
|
||||
if project.name in projects.get('name'):
|
||||
logger.info(f'Ensured project: {project}')
|
||||
break
|
||||
|
||||
self.island_drag_next_page((0, -500), ISLAND_PROJECT_SWIPE.area, 0.6)
|
||||
|
||||
def project_receive_and_start(self, proj, button, character, option, project_id, ensure=True):
|
||||
"""
|
||||
Receive and start a project is in the current page.
|
||||
@@ -730,27 +733,22 @@ class IslandProjectRun(IslandUI):
|
||||
slot_option.append(deep_get(items_data, [proj_id, option]))
|
||||
return slot_option
|
||||
|
||||
def island_project_run(self, names, trial=2, skip_first_screenshot=True):
|
||||
def island_project_run(self, names, trial=2):
|
||||
"""
|
||||
Execute island run to receive and start project.
|
||||
|
||||
Args:
|
||||
names (list[str]): a list of name for island receive
|
||||
trial (int): retry times
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
list[timedelta]: future finish timedelta
|
||||
"""
|
||||
logger.hr('Island Project Run', level=1)
|
||||
self.ensure_project(names[0])
|
||||
end = False
|
||||
timeout = Timer(3, count=3).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if timeout.reached():
|
||||
break
|
||||
|
||||
@@ -785,7 +783,7 @@ class IslandProjectRun(IslandUI):
|
||||
|
||||
if end:
|
||||
break
|
||||
self.island_drag_next_page((0, -500), ISLAND_PROJECT_SWIPE.area, 0.6)
|
||||
self.drag_page((0, -500), ISLAND_PROJECT_SWIPE.area, 0.6)
|
||||
|
||||
# task delay
|
||||
future_finish = sorted([f for f in self.total.get('finish_time') if f is not None])
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import module.config.server as server
|
||||
|
||||
__name_to_slot_cn = {
|
||||
'丰壤农田': 4, '悠然牧场': 4, '沉石矿山': 4, '翠土林场': 4, '坠香果园': 4, '青芽苗圃': 2,
|
||||
'有鱼餐馆': 2, '白熊饮品': 2, '啾啾简餐': 2, '乌鱼烤肉': 2, '木料加工设备': 2, '工业生产设备': 2,
|
||||
'电子加工设备': 2, '手工制作设备': 2, '啾咖啡': 2
|
||||
'丰壤农田': 4, '悠然牧场': 4, '啾啾渔场': 3, '沉石矿山': 4, '翠土林场': 4, '坠香果园': 4,
|
||||
'青芽苗圃': 2, '有鱼餐馆': 2, '白熊饮品': 2, '啾啾简餐': 2, '乌鱼烤肉': 2, '木料加工设备': 2,
|
||||
'工业生产设备': 2, '电子加工设备': 2, '手工制作设备': 2, '啾咖啡': 2,
|
||||
}
|
||||
|
||||
__items_data_cn = {
|
||||
@@ -15,50 +15,89 @@ __items_data_cn = {
|
||||
1: '鸡蛋', 2: '鲜肉', 3: '牛奶', 4: '羊毛',
|
||||
},
|
||||
3: {
|
||||
1: '煤炭', 2: '铜矿', 3: '铝矿', 4: '铁矿', 5: '硫矿', 6: '银矿',
|
||||
1: '贝类', 2: '鲶鱼', 3: '鲤鱼', 4: '鲫鱼', 5: '小河虾', 6: '小龙虾',
|
||||
7: '鲈鱼', 8: '螃蟹', 9: '鱿鱼', 10: '马鲛鱼', 11: '金枪鱼', 12: '三文鱼',
|
||||
13: '红鲷鱼', 14: '黑鲷鱼', 15: '黄鳍金枪鱼', 16: '海参',
|
||||
},
|
||||
4: {
|
||||
1: '自然之木', 2: '实用之木', 3: '精选之木', 4: '典雅之木',
|
||||
1: '煤炭', 2: '铜矿', 3: '铝矿', 4: '铁矿', 5: '硫矿', 6: '银矿',
|
||||
},
|
||||
5: {
|
||||
1: '秋月梨', 2: '柿子', 3: '苹果', 4: '柑橘', 5: '香蕉', 6: '芒果',
|
||||
7: '柠檬', 8: '牛油果', 9: '橡胶',
|
||||
1: '自然之木', 2: '实用之木', 3: '精选之木', 4: '典雅之木',
|
||||
},
|
||||
# autumn
|
||||
# 6: {
|
||||
# 1: '秋月梨', 2: '柿子', 3: '苹果', 4: '柑橘', 5: '香蕉', 6: '芒果',
|
||||
# 7: '柠檬', 8: '牛油果', 9: '橡胶',
|
||||
# },
|
||||
# spring
|
||||
6: {
|
||||
1: '亚麻', 2: '草莓', 3: '棉花', 4: '茶叶', 5: '薰衣草', 6: '胡萝卜',
|
||||
7: '洋葱',
|
||||
1: '苹果', 2: '柑橘', 3: '香蕉', 4: '芒果', 5: '柠檬', 6: '牛油果',
|
||||
7: '橡胶',
|
||||
},
|
||||
# autumn
|
||||
# 7: {
|
||||
# 1: '亚麻', 2: '草莓', 3: '棉花', 4: '茶叶', 5: '薰衣草', 6: '胡萝卜',
|
||||
# 7: '洋葱',
|
||||
# },
|
||||
# spring
|
||||
7: {
|
||||
1: '柿子饼', 2: '松茸鸡汤', 3: '豆腐', 4: '肉末烧豆腐', 5: '蛋包饭',
|
||||
6: '白菜豆腐汤', 7: '蔬菜沙拉', 8: '经典豆腐套餐', 9: '绵玉定食',
|
||||
1: '芦笋', 2: '凤梨', 3: '亚麻', 4: '草莓', 5: '棉花', 6: '茶叶',
|
||||
7: '薰衣草', 8: '胡萝卜', 9: '洋葱',
|
||||
},
|
||||
# autumn
|
||||
# 8: {
|
||||
# 1: '柿子饼', 2: '松茸鸡汤', 3: '豆腐', 4: '肉末烧豆腐', 5: '蛋包饭',
|
||||
# 6: '白菜豆腐汤', 7: '蔬菜沙拉', 8: '炸鱼薯条', 9: '洋葱蒸鱼', 10: '佛跳墙',
|
||||
# 11: '经典豆腐套餐', 12: '绵玉定食',
|
||||
# },
|
||||
# spring
|
||||
8: {
|
||||
1: '胡萝卜秋梨汁', 2: '菊花茶', 3: '苹果汁', 4: '香蕉芒果汁',
|
||||
5: '蜂蜜柠檬水', 6: '草莓蜜沁', 7: '薰衣草茶', 8: '草莓蜂蜜冰沙',
|
||||
9: '阳光蜜水', 10: '花香果韵', 11: '缤纷果乐园',
|
||||
1: '凉拌双笋', 2: '芦笋炒虾仁', 3: '豆腐', 4: '肉末烧豆腐', 5: '蛋包饭',
|
||||
6: '白菜豆腐汤', 7: '蔬菜沙拉', 8: '炸鱼薯条', 9: '洋葱蒸鱼', 10: '佛跳墙',
|
||||
11: '经典豆腐套餐', 12: '绵玉定食',
|
||||
},
|
||||
# autumn
|
||||
# 9: {
|
||||
# 1: '胡萝卜秋梨汁', 2: '菊花茶', 3: '苹果汁', 4: '香蕉芒果汁',
|
||||
# 5: '蜂蜜柠檬水', 6: '草莓蜜沁', 7: '薰衣草茶', 8: '草莓蜂蜜冰沙',
|
||||
# 9: '花香果韵', 10: '缤纷果乐园', 11: '阳光蜜水',
|
||||
# },
|
||||
# spring
|
||||
9: {
|
||||
1: '玉米杯', 2: '苹果派', 3: '香橙派', 4: '芒果糯米饭', 5: '香蕉可丽饼',
|
||||
6: '草莓夏洛特', 7: '香甜组合', 8: '果园二重奏', 9: '莓果香橙甜点组',
|
||||
1: '鲜榨菠萝汁', 2: '迎春花茶', 3: '苹果汁', 4: '香蕉芒果汁',
|
||||
5: '蜂蜜柠檬水', 6: '草莓蜜沁', 7: '薰衣草茶', 8: '草莓蜂蜜冰沙',
|
||||
9: '花香果韵', 10: '缤纷果乐园', 11: '阳光蜜水',
|
||||
},
|
||||
10: {
|
||||
1: '炭烤肉串', 2: '禽肉土豆拼盘', 3: '爆炒禽肉', 4: '胡萝卜厚蛋烧',
|
||||
5: '汉堡肉饭', 6: '烤肉狂欢', 7: '能量双拼套餐',
|
||||
1: '玉米杯', 2: '苹果派', 3: '香橙派', 4: '芒果糯米饭', 5: '香蕉可丽饼',
|
||||
6: '草莓夏洛特', 7: '海鲜饭', 8: '香甜组合', 9: '果园二重奏',
|
||||
10: '莓果香橙甜点组',
|
||||
},
|
||||
11: {
|
||||
1: '纸张', 2: '记事本', 3: '桌椅', 4: '精选木桶', 5: '文件柜',
|
||||
1: '炭烤肉串', 2: '禽肉土豆拼盘', 3: '爆炒禽肉', 4: '胡萝卜厚蛋烧',
|
||||
5: '汉堡肉饭', 6: '柠檬虾', 7: '爆炒小龙虾', 8: '烤肉狂欢', 9: '能量双拼套餐',
|
||||
},
|
||||
12: {
|
||||
1: '炭笔', 2: '铁钉', 3: '电缆', 4: '硫酸', 5: '火药', 6: '刀叉餐具',
|
||||
1: '纸张', 2: '记事本', 3: '桌椅', 4: '精选木桶', 5: '文件柜', 6: '装饰画',
|
||||
},
|
||||
13: {
|
||||
1: '墨盒', 2: '钟表', 3: '蓄电池', 4: '净水滤芯',
|
||||
1: '炭笔', 2: '电缆', 3: '铁钉', 4: '硫酸', 5: '火药', 6: '刀叉餐具',
|
||||
},
|
||||
14: {
|
||||
1: '秋季花束', 2: '花生油', 3: '布料', 4: '皮革', 5: '绳索', 6: '手套',
|
||||
1: '墨盒', 2: '钟表', 3: '蓄电池', 4: '净水滤芯',
|
||||
},
|
||||
# autumn
|
||||
# 15: {
|
||||
# 1: '秋季花束', 2: '花生油', 3: '布料', 4: '皮革', 5: '绳索', 6: '手套',
|
||||
# 7: '香囊', 8: '鞋靴', 9: '绷带',
|
||||
# },
|
||||
# spring
|
||||
15: {
|
||||
1: '袋装荠菜干', 2: '春季花束', 3: '布料', 4: '皮革', 5: '绳索', 6: '手套',
|
||||
7: '香囊', 8: '鞋靴', 9: '绷带',
|
||||
},
|
||||
15: {
|
||||
16: {
|
||||
1: '欧姆蛋', 2: '冰咖啡', 3: '芝士', 4: '拿铁', 5: '柑橘咖啡',
|
||||
6: '草莓奶绿', 7: '晨光活力组合', 8: '醒神套餐', 9: '果香双杯乐',
|
||||
},
|
||||
|
||||
@@ -155,6 +155,7 @@ class IslandTransport:
|
||||
info = ', '.join([f'{k}: {v}' for k, v in info.items()])
|
||||
return info
|
||||
|
||||
|
||||
class TransportItem:
|
||||
# If the item is enough to submit and not in blacklist
|
||||
load: bool
|
||||
@@ -212,6 +213,7 @@ class TransportItem:
|
||||
info = ', '.join([f'{k}: {v}' for k, v in info.items()])
|
||||
return info
|
||||
|
||||
|
||||
class IslandTransportRun(IslandUI):
|
||||
@cached_property
|
||||
def blacklist(self):
|
||||
@@ -272,13 +274,10 @@ class IslandTransportRun(IslandUI):
|
||||
logger.info('trials of transport commission detect exhausted, stop')
|
||||
return commissions.select(valid=True)
|
||||
|
||||
def transport_receive(self, skip_first_screenshot=True):
|
||||
def transport_receive(self):
|
||||
"""
|
||||
Receive all transport missions from transport page.
|
||||
|
||||
Args:
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
bool: if received
|
||||
"""
|
||||
@@ -288,12 +287,7 @@ class IslandTransportRun(IslandUI):
|
||||
success = True
|
||||
click_timer = Timer(5, count=10).start()
|
||||
confirm_timer = Timer(1, count=2).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if self.handle_info_bar():
|
||||
click_timer.reset()
|
||||
confirm_timer.reset()
|
||||
@@ -334,13 +328,12 @@ class IslandTransportRun(IslandUI):
|
||||
|
||||
return success
|
||||
|
||||
def transport_refresh(self, comm, skip_first_screenshot=True):
|
||||
def transport_refresh(self, comm):
|
||||
"""
|
||||
Refresh the specific transport mission from transport page.
|
||||
|
||||
Args:
|
||||
comm (IslandTransport): the commission to refresh
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
bool: if success
|
||||
@@ -349,12 +342,7 @@ class IslandTransportRun(IslandUI):
|
||||
self.interval_clear([TRANSPORT_REFRESH, POPUP_CONFIRM_WHITE])
|
||||
success = True
|
||||
confirm_timer = Timer(1, count=2).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if self.appear_then_click(TRANSPORT_REFRESH, offset=comm.offset, interval=2):
|
||||
continue
|
||||
|
||||
@@ -370,13 +358,12 @@ class IslandTransportRun(IslandUI):
|
||||
confirm_timer.reset()
|
||||
return success
|
||||
|
||||
def transport_start(self, comm, skip_first_screenshot=True):
|
||||
def transport_start(self, comm):
|
||||
"""
|
||||
Start the specific transport mission from transport page.
|
||||
|
||||
Args:
|
||||
comm (IslandTransport): the commission to start
|
||||
skip_first_screenshot (bool):
|
||||
|
||||
Returns:
|
||||
bool: if success
|
||||
@@ -385,12 +372,7 @@ class IslandTransportRun(IslandUI):
|
||||
self.interval_clear([GET_ITEMS_ISLAND, TRANSPORT_START, POPUP_CANCEL_WHITE])
|
||||
success = True
|
||||
confirm_timer = Timer(1, count=2).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if self.appear_then_click(TRANSPORT_START, offset=comm.offset, interval=2):
|
||||
success = False
|
||||
confirm_timer.reset()
|
||||
|
||||
@@ -2,8 +2,8 @@ from module.base.timer import Timer
|
||||
from module.handler.assets import MAINTENANCE_ANNOUNCE, USE_DATA_KEY_NOTIFIED
|
||||
from module.island.assets import *
|
||||
from module.logger import logger
|
||||
from module.ui.assets import DORMMENU_GOTO_ISLAND, SHOP_BACK_ARROW
|
||||
from module.ui.page import page_dormmenu, page_island, page_island_phone
|
||||
from module.ui.assets import SHOP_BACK_ARROW
|
||||
from module.ui.page import page_island_phone
|
||||
from module.ui.ui import UI
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ class IslandUI(UI):
|
||||
skip_first_screenshot=True
|
||||
)
|
||||
|
||||
def ui_ensure_management_page(self, skip_first_screenshot=True):
|
||||
def ui_ensure_management_page(self):
|
||||
"""
|
||||
Pages:
|
||||
in: page_island_phone or product page
|
||||
@@ -97,12 +97,7 @@ class IslandUI(UI):
|
||||
logger.info('UI ensure management page')
|
||||
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
|
||||
confirm_timer = Timer(1, count=2).start()
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
for _ in self.loop():
|
||||
if self.island_in_management():
|
||||
if confirm_timer.reached():
|
||||
break
|
||||
@@ -121,38 +116,25 @@ class IslandUI(UI):
|
||||
return True
|
||||
return False
|
||||
|
||||
def handle_island_ui_additional(self, skip_first_screenshot=True):
|
||||
if not self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50)):
|
||||
return False
|
||||
def ui_additional(self, get_ship=True):
|
||||
# notify in page_dormmenu
|
||||
if self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50)):
|
||||
for _ in self.loop():
|
||||
enabled = self.image_color_count(
|
||||
USE_DATA_KEY_NOTIFIED, color=(140, 207, 66), threshold=180, count=10)
|
||||
if enabled:
|
||||
break
|
||||
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
if self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=5):
|
||||
self.device.click(USE_DATA_KEY_NOTIFIED)
|
||||
continue
|
||||
|
||||
enabled = self.image_color_count(
|
||||
USE_DATA_KEY_NOTIFIED, color=(140, 207, 66), threshold=180, count=10)
|
||||
if enabled:
|
||||
break
|
||||
|
||||
if self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=5):
|
||||
self.device.click(USE_DATA_KEY_NOTIFIED)
|
||||
continue
|
||||
|
||||
self.interval_clear(MAINTENANCE_ANNOUNCE)
|
||||
self.appear_then_click(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=2)
|
||||
return True
|
||||
|
||||
def ui_goto_island(self):
|
||||
if self.ui_get_current_page() in [page_island, page_island_phone]:
|
||||
logger.info(f'Already at {self.ui_current}')
|
||||
self.interval_clear(MAINTENANCE_ANNOUNCE)
|
||||
self.appear_then_click(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=2)
|
||||
return True
|
||||
|
||||
# info in page_island
|
||||
if self.appear_then_click(ISLAND_INFO_EXIT, offset=(30, 30), interval=3):
|
||||
return True
|
||||
|
||||
self.ui_ensure(page_dormmenu)
|
||||
self.ui_click(click_button=DORMMENU_GOTO_ISLAND,
|
||||
check_button=page_island.check_button,
|
||||
additional=self.handle_island_ui_additional,
|
||||
offset=(30, 30),
|
||||
retry_wait=2,
|
||||
skip_first_screenshot=True)
|
||||
return super().ui_additional(get_ship=False)
|
||||
|
||||