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,
|
"Option2": 0,
|
||||||
"Character2": "manjuu",
|
"Character2": "manjuu",
|
||||||
"Option3": 0,
|
"Option3": 0,
|
||||||
"Character3": "manjuu",
|
"Character3": "manjuu"
|
||||||
"Option4": 0,
|
|
||||||
"Character4": "manjuu"
|
|
||||||
},
|
},
|
||||||
"Island4": {
|
"Island4": {
|
||||||
"Receive": false,
|
"Receive": false,
|
||||||
@@ -1629,7 +1627,11 @@
|
|||||||
"Option1": 0,
|
"Option1": 0,
|
||||||
"Character1": "manjuu",
|
"Character1": "manjuu",
|
||||||
"Option2": 0,
|
"Option2": 0,
|
||||||
"Character2": "manjuu"
|
"Character2": "manjuu",
|
||||||
|
"Option3": 0,
|
||||||
|
"Character3": "manjuu",
|
||||||
|
"Option4": 0,
|
||||||
|
"Character4": "manjuu"
|
||||||
},
|
},
|
||||||
"Island7": {
|
"Island7": {
|
||||||
"Receive": false,
|
"Receive": false,
|
||||||
@@ -1694,6 +1696,13 @@
|
|||||||
"Option2": 0,
|
"Option2": 0,
|
||||||
"Character2": "manjuu"
|
"Character2": "manjuu"
|
||||||
},
|
},
|
||||||
|
"Island16": {
|
||||||
|
"Receive": false,
|
||||||
|
"Option1": 0,
|
||||||
|
"Character1": "manjuu",
|
||||||
|
"Option2": 0,
|
||||||
|
"Character2": "manjuu"
|
||||||
|
},
|
||||||
"Storage": {
|
"Storage": {
|
||||||
"Storage": {}
|
"Storage": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -510,6 +510,12 @@ _Island:
|
|||||||
IslandOption11: &IslandOption11
|
IslandOption11: &IslandOption11
|
||||||
value: 0
|
value: 0
|
||||||
option: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
|
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
|
IslandCharacter: &IslandCharacter
|
||||||
value: manjuu
|
value: manjuu
|
||||||
option:
|
option:
|
||||||
@@ -522,9 +528,19 @@ _Island:
|
|||||||
- akashi
|
- akashi
|
||||||
- ying_swei
|
- ying_swei
|
||||||
- chao_ho
|
- chao_ho
|
||||||
|
- william_d_porter
|
||||||
|
- chen_hai
|
||||||
|
- hood
|
||||||
|
- prinz_eugen
|
||||||
|
- tb
|
||||||
|
- oceana
|
||||||
|
- explorer
|
||||||
- unicorn
|
- unicorn
|
||||||
- cheshire
|
- cheshire
|
||||||
- amagi_chan
|
- amagi_chan
|
||||||
|
- helena
|
||||||
|
- atago
|
||||||
|
- friedrich_der_grobe
|
||||||
Island1:
|
Island1:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption8
|
Option1: *IslandOption8
|
||||||
@@ -554,6 +570,14 @@ Island2:
|
|||||||
option: [ 0, 4 ]
|
option: [ 0, 4 ]
|
||||||
Character4: *IslandCharacter
|
Character4: *IslandCharacter
|
||||||
Island3:
|
Island3:
|
||||||
|
Receive: false
|
||||||
|
Option1: *IslandOption16
|
||||||
|
Character1: *IslandCharacter
|
||||||
|
Option2: *IslandOption16
|
||||||
|
Character2: *IslandCharacter
|
||||||
|
Option3: *IslandOption16
|
||||||
|
Character3: *IslandCharacter
|
||||||
|
Island4:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption6
|
Option1: *IslandOption6
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
@@ -563,7 +587,7 @@ Island3:
|
|||||||
Character3: *IslandCharacter
|
Character3: *IslandCharacter
|
||||||
Option4: *IslandOption6
|
Option4: *IslandOption6
|
||||||
Character4: *IslandCharacter
|
Character4: *IslandCharacter
|
||||||
Island4:
|
Island5:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption4
|
Option1: *IslandOption4
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
@@ -573,22 +597,16 @@ Island4:
|
|||||||
Character3: *IslandCharacter
|
Character3: *IslandCharacter
|
||||||
Option4: *IslandOption4
|
Option4: *IslandOption4
|
||||||
Character4: *IslandCharacter
|
Character4: *IslandCharacter
|
||||||
Island5:
|
|
||||||
Receive: false
|
|
||||||
Option1: *IslandOption9
|
|
||||||
Character1: *IslandCharacter
|
|
||||||
Option2: *IslandOption9
|
|
||||||
Character2: *IslandCharacter
|
|
||||||
Option3: *IslandOption9
|
|
||||||
Character3: *IslandCharacter
|
|
||||||
Option4: *IslandOption9
|
|
||||||
Character4: *IslandCharacter
|
|
||||||
Island6:
|
Island6:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption7
|
Option1: *IslandOption7
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
Option2: *IslandOption7
|
Option2: *IslandOption7
|
||||||
Character2: *IslandCharacter
|
Character2: *IslandCharacter
|
||||||
|
Option3: *IslandOption7
|
||||||
|
Character3: *IslandCharacter
|
||||||
|
Option4: *IslandOption7
|
||||||
|
Character4: *IslandCharacter
|
||||||
Island7:
|
Island7:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption9
|
Option1: *IslandOption9
|
||||||
@@ -596,29 +614,29 @@ Island7:
|
|||||||
Option2: *IslandOption9
|
Option2: *IslandOption9
|
||||||
Character2: *IslandCharacter
|
Character2: *IslandCharacter
|
||||||
Island8:
|
Island8:
|
||||||
|
Receive: false
|
||||||
|
Option1: *IslandOption12
|
||||||
|
Character1: *IslandCharacter
|
||||||
|
Option2: *IslandOption12
|
||||||
|
Character2: *IslandCharacter
|
||||||
|
Island9:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption11
|
Option1: *IslandOption11
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
Option2: *IslandOption11
|
Option2: *IslandOption11
|
||||||
Character2: *IslandCharacter
|
Character2: *IslandCharacter
|
||||||
Island9:
|
Island10:
|
||||||
|
Receive: false
|
||||||
|
Option1: *IslandOption10
|
||||||
|
Character1: *IslandCharacter
|
||||||
|
Option2: *IslandOption10
|
||||||
|
Character2: *IslandCharacter
|
||||||
|
Island11:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption9
|
Option1: *IslandOption9
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
Option2: *IslandOption9
|
Option2: *IslandOption9
|
||||||
Character2: *IslandCharacter
|
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:
|
Island12:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption6
|
Option1: *IslandOption6
|
||||||
@@ -626,18 +644,24 @@ Island12:
|
|||||||
Option2: *IslandOption6
|
Option2: *IslandOption6
|
||||||
Character2: *IslandCharacter
|
Character2: *IslandCharacter
|
||||||
Island13:
|
Island13:
|
||||||
|
Receive: false
|
||||||
|
Option1: *IslandOption6
|
||||||
|
Character1: *IslandCharacter
|
||||||
|
Option2: *IslandOption6
|
||||||
|
Character2: *IslandCharacter
|
||||||
|
Island14:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption4
|
Option1: *IslandOption4
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
Option2: *IslandOption4
|
Option2: *IslandOption4
|
||||||
Character2: *IslandCharacter
|
Character2: *IslandCharacter
|
||||||
Island14:
|
Island15:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption9
|
Option1: *IslandOption9
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
Option2: *IslandOption9
|
Option2: *IslandOption9
|
||||||
Character2: *IslandCharacter
|
Character2: *IslandCharacter
|
||||||
Island15:
|
Island16:
|
||||||
Receive: false
|
Receive: false
|
||||||
Option1: *IslandOption9
|
Option1: *IslandOption9
|
||||||
Character1: *IslandCharacter
|
Character1: *IslandCharacter
|
||||||
|
|||||||
@@ -248,6 +248,7 @@ Reward:
|
|||||||
- Island13
|
- Island13
|
||||||
- Island14
|
- Island14
|
||||||
- Island15
|
- Island15
|
||||||
|
- Island16
|
||||||
|
|
||||||
# ==================== DailyMission ====================
|
# ==================== DailyMission ====================
|
||||||
|
|
||||||
|
|||||||
@@ -274,127 +274,136 @@ class GeneratedConfig:
|
|||||||
# Group `Island1`
|
# Group `Island1`
|
||||||
Island1_Receive = False
|
Island1_Receive = False
|
||||||
Island1_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8
|
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_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_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_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`
|
# Group `Island2`
|
||||||
Island2_Receive = False
|
Island2_Receive = False
|
||||||
Island2_Option1 = 0 # 0, 1
|
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_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_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_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`
|
# Group `Island3`
|
||||||
Island3_Receive = False
|
Island3_Receive = False
|
||||||
Island3_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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
|
||||||
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
|
|
||||||
|
|
||||||
# Group `Island4`
|
# Group `Island4`
|
||||||
Island4_Receive = False
|
Island4_Receive = False
|
||||||
Island4_Option1 = 0 # 0, 1, 2, 3, 4
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island5`
|
||||||
Island5_Receive = False
|
Island5_Receive = False
|
||||||
Island5_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
Island5_Option1 = 0 # 0, 1, 2, 3, 4
|
||||||
Island5_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
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, 5, 6, 7, 8, 9
|
Island5_Option2 = 0 # 0, 1, 2, 3, 4
|
||||||
Island5_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
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, 5, 6, 7, 8, 9
|
Island5_Option3 = 0 # 0, 1, 2, 3, 4
|
||||||
Island5_Character3 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
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, 5, 6, 7, 8, 9
|
Island5_Option4 = 0 # 0, 1, 2, 3, 4
|
||||||
Island5_Character4 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island6`
|
||||||
Island6_Receive = False
|
Island6_Receive = False
|
||||||
Island6_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
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_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`
|
# Group `Island7`
|
||||||
Island7_Receive = False
|
Island7_Receive = False
|
||||||
Island7_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
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_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`
|
# Group `Island8`
|
||||||
Island8_Receive = False
|
Island8_Receive = False
|
||||||
Island8_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island9`
|
||||||
Island9_Receive = False
|
Island9_Receive = False
|
||||||
Island9_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island10`
|
||||||
Island10_Receive = False
|
Island10_Receive = False
|
||||||
Island10_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island11`
|
||||||
Island11_Receive = False
|
Island11_Receive = False
|
||||||
Island11_Option1 = 0 # 0, 1, 2, 3, 4, 5
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island12`
|
||||||
Island12_Receive = False
|
Island12_Receive = False
|
||||||
Island12_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6
|
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_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`
|
# Group `Island13`
|
||||||
Island13_Receive = False
|
Island13_Receive = False
|
||||||
Island13_Option1 = 0 # 0, 1, 2, 3, 4
|
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, unicorn, cheshire, amagi_chan
|
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
|
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, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island14`
|
||||||
Island14_Receive = False
|
Island14_Receive = False
|
||||||
Island14_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
Island14_Option1 = 0 # 0, 1, 2, 3, 4
|
||||||
Island14_Character1 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
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, 5, 6, 7, 8, 9
|
Island14_Option2 = 0 # 0, 1, 2, 3, 4
|
||||||
Island14_Character2 = 'manjuu' # manjuu, saratoga, new_jersey, tashkent, lemalin, shimakaze, akashi, ying_swei, chao_ho, unicorn, cheshire, amagi_chan
|
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`
|
# Group `Island15`
|
||||||
Island15_Receive = False
|
Island15_Receive = False
|
||||||
Island15_Option1 = 0 # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
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_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`
|
# Group `GeneralShop`
|
||||||
GeneralShop_UseGems = False
|
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'})
|
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_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_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 = 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_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'})
|
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'})
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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'})
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 = 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_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'})
|
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_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_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_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_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'})
|
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_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'})
|
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):
|
def run(self):
|
||||||
if server.server in ['cn', 'en']:
|
if server.server in ['cn', 'en']:
|
||||||
transport = False
|
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)
|
project = any(project_config)
|
||||||
names = self.island_config_to_names(project_config)
|
names = self.island_config_to_names(project_config)
|
||||||
if transport or project:
|
if transport or project:
|
||||||
self.ui_goto_island()
|
|
||||||
self.ui_ensure(page_island_phone)
|
self.ui_ensure(page_island_phone)
|
||||||
self.island_run(transport=transport, project=project, names=names)
|
self.island_run(transport=transport, project=project, names=names)
|
||||||
self.ui_goto(page_main, get_ship=False)
|
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.logger import logger
|
||||||
from module.map.map_grids import SelectedGrids
|
from module.map.map_grids import SelectedGrids
|
||||||
from module.ocr.ocr import Duration, Ocr
|
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):
|
class ProjectNameOcr(Ocr):
|
||||||
@@ -339,7 +345,61 @@ class IslandProjectRun(IslandUI):
|
|||||||
for button in TEMPLATE_PROJECT.match_multi(image_gray)])
|
for button in TEMPLATE_PROJECT.match_multi(image_gray)])
|
||||||
return projects.select(valid=True)
|
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.
|
Receive a project and enter role select page.
|
||||||
|
|
||||||
@@ -353,16 +413,12 @@ class IslandProjectRun(IslandUI):
|
|||||||
self.interval_clear([ISLAND_MANAGEMENT_CHECK, PROJECT_COMPLETE,
|
self.interval_clear([ISLAND_MANAGEMENT_CHECK, PROJECT_COMPLETE,
|
||||||
GET_ITEMS_ISLAND, ROLE_SELECT_ENTER])
|
GET_ITEMS_ISLAND, ROLE_SELECT_ENTER])
|
||||||
success = False
|
success = False
|
||||||
enter = True
|
|
||||||
click_timer = Timer(5, count=10).start()
|
click_timer = Timer(5, count=10).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
# UI additional
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if self.island_in_management(interval=5):
|
if self.island_in_management(interval=5):
|
||||||
self.device.click(button)
|
self.device.click(button)
|
||||||
|
self.device.sleep(0.1)
|
||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -374,7 +430,9 @@ class IslandProjectRun(IslandUI):
|
|||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
continue
|
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
|
success = True
|
||||||
self.interval_clear(GET_ITEMS_ISLAND)
|
self.interval_clear(GET_ITEMS_ISLAND)
|
||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
@@ -382,25 +440,24 @@ class IslandProjectRun(IslandUI):
|
|||||||
|
|
||||||
if self.appear_then_click(PROJECT_COMPLETE, offset=(20, 20), interval=1):
|
if self.appear_then_click(PROJECT_COMPLETE, offset=(20, 20), interval=1):
|
||||||
success = True
|
success = True
|
||||||
enter = False
|
|
||||||
self.interval_clear(GET_ITEMS_ISLAND)
|
self.interval_clear(GET_ITEMS_ISLAND)
|
||||||
self.interval_reset(ROLE_SELECT_ENTER)
|
self.interval_reset(ROLE_SELECT_ENTER)
|
||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if self.handle_get_items():
|
if self.handle_get_items():
|
||||||
enter = True
|
|
||||||
self.interval_clear(ROLE_SELECT_ENTER)
|
self.interval_clear(ROLE_SELECT_ENTER)
|
||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# handle island level up
|
# handle island level up
|
||||||
if not enter and click_timer.reached():
|
if click_timer.reached():
|
||||||
self.device.click(GET_ITEMS_ISLAND)
|
self.device.click(GET_ITEMS_ISLAND)
|
||||||
self.device.sleep(0.3)
|
self.device.sleep(0.3)
|
||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# End
|
||||||
if self.appear(ROLE_SELECT_CONFIRM, offset=(20, 20)):
|
if self.appear(ROLE_SELECT_CONFIRM, offset=(20, 20)):
|
||||||
break
|
break
|
||||||
|
|
||||||
@@ -423,12 +480,7 @@ class IslandProjectRun(IslandUI):
|
|||||||
click_button (Button): character button to click
|
click_button (Button): character button to click
|
||||||
check_button (Button):
|
check_button (Button):
|
||||||
"""
|
"""
|
||||||
skip_first_screenshot=True
|
for _ in self.loop():
|
||||||
while 1:
|
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
if self.appear(check_button, offset=(20, 20)):
|
if self.appear(check_button, offset=(20, 20)):
|
||||||
break
|
break
|
||||||
if self.appear(ROLE_SELECT_CONFIRM, offset=(20, 20), interval=2):
|
if self.appear(ROLE_SELECT_CONFIRM, offset=(20, 20), interval=2):
|
||||||
@@ -436,12 +488,8 @@ class IslandProjectRun(IslandUI):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
self.interval_clear(ROLE_SELECT_CONFIRM)
|
self.interval_clear(ROLE_SELECT_CONFIRM)
|
||||||
skip_first_screenshot=True
|
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
# End
|
# End
|
||||||
if self.appear(ISLAND_AMOUNT_MAX, offset=(20, 20)):
|
if self.appear(ISLAND_AMOUNT_MAX, offset=(20, 20)):
|
||||||
return True
|
return True
|
||||||
@@ -453,26 +501,21 @@ class IslandProjectRun(IslandUI):
|
|||||||
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
|
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
def project_character_select(self, character='manjuu', skip_first_screenshot=True):
|
def project_character_select(self, character='manjuu'):
|
||||||
"""
|
"""
|
||||||
Select a role to produce.
|
Select a role to produce.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
character (str): character name to select
|
character (str): character name to select
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: if selected
|
bool: if selected
|
||||||
"""
|
"""
|
||||||
logger.info('Island select role')
|
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
|
count = 0
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if timeout.reached():
|
if timeout.reached():
|
||||||
self.ui_ensure_management_page()
|
self.ui_ensure_management_page()
|
||||||
return False
|
return False
|
||||||
@@ -484,8 +527,14 @@ class IslandProjectRun(IslandUI):
|
|||||||
return self._project_character_select(click_button, check_button)
|
return self._project_character_select(click_button, check_button)
|
||||||
else:
|
else:
|
||||||
name = ' '.join(map(lambda x: x.capitalize(), character.split('_')))
|
name = ' '.join(map(lambda x: x.capitalize(), character.split('_')))
|
||||||
logger.info(f'No character {name} found')
|
# retry 2 times for character select
|
||||||
if count >= 2:
|
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'
|
character = 'manjuu'
|
||||||
count += 1
|
count += 1
|
||||||
continue
|
continue
|
||||||
@@ -518,28 +567,23 @@ class IslandProjectRun(IslandUI):
|
|||||||
peaks = np.array(peaks) + y_top
|
peaks = np.array(peaks) + y_top
|
||||||
return ProductItem(self.device.image, peaks, project_id)
|
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.
|
Select a product in items list.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
option (str): option to select
|
option (str): option to select
|
||||||
trail (int): retry times
|
trail (int): retry times
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: if selected
|
bool: if selected
|
||||||
"""
|
"""
|
||||||
logger.hr('Island Select Product')
|
logger.hr('Island Select Product')
|
||||||
last = None
|
last_item = None
|
||||||
|
bottom_item = None
|
||||||
retry = trial
|
retry = trial
|
||||||
click_interval = Timer(1)
|
click_interval = Timer(1)
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
current = self.get_current_product(project_id)
|
current = self.get_current_product(project_id)
|
||||||
if trial > 0 and not len(current.items):
|
if trial > 0 and not len(current.items):
|
||||||
trial -= 1
|
trial -= 1
|
||||||
@@ -561,7 +605,7 @@ class IslandProjectRun(IslandUI):
|
|||||||
click_interval.reset()
|
click_interval.reset()
|
||||||
drag = False
|
drag = False
|
||||||
|
|
||||||
if last == current.items[-1]:
|
if bottom_item == current.items[-1]:
|
||||||
if retry > 0:
|
if retry > 0:
|
||||||
retry -= 1
|
retry -= 1
|
||||||
continue
|
continue
|
||||||
@@ -569,18 +613,21 @@ class IslandProjectRun(IslandUI):
|
|||||||
self.ui_ensure_management_page()
|
self.ui_ensure_management_page()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if drag:
|
# clear record if current product is different during 2 drags
|
||||||
last = current.items[-1]
|
if last_item is not None and last_item != current:
|
||||||
self.device.click(last.button)
|
self.device.click_record.pop()
|
||||||
self.island_drag_next_page((0, -300), ISLAND_PRODUCT_ITEMS.area, 0.5)
|
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.
|
Start the product after product selected.
|
||||||
|
|
||||||
Args:
|
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: if success
|
bool: if success
|
||||||
"""
|
"""
|
||||||
@@ -588,12 +635,7 @@ class IslandProjectRun(IslandUI):
|
|||||||
last = None
|
last = None
|
||||||
success = False
|
success = False
|
||||||
timeout = Timer(1.5, count=3).start()
|
timeout = Timer(1.5, count=3).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if timeout.reached():
|
if timeout.reached():
|
||||||
break
|
break
|
||||||
|
|
||||||
@@ -634,45 +676,6 @@ class IslandProjectRun(IslandUI):
|
|||||||
if self.island_in_management():
|
if self.island_in_management():
|
||||||
return True
|
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):
|
def project_receive_and_start(self, proj, button, character, option, project_id, ensure=True):
|
||||||
"""
|
"""
|
||||||
Receive and start a project is in the current page.
|
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]))
|
slot_option.append(deep_get(items_data, [proj_id, option]))
|
||||||
return slot_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.
|
Execute island run to receive and start project.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
names (list[str]): a list of name for island receive
|
names (list[str]): a list of name for island receive
|
||||||
trial (int): retry times
|
trial (int): retry times
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
list[timedelta]: future finish timedelta
|
list[timedelta]: future finish timedelta
|
||||||
"""
|
"""
|
||||||
logger.hr('Island Project Run', level=1)
|
logger.hr('Island Project Run', level=1)
|
||||||
|
self.ensure_project(names[0])
|
||||||
end = False
|
end = False
|
||||||
timeout = Timer(3, count=3).start()
|
timeout = Timer(3, count=3).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if timeout.reached():
|
if timeout.reached():
|
||||||
break
|
break
|
||||||
|
|
||||||
@@ -785,7 +783,7 @@ class IslandProjectRun(IslandUI):
|
|||||||
|
|
||||||
if end:
|
if end:
|
||||||
break
|
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
|
# task delay
|
||||||
future_finish = sorted([f for f in self.total.get('finish_time') if f is not None])
|
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
|
import module.config.server as server
|
||||||
|
|
||||||
__name_to_slot_cn = {
|
__name_to_slot_cn = {
|
||||||
'丰壤农田': 4, '悠然牧场': 4, '沉石矿山': 4, '翠土林场': 4, '坠香果园': 4, '青芽苗圃': 2,
|
'丰壤农田': 4, '悠然牧场': 4, '啾啾渔场': 3, '沉石矿山': 4, '翠土林场': 4, '坠香果园': 4,
|
||||||
'有鱼餐馆': 2, '白熊饮品': 2, '啾啾简餐': 2, '乌鱼烤肉': 2, '木料加工设备': 2, '工业生产设备': 2,
|
'青芽苗圃': 2, '有鱼餐馆': 2, '白熊饮品': 2, '啾啾简餐': 2, '乌鱼烤肉': 2, '木料加工设备': 2,
|
||||||
'电子加工设备': 2, '手工制作设备': 2, '啾咖啡': 2
|
'工业生产设备': 2, '电子加工设备': 2, '手工制作设备': 2, '啾咖啡': 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
__items_data_cn = {
|
__items_data_cn = {
|
||||||
@@ -15,50 +15,89 @@ __items_data_cn = {
|
|||||||
1: '鸡蛋', 2: '鲜肉', 3: '牛奶', 4: '羊毛',
|
1: '鸡蛋', 2: '鲜肉', 3: '牛奶', 4: '羊毛',
|
||||||
},
|
},
|
||||||
3: {
|
3: {
|
||||||
1: '煤炭', 2: '铜矿', 3: '铝矿', 4: '铁矿', 5: '硫矿', 6: '银矿',
|
1: '贝类', 2: '鲶鱼', 3: '鲤鱼', 4: '鲫鱼', 5: '小河虾', 6: '小龙虾',
|
||||||
|
7: '鲈鱼', 8: '螃蟹', 9: '鱿鱼', 10: '马鲛鱼', 11: '金枪鱼', 12: '三文鱼',
|
||||||
|
13: '红鲷鱼', 14: '黑鲷鱼', 15: '黄鳍金枪鱼', 16: '海参',
|
||||||
},
|
},
|
||||||
4: {
|
4: {
|
||||||
1: '自然之木', 2: '实用之木', 3: '精选之木', 4: '典雅之木',
|
1: '煤炭', 2: '铜矿', 3: '铝矿', 4: '铁矿', 5: '硫矿', 6: '银矿',
|
||||||
},
|
},
|
||||||
5: {
|
5: {
|
||||||
1: '秋月梨', 2: '柿子', 3: '苹果', 4: '柑橘', 5: '香蕉', 6: '芒果',
|
1: '自然之木', 2: '实用之木', 3: '精选之木', 4: '典雅之木',
|
||||||
7: '柠檬', 8: '牛油果', 9: '橡胶',
|
|
||||||
},
|
},
|
||||||
|
# autumn
|
||||||
|
# 6: {
|
||||||
|
# 1: '秋月梨', 2: '柿子', 3: '苹果', 4: '柑橘', 5: '香蕉', 6: '芒果',
|
||||||
|
# 7: '柠檬', 8: '牛油果', 9: '橡胶',
|
||||||
|
# },
|
||||||
|
# spring
|
||||||
6: {
|
6: {
|
||||||
1: '亚麻', 2: '草莓', 3: '棉花', 4: '茶叶', 5: '薰衣草', 6: '胡萝卜',
|
1: '苹果', 2: '柑橘', 3: '香蕉', 4: '芒果', 5: '柠檬', 6: '牛油果',
|
||||||
7: '洋葱',
|
7: '橡胶',
|
||||||
},
|
},
|
||||||
|
# autumn
|
||||||
|
# 7: {
|
||||||
|
# 1: '亚麻', 2: '草莓', 3: '棉花', 4: '茶叶', 5: '薰衣草', 6: '胡萝卜',
|
||||||
|
# 7: '洋葱',
|
||||||
|
# },
|
||||||
|
# spring
|
||||||
7: {
|
7: {
|
||||||
1: '柿子饼', 2: '松茸鸡汤', 3: '豆腐', 4: '肉末烧豆腐', 5: '蛋包饭',
|
1: '芦笋', 2: '凤梨', 3: '亚麻', 4: '草莓', 5: '棉花', 6: '茶叶',
|
||||||
6: '白菜豆腐汤', 7: '蔬菜沙拉', 8: '经典豆腐套餐', 9: '绵玉定食',
|
7: '薰衣草', 8: '胡萝卜', 9: '洋葱',
|
||||||
},
|
},
|
||||||
|
# autumn
|
||||||
|
# 8: {
|
||||||
|
# 1: '柿子饼', 2: '松茸鸡汤', 3: '豆腐', 4: '肉末烧豆腐', 5: '蛋包饭',
|
||||||
|
# 6: '白菜豆腐汤', 7: '蔬菜沙拉', 8: '炸鱼薯条', 9: '洋葱蒸鱼', 10: '佛跳墙',
|
||||||
|
# 11: '经典豆腐套餐', 12: '绵玉定食',
|
||||||
|
# },
|
||||||
|
# spring
|
||||||
8: {
|
8: {
|
||||||
1: '胡萝卜秋梨汁', 2: '菊花茶', 3: '苹果汁', 4: '香蕉芒果汁',
|
1: '凉拌双笋', 2: '芦笋炒虾仁', 3: '豆腐', 4: '肉末烧豆腐', 5: '蛋包饭',
|
||||||
5: '蜂蜜柠檬水', 6: '草莓蜜沁', 7: '薰衣草茶', 8: '草莓蜂蜜冰沙',
|
6: '白菜豆腐汤', 7: '蔬菜沙拉', 8: '炸鱼薯条', 9: '洋葱蒸鱼', 10: '佛跳墙',
|
||||||
9: '阳光蜜水', 10: '花香果韵', 11: '缤纷果乐园',
|
11: '经典豆腐套餐', 12: '绵玉定食',
|
||||||
},
|
},
|
||||||
|
# autumn
|
||||||
|
# 9: {
|
||||||
|
# 1: '胡萝卜秋梨汁', 2: '菊花茶', 3: '苹果汁', 4: '香蕉芒果汁',
|
||||||
|
# 5: '蜂蜜柠檬水', 6: '草莓蜜沁', 7: '薰衣草茶', 8: '草莓蜂蜜冰沙',
|
||||||
|
# 9: '花香果韵', 10: '缤纷果乐园', 11: '阳光蜜水',
|
||||||
|
# },
|
||||||
|
# spring
|
||||||
9: {
|
9: {
|
||||||
1: '玉米杯', 2: '苹果派', 3: '香橙派', 4: '芒果糯米饭', 5: '香蕉可丽饼',
|
1: '鲜榨菠萝汁', 2: '迎春花茶', 3: '苹果汁', 4: '香蕉芒果汁',
|
||||||
6: '草莓夏洛特', 7: '香甜组合', 8: '果园二重奏', 9: '莓果香橙甜点组',
|
5: '蜂蜜柠檬水', 6: '草莓蜜沁', 7: '薰衣草茶', 8: '草莓蜂蜜冰沙',
|
||||||
|
9: '花香果韵', 10: '缤纷果乐园', 11: '阳光蜜水',
|
||||||
},
|
},
|
||||||
10: {
|
10: {
|
||||||
1: '炭烤肉串', 2: '禽肉土豆拼盘', 3: '爆炒禽肉', 4: '胡萝卜厚蛋烧',
|
1: '玉米杯', 2: '苹果派', 3: '香橙派', 4: '芒果糯米饭', 5: '香蕉可丽饼',
|
||||||
5: '汉堡肉饭', 6: '烤肉狂欢', 7: '能量双拼套餐',
|
6: '草莓夏洛特', 7: '海鲜饭', 8: '香甜组合', 9: '果园二重奏',
|
||||||
|
10: '莓果香橙甜点组',
|
||||||
},
|
},
|
||||||
11: {
|
11: {
|
||||||
1: '纸张', 2: '记事本', 3: '桌椅', 4: '精选木桶', 5: '文件柜',
|
1: '炭烤肉串', 2: '禽肉土豆拼盘', 3: '爆炒禽肉', 4: '胡萝卜厚蛋烧',
|
||||||
|
5: '汉堡肉饭', 6: '柠檬虾', 7: '爆炒小龙虾', 8: '烤肉狂欢', 9: '能量双拼套餐',
|
||||||
},
|
},
|
||||||
12: {
|
12: {
|
||||||
1: '炭笔', 2: '铁钉', 3: '电缆', 4: '硫酸', 5: '火药', 6: '刀叉餐具',
|
1: '纸张', 2: '记事本', 3: '桌椅', 4: '精选木桶', 5: '文件柜', 6: '装饰画',
|
||||||
},
|
},
|
||||||
13: {
|
13: {
|
||||||
1: '墨盒', 2: '钟表', 3: '蓄电池', 4: '净水滤芯',
|
1: '炭笔', 2: '电缆', 3: '铁钉', 4: '硫酸', 5: '火药', 6: '刀叉餐具',
|
||||||
},
|
},
|
||||||
14: {
|
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: '绷带',
|
7: '香囊', 8: '鞋靴', 9: '绷带',
|
||||||
},
|
},
|
||||||
15: {
|
16: {
|
||||||
1: '欧姆蛋', 2: '冰咖啡', 3: '芝士', 4: '拿铁', 5: '柑橘咖啡',
|
1: '欧姆蛋', 2: '冰咖啡', 3: '芝士', 4: '拿铁', 5: '柑橘咖啡',
|
||||||
6: '草莓奶绿', 7: '晨光活力组合', 8: '醒神套餐', 9: '果香双杯乐',
|
6: '草莓奶绿', 7: '晨光活力组合', 8: '醒神套餐', 9: '果香双杯乐',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ class IslandTransport:
|
|||||||
info = ', '.join([f'{k}: {v}' for k, v in info.items()])
|
info = ', '.join([f'{k}: {v}' for k, v in info.items()])
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
|
||||||
class TransportItem:
|
class TransportItem:
|
||||||
# If the item is enough to submit and not in blacklist
|
# If the item is enough to submit and not in blacklist
|
||||||
load: bool
|
load: bool
|
||||||
@@ -212,6 +213,7 @@ class TransportItem:
|
|||||||
info = ', '.join([f'{k}: {v}' for k, v in info.items()])
|
info = ', '.join([f'{k}: {v}' for k, v in info.items()])
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
|
||||||
class IslandTransportRun(IslandUI):
|
class IslandTransportRun(IslandUI):
|
||||||
@cached_property
|
@cached_property
|
||||||
def blacklist(self):
|
def blacklist(self):
|
||||||
@@ -272,13 +274,10 @@ class IslandTransportRun(IslandUI):
|
|||||||
logger.info('trials of transport commission detect exhausted, stop')
|
logger.info('trials of transport commission detect exhausted, stop')
|
||||||
return commissions.select(valid=True)
|
return commissions.select(valid=True)
|
||||||
|
|
||||||
def transport_receive(self, skip_first_screenshot=True):
|
def transport_receive(self):
|
||||||
"""
|
"""
|
||||||
Receive all transport missions from transport page.
|
Receive all transport missions from transport page.
|
||||||
|
|
||||||
Args:
|
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: if received
|
bool: if received
|
||||||
"""
|
"""
|
||||||
@@ -288,12 +287,7 @@ class IslandTransportRun(IslandUI):
|
|||||||
success = True
|
success = True
|
||||||
click_timer = Timer(5, count=10).start()
|
click_timer = Timer(5, count=10).start()
|
||||||
confirm_timer = Timer(1, count=2).start()
|
confirm_timer = Timer(1, count=2).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if self.handle_info_bar():
|
if self.handle_info_bar():
|
||||||
click_timer.reset()
|
click_timer.reset()
|
||||||
confirm_timer.reset()
|
confirm_timer.reset()
|
||||||
@@ -334,13 +328,12 @@ class IslandTransportRun(IslandUI):
|
|||||||
|
|
||||||
return success
|
return success
|
||||||
|
|
||||||
def transport_refresh(self, comm, skip_first_screenshot=True):
|
def transport_refresh(self, comm):
|
||||||
"""
|
"""
|
||||||
Refresh the specific transport mission from transport page.
|
Refresh the specific transport mission from transport page.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
comm (IslandTransport): the commission to refresh
|
comm (IslandTransport): the commission to refresh
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: if success
|
bool: if success
|
||||||
@@ -349,12 +342,7 @@ class IslandTransportRun(IslandUI):
|
|||||||
self.interval_clear([TRANSPORT_REFRESH, POPUP_CONFIRM_WHITE])
|
self.interval_clear([TRANSPORT_REFRESH, POPUP_CONFIRM_WHITE])
|
||||||
success = True
|
success = True
|
||||||
confirm_timer = Timer(1, count=2).start()
|
confirm_timer = Timer(1, count=2).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if self.appear_then_click(TRANSPORT_REFRESH, offset=comm.offset, interval=2):
|
if self.appear_then_click(TRANSPORT_REFRESH, offset=comm.offset, interval=2):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -370,13 +358,12 @@ class IslandTransportRun(IslandUI):
|
|||||||
confirm_timer.reset()
|
confirm_timer.reset()
|
||||||
return success
|
return success
|
||||||
|
|
||||||
def transport_start(self, comm, skip_first_screenshot=True):
|
def transport_start(self, comm):
|
||||||
"""
|
"""
|
||||||
Start the specific transport mission from transport page.
|
Start the specific transport mission from transport page.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
comm (IslandTransport): the commission to start
|
comm (IslandTransport): the commission to start
|
||||||
skip_first_screenshot (bool):
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: if success
|
bool: if success
|
||||||
@@ -385,12 +372,7 @@ class IslandTransportRun(IslandUI):
|
|||||||
self.interval_clear([GET_ITEMS_ISLAND, TRANSPORT_START, POPUP_CANCEL_WHITE])
|
self.interval_clear([GET_ITEMS_ISLAND, TRANSPORT_START, POPUP_CANCEL_WHITE])
|
||||||
success = True
|
success = True
|
||||||
confirm_timer = Timer(1, count=2).start()
|
confirm_timer = Timer(1, count=2).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if self.appear_then_click(TRANSPORT_START, offset=comm.offset, interval=2):
|
if self.appear_then_click(TRANSPORT_START, offset=comm.offset, interval=2):
|
||||||
success = False
|
success = False
|
||||||
confirm_timer.reset()
|
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.handler.assets import MAINTENANCE_ANNOUNCE, USE_DATA_KEY_NOTIFIED
|
||||||
from module.island.assets import *
|
from module.island.assets import *
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from module.ui.assets import DORMMENU_GOTO_ISLAND, SHOP_BACK_ARROW
|
from module.ui.assets import SHOP_BACK_ARROW
|
||||||
from module.ui.page import page_dormmenu, page_island, page_island_phone
|
from module.ui.page import page_island_phone
|
||||||
from module.ui.ui import UI
|
from module.ui.ui import UI
|
||||||
|
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ class IslandUI(UI):
|
|||||||
skip_first_screenshot=True
|
skip_first_screenshot=True
|
||||||
)
|
)
|
||||||
|
|
||||||
def ui_ensure_management_page(self, skip_first_screenshot=True):
|
def ui_ensure_management_page(self):
|
||||||
"""
|
"""
|
||||||
Pages:
|
Pages:
|
||||||
in: page_island_phone or product page
|
in: page_island_phone or product page
|
||||||
@@ -97,12 +97,7 @@ class IslandUI(UI):
|
|||||||
logger.info('UI ensure management page')
|
logger.info('UI ensure management page')
|
||||||
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
|
self.interval_clear(ISLAND_MANAGEMENT_CHECK)
|
||||||
confirm_timer = Timer(1, count=2).start()
|
confirm_timer = Timer(1, count=2).start()
|
||||||
while 1:
|
for _ in self.loop():
|
||||||
if skip_first_screenshot:
|
|
||||||
skip_first_screenshot = False
|
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
if self.island_in_management():
|
if self.island_in_management():
|
||||||
if confirm_timer.reached():
|
if confirm_timer.reached():
|
||||||
break
|
break
|
||||||
@@ -121,38 +116,25 @@ class IslandUI(UI):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def handle_island_ui_additional(self, skip_first_screenshot=True):
|
def ui_additional(self, get_ship=True):
|
||||||
if not self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50)):
|
# notify in page_dormmenu
|
||||||
return False
|
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 self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=5):
|
||||||
if skip_first_screenshot:
|
self.device.click(USE_DATA_KEY_NOTIFIED)
|
||||||
skip_first_screenshot = False
|
continue
|
||||||
else:
|
|
||||||
self.device.screenshot()
|
|
||||||
|
|
||||||
enabled = self.image_color_count(
|
self.interval_clear(MAINTENANCE_ANNOUNCE)
|
||||||
USE_DATA_KEY_NOTIFIED, color=(140, 207, 66), threshold=180, count=10)
|
self.appear_then_click(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=2)
|
||||||
if enabled:
|
return True
|
||||||
break
|
|
||||||
|
# info in page_island
|
||||||
if self.appear(MAINTENANCE_ANNOUNCE, offset=(100, 50), interval=5):
|
if self.appear_then_click(ISLAND_INFO_EXIT, offset=(30, 30), interval=3):
|
||||||
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}')
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
self.ui_ensure(page_dormmenu)
|
return super().ui_additional(get_ship=False)
|
||||||
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)
|
|
||||||
|
|||||||