From 29d7df60e6a58696b6d12f7bc2d4c6245818d507 Mon Sep 17 00:00:00 2001 From: guoh064 Date: Sat, 4 Apr 2026 03:50:20 +0800 Subject: [PATCH 01/12] Refactor: delete equipment change usage in alas --- campaign/campaign_hard/campaign_hard.py | 48 +------------------------ module/campaign/gems_farming.py | 15 ++++++-- module/daily/daily.py | 5 +-- module/daily/equipment.py | 38 -------------------- module/equipment/fleet_equipment.py | 37 ------------------- module/exercise/combat.py | 23 +----------- module/exercise/equipment.py | 43 ---------------------- module/hard/equipment.py | 27 -------------- 8 files changed, 16 insertions(+), 220 deletions(-) delete mode 100644 module/daily/equipment.py delete mode 100644 module/equipment/fleet_equipment.py delete mode 100644 module/exercise/equipment.py delete mode 100644 module/hard/equipment.py diff --git a/campaign/campaign_hard/campaign_hard.py b/campaign/campaign_hard/campaign_hard.py index 95f1a72af0..0950cf4586 100644 --- a/campaign/campaign_hard/campaign_hard.py +++ b/campaign/campaign_hard/campaign_hard.py @@ -1,7 +1,6 @@ from module.base.timer import Timer from module.campaign.campaign_base import CampaignBase from module.exception import CampaignEnd -from module.hard.equipment import HardEquipment from module.logger import logger from module.map.assets import FLEET_PREPARATION, MAP_PREPARATION from module.ui.assets import CAMPAIGN_CHECK @@ -13,7 +12,7 @@ class Config: ENABLE_HP_BALANCE = False -class Campaign(CampaignBase, HardEquipment): +class Campaign(CampaignBase): # def run(self): # logger.hr(self.ENTRANCE, level=2) # self.enter_map(self.ENTRANCE, mode='hard') @@ -36,9 +35,6 @@ class Campaign(CampaignBase, HardEquipment): # except CampaignEnd: # logger.hr('Campaign end') - # def fleet_preparation(self): - # self.equipment_take_on() - def _expected_end(self, expected): return 'in_stage' @@ -60,45 +56,3 @@ def clear_boss(self): self.clear_potential_boss() return False - - def equipment_take_off_when_finished(self): - if self.config.FLEET_HARD_EQUIPMENT is None: - return False - if not self.equipment_has_take_on: - return False - - logger.info('equipment_take_off_when_finished') - campaign_timer = Timer(2) - map_timer = Timer(1) - fleet_timer = Timer(1) - - while 1: - self.device.screenshot() - - # Enter campaign - if campaign_timer.reached() and self.is_in_stage(): - self.device.click(self.ENTRANCE) - campaign_timer.reset() - continue - - # Map preparation - if map_timer.reached() and self.appear(MAP_PREPARATION, offset=(20, 20)): - self.device.click(MAP_PREPARATION) - map_timer.reset() - campaign_timer.reset() - continue - - # Fleet preparation - if fleet_timer.reached() and self.appear(FLEET_PREPARATION, offset=(20, 50)): - self.equipment_take_off() - self.ui_back(check_button=CAMPAIGN_CHECK, appear_button=FLEET_PREPARATION) - break - - # Retire - if self.handle_retirement(): - continue - - # Emotion - pass - - return True diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index a3a11dce2f..d8e611a300 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -2,11 +2,12 @@ from module.campaign.run import CampaignRun from module.combat.assets import BATTLE_PREPARATION from module.equipment.assets import * -from module.equipment.fleet_equipment import FleetEquipment +from module.equipment.equipment import Equipment from module.exception import CampaignEnd, ScriptError from module.handler.assets import AUTO_SEARCH_MAP_OPTION_OFF from module.logger import logger from module.map.assets import FLEET_PREPARATION, MAP_PREPARATION +from module.ocr.ocr import Digit from module.retire.assets import ( DOCK_CHECK, TEMPLATE_BOGUE, TEMPLATE_HERMES, TEMPLATE_LANGLEY, TEMPLATE_RANGER, @@ -19,6 +20,8 @@ from module.ui.assets import BACK_ARROW from module.ui.page import page_fleet + +FLEET_INDEX = Digit(OCR_FLEET_INDEX, letter=(90, 154, 255), threshold=128, alphabet='123456') SIM_VALUE = 0.92 @@ -67,7 +70,7 @@ def handle_combat_low_emotion(self): raise CampaignEnd('Emotion withdraw') -class GemsFarming(CampaignRun, FleetEquipment, Dock): +class GemsFarming(CampaignRun, Equipment, Dock): def load_campaign(self, name, folder='campaign_main'): super().load_campaign(name, folder) @@ -90,6 +93,14 @@ def fleet_to_attack(self): else: return self.config.Fleet_Fleet1 + def fleet_enter(self, fleet_index): + self.ui_ensure(page_fleet) + self.ui_ensure_index(fleet_index, + letter=FLEET_INDEX, + next_button=FLEET_NEXT, + prev_button=FLEET_PREV, + skip_first_screenshot=True) + def flagship_change(self): """ Change flagship and flagship's equipment diff --git a/module/daily/daily.py b/module/daily/daily.py index 6d8f3c03d7..f9b86c336a 100644 --- a/module/daily/daily.py +++ b/module/daily/daily.py @@ -5,7 +5,6 @@ from module.combat.assets import BATTLE_PREPARATION from module.combat.combat import Combat from module.daily.assets import * -from module.daily.equipment import DailyEquipment from module.logger import logger from module.ocr.ocr import Digit from module.ui.assets import BACK_ARROW, DAILY_CHECK @@ -19,7 +18,7 @@ OCR_DAILY_FLEET_INDEX = Digit(OCR_DAILY_FLEET_INDEX, letter=(90, 154, 255), threshold=128, alphabet='123456') -class Daily(Combat, DailyEquipment): +class Daily(Combat): daily_current: int daily_checked: list emergency_module_development = False @@ -337,9 +336,7 @@ def run(self): in: Any page out: page_daily """ - # self.equipment_take_on() self.daily_run() - # self.equipment_take_off() # Cannot stay in page_daily, because order is disordered. self.config.task_delay(server_update=True) diff --git a/module/daily/equipment.py b/module/daily/equipment.py deleted file mode 100644 index 6e11bd08b3..0000000000 --- a/module/daily/equipment.py +++ /dev/null @@ -1,38 +0,0 @@ -from module.equipment.fleet_equipment import FleetEquipment -from module.logger import logger - - -class DailyEquipment(FleetEquipment): - - def fleet_enter(self, fleet=None): - fleet = self.config.FLEET_DAILY - if isinstance(fleet, list): - logger.info(f'Multiple daily fleets are set, change equipment only for the first one. fleet: {fleet}') - fleet = fleet[0] - super().fleet_enter(fleet) - - def equipment_take_on(self): - if self.config.FLEET_DAILY_EQUIPMENT is None: - return False - if self.equipment_has_take_on: - return False - - self.fleet_enter() - self.fleet_equipment_take_on_preset(preset_record=self.config.FLEET_DAILY_EQUIPMENT) - self.ui_back(self.is_in_main) - self.equipment_has_take_on = True - self.device.sleep(1) - return True - - def equipment_take_off(self): - if self.config.FLEET_DAILY_EQUIPMENT is None: - return False - if not self.equipment_has_take_on: - return False - - self.fleet_enter() - self.fleet_equipment_take_off() - self.ui_back(self.is_in_main) - self.equipment_has_take_on = False - self.device.sleep(1) - return True diff --git a/module/equipment/fleet_equipment.py b/module/equipment/fleet_equipment.py deleted file mode 100644 index f2a568e209..0000000000 --- a/module/equipment/fleet_equipment.py +++ /dev/null @@ -1,37 +0,0 @@ -from module.equipment.assets import * -from module.equipment.equipment_change import EquipmentChange -from module.ocr.ocr import Digit -from module.ui.assets import FLEET_CHECK -from module.ui.page import page_fleet - -OCR_FLEET_INDEX = Digit(OCR_FLEET_INDEX, letter=(90, 154, 255), threshold=128, alphabet='123456') - - -class FleetEquipment(EquipmentChange): - def fleet_enter(self, fleet): - self.ui_ensure(page_fleet) - self.ui_ensure_index(fleet, letter=OCR_FLEET_INDEX, - next_button=FLEET_NEXT, prev_button=FLEET_PREV, skip_first_screenshot=True) - - def fleet_equipment_take_on_preset(self, preset_record, enter=FLEET_DETAIL_ENTER_FLAGSHIP, - long_click=False, out=FLEET_DETAIL_CHECK): - self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button, - check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True) - super().fleet_equipment_take_on_preset(preset_record=preset_record, enter=FLEET_DETAIL_ENTER_FLAGSHIP, - long_click=False, out=FLEET_DETAIL_CHECK) - self.ui_back(FLEET_CHECK) - - def fleet_equipment_take_off(self, enter=FLEET_DETAIL_ENTER_FLAGSHIP, long_click=False, out=FLEET_DETAIL_CHECK): - self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button, - check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True) - super().fleet_equipment_take_off(enter=enter, long_click=long_click, out=out) - self.ui_back(FLEET_CHECK) - - def fleet_enter_ship(self, button): - self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button, - check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True) - self.ship_info_enter(button, long_click=False) - - def fleet_back(self): - self.ui_back(FLEET_DETAIL_CHECK) - self.ui_back(FLEET_CHECK) diff --git a/module/exercise/combat.py b/module/exercise/combat.py index bdfbed9fa0..0ee2c916f4 100644 --- a/module/exercise/combat.py +++ b/module/exercise/combat.py @@ -1,12 +1,11 @@ from module.combat.combat import * from module.exercise.assets import * -from module.exercise.equipment import ExerciseEquipment from module.exercise.hp_daemon import HpDaemon from module.exercise.opponent import OPPONENT, OpponentChoose from module.ui.assets import EXERCISE_CHECK -class ExerciseCombat(HpDaemon, OpponentChoose, ExerciseEquipment, Combat): +class ExerciseCombat(HpDaemon, OpponentChoose, Combat): def _in_exercise(self): return self.appear(EXERCISE_CHECK, offset=(20, 20)) @@ -191,23 +190,3 @@ def _combat(self, opponent): self._preparation_quit() return False - - def equipment_take_off_when_finished(self): - if self.config.EXERCISE_FLEET_EQUIPMENT is None: - return False - if not self.equipment_has_take_on: - return False - - self._choose_opponent(0) - self.equipment_take_off() - self._preparation_quit() - - def equipment_take_on(self): - if self.config.EXERCISE_FLEET_EQUIPMENT is None: - return False - if self.equipment_has_take_on: - return False - - self._choose_opponent(0) - super().equipment_take_on() - self._preparation_quit() diff --git a/module/exercise/equipment.py b/module/exercise/equipment.py deleted file mode 100644 index 4d66b26e6d..0000000000 --- a/module/exercise/equipment.py +++ /dev/null @@ -1,43 +0,0 @@ -from module.base.timer import Timer -from module.combat.assets import BATTLE_PREPARATION -from module.equipment.equipment_change import EquipmentChange -from module.exercise.assets import * - - -class ExerciseEquipment(EquipmentChange): - def _active_edit(self): - timer = Timer(5) - while 1: - self.device.screenshot() - - if timer.reached() and self.appear_then_click(EQUIP_EDIT_INACTIVE): - timer.reset() - - # End - if self.appear(EQUIP_EDIT_ACTIVE): - self.device.sleep((0.2, 0.3)) - break - - def _inactive_edit(self): - timer = Timer(5) - while 1: - self.device.screenshot() - - if timer.reached() and self.appear_then_click(EQUIP_EDIT_ACTIVE): - timer.reset() - - # End - if self.appear(EQUIP_EDIT_INACTIVE): - self.device.sleep((0.2, 0.3)) - break - - def equipment_take_on(self): - self._active_edit() - self.fleet_equipment_take_on_preset(preset_record=self.config.EXERCISE_FLEET_EQUIPMENT, enter=EQUIP_ENTER, - long_click=True, out=BATTLE_PREPARATION) - self._inactive_edit() - - def equipment_take_off(self): - self._active_edit() - self.fleet_equipment_take_off(enter=EQUIP_ENTER, long_click=True, out=BATTLE_PREPARATION) - self._inactive_edit() diff --git a/module/hard/equipment.py b/module/hard/equipment.py deleted file mode 100644 index 59fbc7d812..0000000000 --- a/module/hard/equipment.py +++ /dev/null @@ -1,27 +0,0 @@ -from module.equipment.equipment_change import EquipmentChange -from module.hard.assets import * -from module.map.assets import * - - -class HardEquipment(EquipmentChange): - - def equipment_take_on(self): - if self.config.FLEET_HARD_EQUIPMENT is None: - return False - if self.equipment_has_take_on: - return False - - enter = EQUIP_ENTER_1 if self.config.Hard_HardFleet == 1 else EQUIP_ENTER_2 - self.fleet_equipment_take_on_preset(preset_record=self.config.FLEET_HARD_EQUIPMENT, enter=enter, - long_click=True, out=FLEET_PREPARATION) - return True - - def equipment_take_off(self): - if self.config.FLEET_HARD_EQUIPMENT is None: - return False - if not self.equipment_has_take_on: - return False - - enter = EQUIP_ENTER_1 if self.config.Hard_HardFleet == 1 else EQUIP_ENTER_2 - self.fleet_equipment_take_off(enter=enter, long_click=True, out=FLEET_PREPARATION) - return True From 55da12b26e4b271f19b8657e54138ae74f0f115f Mon Sep 17 00:00:00 2001 From: guoh064 Date: Sat, 4 Apr 2026 04:09:07 +0800 Subject: [PATCH 02/12] Refactor: class GemsFarming --- module/campaign/gems_farming.py | 377 +++++++++++++++----------------- module/retire/dock.py | 5 + 2 files changed, 177 insertions(+), 205 deletions(-) diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index d8e611a300..a9bd8f4851 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -3,18 +3,12 @@ from module.combat.assets import BATTLE_PREPARATION from module.equipment.assets import * from module.equipment.equipment import Equipment -from module.exception import CampaignEnd, ScriptError +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 from module.ocr.ocr import Digit -from module.retire.assets import ( - DOCK_CHECK, - TEMPLATE_BOGUE, TEMPLATE_HERMES, TEMPLATE_LANGLEY, TEMPLATE_RANGER, - TEMPLATE_CASSIN_1, TEMPLATE_CASSIN_2, TEMPLATE_DOWNES_1, TEMPLATE_DOWNES_2, - TEMPLATE_AULICK, TEMPLATE_FOOTE -) - +from module.retire.assets import * from module.retire.dock import Dock from module.retire.scanner import ShipScanner from module.ui.assets import BACK_ARROW @@ -26,7 +20,6 @@ class GemsCampaignOverride(CampaignBase): - def handle_combat_low_emotion(self): """ Overwrite info_handler.handle_combat_low_emotion() @@ -70,8 +63,7 @@ def handle_combat_low_emotion(self): raise CampaignEnd('Emotion withdraw') -class GemsFarming(CampaignRun, Equipment, Dock): - +class GemsFarming(CampaignRun, Dock): def load_campaign(self, name, folder='campaign_main'): super().load_campaign(name, folder) @@ -87,133 +79,154 @@ def change_vanguard(self): return 'ship' in self.config.GemsFarming_ChangeVanguard @property - def fleet_to_attack(self): + def max_level(self): + if self.config.SERVER == 'cn': + return 100 + else: + return 70 + + @property + def min_emotion(self): + return (2 + self.campaign._map_battle) * self.campaign.emotion.reduce_per_battle + + @property + def fleet_to_attack_index(self): if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all': return self.config.Fleet_Fleet2 else: return self.config.Fleet_Fleet1 - def fleet_enter(self, fleet_index): + def ui_goto_fleet(self): self.ui_ensure(page_fleet) - self.ui_ensure_index(fleet_index, + self.ui_ensure_index(self.fleet_to_attack_index, letter=FLEET_INDEX, next_button=FLEET_NEXT, prev_button=FLEET_PREV, skip_first_screenshot=True) - def flagship_change(self): - """ - Change flagship and flagship's equipment - If config.GemsFarming_CommonCV == 'any', only change auxiliary equipment + def ui_enter_ship(self, click_button, long_click=True): + if long_click: + enter_button_map = { + FLEET_ENTER_FLAGSHIP: FLEET_DETAIL_ENTER_FLAGSHIP, + FLEET_ENTER: FLEET_DETAIL_ENTER, + } + enter_button = enter_button_map.get(click_button) + if enter_button is None: + self.ship_info_enter(click_button=click_button, long_click=True, skip_first_screenshot=False) + return + + self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button, + check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True) + self.ship_info_enter(enter_button, long_click=False) + else: + self.ship_info_enter(click_button=click_button, check_button=DOCK_CHECK, + long_click=False, skip_first_screenshot=False) + + def ui_leave_ship(self, check_button=None): + if check_button is None: + check_button = page_fleet.check_button + if check_button == page_fleet.check_button: + self.ui_back(check_button=[FLEET_DETAIL_CHECK, page_fleet.check_button]) + self.ui_back(check_button=page_fleet.check_button) + else: + self.ui_back(check_button=check_button) - Returns: - bool: True if flagship changed. + def find_candidates(self, templates, scanner: ShipScanner, output=False): """ - logger.hr('Change flagship', level=1) - self.fleet_enter(self.fleet_to_attack) - - logger.hr('Change flagship', level=2) - success = self.flagship_change_execute() - - return success + Find candidates based on template matching using a scanner. + """ + ships = scanner.scan(self.device.image, output=output) + if not templates: + return ships + candidates = [] + for ship in ships: + for template in templates: + if template.match(self.image_crop(ship.button, copy=False), similarity=SIM_VALUE): + candidates.append(ship) + break + return candidates - def vanguard_change(self): + def get_cv_templates(self): """ - Change vanguard and vanguard's equipment + Get CV templates based on config.GemsFarming_CommonCV Returns: - bool: True if vanguard changed + list[Template]: CV templates """ - - logger.hr('Change vanguard', level=1) - logger.attr('ChangeVanguard', self.config.GemsFarming_ChangeVanguard) - self.fleet_enter(self.fleet_to_attack) - - logger.hr('Change vanguard', level=2) - success = self.vanguard_change_execute() - - return success - - def _dock_reset(self): - self.dock_favourite_set(False, wait_loading=False) - self.dock_sort_method_dsc_set(wait_loading=False) - self.dock_filter_set() - - def _ship_change_confirm(self, button): - self.dock_select_one(button) - self._dock_reset() - self.dock_select_confirm(check_button=page_fleet.check_button) - - def get_common_rarity_cv(self): + if self.config.GemsFarming_CommonCV == 'any': + return [] + else: + templates = { + 'bogue': TEMPLATE_BOGUE, + 'hermes': TEMPLATE_HERMES, + 'langley': TEMPLATE_LANGLEY, + 'ranger': TEMPLATE_RANGER, + } + return [templates[self.config.GemsFarming_CommonCV]] + + def get_common_rarity_cv(self, max_level=31, min_emotion=0): """ Get a common rarity cv by config.GemsFarming_CommonCV - If config.GemsFarming_CommonCV == 'any', return a common lv1 ~ lv33 cv - - _dock_reset() needs to be called later. + If config.GemsFarming_CommonCV == 'any', return a common lv1 ~ lv31 cv by default. Returns: - Ship: + list[Ship]: Common rarity CVs that meet the level, emotion and fleet requirements. """ self.dock_favourite_set(False, wait_loading=False) - self.dock_sort_method_dsc_set(False, wait_loading=False) - self.dock_filter_set( - index='cv', rarity='common', extra='enhanceable', sort='total') + self.dock_sort_method_dsc_set(True, wait_loading=False) + self.dock_filter_set(index='cv', rarity='common', extra='enhanceable', sort='total') logger.hr('FINDING FLAGSHIP') - - scanner = ShipScanner(level=(1, 31), emotion=(10, 150), - fleet=self.fleet_to_attack, status='free') + templates = self.get_cv_templates() + scanner = ShipScanner(level=(1, max_level), emotion=(min_emotion, 150), fleet=self.fleet_to_attack_index, status='free') scanner.disable('rarity') - if self.config.GemsFarming_CommonCV == 'any': - - ships = scanner.scan(self.device.image) - if ships: - # Don't need to change current - return ships - - # Change to any ship - scanner.set_limitation(fleet=0) - return scanner.scan(self.device.image, output=False) - - else: - template = { - 'BOGUE': TEMPLATE_BOGUE, - 'HERMES': TEMPLATE_HERMES, - 'LANGLEY': TEMPLATE_LANGLEY, - 'RANGER': TEMPLATE_RANGER - }[f'{self.config.GemsFarming_CommonCV.upper()}'] - - ships = scanner.scan(self.device.image) - if ships: - # Don't need to change current - return ships - - scanner.set_limitation(fleet=0) - candidates = [ship for ship in scanner.scan(self.device.image, output=False) - if template.match(self.image_crop(ship.button, copy=False), similarity=SIM_VALUE)] + candidates = self.find_candidates(templates, scanner, output=True) + if candidates: + return candidates - if candidates: - # Change to specific ship - return candidates + scanner.set_limitation(fleet=0) + candidates = self.find_candidates(templates, scanner, output=False) + if candidates or templates == []: + return candidates - logger.info('No specific CV was found, try reversed order.') - self.dock_sort_method_dsc_set(True) + logger.info('No specific CV was found, try reversed order.') + self.dock_sort_method_dsc_set(False) + candidates = self.find_candidates(templates, scanner, output=True) + return candidates - candidates = [ship for ship in scanner.scan(self.device.image) - if template.match(self.image_crop(ship.button, copy=False), similarity=SIM_VALUE)] + def flagship_change_execute(self): + self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=False) + candidate = self.get_common_rarity_cv() + if candidate: + ship = max(candidate, key=lambda s: (s.level, s.emotion)) + self.dock_select_one(ship.button) + self.dock_reset() + self.dock_select_confirm(check_button=page_fleet.check_button) + logger.info('Change flagship success') + return True - return candidates + logger.info('Change flagship failed, no CV in common rarity.') + self.dock_reset() + self.ui_leave_ship() + return False - def get_common_rarity_dd(self): + def flagship_change(self): """ - Get a common rarity dd with level is 100 (70 for servers except CN) and emotion > 10 - - _dock_reset() needs to be called later. + Change flagship and flagship's equipment Returns: - Ship: + bool: True if flagship changed. """ + logger.hr('Change flagship', level=1) + self.ui_goto_fleet() + + logger.hr('Change flagship', level=2) + success = self.flagship_change_execute() + + return success + + def get_dd_faction(self): if self.config.GemsFarming_CommonDD == 'any': faction = ['eagle', 'iron'] elif self.config.GemsFarming_CommonDD == 'favourite': @@ -224,137 +237,91 @@ def get_common_rarity_dd(self): faction = 'eagle' else: logger.error(f'Invalid CommonDD setting: {self.config.GemsFarming_CommonDD}') - raise ScriptError('Invalid GemsFarming_CommonDD') - - favourite = self.config.GemsFarming_CommonDD == 'favourite' - self.dock_favourite_set(favourite, wait_loading=False) - self.dock_sort_method_dsc_set(True, wait_loading=False) - self.dock_filter_set( - index='dd', rarity='common', faction=faction, extra='can_limit_break') - - logger.hr('FINDING VANGUARD') - - if self.config.SERVER in ['cn']: - max_level = 100 - else: - max_level = 70 - - scanner = ShipScanner(level=(max_level, max_level), emotion=(10, 150), - fleet=[0, self.fleet_to_attack], status='free') - scanner.disable('rarity') - - if self.config.GemsFarming_CommonDD in ['any', 'favourite', 'z20_or_z21']: - # Change to any ship - return scanner.scan(self.device.image) - - candidates = self.find_candidates(self.get_templates(self.config.GemsFarming_CommonDD), scanner) - if candidates: - # Change to specific ship - return candidates - - logger.info('No specific DD was found, try reversed order.') - self.dock_sort_method_dsc_set(False) - - # Change specific ship - candidates = self.find_candidates(self.get_templates(self.config.GemsFarming_CommonDD), scanner) - return candidates - - def find_candidates(self, template, scanner): - """ - Find candidates based on template matching using a scanner. + logger.error("Default to 'eagle' and 'iron' faction.") + faction = ['eagle', 'iron'] + return faction + def get_dd_templates(self): """ - candidates = [] - for item in template: - candidates = [ship for ship in scanner.scan(self.device.image, output=False) - if item.match(self.image_crop(ship.button, copy=False), similarity=SIM_VALUE)] - if candidates: - break - return candidates + Get DD templates based on config.GemsFarming_CommonDD - @staticmethod - def get_templates(common_dd): - """ - Returns the corresponding template list based on CommonDD + Returns: + list[Template]: DD templates """ - if common_dd == 'aulick_or_foote': + if self.config.GemsFarming_CommonDD == 'aulick_or_foote': return [ TEMPLATE_AULICK, TEMPLATE_FOOTE ] - elif common_dd == 'cassin_or_downes': + elif self.config.GemsFarming_CommonDD == 'cassin_or_downes': return [ TEMPLATE_CASSIN_1, TEMPLATE_CASSIN_2, TEMPLATE_DOWNES_1, TEMPLATE_DOWNES_2 ] else: - logger.error(f'Invalid CommonDD setting: {common_dd}') - raise ScriptError(f'Invalid CommonDD setting: {common_dd}') + return [] - def flagship_change_execute(self): + def get_common_rarity_dd(self, min_emotion=0): """ - Returns: - bool: If success. + Get a common rarity dd by config.GemsFarming_CommonDD + If config.GemsFarming_CommonDD == 'any', return a common self.max_level dd by default. - Pages: - in: page_fleet - out: page_fleet + Returns: + list[Ship]: Common rarity DDs that meet the emotion and fleet requirements. """ - for _ in self.loop(): - if self.appear(DOCK_CHECK, offset=(20, 20)): - break - if self.ui_page_appear(page_fleet, interval=5): - self.device.click(FLEET_ENTER_FLAGSHIP) - continue - # 2025.05.29 game tips that infos skin feature when you enter dock - if self.handle_game_tips(): - return True + faction = self.get_dd_faction() + self.dock_favourite_set(self.config.GemsFarming_CommonDD == 'favourite', wait_loading=False) + self.dock_sort_method_dsc_set(True, wait_loading=False) + self.dock_filter_set(index='dd', rarity='common', faction=faction, extra='can_limit_break') - ship = self.get_common_rarity_cv() - if ship: - self._ship_change_confirm(min(ship, key=lambda s: (s.level, -s.emotion)).button) + logger.hr('FINDING VANGUARD') + templates = self.get_dd_templates() + scanner = ShipScanner(level=(self.max_level, self.max_level), emotion=(min_emotion, 150), fleet=[0, self.fleet_to_attack_index], status='free') + scanner.disable('rarity') - logger.info('Change flagship success') - return True - else: - logger.info('Change flagship failed, no CV in common rarity.') - self._dock_reset() - self.ui_back(check_button=page_fleet.check_button) - return False + candidates = self.find_candidates(templates, scanner, output=True) + if candidates or templates == []: + return candidates + + logger.info('No specific DD was found, try reversed order.') + self.dock_sort_method_dsc_set(False) + candidates = self.find_candidates(templates, scanner, output=True) + return candidates def vanguard_change_execute(self): + self.ui_enter_ship(FLEET_ENTER, long_click=False) + candidate = self.get_common_rarity_dd(min_emotion=self.min_emotion) + if candidate: + ship = max(candidate, key=lambda s: s.emotion) + self.dock_select_one(ship.button) + self.dock_reset() + self.dock_select_confirm(check_button=page_fleet.check_button) + logger.info('Change vanguard success') + return True + + logger.info('Change vanguard failed, no DD in common rarity.') + self.dock_reset() + self.ui_leave_ship() + return False + + def vanguard_change(self): """ - Returns: - bool: If success. + Change vanguard and vanguard's equipment - Pages: - in: page_fleet - out: page_fleet + Returns: + bool: True if vanguard changed. """ - for _ in self.loop(): - if self.appear(DOCK_CHECK, offset=(20, 20)): - break - if self.ui_page_appear(page_fleet, interval=5): - self.device.click(FLEET_ENTER) - continue - # 2025.05.29 game tips that infos skin feature when you enter dock - if self.handle_game_tips(): - return True + logger.hr('Change vanguard', level=1) + logger.attr('ChangeVanguard', self.config.GemsFarming_ChangeVanguard) + self.ui_goto_fleet() - ship = self.get_common_rarity_dd() - if ship: - self._ship_change_confirm(max(ship, key=lambda s: s.emotion).button) + logger.hr('Change vanguard', level=2) + success = self.vanguard_change_execute() - logger.info('Change vanguard ship success') - return True - else: - logger.info('Change vanguard ship failed, no DD in common rarity.') - self._dock_reset() - self.ui_back(check_button=page_fleet.check_button) - return False + return success - _trigger_lv32 = False - _trigger_emotion = False + _trigger_lv32: bool = False + _trigger_emotion: bool = False def triggered_stop_condition(self, oil_check=True): # Lv32 limit diff --git a/module/retire/dock.py b/module/retire/dock.py index 58aebdf6a4..f1e797deba 100644 --- a/module/retire/dock.py +++ b/module/retire/dock.py @@ -205,6 +205,11 @@ def dock_filter_set( self.dock_filter.set(sort=sort, index=index, faction=faction, rarity=rarity, extra=extra) self.dock_filter_confirm(wait_loading=wait_loading) + def dock_reset(self): + self.dock_favourite_set(False, wait_loading=False) + self.dock_sort_method_dsc_set(False, wait_loading=False) + self.dock_filter_set() + def dock_select_one(self, button, skip_first_screenshot=True): """ Args: From b477b66b4a6b6982940c5f50b97c174ca07b025e Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Fri, 27 Mar 2026 16:05:31 +0800 Subject: [PATCH 03/12] Add: assets for equipment code --- assets/cn/equipment/EMPTY_SHIP_R.png | Bin 0 -> 10599 bytes assets/cn/equipment/EQUIPMENT_CODE_CLEAR.png | Bin 0 -> 9012 bytes assets/cn/equipment/EQUIPMENT_CODE_CONFIRM.png | Bin 0 -> 9229 bytes assets/cn/equipment/EQUIPMENT_CODE_ENTER.png | Bin 0 -> 9496 bytes assets/cn/equipment/EQUIPMENT_CODE_ENTRANCE.png | Bin 0 -> 8083 bytes assets/cn/equipment/EQUIPMENT_CODE_EQUIP_0.png | Bin 0 -> 8692 bytes assets/cn/equipment/EQUIPMENT_CODE_EQUIP_1.png | Bin 0 -> 8643 bytes assets/cn/equipment/EQUIPMENT_CODE_EQUIP_2.png | Bin 0 -> 8628 bytes assets/cn/equipment/EQUIPMENT_CODE_EQUIP_3.png | Bin 0 -> 9306 bytes assets/cn/equipment/EQUIPMENT_CODE_EQUIP_4.png | Bin 0 -> 9194 bytes assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5.png | Bin 0 -> 14767 bytes .../equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png | Bin 0 -> 20191 bytes assets/cn/equipment/EQUIPMENT_CODE_EXPORT.png | Bin 0 -> 8900 bytes .../cn/equipment/EQUIPMENT_CODE_PAGE_CHECK.png | Bin 0 -> 11436 bytes assets/cn/equipment/EQUIPMENT_CODE_TEXTBOX.png | Bin 0 -> 10872 bytes assets/en/equipment/EMPTY_SHIP_R.png | Bin 0 -> 10599 bytes assets/en/equipment/EQUIPMENT_CODE_CLEAR.png | Bin 0 -> 5950 bytes assets/en/equipment/EQUIPMENT_CODE_CONFIRM.png | Bin 0 -> 7851 bytes assets/en/equipment/EQUIPMENT_CODE_ENTER.png | Bin 0 -> 6670 bytes assets/en/equipment/EQUIPMENT_CODE_ENTRANCE.png | Bin 0 -> 5239 bytes assets/en/equipment/EQUIPMENT_CODE_EQUIP_0.png | Bin 0 -> 8692 bytes assets/en/equipment/EQUIPMENT_CODE_EQUIP_1.png | Bin 0 -> 8643 bytes assets/en/equipment/EQUIPMENT_CODE_EQUIP_2.png | Bin 0 -> 8628 bytes assets/en/equipment/EQUIPMENT_CODE_EQUIP_3.png | Bin 0 -> 9306 bytes assets/en/equipment/EQUIPMENT_CODE_EQUIP_4.png | Bin 0 -> 9194 bytes assets/en/equipment/EQUIPMENT_CODE_EQUIP_5.png | Bin 0 -> 14767 bytes .../equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png | Bin 0 -> 20191 bytes assets/en/equipment/EQUIPMENT_CODE_EXPORT.png | Bin 0 -> 7709 bytes .../en/equipment/EQUIPMENT_CODE_PAGE_CHECK.png | Bin 0 -> 11436 bytes assets/en/equipment/EQUIPMENT_CODE_TEXTBOX.png | Bin 0 -> 7091 bytes assets/jp/equipment/EMPTY_SHIP_R.png | Bin 0 -> 10599 bytes assets/jp/equipment/EQUIPMENT_CODE_CLEAR.png | Bin 0 -> 13189 bytes assets/jp/equipment/EQUIPMENT_CODE_CONFIRM.png | Bin 0 -> 14391 bytes assets/jp/equipment/EQUIPMENT_CODE_ENTER.png | Bin 0 -> 13680 bytes assets/jp/equipment/EQUIPMENT_CODE_ENTRANCE.png | Bin 0 -> 12534 bytes assets/jp/equipment/EQUIPMENT_CODE_EQUIP_0.png | Bin 0 -> 8692 bytes assets/jp/equipment/EQUIPMENT_CODE_EQUIP_1.png | Bin 0 -> 8643 bytes assets/jp/equipment/EQUIPMENT_CODE_EQUIP_2.png | Bin 0 -> 8628 bytes assets/jp/equipment/EQUIPMENT_CODE_EQUIP_3.png | Bin 0 -> 9306 bytes assets/jp/equipment/EQUIPMENT_CODE_EQUIP_4.png | Bin 0 -> 9194 bytes assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5.png | Bin 0 -> 14767 bytes .../equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png | Bin 0 -> 20191 bytes assets/jp/equipment/EQUIPMENT_CODE_EXPORT.png | Bin 0 -> 14354 bytes .../jp/equipment/EQUIPMENT_CODE_PAGE_CHECK.png | Bin 0 -> 11436 bytes assets/jp/equipment/EQUIPMENT_CODE_TEXTBOX.png | Bin 0 -> 17446 bytes assets/tw/equipment/EMPTY_SHIP_R.png | Bin 0 -> 10599 bytes assets/tw/equipment/EQUIPMENT_CODE_CLEAR.png | Bin 0 -> 5829 bytes assets/tw/equipment/EQUIPMENT_CODE_CONFIRM.png | Bin 0 -> 6480 bytes assets/tw/equipment/EQUIPMENT_CODE_ENTER.png | Bin 0 -> 6762 bytes assets/tw/equipment/EQUIPMENT_CODE_ENTRANCE.png | Bin 0 -> 5437 bytes assets/tw/equipment/EQUIPMENT_CODE_EQUIP_0.png | Bin 0 -> 8692 bytes assets/tw/equipment/EQUIPMENT_CODE_EQUIP_1.png | Bin 0 -> 8643 bytes assets/tw/equipment/EQUIPMENT_CODE_EQUIP_2.png | Bin 0 -> 8628 bytes assets/tw/equipment/EQUIPMENT_CODE_EQUIP_3.png | Bin 0 -> 9306 bytes assets/tw/equipment/EQUIPMENT_CODE_EQUIP_4.png | Bin 0 -> 9194 bytes assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5.png | Bin 0 -> 14767 bytes .../equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png | Bin 0 -> 20191 bytes assets/tw/equipment/EQUIPMENT_CODE_EXPORT.png | Bin 0 -> 6363 bytes .../tw/equipment/EQUIPMENT_CODE_PAGE_CHECK.png | Bin 0 -> 11436 bytes assets/tw/equipment/EQUIPMENT_CODE_TEXTBOX.png | Bin 0 -> 8224 bytes module/equipment/assets.py | 15 +++++++++++++++ 61 files changed, 15 insertions(+) create mode 100644 assets/cn/equipment/EMPTY_SHIP_R.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_CLEAR.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_CONFIRM.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_ENTER.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_ENTRANCE.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_0.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_1.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_2.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_3.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_4.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_EXPORT.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_PAGE_CHECK.png create mode 100644 assets/cn/equipment/EQUIPMENT_CODE_TEXTBOX.png create mode 100644 assets/en/equipment/EMPTY_SHIP_R.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_CLEAR.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_CONFIRM.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_ENTER.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_ENTRANCE.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_0.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_1.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_2.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_3.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_4.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_5.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_EXPORT.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_PAGE_CHECK.png create mode 100644 assets/en/equipment/EQUIPMENT_CODE_TEXTBOX.png create mode 100644 assets/jp/equipment/EMPTY_SHIP_R.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_CLEAR.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_CONFIRM.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_ENTER.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_ENTRANCE.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_0.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_1.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_2.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_3.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_4.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_EXPORT.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_PAGE_CHECK.png create mode 100644 assets/jp/equipment/EQUIPMENT_CODE_TEXTBOX.png create mode 100644 assets/tw/equipment/EMPTY_SHIP_R.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_CLEAR.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_CONFIRM.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_ENTER.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_ENTRANCE.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_0.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_1.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_2.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_3.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_4.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_EXPORT.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_PAGE_CHECK.png create mode 100644 assets/tw/equipment/EQUIPMENT_CODE_TEXTBOX.png diff --git a/assets/cn/equipment/EMPTY_SHIP_R.png b/assets/cn/equipment/EMPTY_SHIP_R.png new file mode 100644 index 0000000000000000000000000000000000000000..2944f8933cd084b46ed6fa25bdf025b22123e790 GIT binary patch literal 10599 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 literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_CLEAR.png b/assets/cn/equipment/EQUIPMENT_CODE_CLEAR.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb5be42bc10b015e116865a80616b9509bd9a3d GIT binary patch literal 9012 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 O{IQx2xcH&%>;D7FL{h5& literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_ENTER.png b/assets/cn/equipment/EQUIPMENT_CODE_ENTER.png new file mode 100644 index 0000000000000000000000000000000000000000..d6602f8ea30a3a420b564f56fa2a1794a2d6fca3 GIT binary patch literal 9496 zcmeHt=TlS9`}P4uKmCEAiaaqd+(sAL^{%>gf6{^^b$bnh9bQu z^avq@9zrNT{Cxj{=iT$dojJ2-&ONg`d)+(Nb?v?9lcu@~%@x)w007WDQ&ofj0Qto$ z>2FHXi|z^6bCQehl8yXJc>t)2r9QE^h+cVSr=Xze0a1B+>zR^*xX5F1alwZ|A^@QJ z38w9%pMYnQL*d`h={}v>u1axy3xK%GD0{CNSiHY>{Ylpc=oMYY8}u2fI-T#v zuc*SHOWF4uY~&-LhLJkPl3QGJg|$KcI4qVpNo+x9pic(a54;#-BKgVelXIuP;BPSp2WT>*(fBQ8A^amJ&$ z&w4(DoW}4DFNsze3*3m<(f`z-33}P%*9eJMyxo_ybbUSK;SN{wDOG|G4N&$`qg}m@ zq88!U9=t_D8cC}^;tf0r-V=;srH%)#*@!;$!vjD<8zJ@yKM639lD`Z9Eq_>yixQdD zx+wubG5amwH+hPyKN!o}X)}Isw6rsmT3l9qa`jHT%(bVNS3=pZ z8yRahecIx+nja#PH0Xuv#&0pM%$LnsGJmqPe5AT0-%H70aa#&XZy7TM8l+@SjkyG} zP!;_gnty8@%BThE>UGa2Eq-brZ=%Y*E9lPnINJEhaolY0t%ngO5iKeriEqDak&Tgh zJ!vfBVvXp|_89gQr85al&UF}Ot>Kgnt;;POe(}f469|fku?ig)p|y^hwlIzgS2F*k z&&t!oWVNaP_T9LL z�d{sLrYi=4Vht*QRUu& z6g)C0YZ;nPZeCP^m1#XHMDPn!?)Q#SEfeX?F+GnG_KDf_dY= z)9h^Q@V3J1o=sHqVVp`Szf(pW{!px=*TeRGuF`y@3F}d{ynoZ-X28utmin8*scHq} zqbaGquO3W3WJ|UALifc*N1yMIFYreEuj@%tNxDhFN$8SSIvzUUalaDkSEV|1rKY+; z12C&d{xTmdLAhr*^@kz9Ec!K zewmCf`=TqS>!*95J6ZN@!WbifahlL`)MV33znU(Uj;JdtPcQHEPIp2vE-}XPj_@96 zJI{!0o@`#(OxwJSeSBzfc=yohaEPOy{W`~lw5N2SyQf#bx1(zdCVx@1qqwuUV_naN z%_heKwkO71@FEUzJ;ghPS=*^FqR=_ZACa`my45sNJ9?0p-kd&HKJ7F%-!I!0R7!j) zl+M;?(jkkJ-`~dTFS+$E!wS<2f9}Phg-yLp4NQq}PL1jep3I2{PQA08MhkF6fVq^M z?3?4kbuzhbInpfutnk)?RuD?Il{rJZ?~jbQa?&PE_@_{J|v*bPIr z;|KjbYMc}FF&~F0QP+Z93J7ZJ{dJVk1r5}^&P8f{NEPrSfH z*@^+t1|G8$TO8FWJ!@a*?rl?M?+9_U+DvZl=Qgw3Bk(li>~(_R~t|RHy8x zWe-xcW7?yPm9$sMo>mpBbGePoYwLrEOdlBoF@v~3$q!$yr+f#mhTVFqDa@j=TIl?e zgJJi5`UefA*4*e^t*ZKl=Q5wyV7f_%lJn9*3dgn|HI%)&A5m#Q`2FH9i};>=s=1^O(b={4o7;_ngpGXts=)tFPc*4Gu@B)~v2WOD zb;Ba*wGPfcW!y+NgpWDNtjx8nsN(3Ga>Lq^p1Rq1;DMjh%nb5*{Vyy=6_bx~F2ftN zRX&H?%a8y5xJ^^ewiCU|X6E!9>6znie-JZJGw^GGOw2+IYt&y?HoKc6o_FXE3o$|H zo|c!^w@&lSOtj7W1nkjWZBBAM=Vw^ zGaGhac89R?E@8Rwbzvq<9V|PRI_HO1J4tmg(K3PCC=6wSnLW4E>do+ddq{Mw$##qD zJ_v6)d$;~Yxom~3O0etcqH3j)3+4?Tfz^|#@Z5iiksij4h8)|sk9$lWO$wQ0`N47B zn{4&YJoD@gcbg85ybrO=K3BHX=1lx!eJf8|XHGXLj_Ec+YR;p8H`uO3|p(CE|-A z{gbI}YC_~tTZLcoo;$9zxKgTzyN9b~&`)-!;G}$THVD^%YeMzFxl-?+JUP?c8$Pz` zDg3R0mqQ1hoe1OK?-2!6B!@0c<}E8#$V&k5=K+Aw_W*Ew@hS8V0C+tBfDLm1kop1u z%&r+tS~3>_Dpyql4*;NM`1_CmX&EdRPU-P8Mfq308Q6ImKaFzWi(d5cr3{KLq|E@DG812>e6f9|He>BLIa$g@cC40ARsK4b88|EWFZq z;ZrAHrhk3J`8&0AS8IsL#v?(6z}VD=1gFclbFq+IxYBe&xRDROwT^fk5>$w{6Ru;6 zz1}-Ok;V&(u+2o-In|FgicV%%Jxj@JI_=O>?3`GsrQ^0_H1eR~QXg6)fT);yb<;zTj19k!P}uZb>w)#-(lduEn7N3($L>~y7(QE&(Z=C(C}TS zq8kT4yA*R?l?^Sje7s*C5ZQ2A>Wmv5$CJj~1ug^Tk2=oGC85tmeO}kO3UU!#<@rE* zT1Z?9K0H1*s1;Vnol9@@B4_g#%hB&Hx9V{>+)dTx;u(Fm?*+#LoWY3EUhq&s;Jt`i zxKjM(j{7S22>owwTx!24tQN$3gJ|57@>I28*mp>FoqQ>xM34MF;-Q#!>9l(B&C#2S z<-K0n0me%^qU8SUVBzoqIt(o{XZKu}*N?r;0M7{fEem+C?`{=ibsts-l6Ed-DEN_+R2*Q$mxqBu4b=s4FSb zzcEODBjF@5i=K585*LW6Ep|iq2+|29TP-A!*c(cxG_z1ux=>`0{I@Oa6%%dtly)1` z-4z*mEty=<#)opkqu$bA$C`deLGPKONrjs$W-H!z|!vk~~K^gZ{ro^Mgusa@JD~B1$8>3Jb+bcVoD$7v z<&l#i6BwFb#^VV!#Sy`SlSu6R(S$Rj+fHK*aYr4W=YFzF_|Vp9yY^*8RamVKF z^ekCcFb(bvk{HO!f7T%TaHAtp|WB2-UGp&;+s@*Rdr z@EFqxTTYx+k)cgifQ6FZ~lN1%+PZYg%_kojxAofBID&!$qtNf-}&& z1j^2zc_E3weXA!HQ?kE31)@sXMr3ls0_5gOw zArAeWz4fqmFkQGd3pFSaQU?yM3%Mo{GF?7|XduW}n&GI~CC;lPq8fHW|ulpV!DYcb{Bb4h&xkCznq*WR7< z#WM%L`7)=+A>ez-`Y#^+cS!I%J?*83XD{jX%!;&Oh_H)-4-D7Z#718qEZaaFf+x+d z@UbRT98<*KBTw~!gIyz_yYi_X9?o9QX-cU|_Fq{9Vx6RJHjCl$i*u;s>F#G9`6*1C zWHvAU?&h`3x%ytwlyl>N;QB{$ed7W$9FYeF-Qa-gx>BtDPB%E zeL$CW--_v^(hS<{@3Ell7@fC7Fr!g_FtaZCMy|skj+Ewt2zQxvKNM$DAYq$^W5UZF z@6;7q+%l&8&q%)~<91#^#lZ6Ol*9qQBQcqjEJt>^QhRoB4iNOt7>6j#MfI%d{ zHk1?XxSi9ask90IR(;;LuOR}@#oAc;o)Q>j(sXS;pbGDKk;q%9 z)A4XErHZ9r)dN`ta|3oW*cDWZ<~7Xwx@67?hM$;`^n3CyJNbOB9XRese^uG^qKXgg z5f$`vS8L9azOY5G7msV@HV8RE* zIJ2IQ(Xxmqc<3~s5!??aKK?pIoN->sC{e9?l_NFL|2}KZJx0`Z;y;5?WUCb49d93V zpi;Z0?_4(~2VyEwi`FPfjNHeAn~ervc8Hg_OI6rKxVQC#;o2^rL}j2xK23h&3hBE= zRoC=X6gz!P9a|3uB3;f~BuZHIgm5v!NZ+;;?p4)OVh7Y0tC8k%vOc&iA0o-FELKjg zi@U=)eM zE@s|Bo;IM`^vs4HU&im*en+{yijVN`$5Ic^IZv2;JsJknIETp0VQYlsV4x*t|heS9`9f=X@6{6_S2 zg_(cY19Ijz zqVe}$$jkGe+}AFq`c}-IU^i54Ko;2fb79AciF;9|F`#nxd_4gELw;+1h?s?5BUmf8 z;P;T*KLlnRoqFoc8mEw^QRAgD>}#_`uLVQSP9yN2TFwFqGdr{3IzM#Yi3E6>E9PS( zD^69E^+ve^I8{(4_-wrfKlggrB}s*%WAR&-N}~`|C!f(Tu%Axa5+V^`DCd81ZC2iE zWH!drzfF8{MHB$o92BE6e>3-qn%cDt-d`%`@Q&>V^@v4et|267`B>M4Xheb$U04xbN>>W*|Q?ReB~H3Ys;W51(Y zDp4^4yT(Iw5)f`NOD6ZMV}*411C@9rarQ+amhvq7KV9u-W&)T+_(^mW`)#N+E+rGMHG zabI_ZqH=&mXjg=0Eg*(a+t3qZFB&jzpQjb0C1$V4&FYX$!4;B6pxDh_O#B~9NWGdn zqVjbNIA>=)w=1w=qt9Cghw~|mL{QLo-7i3dX|Pz6+5FExABOB8w@P7JHMzfHLyTsI zBaFsAq;PelOly1lc7{K=8KRXHRRX0D;d9S}jzRqucr6~t&>xcgJw+97pn~uLpdQA1~wk3wFZU_S7Vx0Ug=oQ!=cG|ZIR^;J}gD2({9EMX%%?f-6A zXwJQAb;2dLq+~-vXXh)lQ2jw&At?9g=o~47bzP)O`;VVS)z)D+l4FGBnn9X0=~9FA009&g6)7eZ2~`0R2%z*9 ziij9OkzPZQ5-B0H5FnJ7=YIZ#=ga%So!!};Ju|y!etUM$+4I`eSdZl#&p7}9Sit&s zAOLXYbV&P)k@mFH5-^}S?daWa8{GzguZhfuj;GRdU=JM~(*TH`_7$+Mj-u=>MMWt& zX;}c!f1PC(Vuhq!(wL#RvRP=4ZG27hehLT)qZxm)TYqFn0FKYuIkY-nygFxbk@KHS zee>_nhR^9|z51Pdwa)$an^zCx%x#s|1*QtC;b9~qkvd9kB4iQ{dtrTS(f@FWy<7U| z3EYCbP*WKbNHo#^j>SaNa_Z00UtwRueRDt40RS6xu+YfBFPeumeWfMOP4Z3nDz1{fb_tyUxO$owhfI&JGWAQ!DABu(F1MiXsaBd13jjX47ZCs-x1 zX*~j>)3vX616P!30UiDeJ#<$L>2hxjw9FPc_`RsprvX}VDLrZT25w%gOZmkUvb8b$ zTk!Wc@2}d9APIIirUjwQv<%@3`UE<|-tz#!v)|u#tgM+tSX!7{awB+?b~-*Ddu>34 zGz2$ij+@@n(gW3PJd|^F`EAf<*ss`LDLuIp1try{MalRJAmC?UJgb90A$O4qLw5L(36%w4**Sn zxNJWsgA9K#0>GWzr`NvRW;ow=5#7p~*~Zt@3Ziv9dq?ZMNUIvV_SuE#%jZ6DrQYU# z(5f;mc#bxsvqd=Bd+XkTum>T=x_gIyx=IP^6DR_gfXFB zMo@YJy^y26JR&;(%JQp=_k}us`sdRYX?wo2(-+>7^1pa1-d5`%Y4Yb4xi^Pzn)GCo zpH|$b8=?);s{bs&^X5lxK!2b-n_YD3N3VXKDt`6onvaG3_x=P00`NBp&e8p{tZr|| z9c|yn>OOjH#Us{v$$8OA!6H$?na@fon3K0P+mXa5LK_!-VU5xLIr}&7XGuwVR)$tO zpGDV%t2i1MEtz7T%YG9VLVh->5)I?n{~qe3@-@loE?R6|kY6xc)LxwRf&)@tgcXZe zFg_PzLDdJ_se+lW|E0 zmoJq!{0rsb?m>AhvmDsKgpc9ZP5YHL;Pr=LnXnwQ6LOyAB}+`FzSC81FYa*eLathF znRLTXX9m;Ke?GV|D#x4d{+{hU)ZFUY?zITccU>GQDk&Bzktu}Y2j&6hn!~VS<_9I_ zY$f&<@K1NmD^2H%n1(Ku3>Wd4Hx?*e1^&!EE8^MrV~)?hIV`BmbLVxhlcgX z*V&C*r@=T+D;6S<4bx{UAFBm3;+kwGh@5mLW^(hYe=#UyTTS!L&q z?j+|wUhh5X`Zu1>ef|gcxZ&OR$9etWJn=fQ^;q|Lg;0=&8yb4q2`xYEI_0J2=;R?c zng2b%W1(51C)o?-*3e%y7}(wY^ZFEe42@k&xHX*VmF?I(-ZXg_|Dr%Qv%?@xF|IRp zA~gbcCe-yK?qF}frq%p8`Szmk zMeWO$?!4|F0MRdbHZ>bi#+QM1J#4%yo|<-snT(uA$+%b z2fT!8B%Q&FwQE-=-QL-tSp9y|J)c#WQTS~;i6CPiY;SE(#qgU{W{PEx-0=B1`Q2s~ zgA0G8qM`13(7Q~h@k4_)CoCtn`BSsdjC!+hJgDKllgWGM4lGSr64CbUi;qyKQ|=8W6%%Dyo3vr7?}q%Wp*Unk~z))+oc)oD`lT2r-TsHGQ17f$vaSbv63XKGH1EJniD=S}~7=xv{B@0m%DswFe7>cb=lR9b@2Qh7eP>K`zqKX3E0`0V-gnrlxYNwV|K zL7fVTmf5*kSJgN77oH*K3tbAcvy3&>htj8D6vM-GFT4A87 zNVMB%^4k%jI8BPy-YZovQ`d|1JDSrkw}Gy@QgB2|wX(n+qgB;@(qPnqXX|jl=-#Nb zT@DOG`mx4a>nn!8TqoK<-V5F(fkHu4JaYZ z9Q~%=>$5r>+hE?0>uV{46>a;IN{Y%=I)yt0ntEaCo1YF#dne(fI#R<-Cq^Ls>Y>)L z>308tb7$c%6N&~Q;`mU8@_d^rrKj9?8f0E^)`u7YK$sW+L_Y_BgVU+#KL8MP0{~VY z0f5ST008-AHr!V`6)^efTL%CD^M(I38UU5a1ppVTz;|vx2+btoO4oQN^y=PACza`cRa98Gd$gPMnsl@pv5MV=o=u$qxA)JfaTX9hPS_tm2~ zPIdZQ{&xaK;3sg9U447LT2ZlMD#0>%cfC?g)%PN z*zc2>am|G0XUt&WEHJD6*+xOfwf5vk;Vi^L;)&fJpFOJQ!ac+U+L_={tk#nmV)qe^ zN)c?^<;816_k6cG2)b22(_Krr*H);s1QSr)ivfVyk5|EvUdZZrEXCJGNgy>=+pCvN z%Gg@nH0R80&qdUByydbI*r#hBx*m=zxf>Mp!5kX`FFmfZgGIB>XOygkuAan(@y*SZsU99E5@9GlNmV5_ zmDFnH2t<7~_^z-j-{}9aUJ7hr5ddqP`!UL5;4p|57g4HqsYJs`)@@q!j{rdWRYmbg zWX9rWl%Q0huPFAIA}(W_Zci9zTRc&Pb)%<{Z3P=(UmO@fiNJZFwZrdVA^gNVcU^Yv7T5rZA=QMd5+(acqT3?K*cyj0 zv`;L;8;o$z$+TCO2D^z*DrvsY$!@GwjU*Of*_}?IkaMasK!>y2SX>Kgc=1=?m`+ChN$ABOoD{)fxq7opWl9BN(8J)b z%KUamzAIovRRR21Z?FfsE8vAx1cyMN$Bx-914}6a#C1~gKz>R6=6$6*!}BsrGV1lJ zcmu?!CRzbofLPd_JFHhCKrwZeHCug9ei7@Dg5n!v#dgeHh=PWPqOW^ROYkV>i@_9hQ_x)AifqyCo(@h;EZD=n32u zf^0hO_8q_0vPbl;u@XtA5P!Ax<)GFzAq~ih;kPnr?gBnD$9{?q*UOGWp$#eP`OOEu zA%4mZqyCj^UKz=y*ArF_U4lT=G@O@7b<5%B=FR1`P=%|imE#e7A!#0n=6q`zc6>6! zLu+Pf{{N`O?BZ-!Qfab|{{lvR*nGVAxB}n2Vbw@E!V?|u`sO5pT%FYk-3bjgdZOTE z%Q#DXXvlG!@BZHG6*#`7g0hw8O6eTj8I&&)Cr_v{kOWdIaiZXCE^%yDpIf`5(L`yb zbsKnMaPC)(Te3!hwXa3Au5F$8zdJjrg1aiFqF6VI%sWDp^WRqBQ!_NPY6`kp8zBY| zF&lh!)Od!sD46@~O-+oYmy!SWVAy>7ew7qbvC|>2G0~7er;5s!v)b&P;$=eA2v066 zVTeL^!dVki$zLWX@kVkDYW2G=S(L?iHuu3;PlT#NAZ|1C)wjw#>09>r>0*?+LF%fi z%*>5GZs}|Ps^rRdv1R{uXw@yxgSwGg4HW)(eqnYyhLF>|HDD}v5lI!XzMSprkSu~v z1Fu|2G_;3RNb!PH_5z;}gAt4Cp;Y&9*QwM^3yW~poS~efgV1{O>@g3d?YKwznh1P) z&o5{_U{LLt;$DFFI#H<)O0vlrjz4;;x4hlj!YVBk#SH+qjCo?dswE39%QWD#c7Ko>Z7KsQebcN{KTTO*76>E;N){~a3WaFc zTyO4PUlhs9yzCGqgNzkR)U@rg@U$dd-`WJj$k=7}_s~P%%{^gaO6)z4u6!x*E#4nRaE+w!n>1xu7` z+#L5A6&-VnaCTR_jM-}6T@;vt?;dAV#z>bRugnrOv)7`^F><{rn|s-#MR5Bt_ej5F zk?r|m+TKc;t}ewchi~~D&Is})S)co)_Uyc6F`&w zzt$S(oWh|;Nf(+t-!X`ANr|+iiZ9l!x^c5Hh5FypIUpJj_!it-(gVx+Ae(zfbW+mV zGiMiK+NW+6gYCz_Up_+7PEz&ak zy3e54{vs)071==sbuI_Y<2%*^54YGL)TvOY?9P3hi!vOVDL9gf5U~_6#!P)0w@PWS z7E2ec)huuHDH6wRjszo?Ey^@+s!w7h(sPE!?;AOI@^yW4*K|)F#xLPkzyi%(Ij2cE zP{%bNR=Srhy#?_Uqq`FA-V;Qza$D@YY9p~hjk-%}RGQ9`p>FL8tW+kZuJ%=(+Jqy9 zj6LlAjgGx-8DMLM#E5ywtwN~D`F!HM^C^}ko(iy|B5ZN+6k*n-GSkK@XZh~y&@uYZ zRr3s z;5(L0say4hXN$DE-3!8Fsj;wCjCI;ngj*wKYC5z$L!h^|wkxVxS-sJzDJsRFbmWMjn<<{?8>bv^0dJkG0!kJ*J2>P8x} zl0O-3tx-;EZ^b&L zQPL8tE1Sy!@D_U(=Dlp4CLZ^0VhD8(A&8ECA5z@NM{{E+BYA%2L0q$0HjpQ6OJrXM}L8 z*4^-jkBBIMLnflkCW0H2huUH4MG_&Wj$I9m9Ph7SE!>394^dZTNtxgH)vsjCYGzEv60(#?b}F-chmkSU%rIjMzcwYb{w#?f zT8L7K7KximMM*+MOskfk=qK62Ju_OLd!Oe%JX6?*CI);nowa;Dz%Je==2TlxFL#`1{QTm$u$U@kmzw@|%L9&W>q} z+gT#Yfn_82R#tpKM-^yWPDlCWKpws+HUp<(pNR{&7i#Mr3r0E<+X#0}OYX;~Fic-} zgp4rBp_O}FlqBR=w#k=T1Rj#LANCup&${(S*poK#``eUV7AAtlOKgk%P5 zSi_Os2d}GY{FMtWLLSt4u3V^6?p0_e(eF=ACh4bIN=)o->mSh9D~NKYbl9Lm_h+wt z;K}f+xF|VYpeNa%Ft=w2>!;_mVbK9P_nkko|ipq?cu8v z3%1U|%{Lr;_PDC<@lu-*@61pYM#6Ew<W^Huy(K#CsrkoV zC)+K%s3wJ1mhJaWnWe*dlom7OXc)gU5P!iW=((@Wbdz7}w8vGeE6tPF>HT-=84YUn29|x8dZXAJFMa3`XN~JUOFsnaatgDQvj2RtVSy^qAVlFuC zIVaN%gmokbgs-pbN-C4bHKVh54A@M<<%95sAWLfrpU&I>i;xUBm=jJz^;TA+kQ^2b z-W^AsnY@0lX%9l_xWL1JiW;MI31B4AjA({MJ4iT@c$Aeo(o(=;Q$6gLf0h7uG*pO4#HV5~VzJmv zOfcgKf-yJ?3kwVukHO>7zyd9d3K!8O=y0L2Okz^Q9u_hM9KMLd3rET{=?q?kh=xLe zapaf%arv&UU**GvpD6$y7zv$^!I@z(TrTGO8A6dmBoO($q5n8T=n1L-#se1eA_Pp> zArcN38GkRqVt$>^j}U~(kHcbO;4qjAOod=o+z(4SI=i}mogqUI%;ECovjFTLEJYml zH&{RHO*SGw&i5Mu)4%HeVEyIna${iS>PofeF(YK#bGE0UWb0E|JSK-ll{d*O0tt(Q z*=Pn1&q5Ok3XT z0tHRPS+LO*IuVB^(J2-zCIw3;Tj0Kva1(GqRMNw~-<3>?1*FW)StOW+r=!_SJR40U z(^+T+oz6hx2sk2}Okq)oET&wF#iTCh3Al9NP7aqI3}g7=!SVqaaH_4lGYy3|!+z^= z52K6NU;@YiPB@Dv7JeJ@#!?GC>C8rx2KC>Ad1BksaPTv zNA$$us8}o&YrX_a0gZ3=JQjx?_1~;z>4UVKbh;Bq2-c61cTMKh8hGR6-Q;Z;N1jYb zq&zLCbmrs{g!D*w(&IpDa)=p14-bYx{rDWPU-~)!AsCndAPL8&qbX!82~A|ephYAR z&}2FtHm5LP5}w46pX#f+kjEB@=>pg`7;prvK!D0wAs2mi)#4xR#UZfF4*(e&OGJN% z42Ai8Sd6S6NF<{7s2h~?fT8fbJ>QjZG5H!=q+1}Pu@~G#r zb@-CD*{V{VX9g4{U-tx!4Reb=De0PdR7J2<{cLtCgWsF?-11WQF?%-4)_X?HYoanD z=joiqi>e%5-0rzQcly*Hhuori&`?0hK*S5*(a5qF98=d6fhhu01f~f57Xs&5)%~+; zqK2B+k4M_)9(Ay{&mCGYbLRUt>xrf&RVZjzX{>Th(}G|K>SO9iI@97O-Y@(3VWj=7 zc2^w#Dgx4TQ_S=qHdzKl{fc5!(8<;&5z zb-GYO8%|a4&RzF`x78D6Z}wz*Ma*A%AhUY>ZLXFXctMRll~>1`nA@6%3-Giao_DL^ z)j)fEeS`*-;6qR{xZ~&LuypKZjebjUwEezK2uMP!UhqT#-*>ZjbFCUwgD8Y*kKE9? z)ODb!n;=(<$=bDV=ROO!YwICMDM-2}{bgP2nKOr0I-7UvkA+cv6(PQeHH9{Shu;fT?|2LH8sijeu}DHcWk=DK~|7lDava$df{I?297Jo z2y>dmC9CUeG%goG4%zYsc$fAePNtYm_}jbNAeTh8Reh9-(>IsT_ljv0K?glgKcs(MKwtIcEc zBKohEKRoU+t_(?U7lO&N#A#3G$$%qT1(!3Tt@wAe$sGoAorq8i`}(4hW$|yK;ZBT< z2VYa4BHXK4@^&@^^*ZU8O6&E91~Bgi)BhNkl;uyFYzdA^4$-gr829#aS0wnd08+6U zjowR$p~2!t+xkJ{+`)0;#pR07DOF)YV)uQ)`C`Rhojh&x-g8{b*35|w+rg<2dS)xb zmtR#3mR6nF5V00;00FTW-#6>s(caWe+ba!o=9YplBtYE!xwv}(^D>ipec8FBq=tb9 zAk={AYkVIOC-K$FEWr0YzO=r4(t9b4zPx>XrwsAWhELyph_Af_x>Mhi@%-f@&x1eq zdAOCl@oHV7Alq{1lk6O+edCP~ZB>il`t4i0Zl1(FyfTXkL6HnKVj%0+&H#rOk!~dp zM*{$J;9-4(ZNIdyRk_pP-#B_8Q69kJy@P4f@cilGi8mM5A!MHFEqQ7-zG`n`+t^9c zLdEXGd*;eHU)b;8%#ti$sb9bcE)kQz>D@SVC*ymN%drT zR3{BnDA0>{5q_lv-cUdlNajSX@)O0 z`J7ag=WNl5@hdwW8`t`ecq5Jec&Vr;tT*Ku!JeTrrh~+3RyKI>hd$S>K2z5u)Oq8mUoI~d3i~3)Jc{NLH#Ci`T!8EP(fC%aM zpIWguHrAi3y|r2nah-TontI_weExhb>vwK&$Id_WXUFYb;z&}=lLzd3oM3xRW>fx~ zrWKF8H9OU>pFrXLUEkj{IDSA+6H0(IEqNrALf2SVgP*{gJsM`GmLkcxNA`ZqCh3uGzu= zYBZ{o;*|NnEDVcn$w|FBdiz<6EOHe+5Zef1t%9V32P5Qy$*<2H8ejBuzK^gUB<6$k z_51njeiMxv8W4KB$12W^Y3c+r!_$k4J927EOhK(o^-OrO>t1hFadzCN+S>!xS zw8pe!AC4IhSWK%@lP&~lT~S*`u{&4a;x;k# zqUz4yJCiaT3@<14yID^>l`6=hF(&(A%-U)5i4XlBPmEba8B8#!8EU~;qn4TSut1@ zl;&AJsgY#O=vGut){Kta&ZEiTA!_QHA}~c@iog#9YNm}^+wY#W=8QBjN;cr^u*&}A IvY_Ap1qe*LX8-^I literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_1.png b/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d60a5815a0efd72eeb78d10286123fcb9b94c3eb GIT binary patch literal 8643 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 literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_2.png b/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0be6598095bc7e2f08d28b3cabfde1e9f2ac06 GIT binary patch literal 8628 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 b;)WSS_Opr9>fl|j@^RW)cc;7`g7*F|sF9q4 literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_3.png b/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f96091c6c5dd6ed974a83407f7e3f2aa4a982d62 GIT binary patch literal 9306 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 literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_4.png b/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e852ab12776c30d87bf706a690686e72db3fb6 GIT binary patch literal 9194 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 NVQFVk^pnrQe*rPE!@d9j literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5.png b/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5.png new file mode 100644 index 0000000000000000000000000000000000000000..68decb80b01a2d688699660fc8c2f2b4e16df636 GIT binary patch literal 14767 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 F{x2%ZAq@Zk literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png b/assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb287b244ca4bd18a1ebe39a8b01a30333b222d GIT binary patch literal 20191 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 F{|67rjZ**s literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/EQUIPMENT_CODE_PAGE_CHECK.png b/assets/cn/equipment/EQUIPMENT_CODE_PAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..35c0e0d8455827a2b78491602cf401d385bcc83b GIT binary patch literal 11436 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 q)!c4FMz`@WB&RD`m{m=Qwu?2<9cmKZ|D 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%0App<8WjO!G9*>loFHgYOyR zRmOx*O?BAg@9o4_nx+pWCuM$hj+T{Gp$FWsGy1f>g|Kx+XG=awWCB-hhFzvh@I7pZ zmjVza@kij1;nQ=9#ohdfZA)Qv@PetIh7x>9C%ScK&(mYuCO9$y3!%dlQoPs=??W zXd8~?+F7H56GY-^MEwE}Tkc;e?^=)bDdpo@U69Xm zeGO7Y;WB>>*GhqihsO;!+;Y<#B#yo?iP*hZN7(GPXq&7?x>AqAEHa@qs&Kc_;VyOQ zMTAG>ueH#+I-ennpB=ThRC=GlM=h3o?uc++-tF~*#%odaA&jo3bQyU7WO7Bu0TnZ* zs|O7{Fsp-6rgmYlglu1``qyxDlK(3kU<*DSR7TmV_VC`O4RD(ST zVC3>fre>d<#jUP6*-sTc?SFHpMou5mPWi+mkT&+WUN&14ZHtUm=t~UY4+RT0rNS4Nf zl4uaVmfuPE@cv21Pz|CkupjV;2IVZCo)ayaf91H=$!IweWp6jv$b*)ag_}c4UoITD z!{K}MZI>6d-oTM@C~+{^X==Id_24YE_~rl}Dz`o4q%E#dj_0{O&OOmD_$sn|b!QHyBa*^IV(*uh!3C6RI_Mfj0R+ zp?o#OdCN&+yF#jm+OvLTB?_#5LN@Z6z#X+22BKhXnMw&Vi$0+6%^yEuht+%l9}c@@ zO-MOY*vC(D)0aApyf~1cEMrE_kO2N}YUmVtygn05!UWnweyUBXq1A{FS@4jUclq!pgs`HwTKIMTGwaS^?j|~m} znCob$@1NCOuLEu4(z~TJ=>O^au`~-zyUhcb_Zj}Ds$na4g@Bo>U+Jpu+YnVJTbmti?5JfrqRVxh4A;qKJ{3cR1IW4ex_Ozb-h!#YF zqe3_TVus&-t4B`a$xnN#OE6%-B4U2?dXx~(2I3r-*Y~D!carhAtrOnOzcWhM;acVs zG9C@NoWNz&v)VMqYMqoHD0T@_EggBZot`IcZwRzopLB>-x&|=YpE)7hjywQ6pMM&* z`~QIU0)RtPkXnJi3LVbMwj$3pRd@l{bN$BK(oty8T`-7ceRcFt%5l``5*jr B@U;K{ literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EMPTY_SHIP_R.png b/assets/en/equipment/EMPTY_SHIP_R.png new file mode 100644 index 0000000000000000000000000000000000000000..2944f8933cd084b46ed6fa25bdf025b22123e790 GIT binary patch literal 10599 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 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_CLEAR.png b/assets/en/equipment/EQUIPMENT_CODE_CLEAR.png new file mode 100644 index 0000000000000000000000000000000000000000..e404cd47908643cbccc6f42bee61cfd5e3303194 GIT binary patch literal 5950 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 StvP;+hLwe#dG(ds|M?#lPzlZe literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_CONFIRM.png b/assets/en/equipment/EQUIPMENT_CODE_CONFIRM.png new file mode 100644 index 0000000000000000000000000000000000000000..20b33abf0f8590344784884a1984d006d5c25f21 GIT binary patch literal 7851 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 J+2y-W{tM&ldjbFe literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_ENTRANCE.png b/assets/en/equipment/EQUIPMENT_CODE_ENTRANCE.png new file mode 100644 index 0000000000000000000000000000000000000000..fc02ec86bfa5b858678358e2160a53c16e63bc95 GIT binary patch literal 5239 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 E1vK1m(*OVf literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_0.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_0.png new file mode 100644 index 0000000000000000000000000000000000000000..22c9dad1d976a22084f825376bc4abf55f403e5d GIT binary patch literal 8692 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 IvY_Ap1qe*LX8-^I literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_1.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d60a5815a0efd72eeb78d10286123fcb9b94c3eb GIT binary patch literal 8643 zcmeI1c~BGC_Q!8ng2*OM1$0pI!ib6!vO-8C3IehWyC5JUWa(g7l8^+5AQE&`l*RG6 zqKFC(A_#~A0iuATh>GIEAP)Ns11PHsB7*4a#Jzs6YRanL`|FXaRJ!jy=X>w@+;dN- zyZ3mwIcUvZI2!<<<>YAR1%N7isC0jp68vLr|82A0~gGhV#=-7$u9mp@%t8+~JBdELmpnAfvCvl*pP zM#Cz_bX$`Qx8*uU0D>~ANCRdS@8E4Mek*cp^s)}vn3vGC<9?aP^obj~mD z!VWT>nAy*oxuj_0Lz>UHxX~Y8JZPQ%soBQ;>FYxtk4}aqydhtZn)c@2JbhlJAhbeq zBgB5G;SRR>_k>L-6-*1`mz#@4orgOp+bNNu#h#fbE=~QcW)y%_-nYHoF>tqlu&w9F zl=_;+EbIQ%C&xF2Y~7eRtpQY7c$-a<*vx3XJdI7YZ+f$A4;$-b-u4o%g;a0YtU*L- z?8)^MMDOhMyuFOF9GjpuKUF8>pN7j}Tt9JaZ9SZ9Z9n3IA!Wqxr#W7;HmnV5bhgja zj-C^F)8oWo7JB=S=NP&_94uRtuWfQ<5l>fsj~zUpqjQrEuHdh`19P$WZ==f9S!t1o=*gP+(7kf>m7#Gdq6!lk1- z`z9)P?<S2Na==&1h3MbMSE2y|q`YLh~u+HW8eAm@A#{la&URfuLlf_NFa*Oy7mBFyM49s@EHNAThF2Eb~ym``VhK_V0b3gK{R=n+{p z8pUDJ(7xubI9I+cw3*`=D}dI;x_L8W!C(FF9W*(fUki%s>iTl+x*KBJ*Gi$r`X z78?^2V-`a+;|W5rcnXDr#SyRs0tU9g2)A%WbTNi2G?q)e*RX?xOaX^4;_$dAxh9># zixSb$Xt*EsaefheSJzMST;T@_Fb}Ml&d1`-aM*|l?3W%wk$p5Q@?k>%(L?ABR{^XS zB;-X2n2>!m#1$ETDZyfX^5;hh!WH4Lm{=$rihxap@TmB&hIDXp_4wo=M-ak^;48df z*k4(SIPA}`zM7l7M-k4K6M@}7>3(JXF?NM9Y~|`owc|0P>A(A07hD5|!Vkl%H4nrs4@N@!!VNN1ZzL0X_3Pp4-6Ov28;$|FJhhRZw zFxV_ShCpGOV@MX}Bn*W`!C@>QGMzwVThIw)(ial$0uG#&^zbidC6{8sQe-kjr?BV@ z43kYEVn}#00Yf3;85lZ_!lvLEOa_BQR7kOy)U`Z81RY*ZP6Ry!!t%KxiVit&s*Q&e z4NWk^eQxmxr;FII1H1<~Tox}z__@oQ69KIg(d9hxWIPdPL9`%{iI!vn(fqT~dPpFI zb5X8}$C(k|$0J`DDjW`smM+g!SU}+cM?Sm;L&AP+=lq9cV9{A5 z3JDKkSa=IKpYSA03+kwGU~kXbB?uhoS-wkU=!fNVlwjxZ}YK^3e}%RVgC z@~`bbV&xU%W3*P-|HH#dVemzXf&JdM!KDkXgxF7|@B=S- z(fKcaKCHukaRgX;W{_{cxZm*06AO2MITpPj9C=@$?5-a7eiBF@(c9KBeSA%9eyb4oZ{!kK(t zwA$@2NBz#r)o+G(tk4Fhlr#aT`92pYuah1P37Q`%$ilWO;Ti_T519X}m0VykBP-F}o?@Z9t0{NYq4$$fTs)yeBV8m);meZ}3TeQgx=& z$L>V53IWvApP>T&QssTe+}!z^L*6TufOx031hIHYlkY@paL!{5fC9>c1Enu_ZrV2$ z)eb;rMZIt~Se%=8CncBOcYWdV(`LQ?KD^*bGx%|@L6_A6@iU~LbJgwAQD2O00s^Q6 zORfb}`FgGMnNkIh_v33oE33CYBk1;dUjU}O5Xi?ld4kOSA%2czHRtL}!#)jRS^#G` zKUmU7cy{q({So4I3u1oL<9t13aGADO39N*=^v58(ARyTRqa4g$8S>A^a3^)pwe171=SaKKDDI#F1J{C*o6K@-T-@ zQOLBUf(7LVV0pJXgJ8*X!ZYEmG9U9kbp;NasphoJ+A((u2h#2rEUtPyPj2U|zu8)I z)mU8(_gXjIt*~}lKEvrZvlK|+yg4^geP<8!Xa$f+<2uz&L8-a@+4Y+}BW3HKXp2keG zCN#H(wDH#aG+gRW@;_DD2LB<#tLxR|;H-Wg9zO3o-?Mb^u96nu$8xWNM-`-zkgh-a zYYOscF3o2%RH^qY2N!^@C7uXmPT#Gj*zDom9S8!mm-stTcE`<90i$6s_aXcoPQP`< zttQiTNF=b-4Lp^|F=>5FX7Y_4)XHzBiD-1A#QKO%5$> zjJ3y1_T21Fl(}B1LV%oFE!~=D<0ra9@4UbQ&FC`t?WI)ip6wkneLPBlRcHn+%7l_=LT(pa{hqdn=ttYRB@6}-5n|2w5u6@ z3T7o6s)mzZb?i@nkk?{!vg~zW`WD(D5&+5%R2O#fo4dEQo*wD6DlFg7V^t`#WS z1QMXh-#fOFzprQIa%s@9xf&q2D*yuujfZwMlkM8{;@hjj4p!ZcPk3nuI;1`8$w+yg zq^aLHyC73G9CYGr%Obf3PIV=8=T1se-rnd+-r>=dy`l46>$T)j4bES#(_$gi)Ah+u zIX|$r1kD)4wPC}G8)^y-<(?NV{obKFQFd!E>u~zzD?uP zy<3Dg<~6LDdb{e4P{YF>1Tg5;){wkB)v4U_Tl8@s;tl^= zX;5Lw69xbD5;aWNs^^3IBic{L{2cg1LknEc2t0+zbUP$p>6EMOce{&+)AwBD8p*;B z=<1Iqk1Mxc;sGaequl!cg#Mv=Asg9x+P3hy&JkPn5J=+G@9sKke?BD(cjs3^Y{)HuX2w)w>&E1A`R4 z5qi4M&Cs_i;MaJgV|$fN+Ft}>y3d|mouGbgX=&w=Yto1d(vxq;U&Yns7pnojy9$5R zy@u1JJd+^GSp`Jfk%TE(Qn@U8cwhuMJ*K<$QaQguUL}GnS8biJ7;g4!a#s`$GE~+# raD3LCzq=OC^v@8OA@ILP;JY_Qt@Q(@(qp1jdGJp5Zgz!hg17%0szt1< literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_2.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0be6598095bc7e2f08d28b3cabfde1e9f2ac06 GIT binary patch literal 8628 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 b;)WSS_Opr9>fl|j@^RW)cc;7`g7*F|sF9q4 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_3.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f96091c6c5dd6ed974a83407f7e3f2aa4a982d62 GIT binary patch literal 9306 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 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_4.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e852ab12776c30d87bf706a690686e72db3fb6 GIT binary patch literal 9194 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 NVQFVk^pnrQe*rPE!@d9j literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_5.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_5.png new file mode 100644 index 0000000000000000000000000000000000000000..68decb80b01a2d688699660fc8c2f2b4e16df636 GIT binary patch literal 14767 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 F{x2%ZAq@Zk literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png b/assets/en/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb287b244ca4bd18a1ebe39a8b01a30333b222d GIT binary patch literal 20191 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 C@w`O< literal 0 HcmV?d00001 diff --git a/assets/en/equipment/EQUIPMENT_CODE_PAGE_CHECK.png b/assets/en/equipment/EQUIPMENT_CODE_PAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..35c0e0d8455827a2b78491602cf401d385bcc83b GIT binary patch literal 11436 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 q)!c4FM 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EMPTY_SHIP_R.png b/assets/jp/equipment/EMPTY_SHIP_R.png new file mode 100644 index 0000000000000000000000000000000000000000..2944f8933cd084b46ed6fa25bdf025b22123e790 GIT binary patch literal 10599 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_CLEAR.png b/assets/jp/equipment/EQUIPMENT_CODE_CLEAR.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b54d0b193f0cba47a750b3a2bad3f0884fab27 GIT binary patch literal 13189 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_CONFIRM.png b/assets/jp/equipment/EQUIPMENT_CODE_CONFIRM.png new file mode 100644 index 0000000000000000000000000000000000000000..5f59609cdf42564bc8474a79000a68d6baec30a4 GIT binary patch literal 14391 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%0AgnWo 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 wsMpE`dt==c>;M1& literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_0.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_0.png new file mode 100644 index 0000000000000000000000000000000000000000..22c9dad1d976a22084f825376bc4abf55f403e5d GIT binary patch literal 8692 zcmeI1c{tSH9>>394^dZTNtxgH)vsjCYGzEv60(#?b}F-chmkSU%rIjMzcwYb{w#?f zT8L7K7KximMM*+MOskfk=qK62Ju_OLd!Oe%JX6?*CI);nowa;Dz%Je==2TlxFL#`1{QTm$u$U@kmzw@|%L9&W>q} z+gT#Yfn_82R#tpKM-^yWPDlCWKpws+HUp<(pNR{&7i#Mr3r0E<+X#0}OYX;~Fic-} zgp4rBp_O}FlqBR=w#k=T1Rj#LANCup&${(S*poK#``eUV7AAtlOKgk%P5 zSi_Os2d}GY{FMtWLLSt4u3V^6?p0_e(eF=ACh4bIN=)o->mSh9D~NKYbl9Lm_h+wt z;K}f+xF|VYpeNa%Ft=w2>!;_mVbK9P_nkko|ipq?cu8v z3%1U|%{Lr;_PDC<@lu-*@61pYM#6Ew<W^Huy(K#CsrkoV zC)+K%s3wJ1mhJaWnWe*dlom7OXc)gU5P!iW=((@Wbdz7}w8vGeE6tPF>HT-=84YUn29|x8dZXAJFMa3`XN~JUOFsnaatgDQvj2RtVSy^qAVlFuC zIVaN%gmokbgs-pbN-C4bHKVh54A@M<<%95sAWLfrpU&I>i;xUBm=jJz^;TA+kQ^2b z-W^AsnY@0lX%9l_xWL1JiW;MI31B4AjA({MJ4iT@c$Aeo(o(=;Q$6gLf0h7uG*pO4#HV5~VzJmv zOfcgKf-yJ?3kwVukHO>7zyd9d3K!8O=y0L2Okz^Q9u_hM9KMLd3rET{=?q?kh=xLe zapaf%arv&UU**GvpD6$y7zv$^!I@z(TrTGO8A6dmBoO($q5n8T=n1L-#se1eA_Pp> zArcN38GkRqVt$>^j}U~(kHcbO;4qjAOod=o+z(4SI=i}mogqUI%;ECovjFTLEJYml zH&{RHO*SGw&i5Mu)4%HeVEyIna${iS>PofeF(YK#bGE0UWb0E|JSK-ll{d*O0tt(Q z*=Pn1&q5Ok3XT z0tHRPS+LO*IuVB^(J2-zCIw3;Tj0Kva1(GqRMNw~-<3>?1*FW)StOW+r=!_SJR40U z(^+T+oz6hx2sk2}Okq)oET&wF#iTCh3Al9NP7aqI3}g7=!SVqaaH_4lGYy3|!+z^= z52K6NU;@YiPB@Dv7JeJ@#!?GC>C8rx2KC>Ad1BksaPTv zNA$$us8}o&YrX_a0gZ3=JQjx?_1~;z>4UVKbh;Bq2-c61cTMKh8hGR6-Q;Z;N1jYb zq&zLCbmrs{g!D*w(&IpDa)=p14-bYx{rDWPU-~)!AsCndAPL8&qbX!82~A|ephYAR z&}2FtHm5LP5}w46pX#f+kjEB@=>pg`7;prvK!D0wAs2mi)#4xR#UZfF4*(e&OGJN% z42Ai8Sd6S6NF<{7s2h~?fT8fbJ>QjZG5H!=q+1}Pu@~G#r zb@-CD*{V{VX9g4{U-tx!4Reb=De0PdR7J2<{cLtCgWsF?-11WQF?%-4)_X?HYoanD z=joiqi>e%5-0rzQcly*Hhuori&`?0hK*S5*(a5qF98=d6fhhu01f~f57Xs&5)%~+; zqK2B+k4M_)9(Ay{&mCGYbLRUt>xrf&RVZjzX{>Th(}G|K>SO9iI@97O-Y@(3VWj=7 zc2^w#Dgx4TQ_S=qHdzKl{fc5!(8<;&5z zb-GYO8%|a4&RzF`x78D6Z}wz*Ma*A%AhUY>ZLXFXctMRll~>1`nA@6%3-Giao_DL^ z)j)fEeS`*-;6qR{xZ~&LuypKZjebjUwEezK2uMP!UhqT#-*>ZjbFCUwgD8Y*kKE9? z)ODb!n;=(<$=bDV=ROO!YwICMDM-2}{bgP2nKOr0I-7UvkA+cv6(PQeHH9{Shu;fT?|2LH8sijeu}DHcWk=DK~|7lDava$df{I?297Jo z2y>dmC9CUeG%goG4%zYsc$fAePNtYm_}jbNAeTh8Reh9-(>IsT_ljv0K?glgKcs(MKwtIcEc zBKohEKRoU+t_(?U7lO&N#A#3G$$%qT1(!3Tt@wAe$sGoAorq8i`}(4hW$|yK;ZBT< z2VYa4BHXK4@^&@^^*ZU8O6&E91~Bgi)BhNkl;uyFYzdA^4$-gr829#aS0wnd08+6U zjowR$p~2!t+xkJ{+`)0;#pR07DOF)YV)uQ)`C`Rhojh&x-g8{b*35|w+rg<2dS)xb zmtR#3mR6nF5V00;00FTW-#6>s(caWe+ba!o=9YplBtYE!xwv}(^D>ipec8FBq=tb9 zAk={AYkVIOC-K$FEWr0YzO=r4(t9b4zPx>XrwsAWhELyph_Af_x>Mhi@%-f@&x1eq zdAOCl@oHV7Alq{1lk6O+edCP~ZB>il`t4i0Zl1(FyfTXkL6HnKVj%0+&H#rOk!~dp zM*{$J;9-4(ZNIdyRk_pP-#B_8Q69kJy@P4f@cilGi8mM5A!MHFEqQ7-zG`n`+t^9c zLdEXGd*;eHU)b;8%#ti$sb9bcE)kQz>D@SVC*ymN%drT zR3{BnDA0>{5q_lv-cUdlNajSX@)O0 z`J7ag=WNl5@hdwW8`t`ecq5Jec&Vr;tT*Ku!JeTrrh~+3RyKI>hd$S>K2z5u)Oq8mUoI~d3i~3)Jc{NLH#Ci`T!8EP(fC%aM zpIWguHrAi3y|r2nah-TontI_weExhb>vwK&$Id_WXUFYb;z&}=lLzd3oM3xRW>fx~ zrWKF8H9OU>pFrXLUEkj{IDSA+6H0(IEqNrALf2SVgP*{gJsM`GmLkcxNA`ZqCh3uGzu= zYBZ{o;*|NnEDVcn$w|FBdiz<6EOHe+5Zef1t%9V32P5Qy$*<2H8ejBuzK^gUB<6$k z_51njeiMxv8W4KB$12W^Y3c+r!_$k4J927EOhK(o^-OrO>t1hFadzCN+S>!xS zw8pe!AC4IhSWK%@lP&~lT~S*`u{&4a;x;k# zqUz4yJCiaT3@<14yID^>l`6=hF(&(A%-U)5i4XlBPmEba8B8#!8EU~;qn4TSut1@ zl;&AJsgY#O=vGut){Kta&ZEiTA!_QHA}~c@iog#9YNm}^+wY#W=8QBjN;cr^u*&}A IvY_Ap1qe*LX8-^I literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_1.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d60a5815a0efd72eeb78d10286123fcb9b94c3eb GIT binary patch literal 8643 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_2.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0be6598095bc7e2f08d28b3cabfde1e9f2ac06 GIT binary patch literal 8628 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 b;)WSS_Opr9>fl|j@^RW)cc;7`g7*F|sF9q4 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_3.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f96091c6c5dd6ed974a83407f7e3f2aa4a982d62 GIT binary patch literal 9306 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_4.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e852ab12776c30d87bf706a690686e72db3fb6 GIT binary patch literal 9194 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 NVQFVk^pnrQe*rPE!@d9j literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5.png new file mode 100644 index 0000000000000000000000000000000000000000..68decb80b01a2d688699660fc8c2f2b4e16df636 GIT binary patch literal 14767 zcmeHtc~q0xvTtm=#R=&gL{tzsp<4uH4upgu+JYb$P-X=|h5%tm0tp0yB-$JmL7-_S zArQJ{5)hDCW)Kk-2_gbA24skg0Rn^}!~MWMefq3-*L&-%b?^JjtOfbLy=&L5{o7Tw zt7_-|WpiWE{m1u%Kp@eJCWe+E(09P&H}Cd-1ALv8HQfaQ?UE;3+Y>EaNOJf9oCn4i zEk_K&qvg=S7!MFAcmRFb0sBI2FORE8{?_T`nt$D_^^7Q)cc?k;R~6e^2i5f6ENyYF zH~jSBvAy5$J>7G@AAi}GYxPD?D?WYm*P1R7rz3G`bdaTe$60Rq%`wTYO1-fjsVh`= z)9kUMNw%BFN4{pq#qTs~cYQQeIyQ<@BPcI-4Tjz6J7+Pyk$AZ`!;Q*=IpSb`;oNLe+kJxA{OX8cxLH0 zZogFh+@k!$qYJP5B`C&;8@mtiqYoW9IynQt^$*PX^OrB4KmSj-0Fctc;`B{g z&PumBcbgjJ9}4>3|JCL6xkr$n&GKBqXA&xZDmZj9nQ|`v?hmc4SMbU@>m~Mqc>ms> zW}EN7MV?JNk#_ic)(hc}caEsbNOQ-B>)VEP&wAOWc<*t&m4EdD0xU_`uu)%+1nrT# zacI~56tYIy!#k|?ntQRuq$~8vu!YX9;=`BrtQ&qh+ASIt93Je^{T|L1zjyVjWklzF zg@ZM6OY(i_WTsBC^pRkXkFRoA_gh}L=0#1ac%aY!NIw~KD*wX9PYm=O&JoXwYo7C= z%aV8Z518Jag&M~-{q0wibN_gNPJ0##8{HVVcBX+RA2%jpHU zdmt|>T z7GHQ6q6uyR7(5Y!!^&;*baBN667?YvpkMBv^7-LWs6W|b34fpf;Gr7qf>%{nQB(Ev zQ~m1*0?{Z4VDg7R|Lq8ZHQ)tQEztyAV1OIiCg!l8Ev67g+x$+jh^+a{ej^F#J!x|3>}K zweJuER45d}5a$-SE#5^#eaQCw2zQ(t#vQTq=&B8Kg`zcK%35fsnljW)Q$yJWuC1*M z*KvhvYpB6pTy)TXVRaEpAi7}P(A%s4<|-I~j|VWo!&L(q?Vqzy#z`{}+)hI)DJ^;x<=xH5EohzqdB;e7QW+akzqkNmS61sIgO3(>{Ug@^{2s%bzG zYEXna)LLB~p{5BuoL198sQrZ==Z^6R`F~Mwn~$8{mrXap5Pm>gXzF*<`3fF&xz<)&iRlB~z^&cVd9}$1muKzK(_WvuH zLSumlhy2-yYh%TP)S&Z&e_W9O$CqIqTqoxnb&qG;WyedThV(OVWe5rAsB|T=-=XhSBqo z>+R~t2KPDymzZ`mEydN|^|lo#X}NfCXx z=ppjKdm|O&il=5r6wdpc{n@TCg5gxY_}1nCQf%(rRMg7SC&9zvNtM^xrvw`Hl={W9 z_IjMRnwjm=xN)GE133Aie>5yb3lCRiMM%e~ z+|-hY8+^u=&v-Q+;mX<7n$to?r_`iJL};hx6eZt-v!bZ(C4wX;B}n9{TD0%_`p}d# z7#=_)NVQCo$peL1kX4U@(z!y)<}>;O0#=pm&g*hBCgYT<5Q8gZnXT|#`g*Qd4eZuw z+x2}Q5cVfNW%WgdfqrmELM7R0HY-g5j*!%sljxdGnuKm%fVQ`gs~fylP>R`ydoJOG zBg6dbHdIe)WhzP$VWePbDkXb#@Rc9E96XgrgYakP5woWQ$HYL>+As)N->E0%!^$ zzqVE98Mj=~ca(`vn$=?j4o_%Xg7X|~ZETYA8p~!@-&70c8iomq+3OvTX}k$ZIt5Fi zjLkjmPs4F^#M;8iA@=i6EN2om>l01}#uIACo@$%(S_yG9z3Sk=nz?K->f&X?AUn`E zYM`c|FnhDSct&RvI4-BtAA`^i&UCt(G;Dqt9HL==d}3)M{ION!Ze%rkbZc#Ot2Vz> z61@7%U}MtiKvWBBO7h5&dvF*SqvcmA84`TSDD~x>fZ;71-U@20ZuI01?Ut=kt>X5y zw`{OPjFH?A_-o=$vCVK`-ET_sJUrX63fYW}?9oT!ik2nl7xRbH%??)W`To`}P(y6? zBk}aZ!x|FlJ-L<9-C?;BA4EefRMAM_r$YM z=Cmg(mLgbx9!1NMhM|U`ffZ#+?Z8eOspqw!%E7Ih_Opy5$d_3%7DIo#1v&_N8m5Ui zRSfL4T)2zC(>iCv5-syR$lz_nqx93z?J=X}$ciQ3 z4YcYU79^FTur@gEmo2u==sFqO??L5s}5H3~A%hutz z=>#}y+*xnqLq_`XGom#Ak;NY#7QGIfjL^fzP!{ssGLR)(g?xEgL>((e&~0Hr*?dcg z4V!x1Y#Fxj%HK(6D_X#yn5K_h`hXfKg{|f@?u6Ix`t}CsmfxoyU4sg+(MnAo0Fhyt zp0tW6tig$~A|rVBdpLVAW6<9I=#Ws?SkhL?H9JaAqOxzUl)&(8sKih8$?7dyZ5aq0 zWJjpnhA`5+uHcS%Y}ms3X6^(qXRR7(%h5F5JBKimHm3Xo={vku(6)IuPz(Dgs+SsT znFC15%57j0XV^w_tbS1En202!BD~@6^9h4G8^spFAtbLSGecL#&)_Dz85uHn8&Jpb zT?afRQzu;vt;>3dT|a_$9R-bw4Bm`R-v0U=0%(r-Vg#fj5N9}yht_| zaD^>=1>q+m;lBDyKc~}gbJ`0^i!zk1KTX$ltUAGG)uzzf8Pw^V9(Dp!{ly_-2k)-zX>;eQ^xCyV&CZKK&jCTuaz zEj)WHdw;`x$oU7wqEE4}&c8+P!J`vNavFMw) zKk&v`&>qnGxo#&VzHM27dzzIJS)0?9pVrJ z^uRP_s;;)^5ozTE7OUKy0_&H13N-&1{UkBV4zvwLDzR zeh~u+^7ZPk%Y00EEU62j)>1;ICs+As7(WWRp|Hg!_q8)`PRjB(ajGgR*EKeel(^}; zRk0e0>2s&{csf&p1RK;90+K_o9g#R)OrwrvSNh3AY+ZSF;||PU-b-QUvt0E?ZqA>c zj}nf}aa8M|>#>{#(d`v}v`u9<@mj9%MMDl|%GsW;GH?1o zNFEA34-3?VR~0ntKx`u)JjcQ_lcM?ggn;ehGGG7~IK6(doFiB_iQs^r0=D$&}+ zdQ&mpvVJXVlhdin8$#AKVge$cVGFa0UjO6MVZSqH4za19y%-y}#fC|v3fw|i9AjKh zI{Hy`{#^Rj5hKGm%b9BRZS%O{aN1VrkeGhTRp&SqRWEoSCi{`P$S3uo!i2)*&yO)V z`?Mrrm_6pRxn6F9*5)xL89ER=;nt|Zo$}_d=HwBItRl_rjJ>|-s97VpJ^^Ah@%m+D zC!sc9O!%pJ=%p%eKw(d&hyL&83h%ItCd_!hN|)>ACVCWF=qm|sC5B`@6mE`=F_FC& z)7y|CS!Z--jYTCzs?!tDp5xvZL3XdD0cS+(qEXhb7hv$lmon#Q9%RLVI!EZ&|flYY1Cdtmhs~x|^}S z5)Tdu3(4eES{r7W%+AWTe%JQmJKgc0)BQ_eN5HK~8KEvA&)};3q7(5^Ua7o~vIZ%U zE5?n&v+!;QYM{<>!#G=!pCtSI!(6wwW;B#WvGbf?^FV;R&WLe>weUGuGS5mZE5ZEc z^anh2Xr(BqJ83Xs(4;lQ3d5 z<3h#KY7?YG^d3M0EoZ5fl<@6b3w zuD)oLm9_WaPH<;8lXJ?lJU(r9RbQ6+*`$2wvnTyoaLpO*V)t^)O(LVZP5YSS`oc?5S;`(p9cC6L3pgx(P zNq=Jei66?%g3ve1JaZ<83R^fy62sD9znHa}w|gmt9E$2&UdxrR&HfE1*ok2F$m(#Q zCUpPt9hLJF%x6VlwhAhq4rCM_;>`_*q)9Rk6`gD>5;Je8v>7cxHTv|eee|Tif-^ZJ zZlQ%8!_SZ=dV9}KNRWCf%G}V9))($gt$gA^R>**BITjTocrS_IQR^2z83nbId9<6N zWRz;!i9<@*ut;ymG>BE zI`yX1l>|F+=Un-W;xSSuIF}xxQsvLA7s=E?7JWhAG?xZ>gt-guzVfb%c{Ne9XEghq zCbme!F(X-<5IQ-YRQ$S*$*CyOIo^Y+C$Sx?N7nN@Lh6ql-H8MJF6qkjp`4t%NLag` zi1ah~1bu_y*e{Qwc_?+Z4;^rYa&~DJ8zF1TD zn)SSUDj)JF|BdyF*TrcuX01a7$0K>E8u)=<@{8-Wk1!5FT-mx)+H;3*-7a{PCNJWpXx~bMwUWxH4BEj-qR}V~S+m+e$&!=&HKs!dzK1H|4 zi)em-iuu^3srx}~iGr;XWO&h8E^xwWXP*}WLREHKgnP;K!OF##p}UKn&-!O_aGdnC z8g#CSh8iBVPTdD;LZwn+y!uqoz2XPh6^Zf!U`+{au(|_fMRrYE+20%l;WY=Xi73Ue z;v)H~Ub$^iLD+{5SR%-YU#I<^`$L#i;ohCd8b1&bk$(o~wW(}tg^PKpO)-b*#2tx~ zpzm1R;NU~;T=>(0tHVzbzDnAYozgVVADQ1z7NQv;zm~mjYSMDC-xeo@A|GH14nZ7* z8&7C^c;=fmPCDKgai#kDzr8cfeO_cYt6zfs81Aj)y7=ZPW+q}H3ABSA?RFHSdNIZA zS3;meilxHKjZ*qt(a9&3{`cvf-H?^)U%7bO|V{~`z82(25wRnZ_J9nzD z+oafvTqqW4jY7VwkaF@?g&nnE@ttg^b&Ru2<_Er?pS{tUPN>HoSMHl-vGcYyN&F0O z0$;%rlq_e~ayZn?=x)vdusXMw;`=tO6+OXnjhg>?g%){uqg3f79KxC%l<;8>vLLQw z8?CEn>A-RKC9b*-#K=PziqG_QW4kAYrou=Jl+?LKQ>_)#mmAr7ew&VUca^gfBKz!9 z>K~k?1G!c~MDW7gjq`?f-+XaDxr_q1T4YaoEj~yMbFxggQ|spjTYoi_6spRud;&|$ ze74p_#CrCy?KlU*3F9SE5$=c7@HTIE?EyVIhVm)N3sqSbrIA-mHA!tn-jy)>;|i6Tkz10`15@f9%%a zMMGjvdd5J6ws{!ZfOT{I-S6HxBu*A{HtsfwS?#m<{yBbQ2wsrV|E%G9)%Iz4iyilx zcpOhEoa=vi0~5U2e@DQ`pL3$UA{V}Azq}l_x;ruU<|5sxiaQh)u2*D7l1LB8siCwV z+6|n7Af{P$^eISSXx?DT+C@eed^NHA%8T3Fg+|^|(=^1vv~M=GbM?i*`u*Y{{n@sx zg!i{=*Dk!cubL6#8n{j>rUf{TeABv9K;WYH$QT>WB>K!UE8{%{{GS*bqn!)Nwdtp6 z`_dv4idc>V75U4F*B#~>>X}TNbPC1A#sBd950FO@0XYvMPD*_vy5j<@^^4>K;8xic z61Qg3G6c)h-jxWRptjq``Q7*cV{2Grchv@OqsHM0H*`$hn6g2S&{?Y^GO_%5&DwO;N7tx|jiy$#jBG7)h{w`AJ0uAs|ES#iO&dRz%tRXm--z?5b5-KCg%4`_$*hK1=Bf6k1erU=% ztNizotq;izL-0KV{0*#KApDq)grWp9JgRfU(c%f}HqUjfuEM#)HvCH1asg*nH*}Kt zHt3Y_o1MrdxeXrqf!XiOj&y{rc6FX$XRS2hhDb~9wJu&uP^y!A`pBo_ehw)?MRdwS zfpo^31R&EkhJ0$aIMFeGcbR=jV!(MP1`>O-5;)alI$G&iFta8>=`VbKd8*nIoZGNx#N;6mtW>j6VLcl?T|GE zMx%N$_k^RbPkrjn;4Kanc^BmS#-!n5mN7N>Gb;n9w?>wd!q{mJI=aD&q?k#)6q$sY z`sq2Q#}nR8C1dd8)D!zy1vtwjFEu6lp~vWJ-T`JX5QK%I* z`@>xJjPR!fxyX&Pk;FNnUdmv^=Sx*1mn4k(Cm!1K_inp2%5P9q3{W5PlinLP$5EKd zaQ;{yy0By+-LG>jxMqYM{i_PWp}lIhFJrTee~-$+E3}rV()B9xxHeal%DSciu^e@& zEx>OJ@#6V{wNS=jcTsuq;L>nHO*+wxGw=VT9NbkopHhqz(q#wvMY17gf&v~dDm*CL z#0cy!&*E1mH&&bu2|JNh>Y&F%@?+T{tU&>fDL?{6mizWsb)P)T7BW}dj2|@gToRD~ zX7nPa$8Y7i-H=q1gcaaQ)*G(C0FC*eT+rV?O_x@e?%^U=?6-5b5z=DrS~etLOMij9 znr|6rX(~qjym-5o+ktGvuW%H!RSr3JFfPQU`uA?_e^zM?pn<(0X?sf^61l$cX12yC z3(KzcqY1tBPD~9w;BbJ9`#Lg+#jKvaUd*Gmt134P6NWNVbGHWG8_3;n@L5nOWZhyBPY@;qx%ZW6|++s`+XYpu|jgi`>kb|^Hm!}Vi7X%O4f zQLzxnr=*YmW~=9`5_NG=iS`29!J;~qprOC%Vz1T?oV0aaiPl^Y9gVDK?CfglP0s-4 zd1Dc?z$aB@O0E?`g6?!;da1)y+P$a)8$&u{jN2JQ{Lkm_WkvvHw2+n9j1lPf{g3H z424JG?!mY2NA3b*iOq+-<^i;B=-DIb(eN_t$!<(}Pf@k#vEYDZ=37`tmx#g5&x`dU zTe@3f2Ft58Ov-WJ;5@vhY~CSM*z_p_XrR?Z%y|iC|q|x3v2RuwC@NYdtS5`fe~0v^Eu)} z6{8_odL2zb{nQ!BUu`ZnAQD|%T!hzaW2tLhd}M>C-vr_9{1b**V{T^}g*(iqQz?R# zlpW=BIvB>pz;cbn0UKw@0|IVE| z7wL7O>{^QqIDbVl11MU@dot2O0FE*T_mtS4YG9A-wn^zlBC;9H83P=JM&Z&hiIL8G z!!wqxmgA2YNE$)Mb4JL+nQ6-Rzuh^c>_!lOhoRC3F?$wrKSV`DTzrv*opI)`mjL$w zJxm+@<#)fIXET#6BemCtE4X!pw^TntoQ1*i3l`lgiN;Hp2CtH4G@apANt0PXAp`Dv zH~kUde^t($S$X3WPiy`(`Zh%q)t!YUFLNxkQ2^QP4E@Wi`GCe*4EJ;~@=QXRC7$FZ zoBj}9rm>80Vt0Kh0q}1!f)#NoE9^{?&om5osa0}Aa@S7A9C|H1U1}C6H92Tu+@9$b z?oRG0qRg!II_J|i$2#>^7m)@@HTCz9#P#(qV{U_65hc6-a3R59DO;Sw;k0z&e^m&y z>Kg|(jN4n?+~0hgEAu!%U#6$5s)J5hBQmN}3*TTv7I%xt27d-ht(2K8=Z(=~>8)`$ zhwB17^ueopf`ta^MyCuM-?uRK*nn4(+13!O!6I)O1?XN>TqW5QR4{W!cv=T9WRHPB zd)eE+1%P2U-V2X|@NnYo?f6WeS8~sSS74Qii;W`sT=88PEG=C#27{M|wIz!if2=oH z9SNQ#2@w`;`&bdK*5(fR z8aJ1PyjNY>U8hR|ihkY7k5}_D|E_hyrQK zj(akep*#Cp!fUl#xt8D(rO@uNHk78cO7tWBzT*hjQuaI!4qO~$b_7~&r&Fh4?(H24 zN-7Q1`n6P*%_XV7k+GQ}XsEsP+hK!bMBaw#(kNT{M2wx3|D-nLBv5d|v2(GZx~!o757+j1e6Gd8uGiiurQ9%-{nKW3_KC)bO+A%#D_wd=Z|PX|(` zc9Y@Kft0(MuTU`$4Z&SGul%Q4$9Mu7k8amb>xQ&pv}<%;+` z5i{DJ>J6kH;5;dQe}1YWw}F7I*<;BFd8(tcmM9*cT}Pgjl7Sbb^GnajLk9G&VNVtp zRwTlkc9Q#O*}*$|(hU&~alVmA(2!Qyi;cTxJ%+Tq#FULQUbd^aK5uUnYY?-aLL#oem1Dbqx2 zb)Rl8jYq_5A93QnO!1VY>*{(1#F$`K>(em-%C+c4xzYQ*Un(`Z z`Xom7f*kI+Ox+k;dry1(0ol(d{Vt{UjJ;D#R5pOQ7xc;Q~gZm z@t`>)9_3Q;*$}LlE%0qT(>`>8QGJZ{`n%JcYo70o_SgB`uS%V^=o~Ks72Q2)zg?8Z zH7plm*aes@y-sMRpx!yu_k9lLRo&&>hz}?<%qYu?&<$N(R*NNI6{eq$N14CKO3j-J zvdN2}*d*x|2rfwg$HE~Ql|Hb#ql{Mj>SAKfF;=rBa1(l=>wZvawcgZQLs9wZKrdMRH9YcF z2w$0YpmMgOB+|qvG9f=jDX<$zzBCyjX$q3s@2-Whv%04u>TK?i5RtVqeFr+z@Ho)d z&sPM#BJe+t08cpIybHJ$2HpBiSUd=R{69a#|0j-3PHwD)QRScef7_n$qLH~_(N8yi F{x2%ZAq@Zk literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png b/assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb287b244ca4bd18a1ebe39a8b01a30333b222d GIT binary patch literal 20191 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®O#<04U3XB^4kpP)TJMC;;l}sseUaa*~5W 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 OWO(ViUg<^0sQ&{;Cd1?a literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EMPTY_SHIP_R.png b/assets/tw/equipment/EMPTY_SHIP_R.png new file mode 100644 index 0000000000000000000000000000000000000000..2944f8933cd084b46ed6fa25bdf025b22123e790 GIT binary patch literal 10599 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_CLEAR.png b/assets/tw/equipment/EQUIPMENT_CODE_CLEAR.png new file mode 100644 index 0000000000000000000000000000000000000000..cac3a2c73ac6717ae292701ec894c119fb3e4055 GIT binary patch literal 5829 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_ENTRANCE.png b/assets/tw/equipment/EQUIPMENT_CODE_ENTRANCE.png new file mode 100644 index 0000000000000000000000000000000000000000..b97c66d249be60f3d021f722487327ae582b8502 GIT binary patch literal 5437 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 IvY_Ap1qe*LX8-^I literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_1.png b/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d60a5815a0efd72eeb78d10286123fcb9b94c3eb GIT binary patch literal 8643 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_2.png b/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0be6598095bc7e2f08d28b3cabfde1e9f2ac06 GIT binary patch literal 8628 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 b;)WSS_Opr9>fl|j@^RW)cc;7`g7*F|sF9q4 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_3.png b/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f96091c6c5dd6ed974a83407f7e3f2aa4a982d62 GIT binary patch literal 9306 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_4.png b/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e852ab12776c30d87bf706a690686e72db3fb6 GIT binary patch literal 9194 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 NVQFVk^pnrQe*rPE!@d9j literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5.png b/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5.png new file mode 100644 index 0000000000000000000000000000000000000000..68decb80b01a2d688699660fc8c2f2b4e16df636 GIT binary patch literal 14767 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 F{x2%ZAq@Zk literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png b/assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb287b244ca4bd18a1ebe39a8b01a30333b222d GIT binary patch literal 20191 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�^jsqc{0>@H4N9h$prLzmXelH$r`O_B0}4}( z@m#0(r;9X@vd*6={=mfxQ6}ylLahcey34zfbI%>qbVgB!c5|f0ys0hRmJsc_)z=o< zRmPwS+DX^r1SxXh;A~Y<1Fst4-b}$mNwAJ{&&S7l(3^i<*o?k-10wm(%BrP#% zXM=iRO4Nj*u8@lxh zsG}R~#3vPPu%WkCT`48LJ5V#9j9>_w#jFYKVNXqYTd)m6b|MPV#g$MFvWZQDrAQ{0 z(&oy6Q)-jicLL3h z#>Oo=w{yLjGng}mWxuOAO1#(kBE2!GP3?+mQB-m7Ok`Wv3B2_sMs4Wf z%X{DqSdvZH0tz6fU6qHDA}I?}bPd0gE{tw`(8Tn2Z}_)9ptyQ@RrZ@aTlvl+HHWr( zg^zec+wAq7iYtGIZj7##&DViJ_*IeA*XhC}N&A|_DxeyfGtWx67pgTExJ6wfBFZES zI)RzBYxN=G*85E{tL;T9(Jag7HIdYxO?%xodbGy;;*<-h;ye#%mOKD9fmV-rRMn+! z%gS2Wzm@(pt$IYTcj*+_yD4SfeVO1XBXK+|eame}8WbVeWK_!?&r$hwy0M#3nShLJ z|I)O1RpskDQbRdsxjdAIAhl9(YTKQ{OPRhb@UwY4dbgJE4`fAx`9mw5&&lAA7Tx`V z5*w!`W73c>vQ%hgB43=gP&wVfJ2A@9WkF5zs{#UfelHE~R%uvPMhEtL|K58S|?eQsT)MbX1D*FHP#!d3u+2 z{ut&W0SW-~6&kO`-CO&1OYQv}`t|_5=tnNoPpfHEAnRO2cupCg@ZOt~Cbb zJ$7NAC;(7>*+X1WD|VME#j?(Z@kB1Ns4=LG+z81eco7ah5So0gF@L zpwWej2z=g+tzk-(skywpL@)*uJGy*8KXWEN0v!3;b&RR7h;gvmIk7jFuxHYtu^et| zU*$*5WB67(zvx!@*Gf|Ql1QuSz{onSB^8A2ZMIXQ)s1+#4&LW&UDDOnOzWD|YqVcT zhG4tJ18U7uT+!+SOy%X(ye|)P`Gr=L1JiG}K-s}F-Pi>Fj`7XBmc3fJ-Ir$55r&jg zwpzjFcDhL%hFvgTg%)9<5jKU(#JCr9xSB9BUnQz^unxQd9xXN?VV8WwE8=OJqj@68 z3rE1i32Jzdcl}_>lX2{sB)>P=S9OMim|qG~-EcLBgO2kWwmTkWisWtg$>0e86p%CT zSUa1hL&dB-5*7D2ilXUZ3bj#%n3V?)G>900KwV7moZo~?d`#vN#QaA?al-2=!Rh?l zl7s|rT{`YNZl}}D6C8}v9T{3Ob%PiMRlT30YD%F!${~V&GcU7FkUs=Kl6wN7;{%-9 zTrbP8+u@t;7%lM;Oz_*~EF18SrcP3TwU7@3Qu0gSK>{q*^X1?&cruY{t{(L;Q>`lL z=EqcB6rCoh%Y_p$=Y~1Cy;=}rDq?iH`!l5ip)E3@xq6G`cJrl*ws=@D z(7K1b!swcFQcnxjzJ4_)6l+vSE%q`UIu|Lbr*@O&^0dGI|A36yD3+fEg)aG6uW9 zRLTBL(rmOsz|PR~YzPNNBRVtWKj5HQ!h2b#8pG=lYo0eHG@4e%xZ4R`NMXX_D4J`2 ze6cdG1mL&=L)MDwb@<;Y(#xuQQmu_}qpf$KOK6Dss#hI6PdHwh(io`f!>H!0j%CTJ zen5-=XLEz$_1m!wH1=KBZsEz#F`m&aHF3%oNp@2%Dui@PZoVHeNU zO6q7*xPrV1qLBP_iWB3L>}Kqxhbu1fDH9(Vya#p-06=#mqKVV$L;ulETbM#eh4?__ zsgeFFgI;&PzVWW;u?Q3v;ti!G6zb5k{_fC}f?asxvPhsNX#46QyftuxY4B11U&?Dj zT!K5As=Kh$7D_uDlNw*;#O-Tsvm&tu2jT^&25okP_l?MNU)?(L!*Ap(c|mPp-L`4w zmzcS!tUw!wXJ3swqKbK8H5WU3dJZ>ij|BoHt|KhRQtkgi z^sN!7DF4Yt121EvKW8Aj#`w?rL*NgAKLq{|_+KHg9=dBSoG)h-8VO60egzHFH@jA( I=lJ;l0O9Pjh5!Hn literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/EQUIPMENT_CODE_PAGE_CHECK.png b/assets/tw/equipment/EQUIPMENT_CODE_PAGE_CHECK.png new file mode 100644 index 0000000000000000000000000000000000000000..35c0e0d8455827a2b78491602cf401d385bcc83b GIT binary patch literal 11436 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 literal 0 HcmV?d00001 diff --git a/module/equipment/assets.py b/module/equipment/assets.py index 64f619f253..2f72c7a341 100644 --- a/module/equipment/assets.py +++ b/module/equipment/assets.py @@ -4,7 +4,22 @@ # This file was automatically generated by dev_tools/button_extract.py. # Don't modify it manually. +EMPTY_SHIP_R = Button(area={'cn': (192, 359, 268, 435), 'en': (192, 359, 268, 435), 'jp': (192, 359, 268, 435), 'tw': (192, 359, 268, 435)}, color={'cn': (144, 144, 144), 'en': (144, 144, 144), 'jp': (144, 144, 144), 'tw': (144, 144, 144)}, button={'cn': (192, 359, 268, 435), 'en': (192, 359, 268, 435), 'jp': (192, 359, 268, 435), 'tw': (192, 359, 268, 435)}, file={'cn': './assets/cn/equipment/EMPTY_SHIP_R.png', 'en': './assets/en/equipment/EMPTY_SHIP_R.png', 'jp': './assets/jp/equipment/EMPTY_SHIP_R.png', 'tw': './assets/tw/equipment/EMPTY_SHIP_R.png'}) EQUIPMENT_CLOSE = Button(area={'cn': (1139, 87, 1231, 111), 'en': (1139, 86, 1232, 113), 'jp': (1139, 87, 1232, 112), 'tw': (1138, 88, 1232, 112)}, color={'cn': (215, 149, 69), 'en': (212, 147, 66), 'jp': (216, 150, 71), 'tw': (215, 151, 72)}, button={'cn': (1139, 87, 1231, 111), 'en': (1139, 86, 1232, 113), 'jp': (1139, 87, 1232, 112), 'tw': (1138, 88, 1232, 112)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CLOSE.png', 'en': './assets/en/equipment/EQUIPMENT_CLOSE.png', 'jp': './assets/jp/equipment/EQUIPMENT_CLOSE.png', 'tw': './assets/tw/equipment/EQUIPMENT_CLOSE.png'}) +EQUIPMENT_CODE_CLEAR = Button(area={'cn': (999, 477, 1121, 519), 'en': (1000, 472, 1120, 512), 'jp': (1000, 478, 1120, 518), 'tw': (1000, 478, 1120, 518)}, color={'cn': (142, 146, 151), 'en': (135, 141, 145), 'jp': (134, 139, 144), 'tw': (142, 146, 151)}, button={'cn': (999, 477, 1121, 519), 'en': (1000, 472, 1120, 512), 'jp': (1000, 478, 1120, 518), 'tw': (1000, 478, 1120, 518)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_CLEAR.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_CLEAR.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_CLEAR.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_CLEAR.png'}) +EQUIPMENT_CODE_CONFIRM = Button(area={'cn': (999, 544, 1122, 586), 'en': (1000, 544, 1121, 584), 'jp': (1000, 545, 1121, 585), 'tw': (1000, 545, 1121, 585)}, color={'cn': (81, 137, 202), 'en': (94, 148, 207), 'jp': (95, 147, 205), 'tw': (81, 137, 202)}, button={'cn': (999, 544, 1122, 586), 'en': (1000, 544, 1121, 584), 'jp': (1000, 545, 1121, 585), 'tw': (1000, 545, 1121, 585)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_CONFIRM.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_CONFIRM.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_CONFIRM.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_CONFIRM.png'}) +EQUIPMENT_CODE_ENTER = Button(area={'cn': (875, 667, 1004, 707), 'en': (876, 669, 1003, 706), 'jp': (876, 669, 1003, 706), 'tw': (876, 669, 1003, 706)}, color={'cn': (80, 129, 188), 'en': (81, 132, 192), 'jp': (81, 129, 189), 'tw': (82, 132, 191)}, button={'cn': (875, 667, 1004, 707), 'en': (876, 669, 1003, 706), 'jp': (876, 669, 1003, 706), 'tw': (876, 669, 1003, 706)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_ENTER.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_ENTER.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_ENTER.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_ENTER.png'}) +EQUIPMENT_CODE_ENTRANCE = Button(area={'cn': (936, 88, 1028, 111), 'en': (936, 89, 1028, 111), 'jp': (937, 88, 1028, 111), 'tw': (936, 89, 1028, 111)}, color={'cn': (94, 148, 208), 'en': (85, 143, 210), 'jp': (93, 148, 208), 'tw': (98, 152, 213)}, button={'cn': (936, 88, 1028, 111), 'en': (936, 89, 1028, 111), 'jp': (937, 88, 1028, 111), 'tw': (936, 89, 1028, 111)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_ENTRANCE.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_ENTRANCE.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_ENTRANCE.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_ENTRANCE.png'}) +EQUIPMENT_CODE_EQUIP_0 = Button(area={'cn': (324, 356, 407, 439), 'en': (324, 356, 407, 439), 'jp': (324, 356, 407, 439), 'tw': (324, 356, 407, 439)}, color={'cn': (44, 65, 88), 'en': (44, 65, 88), 'jp': (44, 65, 88), 'tw': (44, 65, 88)}, button={'cn': (324, 356, 407, 439), 'en': (324, 356, 407, 439), 'jp': (324, 356, 407, 439), 'tw': (324, 356, 407, 439)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_0.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_0.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_0.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_0.png'}) +EQUIPMENT_CODE_EQUIP_1 = Button(area={'cn': (424, 356, 507, 439), 'en': (424, 356, 507, 439), 'jp': (424, 356, 507, 439), 'tw': (424, 356, 507, 439)}, color={'cn': (43, 65, 88), 'en': (43, 65, 88), 'jp': (43, 65, 88), 'tw': (43, 65, 88)}, button={'cn': (424, 356, 507, 439), 'en': (424, 356, 507, 439), 'jp': (424, 356, 507, 439), 'tw': (424, 356, 507, 439)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_1.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_1.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_1.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_1.png'}) +EQUIPMENT_CODE_EQUIP_2 = Button(area={'cn': (524, 356, 607, 439), 'en': (524, 356, 607, 439), 'jp': (524, 356, 607, 439), 'tw': (524, 356, 607, 439)}, color={'cn': (43, 66, 89), 'en': (43, 66, 89), 'jp': (43, 66, 89), 'tw': (43, 66, 89)}, button={'cn': (524, 356, 607, 439), 'en': (524, 356, 607, 439), 'jp': (524, 356, 607, 439), 'tw': (524, 356, 607, 439)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_2.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_2.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_2.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_2.png'}) +EQUIPMENT_CODE_EQUIP_3 = Button(area={'cn': (624, 356, 707, 439), 'en': (624, 356, 707, 439), 'jp': (624, 356, 707, 439), 'tw': (624, 356, 707, 439)}, color={'cn': (40, 62, 87), 'en': (40, 62, 87), 'jp': (40, 62, 87), 'tw': (40, 62, 87)}, button={'cn': (624, 356, 707, 439), 'en': (624, 356, 707, 439), 'jp': (624, 356, 707, 439), 'tw': (624, 356, 707, 439)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_3.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_3.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_3.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_3.png'}) +EQUIPMENT_CODE_EQUIP_4 = Button(area={'cn': (724, 356, 807, 439), 'en': (724, 356, 807, 439), 'jp': (724, 356, 807, 439), 'tw': (724, 356, 807, 439)}, color={'cn': (40, 63, 87), 'en': (40, 63, 87), 'jp': (40, 63, 87), 'tw': (40, 63, 87)}, button={'cn': (724, 356, 807, 439), 'en': (724, 356, 807, 439), 'jp': (724, 356, 807, 439), 'tw': (724, 356, 807, 439)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_4.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_4.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_4.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_4.png'}) +EQUIPMENT_CODE_EQUIP_5 = Button(area={'cn': (823, 355, 916, 440), 'en': (823, 355, 916, 440), 'jp': (823, 355, 916, 440), 'tw': (823, 355, 916, 440)}, color={'cn': (55, 79, 104), 'en': (55, 79, 104), 'jp': (55, 79, 104), 'tw': (55, 79, 104)}, button={'cn': (823, 355, 916, 440), 'en': (823, 355, 916, 440), 'jp': (823, 355, 916, 440), 'tw': (823, 355, 916, 440)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_5.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5.png'}) +EQUIPMENT_CODE_EQUIP_5_LOCKED = Button(area={'cn': (823, 355, 916, 440), 'en': (823, 355, 916, 440), 'jp': (823, 355, 916, 440), 'tw': (823, 355, 916, 440)}, color={'cn': (65, 84, 107), 'en': (65, 84, 107), 'jp': (65, 84, 107), 'tw': (65, 84, 107)}, button={'cn': (823, 355, 916, 440), 'en': (823, 355, 916, 440), 'jp': (823, 355, 916, 440), 'tw': (823, 355, 916, 440)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EQUIP_5_LOCKED.png'}) +EQUIPMENT_CODE_EXPORT = Button(area={'cn': (1000, 200, 1121, 241), 'en': (1000, 200, 1121, 241), 'jp': (1000, 200, 1121, 241), 'tw': (1000, 200, 1121, 241)}, color={'cn': (81, 138, 203), 'en': (88, 144, 206), 'jp': (92, 145, 205), 'tw': (85, 140, 204)}, button={'cn': (1000, 200, 1121, 241), 'en': (1000, 200, 1121, 241), 'jp': (1000, 200, 1121, 241), 'tw': (1000, 200, 1121, 241)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_EXPORT.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_EXPORT.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_EXPORT.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_EXPORT.png'}) +EQUIPMENT_CODE_PAGE_CHECK = Button(area={'cn': (1000, 113, 1050, 160), 'en': (1000, 113, 1050, 160), 'jp': (1000, 113, 1050, 160), 'tw': (1000, 113, 1050, 160)}, color={'cn': (102, 122, 154), 'en': (102, 122, 154), 'jp': (102, 122, 154), 'tw': (102, 122, 154)}, button={'cn': (1000, 113, 1050, 160), 'en': (1000, 113, 1050, 160), 'jp': (1000, 113, 1050, 160), 'tw': (1000, 113, 1050, 160)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_PAGE_CHECK.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_PAGE_CHECK.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_PAGE_CHECK.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_PAGE_CHECK.png'}) +EQUIPMENT_CODE_TEXTBOX = Button(area={'cn': (446, 668, 834, 706), 'en': (444, 667, 836, 707), 'jp': (444, 667, 836, 707), 'tw': (444, 667, 836, 707)}, color={'cn': (45, 47, 60), 'en': (47, 50, 62), 'jp': (48, 51, 63), 'tw': (45, 48, 60)}, button={'cn': (446, 668, 834, 706), 'en': (444, 667, 836, 707), 'jp': (444, 667, 836, 707), 'tw': (444, 667, 836, 707)}, file={'cn': './assets/cn/equipment/EQUIPMENT_CODE_TEXTBOX.png', 'en': './assets/en/equipment/EQUIPMENT_CODE_TEXTBOX.png', 'jp': './assets/jp/equipment/EQUIPMENT_CODE_TEXTBOX.png', 'tw': './assets/tw/equipment/EQUIPMENT_CODE_TEXTBOX.png'}) EQUIPMENT_OPEN = Button(area={'cn': (1166, 91, 1203, 110), 'en': (1162, 92, 1211, 107), 'jp': (1167, 91, 1202, 110), 'tw': (1165, 91, 1203, 110)}, color={'cn': (128, 178, 223), 'en': (102, 157, 212), 'jp': (133, 181, 225), 'tw': (132, 180, 222)}, button={'cn': (1166, 91, 1203, 110), 'en': (1162, 92, 1211, 107), 'jp': (1167, 91, 1202, 110), 'tw': (1165, 91, 1203, 110)}, file={'cn': './assets/cn/equipment/EQUIPMENT_OPEN.png', 'en': './assets/en/equipment/EQUIPMENT_OPEN.png', 'jp': './assets/jp/equipment/EQUIPMENT_OPEN.png', 'tw': './assets/tw/equipment/EQUIPMENT_OPEN.png'}) EQUIPMENT_SCROLL_BOTTOM = Button(area={'cn': (1256, 575, 1264, 583), 'en': (1256, 575, 1264, 583), 'jp': (1256, 575, 1264, 583), 'tw': (1256, 575, 1264, 583)}, color={'cn': (244, 209, 66), 'en': (244, 209, 66), 'jp': (244, 209, 66), 'tw': (244, 209, 66)}, button={'cn': (1256, 575, 1264, 583), 'en': (1256, 575, 1264, 583), 'jp': (1256, 575, 1264, 583), 'tw': (1256, 575, 1264, 583)}, file={'cn': './assets/cn/equipment/EQUIPMENT_SCROLL_BOTTOM.png', 'en': './assets/en/equipment/EQUIPMENT_SCROLL_BOTTOM.png', 'jp': './assets/jp/equipment/EQUIPMENT_SCROLL_BOTTOM.png', 'tw': './assets/tw/equipment/EQUIPMENT_SCROLL_BOTTOM.png'}) EQUIPPING_OFF = Button(area={'cn': (25, 565, 60, 589), 'en': (30, 585, 59, 605), 'jp': (25, 565, 60, 589), 'tw': (25, 565, 60, 589)}, color={'cn': (94, 101, 104), 'en': (65, 70, 96), 'jp': (94, 101, 104), 'tw': (94, 101, 104)}, button={'cn': (25, 565, 60, 589), 'en': (30, 585, 59, 605), 'jp': (25, 565, 60, 589), 'tw': (25, 565, 60, 589)}, file={'cn': './assets/cn/equipment/EQUIPPING_OFF.png', 'en': './assets/en/equipment/EQUIPPING_OFF.png', 'jp': './assets/jp/equipment/EQUIPPING_OFF.png', 'tw': './assets/tw/equipment/EQUIPPING_OFF.png'}) From 892889174d87bb9403a630067f827f7b40512a49 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Fri, 27 Mar 2026 16:06:47 +0800 Subject: [PATCH 04/12] Add: config for equipment code --- module/config/argument/argument.yaml | 6 ++++++ module/config/config_generated.py | 4 ++++ module/config/i18n/en-US.json | 14 ++++++++++++++ module/config/i18n/ja-JP.json | 14 ++++++++++++++ module/config/i18n/zh-CN.json | 14 ++++++++++++++ module/config/i18n/zh-TW.json | 14 ++++++++++++++ 6 files changed, 66 insertions(+) diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 77fc24e659..7a5e48fece 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -275,6 +275,12 @@ GemsFarming: value: any option: [ any, favourite, aulick_or_foote , cassin_or_downes, z20_or_z21 ] CommissionLimit: true +EquipmentCode: + ExportToConfig: true + Config: + type: textarea + mode: yaml + value: |- # ==================== Event ==================== diff --git a/module/config/config_generated.py b/module/config/config_generated.py index e698e9877a..c860da6e1a 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -153,6 +153,10 @@ class GeneratedConfig: GemsFarming_CommonDD = 'any' # any, favourite, aulick_or_foote, cassin_or_downes, z20_or_z21 GemsFarming_CommissionLimit = True + # Group `EquipmentCode` + EquipmentCode_ExportToConfig = True + EquipmentCode_Config = None + # Group `EventGeneral` EventGeneral_PtLimit = 0 EventGeneral_TimeLimit = datetime.datetime(2020, 1, 1, 0, 0) diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 681204ff5f..9ecd039f55 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -1218,6 +1218,20 @@ "help": "When running 7x24, prevent having a lot of urgent commissions and not being able to complete daily commissions. It is recommended to select only short-terms and high-yields in the commission filter" } }, + "EquipmentCode": { + "_info": { + "name": "Gear Code", + "help": "" + }, + "ExportToConfig": { + "name": "Export to config", + "help": "Only exports if corresponding key has no value. Delete specific row to trigger later update." + }, + "Config": { + "name": "Gear code config", + "help": "Format is yaml" + } + }, "EventGeneral": { "_info": { "name": "Event General Settings", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index db515ad108..279a333b72 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -1218,6 +1218,20 @@ "help": "GemsFarming.CommissionLimit.help" } }, + "EquipmentCode": { + "_info": { + "name": "EquipmentCode._info.name", + "help": "EquipmentCode._info.help" + }, + "ExportToConfig": { + "name": "EquipmentCode.ExportToConfig.name", + "help": "EquipmentCode.ExportToConfig.help" + }, + "Config": { + "name": "EquipmentCode.Config.name", + "help": "EquipmentCode.Config.help" + } + }, "EventGeneral": { "_info": { "name": "EventGeneral._info.name", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 07bac69f12..2160d58b97 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -1218,6 +1218,20 @@ "help": "在7x24运行时防止紧急委托数量过多做不完每日委托,建议在委托过滤器仅选择短时长高收益委托" } }, + "EquipmentCode": { + "_info": { + "name": "装备码", + "help": "" + }, + "ExportToConfig": { + "name": "导出配置", + "help": "若原本对应字段有值则不会更新,请通过删除配置中对应字段来触发更新" + }, + "Config": { + "name": "具体配置", + "help": "格式为yaml" + } + }, "EventGeneral": { "_info": { "name": "活动通用设置", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 51f8d664a0..af981620a2 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -1218,6 +1218,20 @@ "help": "在7x24運行時防止緊急委託數量過多做不完每日委託,建議在委託過濾器僅選擇短時長高收益委託" } }, + "EquipmentCode": { + "_info": { + "name": "裝備碼", + "help": "" + }, + "ExportToConfig": { + "name": "導出配置", + "help": "若原本對應欄位有值則不會更新,請透過刪除配置中對應欄位來觸發更新" + }, + "Config": { + "name": "具體配置", + "help": "格式為yaml" + } + }, "EventGeneral": { "_info": { "name": "活動通用設定", From fa2ea7d92d00458f7341416da5cfc0acf6af16bb Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Fri, 27 Mar 2026 16:38:03 +0800 Subject: [PATCH 05/12] Add: class EquipmentCodeHandler --- module/equipment/equipment.py | 246 +++++++++++++++-------------- module/equipment/equipment_code.py | 197 +++++++++++++++++++++++ 2 files changed, 323 insertions(+), 120 deletions(-) create mode 100644 module/equipment/equipment_code.py diff --git a/module/equipment/equipment.py b/module/equipment/equipment.py index 9b45de34e4..a015a13534 100644 --- a/module/equipment/equipment.py +++ b/module/equipment/equipment.py @@ -2,9 +2,9 @@ from module.base.decorator import cached_property from module.base.timer import Timer from module.equipment.assets import * +from module.equipment.equipment_code import EquipmentCodeHandler from module.logger import logger from module.retire.assets import DOCK_CHECK, EQUIP_CONFIRM as RETIRE_EQUIP_CONFIRM -from module.storage.storage import StorageHandler from module.ui.assets import BACK_ARROW from module.ui.navbar import Navbar @@ -14,7 +14,7 @@ EQUIPMENT_OPEN.match = EQUIPMENT_OPEN.match_luma -class Equipment(StorageHandler): +class Equipment(EquipmentCodeHandler): equipment_has_take_on = False def _ship_view_swipe(self, distance, check_button=EQUIPMENT_OPEN): @@ -159,121 +159,127 @@ def ship_side_navbar_ensure(self, upper=None, bottom=None): return True return False - def ship_equipment_take_off(self, skip_first_screenshot=True): - logger.info('Equipment take off') - bar_timer = Timer(5) - off_timer = Timer(5) - confirm_timer = Timer(5) - - while 1: - if skip_first_screenshot: - skip_first_screenshot = False - else: - self.device.screenshot() - - # End - # if self.handle_info_bar(): - # break - if off_timer.started() and self.info_bar_count(): - break - - if self.handle_storage_full(): - continue - - if confirm_timer.reached() and self.handle_popup_confirm('EQUIPMENT_TAKE_OFF'): - confirm_timer.reset() - off_timer.reset() - bar_timer.reset() - continue - - if off_timer.reached(): - if not self.info_bar_count() and self.appear_then_click(EQUIP_OFF, offset=(20, 20)): - off_timer.reset() - bar_timer.reset() - continue - - if bar_timer.reached(): - if self.appear(EQUIPMENT_OPEN, offset=(20, 20)) and not self.appear(EQUIP_OFF, offset=(20, 20)): - self.device.click(EQUIPMENT_OPEN) - bar_timer.reset() - continue - - logger.info('Equipment take off ended') - - def fleet_equipment_take_off(self, enter, long_click, out): - """ - Args: - enter (Button): Button to edit equipment. - long_click (bool): How to click enter - out (Button): Button to confirm exit success. - """ - logger.hr('Equipment take off') - self.ship_info_enter(enter, long_click=long_click) - - while True: - self.ship_equipment_take_off() - self.ui_click(EQUIPMENT_CLOSE, check_button=EQUIPMENT_OPEN, skip_first_screenshot=True) - if not self.ship_view_next(): - break - - self.ui_back(out) - self.equipment_has_take_on = False - - def ship_equipment_take_on_preset(self, index, skip_first_screenshot=True): - logger.info('Equipment take on preset') - bar_timer = Timer(5) - on_timer = Timer(5) - - while 1: - if skip_first_screenshot: - skip_first_screenshot = False - else: - self.device.screenshot() - - # End - # if self.handle_info_bar(): - # break - if on_timer.started() and self.info_bar_count(): - break - - if bar_timer.reached() and not self.appear(EQUIP_1, offset=10): - self.device.click(EQUIPMENT_OPEN) - # self.device.sleep(0.3) - bar_timer.reset() - continue - - if on_timer.reached() and self.appear(EQUIP_1, offset=10) and not self.info_bar_count(): - if index == 1: - self.device.click(EQUIP_1) - elif index == 2: - self.device.click(EQUIP_2) - elif index == 3: - self.device.click(EQUIP_3) - - on_timer.reset() - bar_timer.reset() - continue - - logger.info('Equipment take on ended') - - def fleet_equipment_take_on_preset(self, preset_record, enter, long_click, out): - """ - Args: - preset_record (list[int]): list of equipment record. [3, 1, 1, 1, 1, 1] - enter (Button): Button to edit equipment. - long_click (bool): How to click enter - out (Button): Button to confirm exit success. - """ - logger.hr('Equipment take on') - self.ship_info_enter(enter, long_click=long_click) - - for index in '9'.join([str(x) for x in preset_record if x > 0]): - index = int(index) - if index == 9: - self.ship_view_next() - else: - self.ship_equipment_take_on_preset(index=index) - self.ui_click(EQUIPMENT_CLOSE, check_button=EQUIPMENT_OPEN, skip_first_screenshot=True) - - self.ui_back(out) - self.equipment_has_take_on = True + def ship_equipment_take_off(self, name=None): + self.code_clear(name=name) + + def ship_equipment_take_on(self, name=None): + self.code_apply(name=name) + + # def ship_equipment_take_off(self, skip_first_screenshot=True): + # logger.info('Equipment take off') + # bar_timer = Timer(5) + # off_timer = Timer(5) + # confirm_timer = Timer(5) + + # while 1: + # if skip_first_screenshot: + # skip_first_screenshot = False + # else: + # self.device.screenshot() + + # # End + # # if self.handle_info_bar(): + # # break + # if off_timer.started() and self.info_bar_count(): + # break + + # if self.handle_storage_full(): + # continue + + # if confirm_timer.reached() and self.handle_popup_confirm('EQUIPMENT_TAKE_OFF'): + # confirm_timer.reset() + # off_timer.reset() + # bar_timer.reset() + # continue + + # if off_timer.reached(): + # if not self.info_bar_count() and self.appear_then_click(EQUIP_OFF, offset=(20, 20)): + # off_timer.reset() + # bar_timer.reset() + # continue + + # if bar_timer.reached(): + # if self.appear(EQUIPMENT_OPEN, offset=(20, 20)) and not self.appear(EQUIP_OFF, offset=(20, 20)): + # self.device.click(EQUIPMENT_OPEN) + # bar_timer.reset() + # continue + + # logger.info('Equipment take off ended') + + # def fleet_equipment_take_off(self, enter, long_click, out): + # """ + # Args: + # enter (Button): Button to edit equipment. + # long_click (bool): How to click enter + # out (Button): Button to confirm exit success. + # """ + # logger.hr('Equipment take off') + # self.ship_info_enter(enter, long_click=long_click) + + # while True: + # self.ship_equipment_take_off() + # self.ui_click(EQUIPMENT_CLOSE, check_button=EQUIPMENT_OPEN, skip_first_screenshot=True) + # if not self.ship_view_next(): + # break + + # self.ui_back(out) + # self.equipment_has_take_on = False + + # def ship_equipment_take_on_preset(self, index, skip_first_screenshot=True): + # logger.info('Equipment take on preset') + # bar_timer = Timer(5) + # on_timer = Timer(5) + + # while 1: + # if skip_first_screenshot: + # skip_first_screenshot = False + # else: + # self.device.screenshot() + + # # End + # # if self.handle_info_bar(): + # # break + # if on_timer.started() and self.info_bar_count(): + # break + + # if bar_timer.reached() and not self.appear(EQUIP_1, offset=10): + # self.device.click(EQUIPMENT_OPEN) + # # self.device.sleep(0.3) + # bar_timer.reset() + # continue + + # if on_timer.reached() and self.appear(EQUIP_1, offset=10) and not self.info_bar_count(): + # if index == 1: + # self.device.click(EQUIP_1) + # elif index == 2: + # self.device.click(EQUIP_2) + # elif index == 3: + # self.device.click(EQUIP_3) + + # on_timer.reset() + # bar_timer.reset() + # continue + + # logger.info('Equipment take on ended') + + # def fleet_equipment_take_on_preset(self, preset_record, enter, long_click, out): + # """ + # Args: + # preset_record (list[int]): list of equipment record. [3, 1, 1, 1, 1, 1] + # enter (Button): Button to edit equipment. + # long_click (bool): How to click enter + # out (Button): Button to confirm exit success. + # """ + # logger.hr('Equipment take on') + # self.ship_info_enter(enter, long_click=long_click) + + # for index in '9'.join([str(x) for x in preset_record if x > 0]): + # index = int(index) + # if index == 9: + # self.ship_view_next() + # else: + # self.ship_equipment_take_on_preset(index=index) + # self.ui_click(EQUIPMENT_CLOSE, check_button=EQUIPMENT_OPEN, skip_first_screenshot=True) + + # self.ui_back(out) + # self.equipment_has_take_on = True diff --git a/module/equipment/equipment_code.py b/module/equipment/equipment_code.py new file mode 100644 index 0000000000..b3f61d9ba9 --- /dev/null +++ b/module/equipment/equipment_code.py @@ -0,0 +1,197 @@ +import yaml + +from module.equipment.assets import * +from module.logger import logger +from module.retire.assets import TEMPLATE_BOGUE, TEMPLATE_HERMES, TEMPLATE_RANGER, TEMPLATE_LANGLEY +from module.storage.assets import EQUIPMENT_FULL +from module.storage.storage import StorageHandler + +EMPTY_CODE = "MC8wLzAvMC8wXDA=" +EQUIPMENT_PREVIEW = list([ + EQUIPMENT_CODE_EQUIP_0, + EQUIPMENT_CODE_EQUIP_1, + EQUIPMENT_CODE_EQUIP_2, + EQUIPMENT_CODE_EQUIP_3, + EQUIPMENT_CODE_EQUIP_4, + EQUIPMENT_CODE_EQUIP_5, +]) + +class EquipmentCodeHandler(StorageHandler): + last_code: str = None + + def get_code(self, name): + try: + config = {} + for item in yaml.safe_load_all(self.config.EquipmentCode_Config): + config.update(item) + except Exception: + logger.error("Fail to load equipment code config") + return None + try: + name: str = config.pop(name) + return name + except Exception: + logger.error(f"Config does not contain equipment code for {name}") + return None + + def set_code(self, name, code): + config = {} + try: + for item in yaml.safe_load_all(self.config.EquipmentCode_Config): + config.update(item) + except Exception: + pass + try: + config.update({name: code}) + config_yaml = yaml.safe_dump(config) + self.config.EquipmentCode_Config = config_yaml + except Exception: + logger.error("Fail to set equipment code config") + + def current_ship(self): + """ + Currently, only supports common CV recognization + + Pages: + in: equipment_code + """ + for _ in self.loop(): + if not self.appear(EMPTY_SHIP_R): + break + if TEMPLATE_BOGUE.match(self.device.image, scaling=1.46): # image has rotation + return 'bogue' + elif TEMPLATE_HERMES.match(self.device.image, scaling=124 / 89): + return 'hermes' + elif TEMPLATE_RANGER.match(self.device.image, scaling=4 / 3): + return 'ranger' + elif TEMPLATE_LANGLEY.match(self.device.image, scaling=25 / 21): + return 'langley' + else: + return 'DD' + + def _code_enter(self): + """ + Pages: + in: ship_detail + out: equipment_code + """ + for _ in self.loop(): + if self.appear(EQUIPMENT_CODE_PAGE_CHECK, offset=(5, 5)): + break + + if self.appear_then_click(EQUIPMENT_CODE_ENTRANCE, offset=(5, 5)): + continue + + def _code_exit(self): + """ + Pages: + in: equipment_code + out: ship_detail + """ + self.ui_back(check_button=EQUIPMENT_CODE_ENTRANCE) + + def is_code_preview_loaded(self): + if self.appear(EQUIPMENT_CODE_EQUIP_5_LOCKED, offset=(5, 5)): + max_index = 5 + else: + max_index = 6 + for index in range(max_index): + if not self.appear(EQUIPMENT_PREVIEW[index], offset=(5, 5)): + return True + + return False + + def _code_preview_clear(self): + for _ in self.loop(timeout=2): + if not self.is_code_preview_loaded(): + return True + + if self.appear_then_click(EQUIPMENT_CODE_CLEAR, offset=(5, 5)): + continue + else: + return False + + def _code_input(self, code): + logger.info(f"Code input: {code}") + d = self.device.u2 + for _ in self.loop(timeout=10): + _, shown = d.current_ime() + if shown: + break + self.device.click(EQUIPMENT_CODE_TEXTBOX) + else: + logger.warning("Equipment code load failed") + return False + d.send_keys(text=code, clear=True) + d.send_action(code="done") + self.device.sleep((0.3, 0.5)) + for _ in self.loop(timeout=10, skip_first=False): + _, shown = d.current_ime() + if shown: + continue + if self.is_code_preview_loaded(): + return True + if self.appear_then_click(EQUIPMENT_CODE_ENTER, offset=(5, 5), interval=3): + continue + else: + logger.warning("Equipment code load failed") + return False + + def _code_confirm(self): + logger.info("Code apply") + for _ in self.loop(timeout=10): + if self.appear(EQUIPMENT_CODE_ENTRANCE, offset=(5, 5)): + return True + if self.appear(EQUIPMENT_FULL, offset=(30, 30)): + return False + if self.handle_popup_confirm("EQUIPMENT_CODE"): + continue + if self.appear_then_click(EQUIPMENT_CODE_CONFIRM, offset=(5, 5), interval=3): + continue + else: + return False + + def _code_apply(self, code=None): + for _ in range(5): + self._code_preview_clear() + if code is not None and code != EMPTY_CODE: + success = self._code_input(code) + if not success: + continue + success = self._code_confirm() + if success: + logger.info("Equipment code apply complete.") + return True + else: + self.handle_storage_full() + else: + return False + + def _code_export(self): + self.handle_info_bar() + d = self.device.u2 + for _ in self.loop(timeout=10): + if self.info_bar_count(): + break + if self.appear_then_click(EQUIPMENT_CODE_EXPORT, offset=(5, 5), interval=3): + continue + code = d.clipboard + return code + + def code_clear(self, name=None): + self._code_enter() + if name is None: + name = self.current_ship() + if self.config.EquipmentCode_ExportToConfig and self.get_code(name=name) is None: + self.last_code = self._code_export() + self.set_code(name=name, code=self.last_code) + self._code_apply(code=None) + + def code_apply(self, name=None): + self._code_enter() + if name is None: + name = self.current_ship() + code = self.get_code(name=name) + if code is None: + code = self.last_code + self._code_apply(code=code) \ No newline at end of file From 71bf119e8b304f35339b36d4773916fceed46bc4 Mon Sep 17 00:00:00 2001 From: guoh064 Date: Thu, 2 Apr 2026 15:12:58 +0800 Subject: [PATCH 06/12] Add: config for equipment code in GemsFarming --- config/template.json | 5 +++++ module/config/argument/args.json | 22 +++++++++++++++++++++- module/config/argument/argument.yaml | 5 ++++- module/config/argument/default.yaml | 9 +++++++++ module/config/argument/task.yaml | 1 + module/config/config_generated.py | 3 ++- module/config/i18n/en-US.json | 9 ++++++++- module/config/i18n/ja-JP.json | 9 ++++++++- module/config/i18n/zh-CN.json | 9 ++++++++- module/config/i18n/zh-TW.json | 9 ++++++++- 10 files changed, 74 insertions(+), 7 deletions(-) diff --git a/config/template.json b/config/template.json index 7ec2175f70..746d733545 100644 --- a/config/template.json +++ b/config/template.json @@ -309,11 +309,16 @@ "ServerUpdate": "00:00" }, "GemsFarming": { + "ChangeFlagship": "ship", "CommonCV": "any", "ChangeVanguard": "ship", "CommonDD": "any", "CommissionLimit": true }, + "EquipmentCode": { + "ExportToConfig": true, + "Config": "DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null" + }, "Campaign": { "Name": "12-4", "Event": "campaign_main", diff --git a/module/config/argument/args.json b/module/config/argument/args.json index d9cc5ef904..2f6ac49b1a 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -1597,6 +1597,14 @@ } }, "GemsFarming": { + "ChangeFlagship": { + "type": "select", + "value": "ship", + "option": [ + "ship", + "ship_equip" + ] + }, "CommonCV": { "type": "select", "value": "any", @@ -1613,7 +1621,8 @@ "value": "ship", "option": [ "disabled", - "ship" + "ship", + "ship_equip" ] }, "CommonDD": { @@ -1632,6 +1641,17 @@ "value": true } }, + "EquipmentCode": { + "ExportToConfig": { + "type": "checkbox", + "value": true + }, + "Config": { + "type": "textarea", + "value": "DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null", + "mode": "yaml" + } + }, "Campaign": { "Name": { "type": "input", diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 7a5e48fece..c4e543cf8d 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -265,12 +265,15 @@ C124LargeLeveling: value: 3 option: [ 3, 4, 5 ] GemsFarming: + ChangeFlagship: + value: ship + option: [ ship, ship_equip ] CommonCV: value: any option: [ any, langley, bogue, ranger, hermes ] ChangeVanguard: value: ship - option: [ disabled, ship ] + option: [ disabled, ship, ship_equip ] CommonDD: value: any option: [ any, favourite, aulick_or_foote , cassin_or_downes, z20_or_z21 ] diff --git a/module/config/argument/default.yaml b/module/config/argument/default.yaml index 1721c59690..402bde98d3 100644 --- a/module/config/argument/default.yaml +++ b/module/config/argument/default.yaml @@ -6,6 +6,15 @@ # ==================== Farm ==================== +GemsFarming: + EquipmentCode: + Config: |- + DD: null + bogue: null + hermes: null + langley: null + ranger: null + # ==================== Event ==================== EventA: diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index c6f20bb00d..7753889eb2 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -58,6 +58,7 @@ Farm: GemsFarming: - Scheduler - GemsFarming + - EquipmentCode - Campaign - StopCondition - Fleet diff --git a/module/config/config_generated.py b/module/config/config_generated.py index c860da6e1a..79225d51e5 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -148,8 +148,9 @@ class GeneratedConfig: C124LargeLeveling_PickupAmmo = 3 # 3, 4, 5 # Group `GemsFarming` + GemsFarming_ChangeFlagship = 'ship' # ship, ship_equip GemsFarming_CommonCV = 'any' # any, langley, bogue, ranger, hermes - GemsFarming_ChangeVanguard = 'ship' # disabled, ship + GemsFarming_ChangeVanguard = 'ship' # disabled, ship, ship_equip GemsFarming_CommonDD = 'any' # any, favourite, aulick_or_foote, cassin_or_downes, z20_or_z21 GemsFarming_CommissionLimit = True diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 9ecd039f55..6e9369fb96 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -1189,6 +1189,12 @@ "name": "Commission Farming Settings", "help": "Warning: This task allows players to get a small amount of gems, but not an efficient way to farm.\nPlayers who have recently started Azur Lane are easily superstitious about 0LB and low oil consumption, while being ignorant about character leveling.\nRunning this function will only make you feel fulfilled however in reality your account will not actually progress very much.\nThe main purpose of this task is to get extra cubes for players with a formed lineup. Please rationally treat gems as a by-product.\n\nFleet 1 is expected to consist of 1 0LB CV/CVL and 1 0LB Vanguard, Fleet 2 is expected to consist of support ships such as New Jersey or Shinano to provide external battle assistance.\nFor information about the drop mechanism/rate of urgent commissions, you can refer to (in Chinese Simplified)" }, + "ChangeFlagship": { + "name": "Change Flagship", + "help": "Change flagship if flagship level >= 32 or either flagship or vanguard are emotion exhausted. If you choose not to change, your fleet will ignore the low emotion warning and continue combat.\nSwitch out to new common CV/CVL whose level is in range of 1 to 31, after current has reached level 32+. Meanwhile, abandoned flagships will be retired. Any common CV/CVL whose level is 2+ will be regarded as targets. Do confirm that your own ships which is not a target has been locked\n\nThe flagship's equipment is replaced when being switched out by first recording the current setup\nOnly populated equipment slots will be replaced. If the CV/CVL preference has been configured, all 5 slots will be populated otherwise only the auxiliary slots will be populated.", + "ship": "Change Ship", + "ship_equip": "Change Ship + Gears" + }, "CommonCV": { "name": "Flagship Common CV/CVL Preference", "help": "", @@ -1202,7 +1208,8 @@ "name": "Change Vanguard", "help": "Change vanguard if flagship or vanguard are emotion exhausted. If you choose not to change, your fleet will ignore the low emotion warning and continue combat.\nSwitch out to new level 100(70) common vanguard from eagle or ironblood after current flagship has reached level 32+ (Only CN players'0 limit break ship can reach level 100)\n\nThe vanguard's equipment is replaced when being switched out by first recording the current setup. Only populated equipment slots will be replaced.", "disabled": "Don't Change", - "ship": "Change Ship" + "ship": "Change Ship", + "ship_equip": "Change Ship + Gears" }, "CommonDD": { "name": "Flagship Common DD Preference", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 279a333b72..6d2cb06fb1 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -1189,6 +1189,12 @@ "name": "GemsFarming._info.name", "help": "GemsFarming._info.help" }, + "ChangeFlagship": { + "name": "GemsFarming.ChangeFlagship.name", + "help": "GemsFarming.ChangeFlagship.help", + "ship": "ship", + "ship_equip": "ship_equip" + }, "CommonCV": { "name": "GemsFarming.CommonCV.name", "help": "GemsFarming.CommonCV.help", @@ -1202,7 +1208,8 @@ "name": "GemsFarming.ChangeVanguard.name", "help": "GemsFarming.ChangeVanguard.help", "disabled": "disabled", - "ship": "ship" + "ship": "ship", + "ship_equip": "ship_equip" }, "CommonDD": { "name": "GemsFarming.CommonDD.name", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 2160d58b97..ea160e62ae 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -1189,6 +1189,12 @@ "name": "刷紧急委托", "help": "警告: 这个功能可以让玩家获取少量的钻石,但不是一个能高效获取钻石的方法\n玩碧蓝航线不久的玩家, 很容易迷信零破和低耗等, 而忽视了角色养成\n运行这个功能只会让你自己感觉很充实, 而你的帐号实际零提升\n这个功能的主要用途,是让阵容成型的玩家获取额外的魔方,请理性地把钻石当作副产物\n\n这个功能将在旗舰32级之后更换旗舰\n关于紧急委托刷新机制, 可阅读 https://bbs.nga.cn/read.php?tid=27134956\n委托油耗比: A3 > A1 > 2-4 > 2-1, 有活动图时建议选活动图, 2-1会拣问号有更多物资\n一队会完成所有的战斗, 前排应当为百级零破驱逐带输出装, 后排应该为33级及以下白皮零破航母\n二队应提供跨队支援(跨队弹幕、跨队辅助)" }, + "ChangeFlagship": { + "name": "更换旗舰", + "help": "当旗舰等级>=32或红脸时更换旗舰\n寻找等级在1-31之间的白皮航母,同时会在退役时选择更换下来的旗舰。所有等级大于1级的白皮航母均会被视为退役目标,请务必锁定不是目标的船。换船时更换旗舰装备,这通过记录之前的装备完成。\n\n换装备只会更换正在装备中的栏位,即使是白装也会更换。如果指定了旗舰,则会更换全部5个装备,未指定旗舰只会更换设备。", + "ship": "更换舰船", + "ship_equip": "更换舰船 + 装备" + }, "CommonCV": { "name": "指定旗舰航母", "help": "", @@ -1202,7 +1208,8 @@ "name": "更换前排", "help": "当前排红脸时更换前排,选择不更换则会强制红脸出击\n换前排通过找一艘心情不低于10、等级100的白鹰或铁血的白皮驱逐完成,所以尽量保证有足够多的驱逐。国服以外则为等级70的白鹰白船驱逐。\n\n换装备只会更换正在装备中的栏位,即使是白装也会更换。前排会更换全部5个装备。", "disabled": "不更换", - "ship": "更换舰船" + "ship": "更换舰船", + "ship_equip": "更换舰船 + 装备" }, "CommonDD": { "name": "指定前排", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index af981620a2..e3b8ca464f 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -1189,6 +1189,12 @@ "name": "刷緊急委託", "help": "警告:這個功能可以讓玩家獲取少量的鑽石,但不是一個能高效獲取鑽石的方法\n玩碧藍航線不久的玩家,很容易迷信零破和低耗等,而忽視了角色養成\n執行這個功能只會讓你自己感覺很充實,而你的帳號實際零提升\n這個功能的主要用途,是讓陣容成型的玩家獲取額外的魔方,請理性地把鑽石當作副產物\n\n這個功能將在旗艦32級之後更換旗艦\n關於緊急委託刷新機制,可閱讀 https://bbs.nga.cn/read.php?tid=27134956\n委託油耗比: A3 > A1 > 2-4 > 2-1,有活動圖時建議選活動圖,2-1會撿問號有更多物資\n一隊會完成所有的戰鬥,前排應當為百級零破驅逐帶輸出裝,後排應該為33級及以下白船零破航母\n二隊應提供跨隊支援(跨隊彈幕、跨隊輔助)" }, + "ChangeFlagship": { + "name": "更換旗艦", + "help": "當旗艦等級>=32或紅臉時更換旗艦\n尋找等級在1-31之間的白皮航母,同時會在退役時選擇更換下來的旗艦。所有等級大於1級的白船航母均會被視為退役目標,請務必鎖定不是目標的船。換船時更換旗艦裝備,這通過記錄之前的裝備完成。\n\n換裝備只會更換正在裝備中的欄位,即使是白裝也會更換。如果指定了旗艦,則會更換全部5個裝備,未指定旗艦隻會更換設備。", + "ship": "更換艦船", + "ship_equip": "更換艦船 + 裝備" + }, "CommonCV": { "name": "指定旗艦航母", "help": "", @@ -1202,7 +1208,8 @@ "name": "更換前排", "help": "當前排紅臉時更換前排,選擇不更換則會強制紅臉出擊\n換前排通過找一艘心情不低於10、等級70的白鷹或鐵血的白船驅逐完成,所以盡量保證有足夠多的驅逐。國服則為等級100的白鷹白船驅逐。\n\n換裝備只會更換正在裝備中的欄位,即使是白裝也會更換。前排會更換全部5個裝備。", "disabled": "不更换", - "ship": "更換艦船" + "ship": "更換艦船", + "ship_equip": "更換艦船 + 裝備" }, "CommonDD": { "name": "指定前排", From 08b6fdcac4e8ca719ce5685efed66220e84e760c Mon Sep 17 00:00:00 2001 From: guoh064 Date: Sat, 4 Apr 2026 04:26:27 +0800 Subject: [PATCH 07/12] Add: GemsFarming equipment change --- module/campaign/gems_farming.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index a9bd8f4851..e46cbd3052 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -74,10 +74,18 @@ class GemsCampaign(GemsCampaignOverride, self.module.Campaign): self.campaign.config.override(Emotion_Mode='ignore') self.campaign.config.override(EnemyPriority_EnemyScaleBalanceWeight='S1_enemy_first') + @property + def change_flagship_equip(self): + return 'equip' in self.config.GemsFarming_ChangeFlagship + @property def change_vanguard(self): return 'ship' in self.config.GemsFarming_ChangeVanguard + @property + def change_vanguard_equip(self): + return 'equip' in self.config.GemsFarming_ChangeVanguard + @property def max_level(self): if self.config.SERVER == 'cn': @@ -219,11 +227,24 @@ def flagship_change(self): bool: True if flagship changed. """ logger.hr('Change flagship', level=1) + logger.attr('ChangeFlagship', self.config.GemsFarming_ChangeFlagship) self.ui_goto_fleet() + if self.change_flagship_equip: + logger.hr('Unmount flagship equipments', level=2) + self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=True) + self.ship_equipment_take_off() + self.ui_leave_ship() + logger.hr('Change flagship', level=2) success = self.flagship_change_execute() + if self.change_flagship_equip: + logger.hr('Mount flagship equipments', level=2) + self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=True) + self.ship_equipment_take_on() + self.ui_leave_ship() + return success def get_dd_faction(self): @@ -315,9 +336,21 @@ def vanguard_change(self): logger.attr('ChangeVanguard', self.config.GemsFarming_ChangeVanguard) self.ui_goto_fleet() + if self.change_vanguard_equip: + logger.hr('Unmount vanguard equipments', level=2) + self.ui_enter_ship(FLEET_ENTER, long_click=True) + self.ship_equipment_take_off() + self.ui_leave_ship() + logger.hr('Change vanguard', level=2) success = self.vanguard_change_execute() + if self.change_vanguard_equip: + logger.hr('Mount vanguard equipments', level=2) + self.ui_enter_ship(FLEET_ENTER, long_click=True) + self.ship_equipment_take_on() + self.ui_leave_ship() + return success _trigger_lv32: bool = False From 2b5657f3e416691b4206eba71cb5f293763474d0 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Fri, 12 Sep 2025 13:46:40 +0800 Subject: [PATCH 08/12] Add: submarine support for GemsFarming --- config/template.json | 6 +++++ module/config/argument/args.json | 40 ++++++++++++++++++++++++++++ module/config/argument/override.yaml | 7 +++++ module/config/argument/task.yaml | 1 + 4 files changed, 54 insertions(+) diff --git a/config/template.json b/config/template.json index 746d733545..f7f5ab4211 100644 --- a/config/template.json +++ b/config/template.json @@ -348,6 +348,12 @@ "Fleet2Step": 2, "FleetOrder": "fleet1_all_fleet2_standby" }, + "Submarine": { + "Fleet": 0, + "Mode": "do_not_use", + "AutoSearchMode": "sub_standby", + "DistanceToBoss": "use_open_ocean_support" + }, "Storage": { "Storage": {} } diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 2f6ac49b1a..b9581d5031 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -1850,6 +1850,46 @@ "display": "display" } }, + "Submarine": { + "Fleet": { + "type": "select", + "value": 0, + "option": [ + 0, + 1, + 2 + ] + }, + "Mode": { + "type": "select", + "value": "do_not_use", + "option": [ + "do_not_use", + "hunt_only" + ], + "display": "display" + }, + "AutoSearchMode": { + "type": "select", + "value": "sub_standby", + "option": [ + "sub_standby", + "sub_auto_call" + ], + "display": "hide" + }, + "DistanceToBoss": { + "type": "select", + "value": "use_open_ocean_support", + "option": [ + "to_boss_position", + "1_grid_to_boss", + "2_grid_to_boss", + "use_open_ocean_support" + ], + "display": "hide" + } + }, "Storage": { "Storage": { "type": "storage", diff --git a/module/config/argument/override.yaml b/module/config/argument/override.yaml index 70c88aca19..2bd564ad4e 100644 --- a/module/config/argument/override.yaml +++ b/module/config/argument/override.yaml @@ -46,6 +46,13 @@ GemsFarming: display: display value: fleet1_all_fleet2_standby option: [ fleet1_all_fleet2_standby, fleet1_standby_fleet2_all ] + Submarine: + Mode: + display: display + value: do_not_use + option: [ do_not_use, hunt_only ] + AutoSearchMode: sub_standby + DistanceToBoss: use_open_ocean_support # ==================== Event ==================== diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index 7753889eb2..8bf4a1b3db 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -62,6 +62,7 @@ Farm: - Campaign - StopCondition - Fleet + - Submarine # ==================== Event ==================== From 08876838472103f0a0018ebbb57fa29ea3154a0a Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 9 Dec 2025 16:32:09 +0800 Subject: [PATCH 09/12] Add: config for emotion control in GemsFarming --- config/template.json | 13 +++++ module/config/argument/args.json | 84 ++++++++++++++++++++++++++++ module/config/argument/override.yaml | 8 +++ module/config/argument/task.yaml | 1 + 4 files changed, 106 insertions(+) diff --git a/config/template.json b/config/template.json index f7f5ab4211..66e8337ba6 100644 --- a/config/template.json +++ b/config/template.json @@ -348,6 +348,19 @@ "Fleet2Step": 2, "FleetOrder": "fleet1_all_fleet2_standby" }, + "Emotion": { + "Mode": "calculate_ignore", + "Fleet1Value": 119, + "Fleet1Record": "2020-01-01 00:00:00", + "Fleet1Control": "prevent_red_face", + "Fleet1Recover": "not_in_dormitory", + "Fleet1Oath": false, + "Fleet2Value": 119, + "Fleet2Record": "2020-01-01 00:00:00", + "Fleet2Control": "prevent_red_face", + "Fleet2Recover": "not_in_dormitory", + "Fleet2Oath": false + }, "Submarine": { "Fleet": 0, "Mode": "do_not_use", diff --git a/module/config/argument/args.json b/module/config/argument/args.json index b9581d5031..00d3d4ac65 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -1850,6 +1850,90 @@ "display": "display" } }, + "Emotion": { + "Mode": { + "type": "select", + "value": "calculate_ignore", + "option": [ + "calculate", + "ignore", + "calculate_ignore" + ], + "display": "hide" + }, + "Fleet1Value": { + "type": "input", + "value": 119 + }, + "Fleet1Record": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime", + "display": "disabled" + }, + "Fleet1Control": { + "type": "select", + "value": "prevent_red_face", + "option": [ + "keep_exp_bonus", + "prevent_green_face", + "prevent_yellow_face", + "prevent_red_face" + ], + "display": "hide" + }, + "Fleet1Recover": { + "type": "select", + "value": "not_in_dormitory", + "option": [ + "not_in_dormitory", + "dormitory_floor_1", + "dormitory_floor_2" + ], + "display": "hide" + }, + "Fleet1Oath": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "Fleet2Value": { + "type": "input", + "value": 119 + }, + "Fleet2Record": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime", + "display": "disabled" + }, + "Fleet2Control": { + "type": "select", + "value": "prevent_red_face", + "option": [ + "keep_exp_bonus", + "prevent_green_face", + "prevent_yellow_face", + "prevent_red_face" + ], + "display": "hide" + }, + "Fleet2Recover": { + "type": "select", + "value": "not_in_dormitory", + "option": [ + "not_in_dormitory", + "dormitory_floor_1", + "dormitory_floor_2" + ], + "display": "hide" + }, + "Fleet2Oath": { + "type": "checkbox", + "value": false, + "display": "hide" + } + }, "Submarine": { "Fleet": { "type": "select", diff --git a/module/config/argument/override.yaml b/module/config/argument/override.yaml index 2bd564ad4e..6d21227159 100644 --- a/module/config/argument/override.yaml +++ b/module/config/argument/override.yaml @@ -46,6 +46,14 @@ GemsFarming: display: display value: fleet1_all_fleet2_standby option: [ fleet1_all_fleet2_standby, fleet1_standby_fleet2_all ] + Emotion: + Mode: calculate_ignore + Fleet1Control: prevent_red_face + Fleet1Recover: not_in_dormitory + Fleet1Oath: false + Fleet2Control: prevent_red_face + Fleet2Recover: not_in_dormitory + Fleet2Oath: false Submarine: Mode: display: display diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index 8bf4a1b3db..65839eb908 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -62,6 +62,7 @@ Farm: - Campaign - StopCondition - Fleet + - Emotion - Submarine # ==================== Event ==================== From a0ad984ab3883cbea415dcccb1f7a0b98bb03c2f Mon Sep 17 00:00:00 2001 From: guoh064 Date: Sat, 4 Apr 2026 04:30:01 +0800 Subject: [PATCH 10/12] Add: GemsFarming emotion control --- module/campaign/gems_farming.py | 69 ++++++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 5 deletions(-) diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index e46cbd3052..07baf83e57 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -1,6 +1,12 @@ +from datetime import datetime + +import numpy as np + +from module.base.decorator import cached_property from module.campaign.campaign_base import CampaignBase from module.campaign.run import CampaignRun from module.combat.assets import BATTLE_PREPARATION +from module.combat.emotion import Emotion from module.equipment.assets import * from module.equipment.equipment import Equipment from module.exception import CampaignEnd @@ -63,15 +69,56 @@ def handle_combat_low_emotion(self): raise CampaignEnd('Emotion withdraw') +class GemsEmotion(Emotion): + def check_reduce(self, battle): + """ + Override Emotion.check_reduce to trigger stop condition when emotion is too low before battle. + """ + if not self.is_calculate: + return + + method = self.config.Fleet_FleetOrder + if method == 'fleet1_all_fleet2_standby': + battle = (battle, 0) + elif method == 'fleet1_standby_fleet2_all': + battle = (0, battle) + + battle = tuple(np.array(battle) * self.reduce_per_battle_before_entering) + logger.info(f'Expect emotion reduce: {battle}') + + self.update() + self.record() + self.show() + recovered = max([f.get_recovered(b) for f, b in zip(self.fleets, battle)]) + if recovered > datetime.now(): + self.config.GEMS_EMOTION_TRIGGERED = True + raise CampaignEnd('Emotion control') + + def wait(self, fleet_index): + """ + Override Emotion.wait to trigger stop condition when emotion is too low after battle. + """ + self.update() + self.record() + self.show() + fleet = self.fleets[fleet_index - 1] + recovered = fleet.get_recovered(expected_reduce=self.reduce_per_battle) + if recovered > datetime.now(): + self.config.GEMS_EMOTION_TRIGGERED = True + + class GemsFarming(CampaignRun, Dock): def load_campaign(self, name, folder='campaign_main'): super().load_campaign(name, folder) class GemsCampaign(GemsCampaignOverride, self.module.Campaign): - pass + @cached_property + def emotion(self): + return GemsEmotion(config=self.config) self.campaign = GemsCampaign(device=self.campaign.device, config=self.campaign.config) - self.campaign.config.override(Emotion_Mode='ignore') + if not self.change_vanguard: + self.campaign.config.override(Emotion_Mode='ignore') self.campaign.config.override(EnemyPriority_EnemyScaleBalanceWeight='S1_enemy_first') @property @@ -97,6 +144,8 @@ def max_level(self): def min_emotion(self): return (2 + self.campaign._map_battle) * self.campaign.emotion.reduce_per_battle + _new_fleet_emotion = 0 + @property def fleet_to_attack_index(self): if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all': @@ -205,9 +254,10 @@ def get_common_rarity_cv(self, max_level=31, min_emotion=0): def flagship_change_execute(self): self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=False) - candidate = self.get_common_rarity_cv() + candidate = self.get_common_rarity_cv(min_emotion=self.min_emotion) if candidate: ship = max(candidate, key=lambda s: (s.level, s.emotion)) + self._new_fleet_emotion = min(ship.emotion, self._new_fleet_emotion) if self._new_fleet_emotion else ship.emotion self.dock_select_one(ship.button) self.dock_reset() self.dock_select_confirm(check_button=page_fleet.check_button) @@ -215,6 +265,7 @@ def flagship_change_execute(self): return True logger.info('Change flagship failed, no CV in common rarity.') + self._new_fleet_emotion = 0 self.dock_reset() self.ui_leave_ship() return False @@ -314,6 +365,7 @@ def vanguard_change_execute(self): candidate = self.get_common_rarity_dd(min_emotion=self.min_emotion) if candidate: ship = max(candidate, key=lambda s: s.emotion) + self._new_fleet_emotion = min(ship.emotion, self._new_fleet_emotion) if self._new_fleet_emotion else ship.emotion self.dock_select_one(ship.button) self.dock_reset() self.dock_select_confirm(check_button=page_fleet.check_button) @@ -321,6 +373,7 @@ def vanguard_change_execute(self): return True logger.info('Change vanguard failed, no DD in common rarity.') + self._new_fleet_emotion = 0 self.dock_reset() self.ui_leave_ship() return False @@ -363,7 +416,7 @@ def triggered_stop_condition(self, oil_check=True): logger.hr('TRIGGERED LV32 LIMIT') return True - if self.campaign.map_is_auto_search and self.campaign.config.GEMS_EMOTION_TRIGGERED: + if self.campaign.config.GEMS_EMOTION_TRIGGERED: self._trigger_emotion = True logger.hr('TRIGGERED EMOTION LIMIT') return True @@ -387,17 +440,23 @@ def run(self, name, folder='campaign_main', mode='normal', total=0): try: super().run(name=name, folder=folder, total=total) except CampaignEnd as e: - if e.args[0] == 'Emotion withdraw': + if "Emotion" in e.args[0]: self._trigger_emotion = True else: raise e # End if self._trigger_lv32 or self._trigger_emotion: + self._new_fleet_emotion = 150 success = self.flagship_change() if self.change_vanguard: success = success and self.vanguard_change() + if self.fleet_to_attack == 2: + self.campaign.config.set_record(Emotion_Fleet2Value=self._new_fleet_emotion) + else: + self.campaign.config.set_record(Emotion_Fleet1Value=self._new_fleet_emotion) + if is_limit and self.config.StopCondition_RunCount <= 0: logger.hr('Triggered stop condition: Run count') self.config.StopCondition_RunCount = 0 From df449d729e86940aaaa449080b4f792d6ffc33e8 Mon Sep 17 00:00:00 2001 From: guoh064 Date: Thu, 2 Apr 2026 06:58:53 +0800 Subject: [PATCH 11/12] Add: assets for hard mode of GemsFarming --- assets/cn/equipment/FLEET_1_BACKLINE_1.png | Bin 0 -> 8617 bytes assets/cn/equipment/FLEET_1_BACKLINE_3.png | Bin 0 -> 8867 bytes assets/cn/equipment/FLEET_1_VANGUARD_1.png | Bin 0 -> 8676 bytes assets/cn/equipment/FLEET_1_VANGUARD_3.png | Bin 0 -> 8302 bytes assets/cn/equipment/FLEET_2_BACKLINE_1.png | Bin 0 -> 8579 bytes assets/cn/equipment/FLEET_2_BACKLINE_3.png | Bin 0 -> 8572 bytes assets/cn/equipment/FLEET_2_VANGUARD_1.png | Bin 0 -> 8351 bytes assets/cn/equipment/FLEET_2_VANGUARD_3.png | Bin 0 -> 8464 bytes assets/cn/retire/DOCK_UNMOUNT.png | Bin 0 -> 11610 bytes assets/en/equipment/FLEET_1_BACKLINE_1.png | Bin 0 -> 8617 bytes assets/en/equipment/FLEET_1_BACKLINE_3.png | Bin 0 -> 8867 bytes assets/en/equipment/FLEET_1_VANGUARD_1.png | Bin 0 -> 8676 bytes assets/en/equipment/FLEET_1_VANGUARD_3.png | Bin 0 -> 8302 bytes assets/en/equipment/FLEET_2_BACKLINE_1.png | Bin 0 -> 8579 bytes assets/en/equipment/FLEET_2_BACKLINE_3.png | Bin 0 -> 8572 bytes assets/en/equipment/FLEET_2_VANGUARD_1.png | Bin 0 -> 8351 bytes assets/en/equipment/FLEET_2_VANGUARD_3.png | Bin 0 -> 8464 bytes assets/en/retire/DOCK_UNMOUNT.png | Bin 0 -> 11610 bytes assets/jp/equipment/FLEET_1_BACKLINE_1.png | Bin 0 -> 8617 bytes assets/jp/equipment/FLEET_1_BACKLINE_3.png | Bin 0 -> 8867 bytes assets/jp/equipment/FLEET_1_VANGUARD_1.png | Bin 0 -> 8676 bytes assets/jp/equipment/FLEET_1_VANGUARD_3.png | Bin 0 -> 8302 bytes assets/jp/equipment/FLEET_2_BACKLINE_1.png | Bin 0 -> 8579 bytes assets/jp/equipment/FLEET_2_BACKLINE_3.png | Bin 0 -> 8572 bytes assets/jp/equipment/FLEET_2_VANGUARD_1.png | Bin 0 -> 8351 bytes assets/jp/equipment/FLEET_2_VANGUARD_3.png | Bin 0 -> 8464 bytes assets/jp/retire/DOCK_UNMOUNT.png | Bin 0 -> 11610 bytes assets/tw/equipment/FLEET_1_BACKLINE_1.png | Bin 0 -> 8617 bytes assets/tw/equipment/FLEET_1_BACKLINE_3.png | Bin 0 -> 8867 bytes assets/tw/equipment/FLEET_1_VANGUARD_1.png | Bin 0 -> 8676 bytes assets/tw/equipment/FLEET_1_VANGUARD_3.png | Bin 0 -> 8302 bytes assets/tw/equipment/FLEET_2_BACKLINE_1.png | Bin 0 -> 8579 bytes assets/tw/equipment/FLEET_2_BACKLINE_3.png | Bin 0 -> 8572 bytes assets/tw/equipment/FLEET_2_VANGUARD_1.png | Bin 0 -> 8351 bytes assets/tw/equipment/FLEET_2_VANGUARD_3.png | Bin 0 -> 8464 bytes assets/tw/retire/DOCK_UNMOUNT.png | Bin 0 -> 11610 bytes module/equipment/assets.py | 8 ++++++++ module/retire/assets.py | 1 + 38 files changed, 9 insertions(+) create mode 100644 assets/cn/equipment/FLEET_1_BACKLINE_1.png create mode 100644 assets/cn/equipment/FLEET_1_BACKLINE_3.png create mode 100644 assets/cn/equipment/FLEET_1_VANGUARD_1.png create mode 100644 assets/cn/equipment/FLEET_1_VANGUARD_3.png create mode 100644 assets/cn/equipment/FLEET_2_BACKLINE_1.png create mode 100644 assets/cn/equipment/FLEET_2_BACKLINE_3.png create mode 100644 assets/cn/equipment/FLEET_2_VANGUARD_1.png create mode 100644 assets/cn/equipment/FLEET_2_VANGUARD_3.png create mode 100644 assets/cn/retire/DOCK_UNMOUNT.png create mode 100644 assets/en/equipment/FLEET_1_BACKLINE_1.png create mode 100644 assets/en/equipment/FLEET_1_BACKLINE_3.png create mode 100644 assets/en/equipment/FLEET_1_VANGUARD_1.png create mode 100644 assets/en/equipment/FLEET_1_VANGUARD_3.png create mode 100644 assets/en/equipment/FLEET_2_BACKLINE_1.png create mode 100644 assets/en/equipment/FLEET_2_BACKLINE_3.png create mode 100644 assets/en/equipment/FLEET_2_VANGUARD_1.png create mode 100644 assets/en/equipment/FLEET_2_VANGUARD_3.png create mode 100644 assets/en/retire/DOCK_UNMOUNT.png create mode 100644 assets/jp/equipment/FLEET_1_BACKLINE_1.png create mode 100644 assets/jp/equipment/FLEET_1_BACKLINE_3.png create mode 100644 assets/jp/equipment/FLEET_1_VANGUARD_1.png create mode 100644 assets/jp/equipment/FLEET_1_VANGUARD_3.png create mode 100644 assets/jp/equipment/FLEET_2_BACKLINE_1.png create mode 100644 assets/jp/equipment/FLEET_2_BACKLINE_3.png create mode 100644 assets/jp/equipment/FLEET_2_VANGUARD_1.png create mode 100644 assets/jp/equipment/FLEET_2_VANGUARD_3.png create mode 100644 assets/jp/retire/DOCK_UNMOUNT.png create mode 100644 assets/tw/equipment/FLEET_1_BACKLINE_1.png create mode 100644 assets/tw/equipment/FLEET_1_BACKLINE_3.png create mode 100644 assets/tw/equipment/FLEET_1_VANGUARD_1.png create mode 100644 assets/tw/equipment/FLEET_1_VANGUARD_3.png create mode 100644 assets/tw/equipment/FLEET_2_BACKLINE_1.png create mode 100644 assets/tw/equipment/FLEET_2_BACKLINE_3.png create mode 100644 assets/tw/equipment/FLEET_2_VANGUARD_1.png create mode 100644 assets/tw/equipment/FLEET_2_VANGUARD_3.png create mode 100644 assets/tw/retire/DOCK_UNMOUNT.png diff --git a/assets/cn/equipment/FLEET_1_BACKLINE_1.png b/assets/cn/equipment/FLEET_1_BACKLINE_1.png new file mode 100644 index 0000000000000000000000000000000000000000..99be07f76ef330e6b3cede32a69fe2ee23a8f92f GIT binary patch literal 8617 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 Nrwy*Of*%8S{R=5coC5#= literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/FLEET_1_BACKLINE_3.png b/assets/cn/equipment/FLEET_1_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97b2c613c1ea1bc54eb4ccd17e7458c98848119e GIT binary patch literal 8867 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 jz%qel0{=e=w29sN^xVGyz}8N6 literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/FLEET_1_VANGUARD_1.png b/assets/cn/equipment/FLEET_1_VANGUARD_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf53576373e5810492b8a847c537c24dbd76656 GIT binary patch literal 8676 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 literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/FLEET_1_VANGUARD_3.png b/assets/cn/equipment/FLEET_1_VANGUARD_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae208e567cce6ff2548afaf5b09036c54dd3383 GIT binary patch literal 8302 zcmeI1cTiLL7RN72QL(W$>@lp3-4sGdlcEcvh>@}=x)9`&dlMpQq!3yb6crQ|0oMj% zK|w)am8Mi(MMMR$fe0elFd$tB(tI}o73b~D8)x4B^B$LBa_{eV&iDMz=XZW*xM7d| zhBcEW%$WcHz$BZsR*nFmh1`xQA2$a1Sh;YW1^{R*^>^AVaRg;3p-8~uaAB0hPY9!6 zUk(cZe4oMgF8rJLasA5W{+ez}y1nz7EsXoGG&1!%i6IMORp=~LtEd*VaJ;k2FU-G>HR`>u7dv?BJ#-dWd{gwgUe z#nBEv?bu=MxQ6dJ`E2OfcP$cU+t#!08)6UGAM#o%YwEaCoK<%1RjApx>7l>5^*7>_ zGj{GSn&K!3EvU-8<(S-d`})1Gcuz*SH}_{8G2_YMP?m{vT3y=hjS1m|xZ74m%$mQ1 zdw1NRuYCVr8|y9eF5m91Ff5$yxnH;V{-X5=vfUg@OM4qj%g@LVP_gpJeA^rL(~ImL z?M2Vf2@j)aUfAH{p!a;;jBxkU88d#9;{6n}h@7>KuJg1icZ4hq->5T-&6w}1wW@9G zO^cPW(-~)P_C@^?u8%XVjp%Hl=E)YKh=%J;#yYHg^0UE=h&@#`Nlyp%0)hHBm%aUw z)wt(_hjv_-)GpsirWg0-xsu(r+%HZ17F1j9e4o@N*nS?w)jE*J!hPyTpheJVkpI@5mFgp&4hYen`D4_B!$EgU0Rhi-!flA(rlWYpa?Tw6-W> zs|(FiJ`Mm1Ls13xS=xN0xP3TC5pSlir!fUQEC>laV5~1sh!i;hm|FM>L8cchL3zMz z4&Myjnp=oQaUe6avk4tf7h1xeoVETU_*ef8PE3C(Y>W)i4f?QkzJ;%+Ql%1xD=0mw>()zSuw|F{EJyiht<|LOT76JYPIa0pWr31%)^xEFQ<>;YNChC98c9k>LgXt%ukN z=><4PSS*l=nDA;Jm@hFHDFHFR_zR^Xt~woviG#T?4>1)ZQH{O{xyFWW|HVUvfX(3v z)m{kfZ!9Go)>l~HtW7nePG{so5ce;--&lXnU2Tk5(djfR0aL14o{g0mS{0uL378y+ zHgpSuL>2@YW2j6#j3F|KWDH2fQ!pNQ3Xx=lCqqOMI6}&XFP4COCajV|#IYPihk`dD z!%QP82BsPlF+>tX#DFFqMi{&im1)fKAmBleHA2Ep#6hYOkat1hjNFWn`opR#v;9n)6il-5oY=Wm46G&7%*@Q|We>K_!i^NDR zs#J~eSYwKMMzt|CBpn1TsH#*%Ks}CRL$egYphO^Y5(v0vXw{-nD$g&|bmTxmpair6 zB`_k2Cy;1(A`MS)!jou3BO0Fi6P`lDkFXa&9G2gIvQ`}*lujPo5_U> z>^<}}^vLC?4-*QdJ{B~PIh2AJ^noGuIuWg*DW)gLXTwPU7%te)3WAL?D9HZ`H*DmP7`M;8kpdBf<(PP&F&mvf-^-{;j>t z6ISg5f((NvVn!fCq0sq?n^5i=A~*n|KK&e z5C32UM0zyHckvy?HHz!I2z;0EXmyR^`Yr`68S<*M>a4|G zbePmEaVnbi8)2OL2bNTpb+R0o1 zn37>*waUr&S@Uy-mqEkq;QEGRk@*WR%Vr(Uj2_(i%ktCDWB+(q$XF|K9J4)cy5ll4 zemZX*Z(0B*WpQcr*pHT%tq+{=87Pw0XP!IuK%Zq7*jbh*&_qIwUZVv5w+NIQFpw|q z79?*SY|Oqpx3RzaPDQ8l6Y-gxi~xmcCpohtvhY(gZcw+*ZT1!91ep3{I_4b7$*xce zp}5I&pX3F3wcjrANUhzit%(PK!1o^*`OW*pPU>sIyBZ*!e+AVNNlmh7Y(TE zxVcHu5dvrf!7lsj&K*nLCP(A=Nu7&cxEeyIbyX{A;S6jNG^7?p+%+h)UD32e5p!H$ z#j7SYH7HQo(KolIF4ik+kDFQ@S93nV%WvH~*A-7=a%QQ`5?e}(&gA#c6TUdKIWqBy z%f|fp+@BP=l!@Fio@$@!f!v;SvfMeqq>0GxD?1u#yP{@rqB``(@k%Uo$kqZ&O4H;; zU!8L&GLjrKUsvVUb}5HkkrE_1;ac`6vhE(Y%*XX&cm_cf`)nxemN6$QIn`N}y;iqw z-8#j2mi}&kX=!N!uOl$!tnC_{m4M~6(K${-y<@W1&4Stj|E?tT@p}o3s||kU6#=A{ z>Wt<`OYIuKYA8?M_pziT^vxN!1@9S@7w>v{?6w9m<_uxDelm~O$6~X40`>LiF}!M5 z!%8GjY3cs>cx6L%GQr?-NpnhbLW$zT7Aq*aw4?KSvYoCBx0O37bj_MI6ZBh7-&za+ zbq;qQne6X)UsP0iK>Ic1bi2x9h9b|w$V_4AJ7;a}Vuo{v)zu3ge*U6@L_I5R;Hd()FZw*q0Mwh(q z>7k?#_BLmK8XUApG?8!AU|a1ge$^g2&3S=(kLf!1llmHDpN>|xy_ucV;X$pFed-;I zeonrTQtxY;x_4h#QfqB~Uu*54>AA`mHQWIMbq9YLSM;Y*4x1%$Ad%L`Pe^M_% zrz`hh!Gpqyj*qf(SFCu|-sAqsy&ySh@{}nt39~1k+=`QX)vK#b*z|G5$sB6hoWDv- zm)g}XjOgy3JTtL4Y4432@#poq6C0B*&d6_b_tn-1f{W)~8%UnXsHK=Mkn8XFf0&i5 zY>h~a=A`atD~3+g7TvA+x!V|ZZf4!O>P%6J0LwG#x;5?S{i6UCtO3+{UkKZ`?_SvX zRCFi%vEUDPb)_oZoHsINCDsR|9~w5RKcC82MV*jfjIuFbI@sK+Pzzs4J6)aD zlv4tcs?LYqK6)ZhpUraa%$8s1w-_L;R5hXb3RXIVzecyky9`5NZ;Ak!Cd&W|&P zn%F^6WxF{QojwnUW9 zNIOMEkrc`KRUtXOQX~``8|9F5IsEP!)z%Nxf z3A5X|ZK3i{$`AxCwAyZN4?*+5rF``d^5D;wHP&(vB&Qwd;3TnU`XPlP0f*}iBP9Vs z7zz7xIS}Ok3bxzFe}wyCVpJzk(PhKPf!v;3&ozd|RzcKv>kR^0v0`ssXCx?s;=H%f2bQcQa# zf=+Z=C@tCNQoX&q)KPUTnPz#scjqX#>(Y{EVYQ3Z+F#vldPwa}zm4x7W2%|<+Led9 zPPXU&T775CwEKNEDd&aL;AW~w8{ew!gk0WM@8sg?nSxfW*q`ch#r0Im4t1D%D(tvY z(?54)zY(e}GRiTvdCkxiEpif{b=6vZV%dvK*L8r|?_4u8J1aA@FU$a`xI?G%Y>Mrc zKHgP(9JNd-{FtHQ&7Hox7dKfi3wOJ6Z`nV5Z~zlN*{cT`gMV639g zGwoM+WU?i0DdXCsPtjY$S752lQG>nYT)#C)!loSt3cI(|>8@KA71r=Nxqk9E6tv=z zcE@^7ci50SB7WFsSDu64;`sKaQIBDrfYWlurwpG;ic!tT_=bCu%1@8h?ulO7DsG)0 zg4sS%>eJ9psO)+}W+N;0oZ@RPS3S-@4^W&AQ)ly@kyv_ljsHJRoW_0-M(B<#ZI<6C@cXF!(PH;GY9`I0E$yl5|R$m_tEYRWrzJ%$I=8M-!C1y0tVKGa@ z6-u}QK2oa5bQkzYXebnzM}EnVC$zQwD$f^xrT}1lmV1HvN;d1_l^-XTl8QF4XCj#8R>V9MWW$iL!U}bAdF&D6Wr0H3i(@@g* z6t;lHWm9CAdQ6r+(SXT8Gg+_!nt*5G&}60_2Myy5iSBG7L61np&62X>izQ4x3zkX& zaSRve7?KEh78z!vfhikJAaU4eLyjH}ZKzM+5DeT|L^6pzOJbLZ3#yXoJv%F@6dOoM zQ(+sxBs76V(nAvnFcD2=!5nbKg55bxHi4jLAd_OVD3$^dj|sMu%VT=LSRvm-HX#L0 zF}1Uzq4Y5`iOWXpyqOXXZ~$k3%V!Jx#D5z*aCz|05~h@=9*JatGsNRaWE{~DeEn^- z2NsDzElO4Oa2ULyY(}~<6tEnCmMN`NARrqDtD%^QV5USMau5i-X((w5NU7)7X7w2Tywa-i@{m@4tbdMWt5erVjqE-ZwP~G@Mr!z8#EgGvq}lHSM{vHAfhJ@_{+MPV21$ym!ur--u~B632Fuf%RVr8Sv` zf{s9l`qZ76m0GW&dHabdlr=tm-^&VuaHvM3B0`{%w;SQ836mq_phbmHqhnDqokqzY zE#GCrvz#7zSwIc`uwDtDx0$Jtc;*-OmL;Y_| zNgw)auBO6QjoK`mi1;VP?bXUFpe>Ms_l=O);&heDIz;5ufMw|ujc(^5c_??I?k@=6 z+SY_7(*aISR$a_sO4krS14D7Q|F|&yivr|L2C|{rmZ$v*%=2lzCk{U(g{Jcc@KE6hUP0x~KMH!1 zf@7aCnl!y^4HY2d5xM50u{m4P8s#4vZRXRVxbn_+H{%CU?u%8Vlf+d;Eqz0W?`Ea6 z&^NWxc`dz<>{ zNzuF&oEjVQEUqBG*K!8qR`n|-qrKDJFAI2)*AF_bDQtKmbaeD#jACznGM*aSW-|4* z>a>KyDFCcSX}R4+3{(DQO*s(L!S{w#4$?HnA;$Otj=<79*+UGT_g zXeuraAI#7lEL*?fV0zZ*p2mH7hllt3sB|CdZJ;?hSPcW){KJ4 zbVTKiq}s0HsMT~Am#H@c8%@T$sw#I@bq5#+PyKm$dJNU`?AeWkdwyH@=jZs;gr`+pLT{1*4EalYuRA#k*Gh- zcO#j~L;eCMP?P?MsGl%S`3E~IbK|ShI%_An&H+r7DP2-zXq6)lDtrMd@Lf_sUSL;W zH=TFJ{^`KLKv`K?tw+_5KSqvtd`kSYuHBL2_$qcatp1=OcRfBP>v*Z|B;zdMi*uar zMd!PWqSqKYrb)lU*GkM;y}Fr3r3Q@*bq)Kabqr6u8y&N>uUqf;Yp8QzX!?}~%c<4%0WMuNDr=lrKQdQ2wZf6Ar=m)nW z=shpThf>l~U0tyYIfr}$W1LaRiAO8SPia_u0%tv#uAmZhOn(qWl-Q&M&=2%HP1GY|-_r3c|i`_LcF-|L^QdbbSvQjtEysRUgv5KLuPCHayE(g`? zf+mr=t>05V%D9RibpL9I8VkHDj%b;$bDWkAs_Mc@H@8p?|EAx(BV85ZE=~>!n}afr z+23X7Jf*1jB&@TYke3p&b?j>$$sH$h;}YrgI9FE>@x+I2s`b6IuP2vXA#P&4*QPtwBBRTWfvG{{JQ=X3{|6ugnppq< literal 0 HcmV?d00001 diff --git a/assets/cn/equipment/FLEET_2_BACKLINE_3.png b/assets/cn/equipment/FLEET_2_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..01e7d4b590b1422bccca5e85a2e828322a82b9ef GIT binary patch literal 8572 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 yp${SpsZE%MR_V#3?IvOcf<4hlR}b!zB1 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 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/FLEET_1_BACKLINE_1.png b/assets/en/equipment/FLEET_1_BACKLINE_1.png new file mode 100644 index 0000000000000000000000000000000000000000..99be07f76ef330e6b3cede32a69fe2ee23a8f92f GIT binary patch literal 8617 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 Nrwy*Of*%8S{R=5coC5#= literal 0 HcmV?d00001 diff --git a/assets/en/equipment/FLEET_1_BACKLINE_3.png b/assets/en/equipment/FLEET_1_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97b2c613c1ea1bc54eb4ccd17e7458c98848119e GIT binary patch literal 8867 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 jz%qel0{=e=w29sN^xVGyz}8N6 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/FLEET_1_VANGUARD_1.png b/assets/en/equipment/FLEET_1_VANGUARD_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf53576373e5810492b8a847c537c24dbd76656 GIT binary patch literal 8676 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 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/FLEET_1_VANGUARD_3.png b/assets/en/equipment/FLEET_1_VANGUARD_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae208e567cce6ff2548afaf5b09036c54dd3383 GIT binary patch literal 8302 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 literal 0 HcmV?d00001 diff --git a/assets/en/equipment/FLEET_2_BACKLINE_3.png b/assets/en/equipment/FLEET_2_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..01e7d4b590b1422bccca5e85a2e828322a82b9ef GIT binary patch literal 8572 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 yp${SpsZE%MR_V#3?IvOcf<4hlR}b!zB1 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/FLEET_1_BACKLINE_1.png b/assets/jp/equipment/FLEET_1_BACKLINE_1.png new file mode 100644 index 0000000000000000000000000000000000000000..99be07f76ef330e6b3cede32a69fe2ee23a8f92f GIT binary patch literal 8617 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 Nrwy*Of*%8S{R=5coC5#= literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/FLEET_1_BACKLINE_3.png b/assets/jp/equipment/FLEET_1_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97b2c613c1ea1bc54eb4ccd17e7458c98848119e GIT binary patch literal 8867 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 jz%qel0{=e=w29sN^xVGyz}8N6 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/FLEET_1_VANGUARD_1.png b/assets/jp/equipment/FLEET_1_VANGUARD_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf53576373e5810492b8a847c537c24dbd76656 GIT binary patch literal 8676 zcmeH~c~BGiw#OS0!G%%Y6+uPF1ZPBRW=8Ch=V99ARrMH5M&2~N?2YesH636)hnys{pS{;sC57OobNfm&pE#X zebCj}UVFic1pokOJ33Ie1Aqp6Ip?9)9QbR4(H1oTP%{a0_Y`dh#R$HD$6^OT2vH~> zLO>EW3jic7kSm9)@x9i>;M%acWlTA_>~+}%QupxsxTL=P)yO$@i%yQdR_rMI^T`!Y zt3V( zJ*H{GcC>Z7BUG1bUpTHI1B|PYgZ+gGLzEsi%4NQP|60X!Ma39PBjHf;y)8o-D2?3) z7|N2TBl|aRw+}MW4%a&O^i)XkwTt5ISpU?ct|u95#JwX=tMlvbR>x}3Ew)9GBIIWj zTAM0gMn7py=Y<@}ersw;#|pbKKR5Xq{Nt~M+MK-3bg%mjrteMZr+U)kjqz^7QM)X5 zpgo^a52dtK{4jw2j(VNh z$A^%*nup`abFVswxaqWQ(LL<<$4%XzgR!AKdPKIvc5efXrv1@IhiRI6{ywX`H8u{Z z-?7<{ywvBy9mVlYhxIX*vV_qAixROBg1By*nY!DChM$ae6Am^%%Xm6@2ng4|W74&n z_2%GP`n*(muuG}CSSPi!?VZ1TZRiO#>tp15qDrI;k=lGyRHwM}{m$b{UkYE&k48I8 z+zoE-B-Po)YNRg5fp z|9BTgs&gm%x4Flce1AR$zwXA8KYWaw1mTlyBq*4Z6th<5eSJ8bjY90 zwL%WwDn}yNOe>^^nG@EDZwu{aJA?_K9bwMyjIcn41rupwy}(jJfdx2_2t-IYL0ln4 zVue)cQs8UlG6soInTP_dke*Ji2wR>2LJ-kJG!|tiVTa(6)(a4p0w#;Hox1s>1bkoN-!Cp{rSOyAk}u53=9+mabQy+92NIfNP9;o*UuhG1paIe zU*!eE{>oCsX8jH8tK5`NRNMJ75!n5+?pM~I_O3F9t(=@FR30N(nVuun3aN}wVe%Mk zCPj5gCz^poEQ^j}FfBk7(Sm7)vM|RpP#}?sClSaDh6RNELduaV6oFg@q?Cfi(QH_U zg(EZQ<^(2+MaJP#L@dJ`MP@RvC^BRQFdG zpdca+&W1!Fpg_Di8AZmKF<5jGflk8BWW!`oHuD4=5H2U11NuW4KG$CrLkXO+(bdrk ziAT?vs#aWsKoJXefX@J%%jAiLe;d2AInWLfsN{(wk<74U0)c=d;s`hb;cugzkU$9c zqEZ!yMH9%XC(6Q5;O)R@L1m}H0;+X*Hxyd|1d4b9cOEau3aLy1q4fOx*a<#ROi%<; zK@kLtV)5n_ERll6yJO8ML_7tDGsTiA*e~pPOg1a@|FTvdAB5#h(H+=AIDV*VY35Ar zfPS61o4E~Qs}2(ap*j{6kTJ6bAs7NNRe8c%GmjX%L9Rap&ySA{`)Qs1FPgy&q|+G; z5Qidx<`9Z#PQsx;vN;iD&cKt1a0Njkf$_DvkjD~@VUALa*#q~`DzR7sDyJm5H6M=6sp6#yxH(U$;ewl)}@P9yJ_*Kd5 zKpqx;&6-EwYEK2Gl|Sc7FQ0%{=JOrAgaEMcAIe`fATe1VUepvhI@xKynX9&J-NMEn z&PD@(&RR$6Mt4a|e_LC^N{{6gFW#m6YHp-BW$vUgvH0ZSD-IJq4t9Ju?uJd9GJY$} z8d-b%2Tsn)>eMrb&t_K#@`@2Un2ylneJun=R>!lBGs3Q9EjZ5XXO_T!76HH5w>kiz z7`bL&-u&y$d?Sy(lFS$(?bLD~T4v^e%TAg*je6w4&RFBAse8=ghWkB~QD5)u-O>DH0&F566B>@805TA#8(8mQdJ0)D!Rb)YM$d&8>aW_#7uL*!BLA9~PLS544}}9F%V%+IUu-JyxWU28?bkROoF0 z)PX+JeOWuo+B(ML<7%7x25#SOyAoGh+x19V`fA-n-C%jblRs7duQ~@cW0@Y6#kxA# zsjtF&F3Il7(>;pX8ZL&Y=@YHz0PQhd!{euAw2p!J?nC-#ew%ujq&9SwFlQ0a=Ty+^ z$F=Gv6n^k~%KeF-7d)7?dY&@)p1i;XZzU$CjS3?>YNyET`ioN*hRG$52ecEm4A0T> zGg1R?G)=V)Jc>8yvh--e2+eBwhQ|xdxx>o6+E(hgRa$n(XS~sjDag&wY`R6)-vB7IfGDeFL#x9s zYgi`VjX;pExxBnrwx56}5$n3pz&Q=C^PL@_wuI_HYds_S`>KfYLUCcIYx|lVYR*ThMp{ml> z*8It6`DDe}YyNv*j+M8BoUUI~wKBA~QTk(2#=Y8qn&rv7*(ROVxr!{Grr?-JHD!yH zS%$rpPd--A>Tkl0u`XHx$}X{s-;6VsH{a~C`&EhLkbZzgzXpF1b9C_ zvhR7>-qHSo$i78@x|Sahl^{(|xo>DaF)}18joY1giIXTd;oGebbUu32clv#$zyhtE zQcv4_r~XB06}_G&eqEOmcenP(0+QX&i>Ei=sp+YCQD15l5&p{DFUrOBl`#N}d6vH_ zXdzR)ib9LJ(OrW_6OOioycch!F*{zoC=F>W+hbE+xA-X~2->YgI#eI*Qy?k#M&Ihp z>5ZXXr+YUPAzw~R(5=(b42=pnV@`V{5?*87FXdBzWF*}eGj&q{3u|bW)#TBlo!97gKFPk`-rjM(%G7Qc`84gFey=F=x-5R( zSol^*wG18ao0@$5U?43uWpdOA<0~r_W|emgzpBRgruYoBO-Xl>fUHAL=Q#jr*d6E8 zq9$8Q)Fr(!?bd8U%Ox-L>9h6BT9-hQlyIeoaQxw*Njs;Z_QY|X!>ab8#&{3zhAB#`;xo4qZ#Dbf8Lkx_pG_3moO^iJhY?rJQV zGb^U;wRq z)#K}`V{c>{b$R&Kp7Sz;rs70H=?Zk#l|$Y3QKmntS0&xv^-@nYLE@K|2`sKlJ^PD0 zCng1BWryQx2ihi(Iaf1R2850$w&+$afF~C`y0apB$GwWZL!M6z6s%dZMhBPn;CV?X z!JNbG7@?g=lOE7ejV!nFyuiM9_ts4AE&Ho;q~V&!FE~$YOwHWnxBq_tn8xkC literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/FLEET_1_VANGUARD_3.png b/assets/jp/equipment/FLEET_1_VANGUARD_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae208e567cce6ff2548afaf5b09036c54dd3383 GIT binary patch literal 8302 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 literal 0 HcmV?d00001 diff --git a/assets/jp/equipment/FLEET_2_BACKLINE_3.png b/assets/jp/equipment/FLEET_2_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..01e7d4b590b1422bccca5e85a2e828322a82b9ef GIT binary patch literal 8572 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 yp${SpsZE%MR_V#3?IvOcf<4hlR}b!zB1 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/FLEET_1_BACKLINE_1.png b/assets/tw/equipment/FLEET_1_BACKLINE_1.png new file mode 100644 index 0000000000000000000000000000000000000000..99be07f76ef330e6b3cede32a69fe2ee23a8f92f GIT binary patch literal 8617 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 Nrwy*Of*%8S{R=5coC5#= literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/FLEET_1_BACKLINE_3.png b/assets/tw/equipment/FLEET_1_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97b2c613c1ea1bc54eb4ccd17e7458c98848119e GIT binary patch literal 8867 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 jz%qel0{=e=w29sN^xVGyz}8N6 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/FLEET_1_VANGUARD_1.png b/assets/tw/equipment/FLEET_1_VANGUARD_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf53576373e5810492b8a847c537c24dbd76656 GIT binary patch literal 8676 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/FLEET_1_VANGUARD_3.png b/assets/tw/equipment/FLEET_1_VANGUARD_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae208e567cce6ff2548afaf5b09036c54dd3383 GIT binary patch literal 8302 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 literal 0 HcmV?d00001 diff --git a/assets/tw/equipment/FLEET_2_BACKLINE_3.png b/assets/tw/equipment/FLEET_2_BACKLINE_3.png new file mode 100644 index 0000000000000000000000000000000000000000..01e7d4b590b1422bccca5e85a2e828322a82b9ef GIT binary patch literal 8572 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 yp${SpsZE%MR_V#3?IvOcf<4hlR}b!zB1 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 literal 0 HcmV?d00001 diff --git a/module/equipment/assets.py b/module/equipment/assets.py index 2f72c7a341..e63bb7cb7f 100644 --- a/module/equipment/assets.py +++ b/module/equipment/assets.py @@ -36,6 +36,14 @@ EQUIP_TAKE_ON_2 = Button(area={'cn': (866, 511, 950, 604), 'en': (866, 511, 950, 604), 'jp': (866, 511, 950, 604), 'tw': (866, 511, 950, 604)}, color={'cn': (117, 118, 127), 'en': (117, 118, 127), 'jp': (117, 118, 127), 'tw': (117, 118, 127)}, button={'cn': (866, 511, 950, 604), 'en': (866, 511, 950, 604), 'jp': (866, 511, 950, 604), 'tw': (866, 511, 950, 604)}, file={'cn': './assets/cn/equipment/EQUIP_TAKE_ON_2.png', 'en': './assets/en/equipment/EQUIP_TAKE_ON_2.png', 'jp': './assets/jp/equipment/EQUIP_TAKE_ON_2.png', 'tw': './assets/tw/equipment/EQUIP_TAKE_ON_2.png'}) EQUIP_TAKE_ON_3 = Button(area={'cn': (129, 252, 213, 345), 'en': (129, 252, 213, 345), 'jp': (129, 252, 213, 345), 'tw': (129, 252, 213, 345)}, color={'cn': (105, 108, 115), 'en': (105, 108, 115), 'jp': (105, 108, 115), 'tw': (105, 108, 115)}, button={'cn': (129, 252, 213, 345), 'en': (129, 252, 213, 345), 'jp': (129, 252, 213, 345), 'tw': (129, 252, 213, 345)}, file={'cn': './assets/cn/equipment/EQUIP_TAKE_ON_3.png', 'en': './assets/en/equipment/EQUIP_TAKE_ON_3.png', 'jp': './assets/jp/equipment/EQUIP_TAKE_ON_3.png', 'tw': './assets/tw/equipment/EQUIP_TAKE_ON_3.png'}) EQUIP_TAKE_ON_4 = Button(area={'cn': (128, 432, 212, 525), 'en': (128, 432, 212, 525), 'jp': (128, 432, 212, 525), 'tw': (128, 432, 212, 525)}, color={'cn': (109, 111, 120), 'en': (109, 111, 120), 'jp': (109, 111, 120), 'tw': (109, 111, 120)}, button={'cn': (128, 432, 212, 525), 'en': (128, 432, 212, 525), 'jp': (128, 432, 212, 525), 'tw': (128, 432, 212, 525)}, file={'cn': './assets/cn/equipment/EQUIP_TAKE_ON_4.png', 'en': './assets/en/equipment/EQUIP_TAKE_ON_4.png', 'jp': './assets/jp/equipment/EQUIP_TAKE_ON_4.png', 'tw': './assets/tw/equipment/EQUIP_TAKE_ON_4.png'}) +FLEET_1_BACKLINE_1 = Button(area={'cn': (412, 195, 456, 239), 'en': (412, 195, 456, 239), 'jp': (412, 195, 456, 239), 'tw': (412, 195, 456, 239)}, color={'cn': (76, 67, 66), 'en': (76, 67, 66), 'jp': (76, 67, 66), 'tw': (76, 67, 66)}, button={'cn': (412, 195, 456, 239), 'en': (412, 195, 456, 239), 'jp': (412, 195, 456, 239), 'tw': (412, 195, 456, 239)}, file={'cn': './assets/cn/equipment/FLEET_1_BACKLINE_1.png', 'en': './assets/en/equipment/FLEET_1_BACKLINE_1.png', 'jp': './assets/jp/equipment/FLEET_1_BACKLINE_1.png', 'tw': './assets/tw/equipment/FLEET_1_BACKLINE_1.png'}) +FLEET_1_BACKLINE_3 = Button(area={'cn': (616, 195, 659, 238), 'en': (616, 195, 659, 238), 'jp': (616, 195, 659, 238), 'tw': (616, 195, 659, 238)}, color={'cn': (62, 62, 67), 'en': (62, 62, 67), 'jp': (62, 62, 67), 'tw': (62, 62, 67)}, button={'cn': (616, 195, 659, 238), 'en': (616, 195, 659, 238), 'jp': (616, 195, 659, 238), 'tw': (616, 195, 659, 238)}, file={'cn': './assets/cn/equipment/FLEET_1_BACKLINE_3.png', 'en': './assets/en/equipment/FLEET_1_BACKLINE_3.png', 'jp': './assets/jp/equipment/FLEET_1_BACKLINE_3.png', 'tw': './assets/tw/equipment/FLEET_1_BACKLINE_3.png'}) +FLEET_1_VANGUARD_1 = Button(area={'cn': (728, 195, 770, 237), 'en': (728, 195, 770, 237), 'jp': (728, 195, 770, 237), 'tw': (728, 195, 770, 237)}, color={'cn': (54, 57, 63), 'en': (54, 57, 63), 'jp': (54, 57, 63), 'tw': (54, 57, 63)}, button={'cn': (728, 195, 770, 237), 'en': (728, 195, 770, 237), 'jp': (728, 195, 770, 237), 'tw': (728, 195, 770, 237)}, file={'cn': './assets/cn/equipment/FLEET_1_VANGUARD_1.png', 'en': './assets/en/equipment/FLEET_1_VANGUARD_1.png', 'jp': './assets/jp/equipment/FLEET_1_VANGUARD_1.png', 'tw': './assets/tw/equipment/FLEET_1_VANGUARD_1.png'}) +FLEET_1_VANGUARD_3 = Button(area={'cn': (932, 195, 974, 237), 'en': (932, 195, 974, 237), 'jp': (932, 195, 974, 237), 'tw': (932, 195, 974, 237)}, color={'cn': (53, 55, 62), 'en': (53, 55, 62), 'jp': (53, 55, 62), 'tw': (53, 55, 62)}, button={'cn': (932, 195, 974, 237), 'en': (932, 195, 974, 237), 'jp': (932, 195, 974, 237), 'tw': (932, 195, 974, 237)}, file={'cn': './assets/cn/equipment/FLEET_1_VANGUARD_3.png', 'en': './assets/en/equipment/FLEET_1_VANGUARD_3.png', 'jp': './assets/jp/equipment/FLEET_1_VANGUARD_3.png', 'tw': './assets/tw/equipment/FLEET_1_VANGUARD_3.png'}) +FLEET_2_BACKLINE_1 = Button(area={'cn': (412, 309, 455, 352), 'en': (412, 309, 455, 352), 'jp': (412, 309, 455, 352), 'tw': (412, 309, 455, 352)}, color={'cn': (73, 64, 63), 'en': (73, 64, 63), 'jp': (73, 64, 63), 'tw': (73, 64, 63)}, button={'cn': (412, 309, 455, 352), 'en': (412, 309, 455, 352), 'jp': (412, 309, 455, 352), 'tw': (412, 309, 455, 352)}, file={'cn': './assets/cn/equipment/FLEET_2_BACKLINE_1.png', 'en': './assets/en/equipment/FLEET_2_BACKLINE_1.png', 'jp': './assets/jp/equipment/FLEET_2_BACKLINE_1.png', 'tw': './assets/tw/equipment/FLEET_2_BACKLINE_1.png'}) +FLEET_2_BACKLINE_3 = Button(area={'cn': (616, 309, 659, 352), 'en': (616, 309, 659, 352), 'jp': (616, 309, 659, 352), 'tw': (616, 309, 659, 352)}, color={'cn': (51, 52, 57), 'en': (51, 52, 57), 'jp': (51, 52, 57), 'tw': (51, 52, 57)}, button={'cn': (616, 309, 659, 352), 'en': (616, 309, 659, 352), 'jp': (616, 309, 659, 352), 'tw': (616, 309, 659, 352)}, file={'cn': './assets/cn/equipment/FLEET_2_BACKLINE_3.png', 'en': './assets/en/equipment/FLEET_2_BACKLINE_3.png', 'jp': './assets/jp/equipment/FLEET_2_BACKLINE_3.png', 'tw': './assets/tw/equipment/FLEET_2_BACKLINE_3.png'}) +FLEET_2_VANGUARD_1 = Button(area={'cn': (729, 310, 770, 351), 'en': (729, 310, 770, 351), 'jp': (729, 310, 770, 351), 'tw': (729, 310, 770, 351)}, color={'cn': (52, 54, 61), 'en': (52, 54, 61), 'jp': (52, 54, 61), 'tw': (52, 54, 61)}, button={'cn': (729, 310, 770, 351), 'en': (729, 310, 770, 351), 'jp': (729, 310, 770, 351), 'tw': (729, 310, 770, 351)}, file={'cn': './assets/cn/equipment/FLEET_2_VANGUARD_1.png', 'en': './assets/en/equipment/FLEET_2_VANGUARD_1.png', 'jp': './assets/jp/equipment/FLEET_2_VANGUARD_1.png', 'tw': './assets/tw/equipment/FLEET_2_VANGUARD_1.png'}) +FLEET_2_VANGUARD_3 = Button(area={'cn': (932, 309, 974, 351), 'en': (932, 309, 974, 351), 'jp': (932, 309, 974, 351), 'tw': (932, 309, 974, 351)}, color={'cn': (51, 54, 62), 'en': (51, 54, 62), 'jp': (51, 54, 62), 'tw': (51, 54, 62)}, button={'cn': (932, 309, 974, 351), 'en': (932, 309, 974, 351), 'jp': (932, 309, 974, 351), 'tw': (932, 309, 974, 351)}, file={'cn': './assets/cn/equipment/FLEET_2_VANGUARD_3.png', 'en': './assets/en/equipment/FLEET_2_VANGUARD_3.png', 'jp': './assets/jp/equipment/FLEET_2_VANGUARD_3.png', 'tw': './assets/tw/equipment/FLEET_2_VANGUARD_3.png'}) FLEET_DETAIL = Button(area={'cn': (906, 644, 1008, 699), 'en': (906, 644, 1008, 699), 'jp': (906, 644, 1008, 699), 'tw': (906, 644, 1008, 699)}, color={'cn': (166, 170, 188), 'en': (166, 170, 188), 'jp': (166, 170, 188), 'tw': (166, 170, 188)}, button={'cn': (906, 644, 1008, 699), 'en': (906, 644, 1008, 699), 'jp': (906, 644, 1008, 699), 'tw': (906, 644, 1008, 699)}, file={'cn': './assets/cn/equipment/FLEET_DETAIL.png', 'en': './assets/en/equipment/FLEET_DETAIL.png', 'jp': './assets/jp/equipment/FLEET_DETAIL.png', 'tw': './assets/tw/equipment/FLEET_DETAIL.png'}) FLEET_DETAIL_CHECK = Button(area={'cn': (915, 647, 980, 679), 'en': (915, 649, 980, 677), 'jp': (915, 647, 979, 679), 'tw': (915, 647, 980, 680)}, color={'cn': (234, 195, 154), 'en': (236, 200, 160), 'jp': (234, 195, 154), 'tw': (237, 196, 154)}, button={'cn': (915, 647, 980, 679), 'en': (915, 649, 980, 677), 'jp': (915, 647, 979, 679), 'tw': (915, 647, 980, 680)}, file={'cn': './assets/cn/equipment/FLEET_DETAIL_CHECK.png', 'en': './assets/en/equipment/FLEET_DETAIL_CHECK.png', 'jp': './assets/jp/equipment/FLEET_DETAIL_CHECK.png', 'tw': './assets/tw/equipment/FLEET_DETAIL_CHECK.png'}) FLEET_DETAIL_ENTER = Button(area={'cn': (729, 314, 802, 438), 'en': (729, 314, 802, 438), 'jp': (729, 314, 802, 438), 'tw': (729, 314, 802, 438)}, color={'cn': (154, 149, 147), 'en': (154, 149, 147), 'jp': (154, 149, 147), 'tw': (154, 149, 147)}, button={'cn': (729, 314, 802, 438), 'en': (729, 314, 802, 438), 'jp': (729, 314, 802, 438), 'tw': (729, 314, 802, 438)}, file={'cn': './assets/cn/equipment/FLEET_DETAIL_ENTER.png', 'en': './assets/en/equipment/FLEET_DETAIL_ENTER.png', 'jp': './assets/jp/equipment/FLEET_DETAIL_ENTER.png', 'tw': './assets/tw/equipment/FLEET_DETAIL_ENTER.png'}) diff --git a/module/retire/assets.py b/module/retire/assets.py index 14f97b06f9..633c14b1d3 100644 --- a/module/retire/assets.py +++ b/module/retire/assets.py @@ -14,6 +14,7 @@ DOCK_FIRST_NPC = Button(area={'cn': (96, 111, 123, 123), 'en': (96, 111, 123, 123), 'jp': (96, 111, 123, 123), 'tw': (96, 111, 123, 123)}, color={'cn': (184, 150, 150), 'en': (184, 150, 150), 'jp': (184, 150, 150), 'tw': (184, 150, 150)}, button={'cn': (96, 111, 123, 123), 'en': (96, 111, 123, 123), 'jp': (96, 111, 123, 123), 'tw': (96, 111, 123, 123)}, file={'cn': './assets/cn/retire/DOCK_FIRST_NPC.png', 'en': './assets/cn/retire/DOCK_FIRST_NPC.png', 'jp': './assets/cn/retire/DOCK_FIRST_NPC.png', 'tw': './assets/cn/retire/DOCK_FIRST_NPC.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': (597, 658, 655, 691), 'jp': (603, 662, 655, 685), 'tw': (582, 662, 647, 685)}, color={'cn': (75, 75, 83), 'en': (64, 62, 73), 'jp': (84, 83, 92), 'tw': (75, 75, 83)}, button={'cn': (582, 662, 647, 685), 'en': (597, 658, 655, 691), '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_UNMOUNT = Button(area={'cn': (161, 141, 225, 216), 'en': (161, 141, 225, 216), 'jp': (161, 141, 225, 216), 'tw': (161, 141, 225, 216)}, color={'cn': (111, 111, 112), 'en': (111, 111, 112), 'jp': (111, 111, 112), 'tw': (111, 111, 112)}, button={'cn': (161, 141, 225, 216), 'en': (161, 141, 225, 216), 'jp': (161, 141, 225, 216), 'tw': (161, 141, 225, 216)}, file={'cn': './assets/cn/retire/DOCK_UNMOUNT.png', 'en': './assets/en/retire/DOCK_UNMOUNT.png', 'jp': './assets/jp/retire/DOCK_UNMOUNT.png', 'tw': './assets/tw/retire/DOCK_UNMOUNT.png'}) EMPTY_ENHANCE_SLOT_PLUS = Button(area={'cn': (737, 402, 773, 437), 'en': (747, 402, 782, 437), 'jp': (737, 402, 773, 437), 'tw': (747, 401, 782, 437)}, color={'cn': (46, 46, 46), 'en': (38, 38, 38), 'jp': (46, 46, 46), 'tw': (43, 43, 43)}, button={'cn': (737, 402, 773, 437), 'en': (747, 402, 782, 437), 'jp': (737, 402, 773, 437), 'tw': (747, 401, 782, 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': (1226, 605, 1262, 641), 'jp': (1126, 601, 1257, 646), 'tw': (1215, 606, 1253, 641)}, color={'cn': (203, 149, 81), 'en': (212, 167, 100), 'jp': (189, 139, 78), 'tw': (216, 169, 99)}, button={'cn': (1126, 602, 1256, 645), 'en': (1226, 605, 1262, 641), 'jp': (1126, 601, 1257, 646), 'tw': (1215, 606, 1253, 641)}, 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'}) From bdd9d36cac813d7c5e628169327844bb86e148c6 Mon Sep 17 00:00:00 2001 From: guoh064 Date: Sat, 4 Apr 2026 04:31:30 +0800 Subject: [PATCH 12/12] Add: GemsFarming hard mode --- module/campaign/gems_farming.py | 139 ++++++++++++++++++++++++++++++-- module/campaign/run.py | 3 +- 2 files changed, 133 insertions(+), 9 deletions(-) diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index 07baf83e57..4b97a70f82 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -2,14 +2,15 @@ import numpy as np -from module.base.decorator import cached_property +from module.base.decorator import Config, cached_property +from module.base.timer import Timer from module.campaign.campaign_base import CampaignBase from module.campaign.run import CampaignRun from module.combat.assets import BATTLE_PREPARATION from module.combat.emotion import Emotion from module.equipment.assets import * from module.equipment.equipment import Equipment -from module.exception import CampaignEnd +from module.exception import CampaignEnd, RequestHumanTakeover from module.handler.assets import AUTO_SEARCH_MAP_OPTION_OFF from module.logger import logger from module.map.assets import FLEET_PREPARATION, MAP_PREPARATION @@ -146,6 +147,13 @@ def min_emotion(self): _new_fleet_emotion = 0 + @property + def fleet_to_attack(self): + if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all': + return 2 + else: + return 1 + @property def fleet_to_attack_index(self): if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all': @@ -153,6 +161,7 @@ def fleet_to_attack_index(self): else: return self.config.Fleet_Fleet1 + @Config.when(Campaign_Mode='normal') def ui_goto_fleet(self): self.ui_ensure(page_fleet) self.ui_ensure_index(self.fleet_to_attack_index, @@ -161,6 +170,48 @@ def ui_goto_fleet(self): prev_button=FLEET_PREV, skip_first_screenshot=True) + @Config.when(Campaign_Mode='hard') + def ui_goto_fleet(self): + if self.appear(FLEET_PREPARATION, offset=(20, 50)): + return + self.campaign.ensure_campaign_ui(self.stage, 'hard') + self.campaign.ENTRANCE.area = self.campaign.ENTRANCE.button + campaign_timer = Timer(5) + map_timer = Timer(5) + for _ in self.loop(): + if self.appear(FLEET_PREPARATION, offset=(20, 50)): + break + if map_timer.reached() \ + and self.campaign.handle_map_mode_switch('hard') \ + and self.campaign.handle_map_preparation(): + self.device.click(MAP_PREPARATION) + map_timer.reset() + campaign_timer.reset() + # Retire + if self.campaign.handle_retirement(): + continue + if campaign_timer.reached() and self.appear_then_click(self.campaign.ENTRANCE): + campaign_timer.reset() + continue + + @property + def fleet_check_button(self): + if self.config.Campaign_Mode == 'hard': + return FLEET_PREPARATION + return page_fleet.check_button + + @property + def fleet_backline_1_button(self): + if self.config.Campaign_Mode == 'hard': + return globals()[f'FLEET_{self.fleet_to_attack}_BACKLINE_1'] + return FLEET_ENTER_FLAGSHIP + + @property + def fleet_vanguard_1_button(self): + if self.config.Campaign_Mode == 'hard': + return globals()[f'FLEET_{self.fleet_to_attack}_VANGUARD_1'] + return FLEET_ENTER + def ui_enter_ship(self, click_button, long_click=True): if long_click: enter_button_map = { @@ -172,7 +223,7 @@ def ui_enter_ship(self, click_button, long_click=True): self.ship_info_enter(click_button=click_button, long_click=True, skip_first_screenshot=False) return - self.ui_click(FLEET_DETAIL, appear_button=page_fleet.check_button, + self.ui_click(FLEET_DETAIL, appear_button=self.fleet_check_button, check_button=FLEET_DETAIL_CHECK, skip_first_screenshot=True) self.ship_info_enter(enter_button, long_click=False) else: @@ -181,7 +232,7 @@ def ui_enter_ship(self, click_button, long_click=True): def ui_leave_ship(self, check_button=None): if check_button is None: - check_button = page_fleet.check_button + check_button = self.fleet_check_button if check_button == page_fleet.check_button: self.ui_back(check_button=[FLEET_DETAIL_CHECK, page_fleet.check_button]) self.ui_back(check_button=page_fleet.check_button) @@ -252,6 +303,7 @@ def get_common_rarity_cv(self, max_level=31, min_emotion=0): candidates = self.find_candidates(templates, scanner, output=True) return candidates + @Config.when(Campaign_Mode='normal') def flagship_change_execute(self): self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=False) candidate = self.get_common_rarity_cv(min_emotion=self.min_emotion) @@ -270,6 +322,40 @@ def flagship_change_execute(self): self.ui_leave_ship() return False + @Config.when(Campaign_Mode='hard') + def flagship_change_execute(self): + unmount_button = globals()[f'FLEET_{self.fleet_to_attack}_BACKLINE_1'] + mount_button = globals()[f'FLEET_{self.fleet_to_attack}_BACKLINE_3'] + + self.ui_enter_ship(unmount_button, long_click=False) + self.ui_click(DOCK_UNMOUNT, check_button=FLEET_PREPARATION, appear_button=DOCK_CHECK, + additional=self.ensure_no_info_bar, confirm_wait=1, retry_wait=5) + + self.ui_enter_ship(mount_button, long_click=False) + candidate = self.get_common_rarity_cv(max_level=31, min_emotion=self.min_emotion) + if candidate: + ship = max(candidate, key=lambda s: (s.level, s.emotion)) + self._new_fleet_emotion = min(ship.emotion, self._new_fleet_emotion) if self._new_fleet_emotion else ship.emotion + self.dock_select_one(ship.button) + self.dock_reset() + self.dock_select_confirm(check_button=FLEET_PREPARATION) + logger.info('Change flagship success') + return True + + logger.info('Change flagship failed, try using leveled and exhausted CVs.') + candidate = self.get_common_rarity_cv(max_level=self.max_level, min_emotion=0) + if candidate: + ship = min(candidate, key=lambda s: (s.level, -s.emotion)) + self._new_fleet_emotion = min(ship.emotion, self._new_fleet_emotion) if self._new_fleet_emotion else ship.emotion + self.dock_select_one(ship.button) + self.dock_reset() + self.dock_select_confirm(check_button=FLEET_PREPARATION) + return False + else: + # This should not happen in general since the ship unmounted is also a candidate, + # but just in case, we raise human takeover instead of leaving the flagship empty. + raise RequestHumanTakeover('No CV was found, please change flagship manually.') + def flagship_change(self): """ Change flagship and flagship's equipment @@ -280,10 +366,11 @@ def flagship_change(self): logger.hr('Change flagship', level=1) logger.attr('ChangeFlagship', self.config.GemsFarming_ChangeFlagship) self.ui_goto_fleet() + button = self.fleet_backline_1_button if self.change_flagship_equip: logger.hr('Unmount flagship equipments', level=2) - self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=True) + self.ui_enter_ship(button, long_click=True) self.ship_equipment_take_off() self.ui_leave_ship() @@ -292,7 +379,7 @@ def flagship_change(self): if self.change_flagship_equip: logger.hr('Mount flagship equipments', level=2) - self.ui_enter_ship(FLEET_ENTER_FLAGSHIP, long_click=True) + self.ui_enter_ship(button, long_click=True) self.ship_equipment_take_on() self.ui_leave_ship() @@ -360,6 +447,7 @@ def get_common_rarity_dd(self, min_emotion=0): candidates = self.find_candidates(templates, scanner, output=True) return candidates + @Config.when(Campaign_Mode='normal') def vanguard_change_execute(self): self.ui_enter_ship(FLEET_ENTER, long_click=False) candidate = self.get_common_rarity_dd(min_emotion=self.min_emotion) @@ -378,6 +466,40 @@ def vanguard_change_execute(self): self.ui_leave_ship() return False + @Config.when(Campaign_Mode='hard') + def vanguard_change_execute(self): + unmount_button = globals()[f'FLEET_{self.fleet_to_attack}_VANGUARD_1'] + mount_button = globals()[f'FLEET_{self.fleet_to_attack}_VANGUARD_3'] + + self.ui_enter_ship(unmount_button, long_click=False) + self.ui_click(DOCK_UNMOUNT, check_button=FLEET_PREPARATION, appear_button=DOCK_CHECK, + additional=self.ensure_no_info_bar, confirm_wait=1, retry_wait=5) + + self.ui_enter_ship(mount_button, long_click=False) + candidate = self.get_common_rarity_dd(min_emotion=self.min_emotion) + if candidate: + ship = max(candidate, key=lambda s: s.emotion) + self._new_fleet_emotion = min(ship.emotion, self._new_fleet_emotion) if self._new_fleet_emotion else ship.emotion + self.dock_select_one(ship.button) + self.dock_reset() + self.dock_select_confirm(check_button=FLEET_PREPARATION) + logger.info('Change vanguard success') + return True + + logger.info('Change vanguard failed, try using exhausted DDs.') + candidate = self.get_common_rarity_dd(min_emotion=0) + if candidate: + ship = max(candidate, key=lambda s: s.emotion) + self._new_fleet_emotion = min(ship.emotion, self._new_fleet_emotion) if self._new_fleet_emotion else ship.emotion + self.dock_select_one(ship.button) + self.dock_reset() + self.dock_select_confirm(check_button=FLEET_PREPARATION) + return False + else: + # This should not happen in general since the ship unmounted is also a candidate, + # but just in case, we raise human takeover instead of leaving the vanguard slot empty. + raise RequestHumanTakeover('No DD was found, please change vanguard manually.') + def vanguard_change(self): """ Change vanguard and vanguard's equipment @@ -388,10 +510,11 @@ def vanguard_change(self): logger.hr('Change vanguard', level=1) logger.attr('ChangeVanguard', self.config.GemsFarming_ChangeVanguard) self.ui_goto_fleet() + button = self.fleet_vanguard_1_button if self.change_vanguard_equip: logger.hr('Unmount vanguard equipments', level=2) - self.ui_enter_ship(FLEET_ENTER, long_click=True) + self.ui_enter_ship(button, long_click=True) self.ship_equipment_take_off() self.ui_leave_ship() @@ -400,7 +523,7 @@ def vanguard_change(self): if self.change_vanguard_equip: logger.hr('Mount vanguard equipments', level=2) - self.ui_enter_ship(FLEET_ENTER, long_click=True) + self.ui_enter_ship(button, long_click=True) self.ship_equipment_take_on() self.ui_leave_ship() diff --git a/module/campaign/run.py b/module/campaign/run.py index ad3251c544..7289aa41a4 100644 --- a/module/campaign/run.py +++ b/module/campaign/run.py @@ -402,7 +402,8 @@ def run(self, name, folder='campaign_main', mode='normal', total=0): # Because event_20240725 task balancer delete self.campaign.ensure_auto_search_exit() self.campaign.ensure_campaign_ui(name=self.stage, mode=mode) else: - self.campaign.ensure_campaign_ui(name=self.stage, mode=mode) + self.campaign.ensure_campaign_ui(name=self.stage, mode=mode) + self.config.override(Campaign_Mode=self.campaign.config.Campaign_Mode) self.disable_raid_on_event() self.handle_commission_notice()