From 50aef0ec0f7e56ef2838dd45ffc6c44ea3c1a2ba Mon Sep 17 00:00:00 2001 From: Zuosizhu <2839299264@qq.com> Date: Sun, 24 Dec 2023 15:37:18 +0800 Subject: [PATCH] Fix: Same ships are black when changing hard mode flagships --- .../cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png | Bin 0 -> 7327 bytes .../cn/map/FLEET_ENTER_FLAGSHIP_HARD_2_3.png | Bin 0 -> 7751 bytes assets/cn/map/FLEET_ENTER_HARD_1_3.png | Bin 0 -> 7979 bytes assets/cn/map/FLEET_ENTER_HARD_2_3.png | Bin 0 -> 8804 bytes assets/cn/retire/DOCK_SHIP_DOWN.png | Bin 0 -> 32476 bytes module/campaign/gems_farming.py | 49 +++++++++++++++--- module/map/assets.py | 4 ++ module/retire/assets.py | 1 + 8 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png create mode 100644 assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2_3.png create mode 100644 assets/cn/map/FLEET_ENTER_HARD_1_3.png create mode 100644 assets/cn/map/FLEET_ENTER_HARD_2_3.png create mode 100644 assets/cn/retire/DOCK_SHIP_DOWN.png diff --git a/assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png b/assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png new file mode 100644 index 0000000000000000000000000000000000000000..29a02b1525779a465c7be649a1d09143a597508a GIT binary patch literal 7327 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 literal 0 HcmV?d00001 diff --git a/assets/cn/retire/DOCK_SHIP_DOWN.png b/assets/cn/retire/DOCK_SHIP_DOWN.png new file mode 100644 index 0000000000000000000000000000000000000000..412a7c0f7c2f79c087d116471dc54d286cefa4d7 GIT binary patch literal 32476 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 BFYo{W literal 0 HcmV?d00001 diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index 4af7e9eed..9cd0775a6 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -7,9 +7,12 @@ from module.equipment.fleet_equipment import OCR_FLEET_INDEX from module.exception import CampaignEnd from module.handler.assets import AUTO_SEARCH_MAP_OPTION_OFF from module.logger import logger -from module.map.assets import FLEET_PREPARATION, MAP_PREPARATION, FLEET_ENTER_FLAGSHIP_HARD_1, \ - FLEET_ENTER_FLAGSHIP_HARD_2, FLEET_ENTER_HARD_1, FLEET_ENTER_HARD_2 -from module.retire.assets import DOCK_CHECK, TEMPLATE_BOGUE, TEMPLATE_HERMES, TEMPLATE_LANGLEY, TEMPLATE_RANGER +from module.map.assets import (FLEET_PREPARATION, MAP_PREPARATION, FLEET_ENTER_FLAGSHIP_HARD_1, + FLEET_ENTER_FLAGSHIP_HARD_2, FLEET_ENTER_HARD_1, FLEET_ENTER_HARD_2, + FLEET_ENTER_FLAGSHIP_HARD_1_3, FLEET_ENTER_FLAGSHIP_HARD_2_3, FLEET_ENTER_HARD_1_3, + FLEET_ENTER_HARD_2_3) +from module.retire.assets import (DOCK_CHECK, TEMPLATE_BOGUE, TEMPLATE_HERMES, TEMPLATE_LANGLEY, TEMPLATE_RANGER, + DOCK_SHIP_DOWN) from module.retire.dock import Dock from module.retire.scanner import ShipScanner from module.ui.page import page_fleet, page_event @@ -80,9 +83,13 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): if self.config.GemsFarming_FleetNumberInHardMode == 1: self.FLEET_ENTER_FLAGSHIP = FLEET_ENTER_FLAGSHIP_HARD_1 self.FLEET_ENTER = FLEET_ENTER_HARD_1 + self.FLEET_ENTER_FLAGSHIP_3_POSITION = FLEET_ENTER_FLAGSHIP_HARD_1_3 + self.FLEET_ENTER_3_POSITION = FLEET_ENTER_HARD_1_3 elif self.config.GemsFarming_FleetNumberInHardMode == 2: self.FLEET_ENTER_FLAGSHIP = FLEET_ENTER_FLAGSHIP_HARD_2 self.FLEET_ENTER = FLEET_ENTER_HARD_2 + self.FLEET_ENTER_FLAGSHIP_3_POSITION = FLEET_ENTER_FLAGSHIP_HARD_2_3 + self.FLEET_ENTER_3_POSITION = FLEET_ENTER_HARD_2_3 else: logger.critical('Fleet number to change not set, check your settings') from module.exception import RequestHumanTakeover @@ -93,6 +100,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): self._fleet_detail_enter = self._fleet_detail_enter self.page_fleet_check_button = page_fleet.check_button self.FLEET_ENTER_FLAGSHIP = FLEET_ENTER_FLAGSHIP + self._FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP self.FLEET_ENTER = FLEET_ENTER self.hard_mode = False @@ -144,7 +152,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): from module.retire.retirement import Retirement if Retirement(config=self.config, device=self.device).handle_retirement(): continue - if self.appear(button=FLEET_PREPARATION, offset=(50,50)): + if self.appear(button=FLEET_PREPARATION, offset=(50, 50)): return from module.exception import RequestHumanTakeover raise RequestHumanTakeover @@ -225,7 +233,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): self.dock_filter_set() self.dock_select_confirm(check_button=self.page_fleet_check_button) - def get_common_rarity_cv(self): + def get_common_rarity_cv(self, lv=31, emotion=16): """ Get a common rarity cv by config.GemsFarming_CommonCV If config.GemsFarming_CommonCV == 'any', return a common lv1 ~ lv33 cv @@ -236,7 +244,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): logger.hr('FINDING FLAGSHIP') scanner = ShipScanner( - level=(1, 31), emotion=(16, 150), fleet=self.config.Fleet_Fleet1, status='free') + level=(1, lv), emotion=(emotion, 150), fleet=self.config.Fleet_Fleet1, status='free') scanner.disable('rarity') if self.config.GemsFarming_CommonCV == 'any': @@ -314,6 +322,17 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): scanner.set_limitation(fleet=0) return scanner.scan(self.device.image, output=False) + def solve_hard_flagship_black(self): + if self.hard_mode: + self.ui_click(self.FLEET_ENTER_FLAGSHIP, + appear_button=self.page_fleet_check_button, check_button=DOCK_CHECK, + skip_first_screenshot=True) + self.ui_click(DOCK_SHIP_DOWN, + appear_button=DOCK_CHECK, check_button=self.page_fleet_check_button, + skip_first_screenshot=True) + self._FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP + self.FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP_3_POSITION + def flagship_change_execute(self): """ Returns: @@ -323,6 +342,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): in: page_fleet out: page_fleet """ + self.solve_hard_flagship_black() self.ui_click(self.FLEET_ENTER_FLAGSHIP, appear_button=self.page_fleet_check_button, check_button=DOCK_CHECK, skip_first_screenshot=True) self.dock_filter_set( @@ -332,13 +352,26 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): ship = self.get_common_rarity_cv() if ship: self._ship_change_confirm(min(ship, key=lambda s: (s.level, -s.emotion)).button) + if self.hard_mode: + self.FLEET_ENTER_FLAGSHIP = self._FLEET_ENTER_FLAGSHIP logger.info('Change flagship success') return True else: logger.info('Change flagship failed, no CV in common rarity.') - self.dock_filter_set() - self.ui_back(check_button=self.page_fleet_check_button) + + if self.config.SERVER in ['cn']: + max_level = 100 + else: + max_level = 70 + ship = self.get_common_rarity_cv(lv=max_level, emotion=0) + if ship and self.hard_mode: + self._ship_change_confirm(min(ship, key=lambda s: (s.level, -s.emotion)).button) + else: + self.dock_filter_set() + self.ui_back(check_button=self.page_fleet_check_button) + if self.hard_mode: + self.FLEET_ENTER_FLAGSHIP = self._FLEET_ENTER_FLAGSHIP return False def vanguard_change_execute(self): diff --git a/module/map/assets.py b/module/map/assets.py index 0c07334d9..c3fa8f801 100644 --- a/module/map/assets.py +++ b/module/map/assets.py @@ -17,9 +17,13 @@ FLEET_2_CLEAR = Button(area={'cn': (1109, 306, 1169, 365), 'en': (1092, 307, 115 FLEET_2_HARD_SATIESFIED = Button(area={'cn': (208, 372, 361, 401), 'en': (188, 378, 328, 402), 'jp': (208, 372, 361, 401), 'tw': (215, 377, 306, 400)}, color={'cn': (75, 54, 43), 'en': (97, 88, 78), 'jp': (75, 54, 43), 'tw': (83, 68, 48)}, button={'cn': (208, 372, 361, 401), 'en': (188, 378, 328, 402), 'jp': (208, 372, 361, 401), 'tw': (215, 377, 306, 400)}, file={'cn': './assets/cn/map/FLEET_2_HARD_SATIESFIED.png', 'en': './assets/en/map/FLEET_2_HARD_SATIESFIED.png', 'jp': './assets/jp/map/FLEET_2_HARD_SATIESFIED.png', 'tw': './assets/tw/map/FLEET_2_HARD_SATIESFIED.png'}) FLEET_2_IN_USE = Button(area={'cn': (391, 351, 475, 374), 'en': (374, 352, 453, 373), 'jp': (391, 351, 475, 374), 'tw': (393, 338, 473, 373)}, color={'cn': (182, 165, 200), 'en': (151, 152, 162), 'jp': (182, 165, 200), 'tw': (140, 116, 113)}, button={'cn': (391, 351, 475, 374), 'en': (374, 352, 453, 373), 'jp': (391, 351, 475, 374), 'tw': (393, 338, 473, 373)}, file={'cn': './assets/cn/map/FLEET_2_IN_USE.png', 'en': './assets/en/map/FLEET_2_IN_USE.png', 'jp': './assets/jp/map/FLEET_2_IN_USE.png', 'tw': './assets/tw/map/FLEET_2_IN_USE.png'}) FLEET_ENTER_FLAGSHIP_HARD_1 = Button(area={'cn': (389, 158, 472, 241), 'en': (389, 158, 472, 241), 'jp': (389, 158, 472, 241), 'tw': (389, 158, 472, 241)}, color={'cn': (144, 160, 164), 'en': (144, 160, 164), 'jp': (144, 160, 164), 'tw': (144, 160, 164)}, button={'cn': (389, 158, 472, 241), 'en': (389, 158, 472, 241), 'jp': (389, 158, 472, 241), 'tw': (389, 158, 472, 241)}, file={'cn': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1.png', 'en': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1.png', 'jp': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1.png', 'tw': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1.png'}) +FLEET_ENTER_FLAGSHIP_HARD_1_3 = Button(area={'cn': (598, 179, 677, 258), 'en': (598, 179, 677, 258), 'jp': (598, 179, 677, 258), 'tw': (598, 179, 677, 258)}, color={'cn': (48, 54, 66), 'en': (48, 54, 66), 'jp': (48, 54, 66), 'tw': (48, 54, 66)}, button={'cn': (598, 179, 677, 258), 'en': (598, 179, 677, 258), 'jp': (598, 179, 677, 258), 'tw': (598, 179, 677, 258)}, file={'cn': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png', 'en': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png', 'jp': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png', 'tw': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_1_3.png'}) FLEET_ENTER_FLAGSHIP_HARD_2 = Button(area={'cn': (389, 291, 472, 374), 'en': (389, 291, 472, 374), 'jp': (389, 291, 472, 374), 'tw': (389, 291, 472, 374)}, color={'cn': (177, 165, 150), 'en': (177, 165, 150), 'jp': (177, 165, 150), 'tw': (177, 165, 150)}, button={'cn': (389, 291, 472, 374), 'en': (389, 291, 472, 374), 'jp': (389, 291, 472, 374), 'tw': (389, 291, 472, 374)}, file={'cn': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2.png', 'en': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2.png', 'jp': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2.png', 'tw': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2.png'}) +FLEET_ENTER_FLAGSHIP_HARD_2_3 = Button(area={'cn': (595, 290, 679, 374), 'en': (595, 290, 679, 374), 'jp': (595, 290, 679, 374), 'tw': (595, 290, 679, 374)}, color={'cn': (49, 57, 68), 'en': (49, 57, 68), 'jp': (49, 57, 68), 'tw': (49, 57, 68)}, button={'cn': (595, 290, 679, 374), 'en': (595, 290, 679, 374), 'jp': (595, 290, 679, 374), 'tw': (595, 290, 679, 374)}, file={'cn': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2_3.png', 'en': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2_3.png', 'jp': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2_3.png', 'tw': './assets/cn/map/FLEET_ENTER_FLAGSHIP_HARD_2_3.png'}) FLEET_ENTER_HARD_1 = Button(area={'cn': (705, 158, 788, 241), 'en': (705, 158, 788, 241), 'jp': (705, 158, 788, 241), 'tw': (705, 158, 788, 241)}, color={'cn': (147, 157, 154), 'en': (147, 157, 154), 'jp': (147, 157, 154), 'tw': (147, 157, 154)}, button={'cn': (705, 158, 788, 241), 'en': (705, 158, 788, 241), 'jp': (705, 158, 788, 241), 'tw': (705, 158, 788, 241)}, file={'cn': './assets/cn/map/FLEET_ENTER_HARD_1.png', 'en': './assets/cn/map/FLEET_ENTER_HARD_1.png', 'jp': './assets/cn/map/FLEET_ENTER_HARD_1.png', 'tw': './assets/cn/map/FLEET_ENTER_HARD_1.png'}) +FLEET_ENTER_HARD_1_3 = Button(area={'cn': (910, 176, 994, 260), 'en': (910, 176, 994, 260), 'jp': (910, 176, 994, 260), 'tw': (910, 176, 994, 260)}, color={'cn': (47, 59, 73), 'en': (47, 59, 73), 'jp': (47, 59, 73), 'tw': (47, 59, 73)}, button={'cn': (910, 176, 994, 260), 'en': (910, 176, 994, 260), 'jp': (910, 176, 994, 260), 'tw': (910, 176, 994, 260)}, file={'cn': './assets/cn/map/FLEET_ENTER_HARD_1_3.png', 'en': './assets/cn/map/FLEET_ENTER_HARD_1_3.png', 'jp': './assets/cn/map/FLEET_ENTER_HARD_1_3.png', 'tw': './assets/cn/map/FLEET_ENTER_HARD_1_3.png'}) FLEET_ENTER_HARD_2 = Button(area={'cn': (705, 291, 788, 374), 'en': (705, 291, 788, 374), 'jp': (705, 291, 788, 374), 'tw': (705, 291, 788, 374)}, color={'cn': (169, 182, 200), 'en': (169, 182, 200), 'jp': (169, 182, 200), 'tw': (169, 182, 200)}, button={'cn': (705, 291, 788, 374), 'en': (705, 291, 788, 374), 'jp': (705, 291, 788, 374), 'tw': (705, 291, 788, 374)}, file={'cn': './assets/cn/map/FLEET_ENTER_HARD_2.png', 'en': './assets/cn/map/FLEET_ENTER_HARD_2.png', 'jp': './assets/cn/map/FLEET_ENTER_HARD_2.png', 'tw': './assets/cn/map/FLEET_ENTER_HARD_2.png'}) +FLEET_ENTER_HARD_2_3 = Button(area={'cn': (910, 288, 996, 374), 'en': (910, 288, 996, 374), 'jp': (910, 288, 996, 374), 'tw': (910, 288, 996, 374)}, color={'cn': (52, 56, 64), 'en': (52, 56, 64), 'jp': (52, 56, 64), 'tw': (52, 56, 64)}, button={'cn': (910, 288, 996, 374), 'en': (910, 288, 996, 374), 'jp': (910, 288, 996, 374), 'tw': (910, 288, 996, 374)}, file={'cn': './assets/cn/map/FLEET_ENTER_HARD_2_3.png', 'en': './assets/cn/map/FLEET_ENTER_HARD_2_3.png', 'jp': './assets/cn/map/FLEET_ENTER_HARD_2_3.png', 'tw': './assets/cn/map/FLEET_ENTER_HARD_2_3.png'}) FLEET_NUM_1 = Button(area={'cn': (213, 76, 224, 101), 'en': (213, 76, 224, 101), 'jp': (213, 76, 224, 101), 'tw': (213, 76, 224, 101)}, color={'cn': (51, 143, 186), 'en': (51, 143, 186), 'jp': (51, 143, 186), 'tw': (51, 143, 186)}, button={'cn': (213, 76, 224, 101), 'en': (213, 76, 224, 101), 'jp': (213, 76, 224, 101), 'tw': (213, 76, 224, 101)}, file={'cn': './assets/cn/map/FLEET_NUM_1.png', 'en': './assets/en/map/FLEET_NUM_1.png', 'jp': './assets/jp/map/FLEET_NUM_1.png', 'tw': './assets/tw/map/FLEET_NUM_1.png'}) FLEET_NUM_2 = Button(area={'cn': (212, 75, 226, 101), 'en': (212, 75, 226, 101), 'jp': (212, 75, 226, 101), 'tw': (212, 75, 226, 101)}, color={'cn': (52, 150, 194), 'en': (52, 150, 194), 'jp': (52, 150, 194), 'tw': (52, 150, 194)}, button={'cn': (212, 75, 226, 101), 'en': (212, 75, 226, 101), 'jp': (212, 75, 226, 101), 'tw': (212, 75, 226, 101)}, file={'cn': './assets/cn/map/FLEET_NUM_2.png', 'en': './assets/en/map/FLEET_NUM_2.png', 'jp': './assets/jp/map/FLEET_NUM_2.png', 'tw': './assets/tw/map/FLEET_NUM_2.png'}) FLEET_PREPARATION = Button(area={'cn': (1013, 558, 1141, 588), 'en': (1048, 569, 1086, 595), 'jp': (1046, 558, 1107, 587), 'tw': (1014, 557, 1142, 588)}, color={'cn': (242, 211, 160), 'en': (241, 201, 148), 'jp': (241, 205, 151), 'tw': (242, 208, 157)}, button={'cn': (980, 549, 1181, 612), 'en': (988, 556, 1145, 606), 'jp': (983, 549, 1185, 612), 'tw': (980, 548, 1180, 612)}, file={'cn': './assets/cn/map/FLEET_PREPARATION.png', 'en': './assets/en/map/FLEET_PREPARATION.png', 'jp': './assets/jp/map/FLEET_PREPARATION.png', 'tw': './assets/tw/map/FLEET_PREPARATION.png'}) diff --git a/module/retire/assets.py b/module/retire/assets.py index ba861c082..06999cfe6 100644 --- a/module/retire/assets.py +++ b/module/retire/assets.py @@ -13,6 +13,7 @@ DOCK_FILTER = Button(area={'cn': (1099, 5, 1193, 48), 'en': (1098, 4, 1194, 49), DOCK_FILTER_CONFIRM = Button(area={'cn': (714, 613, 886, 671), 'en': (718, 618, 883, 666), 'jp': (717, 618, 885, 668), 'tw': (715, 630, 884, 680)}, color={'cn': (86, 133, 192), 'en': (108, 148, 201), 'jp': (83, 128, 188), 'tw': (83, 130, 190)}, button={'cn': (714, 613, 886, 671), 'en': (718, 618, 883, 666), 'jp': (717, 618, 885, 668), 'tw': (715, 630, 884, 680)}, file={'cn': './assets/cn/retire/DOCK_FILTER_CONFIRM.png', 'en': './assets/en/retire/DOCK_FILTER_CONFIRM.png', 'jp': './assets/jp/retire/DOCK_FILTER_CONFIRM.png', 'tw': './assets/tw/retire/DOCK_FILTER_CONFIRM.png'}) DOCK_SCROLL = Button(area={'cn': (1239, 76, 1248, 641), 'en': (1239, 76, 1248, 641), 'jp': (1237, 78, 1250, 628), 'tw': (1239, 76, 1248, 641)}, color={'cn': (47, 46, 37), 'en': (47, 46, 37), 'jp': (180, 156, 66), 'tw': (47, 46, 37)}, button={'cn': (1239, 76, 1248, 641), 'en': (1239, 76, 1248, 641), 'jp': (1237, 78, 1250, 628), 'tw': (1239, 76, 1248, 641)}, file={'cn': './assets/cn/retire/DOCK_SCROLL.png', 'en': './assets/en/retire/DOCK_SCROLL.png', 'jp': './assets/jp/retire/DOCK_SCROLL.png', 'tw': './assets/tw/retire/DOCK_SCROLL.png'}) DOCK_SELECTED = Button(area={'cn': (582, 662, 647, 685), 'en': (702, 660, 751, 686), 'jp': (603, 662, 655, 685), 'tw': (582, 662, 647, 685)}, color={'cn': (75, 75, 83), 'en': (84, 85, 93), 'jp': (84, 83, 92), 'tw': (75, 75, 83)}, button={'cn': (582, 662, 647, 685), 'en': (702, 660, 751, 686), 'jp': (603, 662, 655, 685), 'tw': (582, 662, 647, 685)}, file={'cn': './assets/cn/retire/DOCK_SELECTED.png', 'en': './assets/en/retire/DOCK_SELECTED.png', 'jp': './assets/jp/retire/DOCK_SELECTED.png', 'tw': './assets/tw/retire/DOCK_SELECTED.png'}) +DOCK_SHIP_DOWN = Button(area={'cn': (93, 90, 225, 266), 'en': (93, 90, 225, 266), 'jp': (93, 90, 225, 266), 'tw': (93, 90, 225, 266)}, color={'cn': (68, 67, 69), 'en': (68, 67, 69), 'jp': (68, 67, 69), 'tw': (68, 67, 69)}, button={'cn': (93, 90, 225, 266), 'en': (93, 90, 225, 266), 'jp': (93, 90, 225, 266), 'tw': (93, 90, 225, 266)}, file={'cn': './assets/cn/retire/DOCK_SHIP_DOWN.png', 'en': './assets/cn/retire/DOCK_SHIP_DOWN.png', 'jp': './assets/cn/retire/DOCK_SHIP_DOWN.png', 'tw': './assets/cn/retire/DOCK_SHIP_DOWN.png'}) EMPTY_ENHANCE_SLOT_PLUS = Button(area={'cn': (737, 402, 773, 437), 'en': (737, 402, 773, 437), 'jp': (737, 402, 773, 437), 'tw': (737, 402, 773, 437)}, color={'cn': (46, 46, 46), 'en': (46, 46, 46), 'jp': (46, 46, 46), 'tw': (46, 46, 46)}, button={'cn': (737, 402, 773, 437), 'en': (737, 402, 773, 437), 'jp': (737, 402, 773, 437), 'tw': (737, 402, 773, 437)}, file={'cn': './assets/cn/retire/EMPTY_ENHANCE_SLOT_PLUS.png', 'en': './assets/en/retire/EMPTY_ENHANCE_SLOT_PLUS.png', 'jp': './assets/jp/retire/EMPTY_ENHANCE_SLOT_PLUS.png', 'tw': './assets/tw/retire/EMPTY_ENHANCE_SLOT_PLUS.png'}) ENHANCE_CONFIRM = Button(area={'cn': (1126, 602, 1256, 645), 'en': (1130, 603, 1255, 643), 'jp': (1126, 601, 1257, 646), 'tw': (1126, 602, 1257, 644)}, color={'cn': (203, 149, 81), 'en': (204, 148, 82), 'jp': (189, 139, 78), 'tw': (198, 145, 82)}, button={'cn': (1126, 602, 1256, 645), 'en': (1130, 603, 1255, 643), 'jp': (1126, 601, 1257, 646), 'tw': (1126, 602, 1257, 644)}, file={'cn': './assets/cn/retire/ENHANCE_CONFIRM.png', 'en': './assets/en/retire/ENHANCE_CONFIRM.png', 'jp': './assets/jp/retire/ENHANCE_CONFIRM.png', 'tw': './assets/tw/retire/ENHANCE_CONFIRM.png'}) ENHANCE_FILLED = Button(area={'cn': (728, 440, 781, 454), 'en': (728, 440, 781, 454), 'jp': (722, 387, 789, 400), 'tw': (728, 440, 781, 454)}, color={'cn': (156, 138, 127), 'en': (156, 138, 127), 'jp': (146, 153, 211), 'tw': (156, 138, 127)}, button={'cn': (728, 440, 781, 454), 'en': (728, 440, 781, 454), 'jp': (722, 387, 789, 400), 'tw': (728, 440, 781, 454)}, file={'cn': './assets/cn/retire/ENHANCE_FILLED.png', 'en': './assets/en/retire/ENHANCE_FILLED.png', 'jp': './assets/jp/retire/ENHANCE_FILLED.png', 'tw': './assets/tw/retire/ENHANCE_FILLED.png'})