Add: [EN] Assets updated

Fix: [EN] A3 and C3 of the event Iris of Light and Dark Rerun
Optimize: [EN] commission filter, expect many mistakes yet
Optimize: [EN] added some tips on GUI
Add: [EN] New assets for Tactical Class, this module should work now
This commit is contained in:
kyO The NinjA 2020-05-30 01:09:51 -03:00
parent 1fc34e3320
commit b12d8f299c
16 changed files with 76 additions and 64 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -3,52 +3,56 @@ from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('')
# MAP.shape = 'K7'
MAP = CampaignMap('a3')
MAP.shape = 'K7'
# MAP.camera_data = ['D2', 'D5', 'F3', 'F5']
# MAP.map_data = '''
# SP ++ ++ ++ ME -- -- -- ME -- MM
# -- -- -- -- -- -- ME -- -- -- --
# ME -- ++ ME -- -- -- -- ++ ++ --
# ME -- -- -- MS ++ __ -- MB ++ --
# -- -- ME -- -- -- -- -- -- -- --
# -- -- ++ ++ ME ME -- ME ++ ++ ++
# SP -- ++ MM ME -- -- -- -- ME MM
# '''
MAP.map_data = '''
SP ++ ++ ++ -- -- -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- --
-- -- ++ -- -- -- -- -- ++ ++ --
-- -- -- -- -- ++ -- -- -- ++ --
-- -- -- -- -- -- -- -- -- -- --
-- -- ++ ++ -- -- -- -- ++ ++ ++
SP -- ++ ++ -- -- -- -- -- -- --
SP ++ ++ ++ ME -- -- -- ME -- MM
-- -- -- -- -- -- ME -- -- -- --
ME -- ++ ME -- -- -- -- ++ ++ --
ME -- -- -- MS ++ __ -- MB ++ --
-- -- ME -- -- -- -- -- -- -- --
-- -- ++ ++ ME ME -- ME ++ ++ ++
SP -- ++ MM ME -- -- -- -- ME MM
'''
# MAP.map_data = '''
# SP ++ ++ ++ -- -- -- -- -- -- --
# -- -- -- -- -- -- -- -- -- -- --
# -- -- ++ -- -- -- -- -- ++ ++ --
# -- -- -- -- -- ++ -- -- -- ++ --
# -- -- -- -- -- -- -- -- -- -- --
# -- -- ++ ++ -- -- -- -- ++ ++ ++
# SP -- ++ ++ -- -- -- -- -- -- --
# '''
class Config:
SUBMARINE = 0
FLEET_BOSS = 0
POOR_MAP_DATA = True
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_FLEET_STEP = False
MAP_HAS_MOVABLE_ENEMY = False
MAP_HAS_SIREN = True
MAP_HAS_DYNAMIC_RED_BORDER = False
MAP_HAS_MAP_STORY = True
MAP_SIREN_COUNT = 0
MAP_HAS_DYNAMIC_RED_BORDER = True
MAP_SIREN_COUNT = 1
MAP_GRID_CENTER_TOLERANCE = 0.3
MAP_SIREN_TEMPLATE = ['1', '2', '3', 'DD']
TRUST_EDGE_LINES = False
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 50
MID_DIFF_RANGE_H = (45, 70)
MID_DIFF_RANGE_V = (97 - 3, 97 + 3)
TRUST_EDGE_LINES = True
VANISH_POINT_RANGE = ((540, 740), (-4000, -2000))
DISTANCE_POINT_X_RANGE = ((-2000, -1000),)
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (100, 255 - 24),
'width': 1,
'height': (80, 255 - 40),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
'wlen': 100,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 2,
'height': (255 - 40, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}

View File

@ -17,31 +17,39 @@ MAP.map_data = '''
SP -- ++ ++ ME -- -- -- -- ME MM
'''
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
= MAP.flatten()
# A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
# A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
# A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
# A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
# A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
# A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
# A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
# = MAP.flatten()
class Config:
POOR_MAP_DATA = True
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_FLEET_STEP = False
MAP_HAS_MOVABLE_ENEMY = False
MAP_HAS_SIREN = True
MAP_HAS_DYNAMIC_RED_BORDER = True
# MAP_HAS_DYNAMIC_RED_BORDER = False
MAP_SIREN_COUNT = 2
MAP_GRID_CENTER_TOLERANCE = 0.3
MAP_SIREN_TEMPLATE = ['1', '2', '3', 'DD']
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 50
MID_DIFF_RANGE_H = (45, 70)
MID_DIFF_RANGE_V = (97 - 3, 97 + 3)
TRUST_EDGE_LINES = True
VANISH_POINT_RANGE = ((540, 740), (-4000, -2000))
DISTANCE_POINT_X_RANGE = ((-2000, -1000),)
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (80, 255 - 40),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
'wlen': 100,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 40, 255),

View File

@ -33,9 +33,8 @@ MAP.spawn_data = [
]
class Config:
SUBMARINE = 1
FLEET_BOSS = 2
SUBMARINE = 0
FLEET_BOSS = 0
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = False
MAP_HAS_MOVABLE_ENEMY = False

View File

@ -53,7 +53,7 @@ def update_config_from_template(config, file):
sidebar_title='Function',
terminal_font_family='Consolas',
language='english',
default_size=(800, 950),
default_size=(1000, 720),
navigation='SIDEBAR',
tabbed_groups=True,
show_success_modal=False,
@ -136,17 +136,17 @@ def main(ini_name=''):
f1 = fleet.add_argument_group('Road Fleet', 'Players can choose a formation before battle. Though it has no effect appearance-wise, the formations applies buffs to certain stats.\nLine Ahead: Increases Firepower and Torpedo by 15%, but reduces Evasion by 10% (Applies only to Vanguard fleet)\nDouble Line: Increases Evasion by 30%, but decreases Firepower and Torpedo by 5% (Applies only to Vanguard fleet)\nDiamond: Increases Anti-Air by 20% (no penalties, applies to entire fleet)')
f1.add_argument('--fleet_index_1', default=default('--fleet_index_1'), choices=['1', '2', '3', '4', '5', '6'])
f1.add_argument('--fleet_formation_1', default=default('--fleet_formation_1'), choices=['Line Ahead', 'Double Line', 'Diamond'])
f1.add_argument('--fleet_step_1', default=default('--fleet_step_1'), choices=['1', '2', '3', '4', '5', '6'])
f1.add_argument('--fleet_step_1', default=default('--fleet_step_1'), choices=['1', '2', '3', '4', '5', '6'], help='In event map, fleet has limit on moving, so fleet_step is how far can a fleet goes in one operation, if map cleared, it will be ignored')
f2 = fleet.add_argument_group('Boss Fleet')
f2.add_argument('--fleet_index_2', default=default('--fleet_index_2'), choices=['do_not_use', '1', '2', '3', '4', '5', '6'])
f2.add_argument('--fleet_formation_2', default=default('--fleet_formation_2'), choices=['Line Ahead', 'Double Line', 'Diamond'])
f2.add_argument('--fleet_step_2', default=default('--fleet_step_2'), choices=['1', '2', '3', '4', '5', '6'])
f2.add_argument('--fleet_step_2', default=default('--fleet_step_2'), choices=['1', '2', '3', '4', '5', '6'], help='In event map, fleet has limit on moving, so fleet_step is how far can a fleet goes in one operation, if map cleared, it will be ignored')
f3 = fleet.add_argument_group('Alternate Road Fleet')
f3.add_argument('--fleet_index_3', default=default('--fleet_index_3'), choices=['do_not_use', '1', '2', '3', '4', '5', '6'])
f3.add_argument('--fleet_formation_3', default=default('--fleet_formation_3'), choices=['Line Ahead', 'Double Line', 'Diamond'])
f3.add_argument('--fleet_step_3', default=default('--fleet_step_3'), choices=['1', '2', '3', '4', '5', '6'])
f3.add_argument('--fleet_step_3', default=default('--fleet_step_3'), choices=['1', '2', '3', '4', '5', '6'], help='In event map, fleet has limit on moving, so fleet_step is how far can a fleet goes in one operation, if map cleared, it will be ignored')
f4 = fleet.add_argument_group('Auto-mode')
f4.add_argument('--combat_auto_mode', default=default('--combat_auto_mode'), choices=['combat_auto', 'combat_manual', 'stand_still_in_the_middle'])
@ -312,8 +312,8 @@ def main(ini_name=''):
# ==========event_daily_ab==========
event_ab_parser = subs.add_parser('event_daily_ab')
event_name = event_ab_parser.add_argument_group('Choose an event', '')
event_name.add_argument('--event_name_ab', default=default('--event_name_ab'), choices=event_folder, help='E.g event_20200326_cn')
event_name = event_ab_parser.add_argument_group('Choose an event', 'bonus for first clear each day')
event_name.add_argument('--event_name_ab', default=default('--event_name_ab'), choices=event_folder, help='There a dropdown menu with many options')
# ==========main==========
main_parser = subs.add_parser('main')

View File

@ -208,7 +208,7 @@ class AzurLaneConfig:
MAP_HAS_MAP_STORY = False # event_20200521_cn(穹顶下的圣咏曲) adds after-combat story.
MAP_HAS_WALL = False # event_20200521_cn(穹顶下的圣咏曲) adds wall between grids.
MAP_SIREN_MOVE_WAIT = 1.5 # The enemy moving takes about 1.2 ~ 1.5s.
MAP_SIREN_TEMPLATE = ['1', '2', '3']
MAP_SIREN_TEMPLATE = ['1', '2', '3', 'DD']
MAP_SIREN_COUNT = 0
MAP_MYSTERY_HAS_CARRIER = False
MAP_GRID_CENTER_TOLERANCE = 0.1

View File

@ -12,14 +12,14 @@ COMMISSION_NOTICE_AT_CAMPAIGN = Button(area={'cn': (1054, 647, 1061, 654), 'en':
COMMISSION_START = Button(area={'cn': (1028, 322, 1156, 383), 'en': (1031, 333, 1147, 383)}, color={'cn': (229, 175, 113), 'en': (227, 169, 108)}, button={'cn': (1028, 322, 1156, 383), 'en': (1031, 333, 1147, 383)}, file={'cn': './assets/cn/reward/COMMISSION_START.png', 'en': './assets/en/reward/COMMISSION_START.png'})
COMMISSION_STOP_SCROLLING = Button(area={'cn': (115, 236, 179, 487), 'en': (115, 236, 179, 487)}, color={'cn': (50, 55, 74), 'en': (50, 55, 74)}, button={'cn': (115, 236, 179, 487), 'en': (115, 236, 179, 487)}, file={'cn': './assets/cn/reward/COMMISSION_STOP_SCROLLING.png', 'en': './assets/en/reward/COMMISSION_STOP_SCROLLING.png'})
COMMISSION_URGENT = Button(area={'cn': (35, 231, 68, 281), 'en': (28, 221, 76, 283)}, color={'cn': (215, 188, 124), 'en': (169, 138, 95)}, button={'cn': (35, 231, 68, 281), 'en': (28, 221, 76, 283)}, file={'cn': './assets/cn/reward/COMMISSION_URGENT.png', 'en': './assets/en/reward/COMMISSION_URGENT.png'})
EXP_INFO_S_REWARD = Button(area={'cn': (498, 140, 557, 154), 'en': (474, 132, 523, 144)}, color={'cn': (233, 241, 127), 'en': (233, 241, 125)}, button={'cn': (498, 140, 557, 154), 'en': (474, 132, 523, 144)}, file={'cn': './assets/cn/reward/EXP_INFO_S_REWARD.png', 'en': './assets/en/reward/EXP_INFO_S_REWARD.png'})
EXP_INFO_S_REWARD = Button(area={'cn': (498, 140, 557, 154), 'en': (498, 140, 557, 154)}, color={'cn': (233, 241, 127), 'en': (105, 119, 139)}, button={'cn': (498, 140, 557, 154), 'en': (498, 140, 557, 154)}, file={'cn': './assets/cn/reward/EXP_INFO_S_REWARD.png', 'en': './assets/en/reward/EXP_INFO_S_REWARD.png'})
MISSION_MULTI = Button(area={'cn': (1041, 8, 1101, 39), 'en': (1041, 8, 1101, 39)}, color={'cn': (226, 192, 142), 'en': (226, 192, 142)}, button={'cn': (1041, 8, 1101, 39), 'en': (1041, 8, 1101, 39)}, file={'cn': './assets/cn/reward/MISSION_MULTI.png', 'en': './assets/en/reward/MISSION_MULTI.png'})
MISSION_NOTICE = Button(area={'cn': (940, 670, 945, 681), 'en': (940, 670, 945, 681)}, color={'cn': (183, 83, 66), 'en': (183, 83, 66)}, button={'cn': (940, 670, 945, 681), 'en': (940, 670, 945, 681)}, file={'cn': './assets/cn/reward/MISSION_NOTICE.png', 'en': './assets/en/reward/MISSION_NOTICE.png'})
MISSION_SINGLE = Button(area={'cn': (1093, 118, 1179, 177), 'en': (1093, 118, 1179, 177)}, color={'cn': (115, 155, 218), 'en': (115, 155, 218)}, button={'cn': (1093, 118, 1179, 177), 'en': (1093, 118, 1179, 177)}, file={'cn': './assets/cn/reward/MISSION_SINGLE.png', 'en': './assets/en/reward/MISSION_SINGLE.png'})
OIL = Button(area={'cn': (162, 64, 182, 91), 'en': (162, 64, 182, 91)}, color={'cn': (71, 72, 71), 'en': (71, 72, 71)}, button={'cn': (162, 64, 182, 91), 'en': (162, 64, 182, 91)}, file={'cn': './assets/cn/reward/OIL.png', 'en': './assets/en/reward/OIL.png'})
REWARD_1 = Button(area={'cn': (383, 285, 503, 297), 'en': (383, 283, 503, 294)}, color={'cn': (238, 168, 81), 'en': (241, 187, 120)}, button={'cn': (383, 285, 503, 297), 'en': (383, 283, 503, 294)}, file={'cn': './assets/cn/reward/REWARD_1.png', 'en': './assets/en/reward/REWARD_1.png'})
REWARD_2 = Button(area={'cn': (383, 404, 503, 444), 'en': (382, 403, 504, 445)}, color={'cn': (233, 165, 67), 'en': (236, 177, 92)}, button={'cn': (383, 404, 503, 444), 'en': (382, 403, 504, 445)}, file={'cn': './assets/cn/reward/REWARD_2.png', 'en': './assets/en/reward/REWARD_2.png'})
REWARD_3 = Button(area={'cn': (383, 546, 503, 586), 'en': (383, 546, 503, 586)}, color={'cn': (234, 163, 69), 'en': (234, 163, 69)}, button={'cn': (383, 546, 503, 586), 'en': (383, 546, 503, 586)}, file={'cn': './assets/cn/reward/REWARD_3.png', 'en': './assets/en/reward/REWARD_3.png'})
REWARD_3 = Button(area={'cn': (383, 546, 503, 586), 'en': (382, 545, 504, 587)}, color={'cn': (234, 163, 69), 'en': (235, 174, 92)}, button={'cn': (383, 546, 503, 586), 'en': (382, 545, 504, 587)}, file={'cn': './assets/cn/reward/REWARD_3.png', 'en': './assets/en/reward/REWARD_3.png'})
REWARD_SAVE_CLICK = Button(area={'cn': (415, 184, 496, 214), 'en': (415, 184, 496, 214)}, color={'cn': (152, 150, 168), 'en': (152, 150, 168)}, button={'cn': (415, 184, 496, 214), 'en': (415, 184, 496, 214)}, file={'cn': './assets/cn/reward/REWARD_SAVE_CLICK.png', 'en': './assets/en/reward/REWARD_SAVE_CLICK.png'})
TACTICAL_CLASS_CANCEL = Button(area={'cn': (818, 590, 990, 648), 'en': (818, 590, 990, 648)}, color={'cn': (153, 153, 154), 'en': (153, 153, 154)}, button={'cn': (818, 590, 990, 648), 'en': (818, 590, 990, 648)}, file={'cn': './assets/cn/reward/TACTICAL_CLASS_CANCEL.png', 'en': './assets/en/reward/TACTICAL_CLASS_CANCEL.png'})
TACTICAL_CLASS_START = Button(area={'cn': (1024, 590, 1197, 648), 'en': (1024, 590, 1197, 648)}, color={'cn': (96, 139, 194), 'en': (96, 139, 194)}, button={'cn': (1024, 590, 1197, 648), 'en': (1024, 590, 1197, 648)}, file={'cn': './assets/cn/reward/TACTICAL_CLASS_START.png', 'en': './assets/en/reward/TACTICAL_CLASS_START.png'})
TACTICAL_CLASS_CANCEL = Button(area={'cn': (818, 590, 990, 648), 'en': (867, 589, 1042, 649)}, color={'cn': (153, 153, 154), 'en': (159, 160, 160)}, button={'cn': (818, 590, 990, 648), 'en': (867, 589, 1042, 649)}, file={'cn': './assets/cn/reward/TACTICAL_CLASS_CANCEL.png', 'en': './assets/en/reward/TACTICAL_CLASS_CANCEL.png'})
TACTICAL_CLASS_START = Button(area={'cn': (1024, 590, 1197, 648), 'en': (1068, 589, 1243, 649)}, color={'cn': (96, 139, 194), 'en': (85, 132, 191)}, button={'cn': (1024, 590, 1197, 648), 'en': (1068, 589, 1243, 649)}, file={'cn': './assets/cn/reward/TACTICAL_CLASS_START.png', 'en': './assets/en/reward/TACTICAL_CLASS_START.png'})

View File

@ -32,18 +32,18 @@ dictionary_cn = {
'urgent_ship': ['观舰']
}
dictionary_en = {
'major_comm': ['Self Training', 'Defense Exercise', 'Research Mission', 'Prep', 'Class', 'Cargo Transport'],
'major_comm': ['SelfTrainingl', 'Defense Exercise', 'Research Mission', 'Prep', 'Class', 'Cargo Transport'],
'daily_comm': ['Daily', 'Awakening'],
'extra_drill': ['Sailing', 'Defense Patrol', 'Buoy'],
'extra_part': ['Forest'],
'extra_part': ['veinprotectoncommisionll', 'Forestprtectoncommisionl'],
'extra_cube': ['Exercise'],
'extra_oil': ['Oil'],
'extra_book': ['Merchant Escort'],
'urgent_drill': ['Cargo Defense', 'Scouts', 'Force', 'Elites'],
'extra_oil': ['Large-saleoilExtractionlll', 'FleetCargoTransport', 'Large-saleoilExtractianl'],
'extra_book': ['LargeMerchantEscort'],
'urgent_drill': ['Cargo Defense', 'Scouts', 'Force', 'Elites', 'FrontierDefensePatrol'],
'urgent_part': ['Lavella', 'Maui', 'Rendova', 'Kongbanna'],
'urgent_book': ['Tyrant', 'Poro', 'Makira', 'Kapolo', 'Manne ', 'St.', 'Isle', 'Kotlin'],
'urgent_box': ['Gear Transport', 'Handover'],
'urgent_cube': ['Merchant Rescue', 'Attack'],
'urgent_cube': ['MerchantRescuel', 'Attack'],
'urgent_gem': ['VIP ', 'Holiday', 'Patrol Escort'],
'urgent_ship': ['Launch']
}

View File

@ -24,6 +24,7 @@ TEMPLATE_SIREN_1 = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_1.p
TEMPLATE_SIREN_2 = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_2.png', 'en': './assets/en/template/TEMPLATE_SIREN_2.png'})
TEMPLATE_SIREN_3 = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_3.png', 'en': './assets/en/template/TEMPLATE_SIREN_3.png'})
TEMPLATE_SIREN_Algerie = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_Algerie.png', 'en': './assets/en/template/TEMPLATE_SIREN_Algerie.png'})
TEMPLATE_SIREN_DD = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_DD.png', 'en': './assets/en/template/TEMPLATE_SIREN_DD.png'})
TEMPLATE_SIREN_LaGalissonniere = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_LaGalissonniere.png', 'en': './assets/en/template/TEMPLATE_SIREN_LaGalissonniere.png'})
TEMPLATE_SIREN_Vauquelin = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_Vauquelin.png', 'en': './assets/en/template/TEMPLATE_SIREN_Vauquelin.png'})
TEMPLATE_STAGE_CLEAR = Template(file={'cn': './assets/cn/template/TEMPLATE_STAGE_CLEAR.png', 'en': './assets/en/template/TEMPLATE_STAGE_CLEAR.png'})

View File

@ -24,7 +24,7 @@ MAIN_GOTO_REWARD = Button(area={'cn': (11, 139, 30, 189), 'en': (11, 139, 30, 18
MISSION_CHECK = Button(area={'cn': (120, 15, 173, 40), 'en': (123, 18, 221, 37)}, color={'cn': (141, 156, 194), 'en': (104, 117, 158)}, button={'cn': (120, 15, 173, 40), 'en': (123, 18, 221, 37)}, file={'cn': './assets/cn/ui/MISSION_CHECK.png', 'en': './assets/en/ui/MISSION_CHECK.png'})
REWARD_CHECK = Button(area={'cn': (302, 119, 371, 195), 'en': (302, 119, 371, 195)}, color={'cn': (146, 118, 120), 'en': (146, 118, 120)}, button={'cn': (302, 119, 371, 195), 'en': (302, 119, 371, 195)}, file={'cn': './assets/cn/ui/REWARD_CHECK.png', 'en': './assets/en/ui/REWARD_CHECK.png'})
REWARD_GOTO_COMMISSION = Button(area={'cn': (383, 262, 503, 302), 'en': (384, 261, 503, 304)}, color={'cn': (91, 136, 199), 'en': (89, 133, 197)}, button={'cn': (383, 262, 503, 302), 'en': (384, 261, 503, 304)}, file={'cn': './assets/cn/ui/REWARD_GOTO_COMMISSION.png', 'en': './assets/en/ui/REWARD_GOTO_COMMISSION.png'})
REWARD_GOTO_MAIN = Button(area={'cn': (1037, 611, 1107, 656), 'en': (1037, 611, 1107, 656)}, color={'cn': (134, 122, 127), 'en': (134, 122, 127)}, button={'cn': (1037, 611, 1107, 656), 'en': (1037, 611, 1107, 656)}, file={'cn': './assets/cn/ui/REWARD_GOTO_MAIN.png', 'en': './assets/en/ui/REWARD_GOTO_MAIN.png'})
REWARD_GOTO_MAIN = Button(area={'cn': (1037, 611, 1107, 656), 'en': (1037, 612, 1107, 657)}, color={'cn': (134, 122, 127), 'en': (41, 31, 32)}, button={'cn': (1037, 611, 1107, 656), 'en': (1037, 612, 1107, 657)}, file={'cn': './assets/cn/ui/REWARD_GOTO_MAIN.png', 'en': './assets/en/ui/REWARD_GOTO_MAIN.png'})
REWARD_GOTO_TACTICAL = Button(area={'cn': (383, 404, 503, 444), 'en': (385, 404, 502, 444)}, color={'cn': (89, 140, 198), 'en': (84, 137, 196)}, button={'cn': (383, 404, 503, 444), 'en': (385, 404, 502, 444)}, file={'cn': './assets/cn/ui/REWARD_GOTO_TACTICAL.png', 'en': './assets/en/ui/REWARD_GOTO_TACTICAL.png'})
SP_CHECK = Button(area={'cn': (123, 63, 206, 109), 'en': (123, 63, 206, 109)}, color={'cn': (95, 110, 145), 'en': (95, 110, 145)}, button={'cn': (123, 63, 206, 109), 'en': (123, 63, 206, 109)}, file={'cn': './assets/cn/ui/SP_CHECK.png', 'en': './assets/en/ui/SP_CHECK.png'})
TACTICAL_CHECK = Button(area={'cn': (122, 14, 231, 38), 'en': (120, 16, 292, 40)}, color={'cn': (145, 161, 200), 'en': (94, 107, 144)}, button={'cn': (122, 14, 231, 38), 'en': (120, 16, 292, 40)}, file={'cn': './assets/cn/ui/TACTICAL_CHECK.png', 'en': './assets/en/ui/TACTICAL_CHECK.png'})