1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-14 14:39:25 +08:00

Merge branch 'refs/heads/smallkai' into smallkai-dev

This commit is contained in:
LA_DI_DA
2024-05-25 19:45:50 +08:00
83 changed files with 135 additions and 83 deletions

View File

@@ -81,6 +81,10 @@ class AzurLaneAutoScript:
if command != "restart" and self.GameRestartBecauseErrorTimes != 0:
self.GameRestartBecauseErrorTimes = 0
return True
except RequireRestartGame:
self.config.task_call('Restart')
self.device.sleep(10)
return True
except TaskEnd:
return True
except GameNotRunningError as e:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -195,3 +195,4 @@ To add a new event, add a new row in here, and run `python -m module.config.conf
| 20240425 | event 20240425 cn | Heart-Linking Harmony | 共鸣的PASSION | Heart-Linking Harmony | 共鳴のパッション | - |
| 20240509 | event 20210916 cn | Upon the Shimmering Blue | - | - | - | 復刻碧海光粼 |
| 20240521 | event 20240521 cn | Light of the Martyrium | 绽放于辉光之城 | Light of the Martyrium | 赫輝のマルティリウム | - |
| 20240523 | event 20230525 cn | Confluence of Nothingness | - | - | - | 空相交會點 |

View File

@@ -1,8 +1,8 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: git://git.lyoko.io/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,9 +1,9 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
Repository: global
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: https://github.com/LmeSzinc/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
# [Other] Use 'master', the stable branch
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,8 +1,8 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: git://git.lyoko.io/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,8 +1,8 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: git://git.lyoko.io/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,9 +1,9 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
Repository: global
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: https://github.com/LmeSzinc/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
# [Other] Use 'master', the stable branch
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,8 +1,8 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: git://git.lyoko.io/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,9 +1,9 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
Repository: global
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: https://github.com/LmeSzinc/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
# [Other] Use 'master', the stable branch
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -1,9 +1,9 @@
Deploy:
Git:
# URL of AzurLaneAutoScript repository
# [CN user] Use 'cn' to get update from git-over-cdn service
# [Other] Use 'global' to get update from https://github.com/LmeSzinc/StarRailCopilot
Repository: global
# [CN user] Use 'git://git.lyoko.io/AzurLaneAutoScript' for faster and more stable download
# [Other] Use 'https://github.com/LmeSzinc/AzurLaneAutoScript'
Repository: https://github.com/LmeSzinc/AzurLaneAutoScript
# Branch of Alas
# [Developer] Use 'dev', 'app', etc, to try new features
# [Other] Use 'master', the stable branch
@@ -128,8 +128,8 @@ Deploy:
WebuiHost: 0.0.0.0
# --port. Port to listen
# You will be able to access webui via `http://{host}:{port}`
# [In most cases] Default to 22367
WebuiPort: 22367
# [In most cases] Default to 22267
WebuiPort: 22267
# Language to use on web ui
# 'zh-CN' for Chinese simplified
# 'en-US' for English

View File

@@ -4,6 +4,7 @@ from datetime import datetime
from module.campaign.campaign_status import CampaignStatus
from module.config.config_updater import EVENTS, RAIDS, COALITIONS, GEMS_FARMINGS, MARITIME_ESCORTS
from module.config.utils import DEFAULT_TIME
from module.exception import RequireRestartGame
from module.logger import logger
from module.ui.assets import CAMPAIGN_MENU_NO_EVENT
from module.ui.page import page_event, page_campaign_menu, page_sp, page_coalition
@@ -36,9 +37,15 @@ class CampaignEvent(CampaignStatus):
self.config.cross_set(keys=f'{task}.Campaign.Name', value=campaign_to_go)
self.config.cross_set(keys=f'{task}.Campaign.Event', value='campaign_main')
for ship_filter in ["FlagshipFilter", "VanguardFilter"]:
for tag in ["Sort", "Index", "Faction", "Rarity", "Extra"]:
self.config.cross_set(keys=f'{task}.{ship_filter}.{tag}', value='default')
logger.info(f'Reset event time limit')
self.config.cross_set(keys='EventGeneral.EventGeneral.TimeLimit', value=DEFAULT_TIME)
raise RequireRestartGame()
def event_pt_limit_triggered(self):
"""
Returns:

View File

@@ -1938,13 +1938,13 @@
],
"display": "hide",
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -2273,13 +2273,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -3173,13 +3173,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -4569,13 +4569,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -5036,13 +5036,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -5503,13 +5503,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -5970,13 +5970,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",
@@ -6427,13 +6427,13 @@
"event_20240521_cn"
],
"option_bold": [
"event_20210916_cn",
"event_20230525_cn",
"event_20240521_cn"
],
"cn": "event_20240521_cn",
"en": "event_20240521_cn",
"jp": "event_20240521_cn",
"tw": "event_20210916_cn"
"tw": "event_20230525_cn"
},
"Mode": {
"type": "select",

View File

@@ -2761,7 +2761,7 @@
"ChangeShip": {
"_info": {
"name": "改船(高危功能,未经过充分测试,封号概不负责)",
"help": "只在紧急委托中并且设置为活动里的D图时生效\n需要和倍率一起使用"
"help": "只在紧急委托中并且设置为活动里的D图时生效\n需要和倍率一起使用\n如果启用改船请到紧急委托里修改对应的过滤器确保在换船和退役时被修改后的船能够被找到"
},
"Enable": {
"name": "启用",

View File

@@ -739,7 +739,7 @@
"event_20221124_cn": "鍊金術士與秘密遺跡群島",
"event_20221222_cn": "定向折疊",
"event_20230223_cn": "湮燼塵墟",
"event_20230525_cn": "Confluence of Nothingness",
"event_20230525_cn": "空相交會點",
"event_20230803_cn": "奏響鳶尾之歌",
"event_20230817_cn": "愚者的天平",
"event_20230914_cn": "Effulgence Before Eclipse",

View File

@@ -61,3 +61,7 @@ class RequestHumanTakeover(Exception):
class AutoSearchSetError(Exception):
pass
class RequireRestartGame(Exception):
pass

View File

@@ -4,8 +4,8 @@ from module.base.template import Template
# This file was automatically generated by dev_tools/button_extract.py.
# Don't modify it manually.
COMMON_SHIP_FILTER_DISABLE = Button(area={'cn': (714, 13, 757, 41), 'en': (706, 15, 758, 41), 'jp': (711, 13, 759, 42), 'tw': (666, 6, 802, 48)}, color={'cn': (127, 143, 183), 'en': (86, 99, 138), 'jp': (119, 131, 170), 'tw': (71, 88, 125)}, button={'cn': (714, 13, 757, 41), 'en': (706, 15, 758, 41), 'jp': (711, 13, 759, 42), 'tw': (666, 6, 802, 48)}, file={'cn': './assets/cn/retire/COMMON_SHIP_FILTER_DISABLE.png', 'en': './assets/en/retire/COMMON_SHIP_FILTER_DISABLE.png', 'jp': './assets/jp/retire/COMMON_SHIP_FILTER_DISABLE.png', 'tw': './assets/tw/retire/COMMON_SHIP_FILTER_DISABLE.png'})
COMMON_SHIP_FILTER_ENABLE = Button(area={'cn': (713, 12, 758, 41), 'en': (707, 16, 758, 40), 'jp': (712, 13, 758, 42), 'tw': (666, 6, 802, 48)}, color={'cn': (214, 174, 130), 'en': (193, 149, 106), 'jp': (212, 171, 129), 'tw': (182, 145, 96)}, button={'cn': (713, 12, 758, 41), 'en': (707, 16, 758, 40), 'jp': (712, 13, 758, 42), 'tw': (666, 6, 802, 48)}, file={'cn': './assets/cn/retire/COMMON_SHIP_FILTER_ENABLE.png', 'en': './assets/en/retire/COMMON_SHIP_FILTER_ENABLE.png', 'jp': './assets/jp/retire/COMMON_SHIP_FILTER_ENABLE.png', 'tw': './assets/tw/retire/COMMON_SHIP_FILTER_ENABLE.png'})
COMMON_SHIP_FILTER_DISABLE = Button(area={'cn': (714, 13, 757, 41), 'en': (706, 15, 758, 41), 'jp': (711, 13, 759, 42), 'tw': (712, 12, 759, 42)}, color={'cn': (127, 143, 183), 'en': (86, 99, 138), 'jp': (119, 131, 170), 'tw': (117, 132, 173)}, button={'cn': (714, 13, 757, 41), 'en': (706, 15, 758, 41), 'jp': (711, 13, 759, 42), 'tw': (712, 12, 759, 42)}, file={'cn': './assets/cn/retire/COMMON_SHIP_FILTER_DISABLE.png', 'en': './assets/en/retire/COMMON_SHIP_FILTER_DISABLE.png', 'jp': './assets/jp/retire/COMMON_SHIP_FILTER_DISABLE.png', 'tw': './assets/tw/retire/COMMON_SHIP_FILTER_DISABLE.png'})
COMMON_SHIP_FILTER_ENABLE = Button(area={'cn': (713, 12, 758, 41), 'en': (707, 16, 758, 40), 'jp': (712, 13, 758, 42), 'tw': (712, 11, 759, 42)}, color={'cn': (214, 174, 130), 'en': (193, 149, 106), 'jp': (212, 171, 129), 'tw': (211, 170, 127)}, button={'cn': (713, 12, 758, 41), 'en': (707, 16, 758, 40), 'jp': (712, 13, 758, 42), 'tw': (712, 11, 759, 42)}, file={'cn': './assets/cn/retire/COMMON_SHIP_FILTER_ENABLE.png', 'en': './assets/en/retire/COMMON_SHIP_FILTER_ENABLE.png', 'jp': './assets/jp/retire/COMMON_SHIP_FILTER_ENABLE.png', 'tw': './assets/tw/retire/COMMON_SHIP_FILTER_ENABLE.png'})
DOCK_AMOUNT = Button(area={'cn': (473, 17, 611, 41), 'en': (476, 9, 611, 44), 'jp': (473, 17, 611, 41), 'tw': (473, 17, 611, 41)}, color={'cn': (71, 74, 78), 'en': (50, 54, 58), 'jp': (71, 74, 78), 'tw': (71, 74, 78)}, button={'cn': (473, 17, 611, 41), 'en': (476, 9, 611, 44), 'jp': (473, 17, 611, 41), 'tw': (473, 17, 611, 41)}, file={'cn': './assets/cn/retire/DOCK_AMOUNT.png', 'en': './assets/en/retire/DOCK_AMOUNT.png', 'jp': './assets/jp/retire/DOCK_AMOUNT.png', 'tw': './assets/tw/retire/DOCK_AMOUNT.png'})
DOCK_CHECK = Button(area={'cn': (121, 14, 175, 39), 'en': (121, 17, 189, 39), 'jp': (123, 15, 195, 38), 'tw': (121, 13, 176, 39)}, color={'cn': (156, 171, 207), 'en': (112, 125, 162), 'jp': (97, 108, 142), 'tw': (149, 164, 200)}, button={'cn': (121, 14, 175, 39), 'en': (121, 17, 189, 39), 'jp': (123, 15, 195, 38), 'tw': (121, 13, 176, 39)}, file={'cn': './assets/cn/retire/DOCK_CHECK.png', 'en': './assets/en/retire/DOCK_CHECK.png', 'jp': './assets/jp/retire/DOCK_CHECK.png', 'tw': './assets/tw/retire/DOCK_CHECK.png'})
DOCK_EMPTY = Button(area={'cn': (95, 347, 388, 378), 'en': (95, 318, 264, 339), 'jp': (96, 347, 252, 376), 'tw': (94, 347, 390, 379)}, color={'cn': (160, 154, 159), 'en': (106, 99, 106), 'jp': (159, 152, 156), 'tw': (163, 157, 162)}, button={'cn': (95, 347, 388, 378), 'en': (95, 318, 264, 339), 'jp': (96, 347, 252, 376), 'tw': (94, 347, 390, 379)}, file={'cn': './assets/cn/retire/DOCK_EMPTY.png', 'en': './assets/en/retire/DOCK_EMPTY.png', 'jp': './assets/jp/retire/DOCK_EMPTY.png', 'tw': './assets/tw/retire/DOCK_EMPTY.png'})

View File

@@ -2,6 +2,7 @@ from module.base.button import ButtonGrid
from module.base.timer import Timer
from module.base.utils import color_similar, get_color, resize
from module.combat.assets import GET_ITEMS_1
from module.config.utils import deep_get
from module.exception import RequestHumanTakeover, ScriptError
from module.handler.assets import AUTO_SEARCH_MAP_OPTION_OFF, AUTO_SEARCH_MAP_OPTION_ON
from module.logger import logger
@@ -279,8 +280,27 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
if not gems_farming_enable:
logger.info('Not in GemsFarming, skip')
return 0
self.dock_filter_set(index='cv', rarity='common', extra='not_level_max', sort='level')
if self.config.task.command == "GemsFarming":
HARDMODEMAPS = [
'd1', 'd2', 'd3',
'ht4', 'ht5', 'ht6',
]
if deep_get(self.config.data, "GemsFarming.Campaign.Name").lower() in HARDMODEMAPS:
s = deep_get(self.config.data, "GemsFarming.FlagshipFilter.Sort")
i = deep_get(self.config.data, "GemsFarming.FlagshipFilter.Index")
f = deep_get(self.config.data, "GemsFarming.FlagshipFilter.Faction")
r = deep_get(self.config.data, "GemsFarming.FlagshipFilter.Rarity")
e = deep_get(self.config.data, "GemsFarming.FlagshipFilter.Extra")
self.dock_filter_set(
index='cv' if i == "default" else i,
rarity='common' if r == "default" else r,
extra='not_level_max' if e == "default" else e,
sort='level' if s == "default" else s
)
else:
self.dock_filter_set(index='cv', rarity='common', extra='not_level_max', sort='level')
else:
self.dock_filter_set(index='cv', rarity='common', extra='not_level_max', sort='level')
self.dock_favourite_set(False)
scanner = ShipScanner(

View File

@@ -8,6 +8,7 @@ from module.ui.assets import MISSION_CHECK
from module.ui.navbar import Navbar
from module.ui.page import page_main, page_mission, page_reward
from module.ui.ui import UI
from module.ui_white.assets import MISSION_NOTICE_WHITE
class Reward(UI):
@@ -181,6 +182,23 @@ class Reward(UI):
# premature exit
return self._reward_mission_collect(interval=0.2)
def reward_mission_notice(self):
"""
Returns:
bool: If notice appear
Pages:
in: page_main
"""
if self.appear(MISSION_NOTICE):
logger.info('Found mission notice MISSION_NOTICE')
return True
if self.image_color_count(MISSION_NOTICE_WHITE, color=(214, 117, 99), threshold=221, count=20):
logger.info('Found mission notice MISSION_NOTICE_WHITE')
return True
return False
def reward_mission(self, daily=True, weekly=True):
"""
Collects mission rewards
@@ -199,11 +217,8 @@ class Reward(UI):
if not daily and not weekly:
return False
logger.hr('Mission reward')
if not self.appear(MISSION_NOTICE):
logger.info('No mission reward')
if not self.reward_mission_notice():
return False
else:
logger.info('Found mission reward notice')
self.ui_goto(page_mission, skip_first_screenshot=True)

View File

@@ -26,11 +26,11 @@ CAMPAIGN_MENU_NO_EVENT = Button(area={'cn': (681, 204, 831, 233), 'en': (616, 20
COALITION_CHECK = Button(area={'cn': (118, 14, 227, 39), 'en': (118, 16, 221, 36), 'jp': (118, 14, 227, 39), 'tw': (118, 14, 227, 39)}, color={'cn': (145, 161, 200), 'en': (116, 130, 168), 'jp': (150, 166, 204), 'tw': (152, 168, 206)}, button={'cn': (118, 14, 227, 39), 'en': (118, 16, 221, 36), 'jp': (118, 14, 227, 39), 'tw': (118, 14, 227, 39)}, file={'cn': './assets/cn/ui/COALITION_CHECK.png', 'en': './assets/en/ui/COALITION_CHECK.png', 'jp': './assets/jp/ui/COALITION_CHECK.png', 'tw': './assets/tw/ui/COALITION_CHECK.png'})
COMMISSION_CHECK = Button(area={'cn': (122, 16, 175, 39), 'en': (120, 14, 301, 41), 'jp': (121, 14, 176, 39), 'tw': (121, 14, 176, 41)}, color={'cn': (157, 173, 210), 'en': (98, 112, 150), 'jp': (159, 175, 211), 'tw': (141, 155, 193)}, button={'cn': (122, 16, 175, 39), 'en': (120, 14, 301, 41), 'jp': (121, 14, 176, 39), 'tw': (121, 14, 176, 41)}, file={'cn': './assets/cn/ui/COMMISSION_CHECK.png', 'en': './assets/en/ui/COMMISSION_CHECK.png', 'jp': './assets/jp/ui/COMMISSION_CHECK.png', 'tw': './assets/tw/ui/COMMISSION_CHECK.png'})
DAILY_CHECK = Button(area={'cn': (23, 656, 67, 698), 'en': (23, 656, 67, 698), 'jp': (23, 656, 67, 698), 'tw': (23, 656, 67, 698)}, color={'cn': (84, 139, 210), 'en': (84, 139, 210), 'jp': (84, 139, 210), 'tw': (84, 139, 210)}, button={'cn': (23, 656, 67, 698), 'en': (23, 656, 67, 698), 'jp': (23, 656, 67, 698), 'tw': (23, 656, 67, 698)}, file={'cn': './assets/cn/ui/DAILY_CHECK.png', 'en': './assets/en/ui/DAILY_CHECK.png', 'jp': './assets/jp/ui/DAILY_CHECK.png', 'tw': './assets/tw/ui/DAILY_CHECK.png'})
DORMMENU_CHECK = Button(area={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (248, 270, 363, 359)}, color={'cn': (181, 172, 178), 'en': (181, 172, 178), 'jp': (181, 172, 178), 'tw': (194, 187, 184)}, button={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (248, 270, 363, 359)}, file={'cn': './assets/cn/ui/DORMMENU_CHECK.png', 'en': './assets/en/ui/DORMMENU_CHECK.png', 'jp': './assets/jp/ui/DORMMENU_CHECK.png', 'tw': './assets/tw/ui/DORMMENU_CHECK.png'})
DORMMENU_GOTO_ACADEMY = Button(area={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (248, 270, 363, 359)}, color={'cn': (181, 172, 178), 'en': (181, 172, 178), 'jp': (181, 172, 178), 'tw': (194, 187, 184)}, button={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (248, 270, 363, 359)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_ACADEMY.png', 'en': './assets/en/ui/DORMMENU_GOTO_ACADEMY.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_ACADEMY.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_ACADEMY.png'})
DORMMENU_GOTO_DORM = Button(area={'cn': (408, 494, 541, 587), 'en': (408, 494, 541, 587), 'jp': (408, 494, 541, 587), 'tw': (568, 289, 725, 423)}, color={'cn': (167, 148, 137), 'en': (167, 148, 137), 'jp': (167, 148, 137), 'tw': (167, 153, 158)}, button={'cn': (408, 494, 541, 587), 'en': (408, 494, 541, 587), 'jp': (408, 494, 541, 587), 'tw': (568, 289, 725, 423)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_DORM.png', 'en': './assets/en/ui/DORMMENU_GOTO_DORM.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_DORM.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_DORM.png'})
DORMMENU_GOTO_MAIN = Button(area={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (568, 289, 725, 423)}, color={'cn': (181, 172, 178), 'en': (181, 172, 178), 'jp': (181, 172, 178), 'tw': (167, 153, 158)}, button={'cn': (150, 153, 437, 279), 'en': (150, 153, 437, 279), 'jp': (150, 153, 437, 279), 'tw': (401, 608, 889, 686)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_MAIN.png', 'en': './assets/en/ui/DORMMENU_GOTO_MAIN.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_MAIN.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_MAIN.png'})
DORMMENU_GOTO_MEOWFFICER = Button(area={'cn': (634, 512, 749, 569), 'en': (634, 512, 749, 569), 'jp': (634, 512, 749, 569), 'tw': (964, 273, 1061, 426)}, color={'cn': (144, 153, 176), 'en': (144, 153, 176), 'jp': (144, 153, 176), 'tw': (199, 178, 153)}, button={'cn': (634, 512, 749, 569), 'en': (634, 512, 749, 569), 'jp': (634, 512, 749, 569), 'tw': (964, 273, 1061, 426)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_MEOWFFICER.png', 'en': './assets/en/ui/DORMMENU_GOTO_MEOWFFICER.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_MEOWFFICER.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_MEOWFFICER.png'})
DORMMENU_CHECK = Button(area={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (261, 487, 334, 587)}, color={'cn': (181, 172, 178), 'en': (181, 172, 178), 'jp': (181, 172, 178), 'tw': (181, 172, 178)}, button={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (261, 487, 334, 587)}, file={'cn': './assets/cn/ui/DORMMENU_CHECK.png', 'en': './assets/en/ui/DORMMENU_CHECK.png', 'jp': './assets/jp/ui/DORMMENU_CHECK.png', 'tw': './assets/tw/ui/DORMMENU_CHECK.png'})
DORMMENU_GOTO_ACADEMY = Button(area={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (261, 487, 334, 587)}, color={'cn': (181, 172, 178), 'en': (181, 172, 178), 'jp': (181, 172, 178), 'tw': (181, 172, 178)}, button={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (261, 487, 334, 587)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_ACADEMY.png', 'en': './assets/en/ui/DORMMENU_GOTO_ACADEMY.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_ACADEMY.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_ACADEMY.png'})
DORMMENU_GOTO_DORM = Button(area={'cn': (408, 494, 541, 587), 'en': (408, 494, 541, 587), 'jp': (408, 494, 541, 587), 'tw': (408, 494, 541, 587)}, color={'cn': (167, 148, 137), 'en': (167, 148, 137), 'jp': (167, 148, 137), 'tw': (167, 148, 137)}, button={'cn': (408, 494, 541, 587), 'en': (408, 494, 541, 587), 'jp': (408, 494, 541, 587), 'tw': (408, 494, 541, 587)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_DORM.png', 'en': './assets/en/ui/DORMMENU_GOTO_DORM.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_DORM.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_DORM.png'})
DORMMENU_GOTO_MAIN = Button(area={'cn': (261, 487, 334, 587), 'en': (261, 487, 334, 587), 'jp': (261, 487, 334, 587), 'tw': (261, 487, 334, 587)}, color={'cn': (181, 172, 178), 'en': (181, 172, 178), 'jp': (181, 172, 178), 'tw': (181, 172, 178)}, button={'cn': (150, 153, 437, 279), 'en': (150, 153, 437, 279), 'jp': (150, 153, 437, 279), 'tw': (150, 153, 437, 279)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_MAIN.png', 'en': './assets/en/ui/DORMMENU_GOTO_MAIN.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_MAIN.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_MAIN.png'})
DORMMENU_GOTO_MEOWFFICER = Button(area={'cn': (634, 512, 749, 569), 'en': (634, 512, 749, 569), 'jp': (634, 512, 749, 569), 'tw': (634, 512, 749, 569)}, color={'cn': (144, 153, 176), 'en': (144, 153, 176), 'jp': (144, 153, 176), 'tw': (144, 153, 176)}, button={'cn': (634, 512, 749, 569), 'en': (634, 512, 749, 569), 'jp': (634, 512, 749, 569), 'tw': (634, 512, 749, 569)}, file={'cn': './assets/cn/ui/DORMMENU_GOTO_MEOWFFICER.png', 'en': './assets/en/ui/DORMMENU_GOTO_MEOWFFICER.png', 'jp': './assets/jp/ui/DORMMENU_GOTO_MEOWFFICER.png', 'tw': './assets/tw/ui/DORMMENU_GOTO_MEOWFFICER.png'})
DORM_CHECK = Button(area={'cn': (949, 600, 1005, 654), 'en': (949, 600, 1005, 654), 'jp': (949, 600, 1005, 654), 'tw': (949, 600, 1005, 654)}, color={'cn': (255, 244, 209), 'en': (255, 244, 209), 'jp': (255, 244, 209), 'tw': (255, 244, 209)}, button={'cn': (949, 600, 1005, 654), 'en': (949, 600, 1005, 654), 'jp': (949, 600, 1005, 654), 'tw': (949, 600, 1005, 654)}, file={'cn': './assets/cn/ui/DORM_CHECK.png', 'en': './assets/en/ui/DORM_CHECK.png', 'jp': './assets/jp/ui/DORM_CHECK.png', 'tw': './assets/tw/ui/DORM_CHECK.png'})
DORM_FEED_CANCEL = Button(area={'cn': (494, 510, 547, 536), 'en': (445, 491, 594, 552), 'jp': (466, 510, 519, 536), 'tw': (484, 509, 557, 540)}, color={'cn': (196, 161, 109), 'en': (240, 200, 125), 'jp': (194, 160, 108), 'tw': (212, 174, 110)}, button={'cn': (494, 510, 547, 536), 'en': (445, 491, 594, 552), 'jp': (466, 510, 519, 536), 'tw': (484, 509, 557, 540)}, file={'cn': './assets/cn/ui/DORM_FEED_CANCEL.png', 'en': './assets/en/ui/DORM_FEED_CANCEL.png', 'jp': './assets/jp/ui/DORM_FEED_CANCEL.png', 'tw': './assets/tw/ui/DORM_FEED_CANCEL.png'})
DORM_GOTO_MAIN = Button(area={'cn': (40, 30, 62, 60), 'en': (40, 30, 62, 60), 'jp': (40, 30, 62, 60), 'tw': (40, 30, 62, 60)}, color={'cn': (255, 226, 133), 'en': (255, 226, 133), 'jp': (255, 226, 133), 'tw': (255, 226, 133)}, button={'cn': (40, 30, 62, 60), 'en': (40, 30, 62, 60), 'jp': (40, 30, 62, 60), 'tw': (40, 30, 62, 60)}, file={'cn': './assets/cn/ui/DORM_GOTO_MAIN.png', 'en': './assets/en/ui/DORM_GOTO_MAIN.png', 'jp': './assets/jp/ui/DORM_GOTO_MAIN.png', 'tw': './assets/tw/ui/DORM_GOTO_MAIN.png'})

View File

@@ -4,19 +4,20 @@ from module.base.template import Template
# This file was automatically generated by dev_tools/button_extract.py.
# Don't modify it manually.
MAIL_ENTER_WHITE = Button(area={'cn': (1018, 22, 1087, 52), 'en': (1018, 22, 1087, 52), 'jp': (1018, 22, 1087, 52), 'tw': (1018, 22, 1087, 52)}, color={'cn': (194, 187, 190), 'en': (194, 187, 190), 'jp': (194, 187, 190), 'tw': (194, 187, 190)}, button={'cn': (1018, 22, 1087, 52), 'en': (1018, 22, 1087, 52), 'jp': (1018, 22, 1087, 52), 'tw': (1018, 22, 1087, 52)}, file={'cn': './assets/cn/ui_white/MAIL_ENTER_WHITE.png', 'en': './assets/cn/ui_white/MAIL_ENTER_WHITE.png', 'jp': './assets/cn/ui_white/MAIL_ENTER_WHITE.png', 'tw': './assets/cn/ui_white/MAIL_ENTER_WHITE.png'})
MAIN_GOTO_BUILD_WHITE = Button(area={'cn': (959, 657, 1103, 703), 'en': (959, 657, 1103, 703), 'jp': (959, 657, 1103, 703), 'tw': (959, 657, 1103, 703)}, color={'cn': (229, 216, 216), 'en': (229, 216, 216), 'jp': (229, 216, 216), 'tw': (229, 216, 216)}, button={'cn': (959, 657, 1103, 703), 'en': (959, 657, 1103, 703), 'jp': (959, 657, 1103, 703), 'tw': (959, 657, 1103, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_BUILD_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_BUILD_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_BUILD_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_BUILD_WHITE.png'})
MAIN_GOTO_CAMPAIGN_WHITE = Button(area={'cn': (1132, 529, 1187, 557), 'en': (1132, 529, 1187, 557), 'jp': (1132, 529, 1187, 557), 'tw': (1132, 529, 1187, 557)}, color={'cn': (152, 161, 161), 'en': (152, 161, 161), 'jp': (152, 161, 161), 'tw': (152, 161, 161)}, button={'cn': (1124, 437, 1260, 579), 'en': (1124, 437, 1260, 579), 'jp': (1124, 437, 1260, 579), 'tw': (1124, 437, 1260, 579)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png'})
MAIN_GOTO_DORMMENU_WHITE = Button(area={'cn': (490, 656, 634, 702), 'en': (490, 656, 634, 702), 'jp': (490, 656, 634, 702), 'tw': (490, 656, 634, 702)}, color={'cn': (206, 205, 209), 'en': (206, 205, 209), 'jp': (206, 205, 209), 'tw': (206, 205, 209)}, button={'cn': (490, 656, 634, 702), 'en': (490, 656, 634, 702), 'jp': (490, 656, 634, 702), 'tw': (490, 656, 634, 702)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_DORMMENU_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_DORMMENU_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_DORMMENU_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_DORMMENU_WHITE.png'})
MAIN_GOTO_EVENT_LIST_WHITE = Button(area={'cn': (1181, 83, 1260, 160), 'en': (1181, 83, 1260, 160), 'jp': (1181, 83, 1260, 160), 'tw': (1181, 83, 1260, 160)}, color={'cn': (147, 155, 186), 'en': (147, 155, 186), 'jp': (147, 155, 186), 'tw': (147, 155, 186)}, button={'cn': (1181, 83, 1260, 160), 'en': (1181, 83, 1260, 160), 'jp': (1181, 83, 1260, 160), 'tw': (1181, 83, 1260, 160)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png'})
MAIN_GOTO_FLEET_WHITE = Button(area={'cn': (1025, 437, 1097, 579), 'en': (1025, 437, 1097, 579), 'jp': (1025, 437, 1097, 579), 'tw': (1025, 437, 1097, 579)}, color={'cn': (230, 229, 231), 'en': (230, 229, 231), 'jp': (230, 229, 231), 'tw': (230, 229, 231)}, button={'cn': (1025, 437, 1097, 579), 'en': (1025, 437, 1097, 579), 'jp': (1025, 437, 1097, 579), 'tw': (1025, 437, 1097, 579)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_FLEET_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_FLEET_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_FLEET_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_FLEET_WHITE.png'})
MAIN_GOTO_GUILD_WHITE = Button(area={'cn': (1116, 656, 1261, 703), 'en': (1116, 656, 1261, 703), 'jp': (1116, 656, 1261, 703), 'tw': (1116, 656, 1261, 703)}, color={'cn': (213, 206, 209), 'en': (213, 206, 209), 'jp': (213, 206, 209), 'tw': (213, 206, 209)}, button={'cn': (1116, 656, 1261, 703), 'en': (1116, 656, 1261, 703), 'jp': (1116, 656, 1261, 703), 'tw': (1116, 656, 1261, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_GUILD_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_GUILD_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_GUILD_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_GUILD_WHITE.png'})
MAIN_GOTO_MISSION_WHITE = Button(area={'cn': (802, 656, 949, 704), 'en': (802, 656, 949, 704), 'jp': (802, 656, 949, 704), 'tw': (802, 656, 949, 704)}, color={'cn': (219, 213, 214), 'en': (219, 213, 214), 'jp': (219, 213, 214), 'tw': (219, 213, 214)}, button={'cn': (802, 656, 949, 704), 'en': (802, 656, 949, 704), 'jp': (802, 656, 949, 704), 'tw': (802, 656, 949, 704)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_MISSION_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_MISSION_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_MISSION_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_MISSION_WHITE.png'})
MAIN_GOTO_RESHMENU_WHITE = Button(area={'cn': (646, 656, 793, 703), 'en': (646, 656, 793, 703), 'jp': (646, 656, 793, 703), 'tw': (646, 656, 793, 703)}, color={'cn': (216, 213, 217), 'en': (216, 213, 217), 'jp': (216, 213, 217), 'tw': (216, 213, 217)}, button={'cn': (646, 656, 793, 703), 'en': (646, 656, 793, 703), 'jp': (646, 656, 793, 703), 'tw': (646, 656, 793, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_RESHMENU_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_RESHMENU_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_RESHMENU_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_RESHMENU_WHITE.png'})
MAIN_GOTO_REWARD_WHITE = Button(area={'cn': (11, 209, 30, 259), 'en': (11, 209, 30, 259), 'jp': (11, 209, 30, 259), 'tw': (11, 209, 30, 259)}, color={'cn': (73, 84, 122), 'en': (73, 84, 122), 'jp': (73, 84, 122), 'tw': (73, 84, 122)}, button={'cn': (11, 209, 30, 259), 'en': (11, 209, 30, 259), 'jp': (11, 209, 30, 259), 'tw': (11, 209, 30, 259)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_REWARD_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_REWARD_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_REWARD_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_REWARD_WHITE.png'})
MAIN_GOTO_SHOP_WHITE = Button(area={'cn': (18, 656, 164, 703), 'en': (18, 656, 164, 703), 'jp': (18, 656, 164, 703), 'tw': (18, 656, 164, 703)}, color={'cn': (221, 214, 212), 'en': (221, 214, 212), 'jp': (221, 214, 212), 'tw': (221, 214, 212)}, button={'cn': (18, 656, 164, 703), 'en': (18, 656, 164, 703), 'jp': (18, 656, 164, 703), 'tw': (18, 656, 164, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_SHOP_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_SHOP_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_SHOP_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_SHOP_WHITE.png'})
MAIN_GOTO_STORAGE_WHITE = Button(area={'cn': (331, 656, 478, 703), 'en': (331, 656, 478, 703), 'jp': (331, 656, 478, 703), 'tw': (331, 656, 478, 703)}, color={'cn': (212, 214, 219), 'en': (212, 214, 219), 'jp': (212, 214, 219), 'tw': (212, 214, 219)}, button={'cn': (331, 656, 478, 703), 'en': (331, 656, 478, 703), 'jp': (331, 656, 478, 703), 'tw': (331, 656, 478, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_STORAGE_WHITE.png', 'en': './assets/cn/ui_white/MAIN_GOTO_STORAGE_WHITE.png', 'jp': './assets/cn/ui_white/MAIN_GOTO_STORAGE_WHITE.png', 'tw': './assets/cn/ui_white/MAIN_GOTO_STORAGE_WHITE.png'})
REWARD_1_WHITE = Button(area={'cn': (437, 278, 496, 306), 'en': (437, 278, 496, 306), 'jp': (437, 278, 496, 306), 'tw': (437, 278, 496, 306)}, color={'cn': (255, 193, 97), 'en': (255, 193, 97), 'jp': (255, 193, 97), 'tw': (255, 193, 97)}, button={'cn': (437, 278, 496, 306), 'en': (437, 278, 496, 306), 'jp': (437, 278, 496, 306), 'tw': (437, 278, 496, 306)}, file={'cn': './assets/cn/ui_white/REWARD_1_WHITE.png', 'en': './assets/cn/ui_white/REWARD_1_WHITE.png', 'jp': './assets/cn/ui_white/REWARD_1_WHITE.png', 'tw': './assets/cn/ui_white/REWARD_1_WHITE.png'})
REWARD_2_WHITE = Button(area={'cn': (436, 419, 497, 448), 'en': (436, 419, 497, 448), 'jp': (436, 419, 497, 448), 'tw': (436, 419, 497, 448)}, color={'cn': (255, 192, 94), 'en': (255, 192, 94), 'jp': (255, 192, 94), 'tw': (255, 192, 94)}, button={'cn': (436, 419, 497, 448), 'en': (436, 419, 497, 448), 'jp': (436, 419, 497, 448), 'tw': (436, 419, 497, 448)}, file={'cn': './assets/cn/ui_white/REWARD_2_WHITE.png', 'en': './assets/cn/ui_white/REWARD_2_WHITE.png', 'jp': './assets/cn/ui_white/REWARD_2_WHITE.png', 'tw': './assets/cn/ui_white/REWARD_2_WHITE.png'})
REWARD_GOTO_COMMISSION_WHITE = Button(area={'cn': (440, 278, 494, 307), 'en': (440, 278, 494, 307), 'jp': (440, 278, 494, 307), 'tw': (440, 278, 494, 307)}, color={'cn': (103, 207, 255), 'en': (103, 207, 255), 'jp': (103, 207, 255), 'tw': (103, 207, 255)}, button={'cn': (440, 278, 494, 307), 'en': (440, 278, 494, 307), 'jp': (440, 278, 494, 307), 'tw': (440, 278, 494, 307)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'en': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'jp': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'tw': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png'})
REWARD_GOTO_TACTICAL_WHITE = Button(area={'cn': (442, 421, 492, 447), 'en': (442, 421, 492, 447), 'jp': (442, 421, 492, 447), 'tw': (442, 421, 492, 447)}, color={'cn': (114, 211, 255), 'en': (114, 211, 255), 'jp': (114, 211, 255), 'tw': (114, 211, 255)}, button={'cn': (442, 421, 492, 447), 'en': (442, 421, 492, 447), 'jp': (442, 421, 492, 447), 'tw': (442, 421, 492, 447)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'en': './assets/cn/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'jp': './assets/cn/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'tw': './assets/cn/ui_white/REWARD_GOTO_TACTICAL_WHITE.png'})
MAIL_ENTER_WHITE = Button(area={'cn': (1018, 22, 1087, 52), 'en': (1018, 22, 1085, 52), 'jp': (1020, 23, 1084, 51), 'tw': (1019, 21, 1086, 52)}, color={'cn': (194, 187, 190), 'en': (196, 194, 194), 'jp': (195, 187, 190), 'tw': (204, 196, 200)}, button={'cn': (1018, 22, 1087, 52), 'en': (1018, 22, 1085, 52), 'jp': (1020, 23, 1084, 51), 'tw': (1019, 21, 1086, 52)}, file={'cn': './assets/cn/ui_white/MAIL_ENTER_WHITE.png', 'en': './assets/en/ui_white/MAIL_ENTER_WHITE.png', 'jp': './assets/jp/ui_white/MAIL_ENTER_WHITE.png', 'tw': './assets/tw/ui_white/MAIL_ENTER_WHITE.png'})
MAIN_GOTO_BUILD_WHITE = Button(area={'cn': (959, 657, 1103, 703), 'en': (959, 657, 1104, 703), 'jp': (959, 657, 1105, 703), 'tw': (959, 657, 1105, 703)}, color={'cn': (229, 216, 216), 'en': (226, 220, 222), 'jp': (225, 216, 218), 'tw': (223, 212, 218)}, button={'cn': (959, 657, 1103, 703), 'en': (959, 657, 1104, 703), 'jp': (959, 657, 1105, 703), 'tw': (959, 657, 1105, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_BUILD_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_BUILD_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_BUILD_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_BUILD_WHITE.png'})
MAIN_GOTO_CAMPAIGN_WHITE = Button(area={'cn': (1132, 529, 1187, 557), 'en': (1126, 549, 1219, 577), 'jp': (1133, 528, 1186, 554), 'tw': (1133, 527, 1188, 554)}, color={'cn': (152, 161, 161), 'en': (156, 164, 165), 'jp': (156, 165, 165), 'tw': (143, 152, 151)}, button={'cn': (1124, 437, 1260, 579), 'en': (1123, 439, 1260, 580), 'jp': (1123, 438, 1260, 580), 'tw': (1124, 437, 1260, 580)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_CAMPAIGN_WHITE.png'})
MAIN_GOTO_DORMMENU_WHITE = Button(area={'cn': (490, 656, 634, 702), 'en': (490, 657, 635, 703), 'jp': (489, 657, 635, 703), 'tw': (489, 656, 635, 703)}, color={'cn': (206, 205, 209), 'en': (218, 216, 217), 'jp': (225, 221, 227), 'tw': (218, 215, 219)}, button={'cn': (490, 656, 634, 702), 'en': (490, 657, 635, 703), 'jp': (489, 657, 635, 703), 'tw': (489, 656, 635, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_DORMMENU_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_DORMMENU_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_DORMMENU_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_DORMMENU_WHITE.png'})
MAIN_GOTO_EVENT_LIST_WHITE = Button(area={'cn': (1181, 83, 1260, 160), 'en': (1179, 82, 1260, 161), 'jp': (1180, 83, 1261, 161), 'tw': (1179, 82, 1260, 161)}, color={'cn': (147, 155, 186), 'en': (148, 156, 184), 'jp': (146, 155, 186), 'tw': (185, 171, 160)}, button={'cn': (1181, 83, 1260, 160), 'en': (1179, 82, 1260, 161), 'jp': (1180, 83, 1261, 161), 'tw': (1179, 82, 1260, 161)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_EVENT_LIST_WHITE.png'})
MAIN_GOTO_FLEET_WHITE = Button(area={'cn': (1025, 437, 1097, 579), 'en': (1024, 436, 1099, 580), 'jp': (1024, 437, 1099, 580), 'tw': (1024, 437, 1099, 580)}, color={'cn': (230, 229, 231), 'en': (218, 217, 218), 'jp': (235, 234, 236), 'tw': (232, 230, 233)}, button={'cn': (1025, 437, 1097, 579), 'en': (1024, 436, 1099, 580), 'jp': (1024, 437, 1099, 580), 'tw': (1024, 437, 1099, 580)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_FLEET_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_FLEET_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_FLEET_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_FLEET_WHITE.png'})
MAIN_GOTO_GUILD_WHITE = Button(area={'cn': (1116, 656, 1261, 703), 'en': (1115, 657, 1262, 703), 'jp': (1115, 658, 1261, 703), 'tw': (1116, 657, 1261, 703)}, color={'cn': (213, 206, 209), 'en': (217, 215, 216), 'jp': (212, 209, 207), 'tw': (211, 207, 213)}, button={'cn': (1116, 656, 1261, 703), 'en': (1115, 657, 1262, 703), 'jp': (1115, 658, 1261, 703), 'tw': (1116, 657, 1261, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_GUILD_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_GUILD_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_GUILD_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_GUILD_WHITE.png'})
MAIN_GOTO_MISSION_WHITE = Button(area={'cn': (802, 656, 949, 704), 'en': (803, 656, 948, 703), 'jp': (802, 657, 948, 703), 'tw': (803, 657, 948, 703)}, color={'cn': (219, 213, 214), 'en': (210, 207, 207), 'jp': (224, 216, 221), 'tw': (212, 211, 215)}, button={'cn': (802, 656, 949, 704), 'en': (803, 656, 948, 703), 'jp': (802, 657, 948, 703), 'tw': (803, 657, 948, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_MISSION_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_MISSION_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_MISSION_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_MISSION_WHITE.png'})
MAIN_GOTO_RESHMENU_WHITE = Button(area={'cn': (646, 656, 793, 703), 'en': (646, 656, 792, 703), 'jp': (646, 657, 792, 703), 'tw': (646, 656, 792, 703)}, color={'cn': (216, 213, 217), 'en': (224, 224, 225), 'jp': (225, 222, 227), 'tw': (220, 216, 225)}, button={'cn': (646, 656, 793, 703), 'en': (646, 656, 792, 703), 'jp': (646, 657, 792, 703), 'tw': (646, 656, 792, 703)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_RESHMENU_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_RESHMENU_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_RESHMENU_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_RESHMENU_WHITE.png'})
MAIN_GOTO_REWARD_WHITE = Button(area={'cn': (11, 209, 30, 259), 'en': (11, 216, 31, 253), 'jp': (10, 216, 30, 253), 'tw': (10, 216, 31, 253)}, color={'cn': (73, 84, 122), 'en': (105, 115, 162), 'jp': (79, 82, 108), 'tw': (90, 96, 128)}, button={'cn': (11, 209, 30, 259), 'en': (11, 216, 31, 253), 'jp': (10, 216, 30, 253), 'tw': (10, 216, 31, 253)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_REWARD_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_REWARD_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_REWARD_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_REWARD_WHITE.png'})
MAIN_GOTO_SHOP_WHITE = Button(area={'cn': (18, 656, 164, 703), 'en': (18, 656, 165, 703), 'jp': (19, 657, 165, 702), 'tw': (19, 657, 164, 702)}, color={'cn': (221, 214, 212), 'en': (232, 220, 204), 'jp': (231, 223, 218), 'tw': (232, 224, 222)}, button={'cn': (18, 656, 164, 703), 'en': (18, 656, 165, 703), 'jp': (19, 657, 165, 702), 'tw': (19, 657, 164, 702)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_SHOP_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_SHOP_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_SHOP_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_SHOP_WHITE.png'})
MAIN_GOTO_STORAGE_WHITE = Button(area={'cn': (331, 656, 478, 703), 'en': (331, 657, 478, 703), 'jp': (332, 657, 478, 703), 'tw': (332, 657, 477, 702)}, color={'cn': (212, 214, 219), 'en': (214, 215, 216), 'jp': (220, 217, 223), 'tw': (216, 214, 217)}, button={'cn': (331, 656, 478, 703), 'en': (331, 657, 478, 703), 'jp': (332, 657, 478, 703), 'tw': (332, 657, 477, 702)}, file={'cn': './assets/cn/ui_white/MAIN_GOTO_STORAGE_WHITE.png', 'en': './assets/en/ui_white/MAIN_GOTO_STORAGE_WHITE.png', 'jp': './assets/jp/ui_white/MAIN_GOTO_STORAGE_WHITE.png', 'tw': './assets/tw/ui_white/MAIN_GOTO_STORAGE_WHITE.png'})
MISSION_NOTICE_WHITE = Button(area={'cn': (923, 657, 947, 671), 'en': (923, 657, 947, 671), 'jp': (923, 657, 947, 671), 'tw': (923, 657, 947, 671)}, color={'cn': (227, 168, 159), 'en': (227, 168, 159), 'jp': (227, 168, 159), 'tw': (227, 168, 159)}, button={'cn': (923, 657, 947, 671), 'en': (923, 657, 947, 671), 'jp': (923, 657, 947, 671), 'tw': (923, 657, 947, 671)}, file={'cn': './assets/cn/ui_white/MISSION_NOTICE_WHITE.png', 'en': './assets/en/ui_white/MISSION_NOTICE_WHITE.png', 'jp': './assets/jp/ui_white/MISSION_NOTICE_WHITE.png', 'tw': './assets/tw/ui_white/MISSION_NOTICE_WHITE.png'})
REWARD_1_WHITE = Button(area={'cn': (437, 278, 496, 306), 'en': (339, 234, 431, 248), 'jp': (443, 282, 493, 306), 'tw': (441, 280, 490, 306)}, color={'cn': (255, 193, 97), 'en': (255, 212, 147), 'jp': (255, 196, 106), 'tw': (255, 199, 111)}, button={'cn': (437, 278, 496, 306), 'en': (339, 234, 431, 248), 'jp': (443, 282, 493, 306), 'tw': (441, 280, 490, 306)}, file={'cn': './assets/cn/ui_white/REWARD_1_WHITE.png', 'en': './assets/en/ui_white/REWARD_1_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_1_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_1_WHITE.png'})
REWARD_2_WHITE = Button(area={'cn': (436, 419, 497, 448), 'en': (339, 351, 431, 365), 'jp': (443, 422, 493, 447), 'tw': (439, 422, 490, 448)}, color={'cn': (255, 192, 94), 'en': (255, 211, 145), 'jp': (255, 195, 104), 'tw': (255, 198, 109)}, button={'cn': (436, 419, 497, 448), 'en': (339, 351, 431, 365), 'jp': (443, 422, 493, 447), 'tw': (439, 422, 490, 448)}, file={'cn': './assets/cn/ui_white/REWARD_2_WHITE.png', 'en': './assets/en/ui_white/REWARD_2_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_2_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_2_WHITE.png'})
REWARD_GOTO_COMMISSION_WHITE = Button(area={'cn': (440, 278, 494, 307), 'en': (420, 283, 512, 300), 'jp': (441, 280, 491, 305), 'tw': (440, 279, 489, 306)}, color={'cn': (103, 207, 255), 'en': (149, 220, 255), 'jp': (119, 212, 255), 'tw': (113, 211, 255)}, button={'cn': (440, 278, 494, 307), 'en': (420, 283, 512, 300), 'jp': (441, 280, 491, 305), 'tw': (440, 279, 489, 306)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'en': './assets/en/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_GOTO_COMMISSION_WHITE.png'})
REWARD_GOTO_TACTICAL_WHITE = Button(area={'cn': (442, 421, 492, 447), 'en': (420, 425, 512, 443), 'jp': (442, 421, 491, 445), 'tw': (439, 421, 489, 449)}, color={'cn': (114, 211, 255), 'en': (145, 219, 255), 'jp': (123, 214, 255), 'tw': (109, 209, 255)}, button={'cn': (442, 421, 492, 447), 'en': (420, 425, 512, 443), 'jp': (442, 421, 491, 445), 'tw': (439, 421, 489, 449)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'en': './assets/en/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_GOTO_TACTICAL_WHITE.png'})