diff --git a/assets/cn/retire/TEMPLATE_IN_COMMISSION.png b/assets/cn/retire/TEMPLATE_IN_COMMISSION.png new file mode 100644 index 000000000..248fe2346 Binary files /dev/null and b/assets/cn/retire/TEMPLATE_IN_COMMISSION.png differ diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index 83e87dd95..0cdc205e9 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -152,7 +152,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): logger.hr('FINDING FLAGSHIP') dock_scanner = DockScanner( - level=(1, 31), emotion=(10, 150), rarity='common') + level=(1, 33), emotion=(10, 150), rarity='common', fleet=0, in_commission=False) if self.config.GemsFarming_CommonCV == 'any': logger.info('') @@ -240,7 +240,8 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange): else: max_level = 70 - dock_scanner = DockScanner(level=(max_level, max_level), emotion=(10, 150), rarity='common') + dock_scanner = DockScanner(level=(max_level, max_level), emotion=(10, 150), + rarity='common', fleet=0, in_commission=False) # button_list = list(filter(lambda a: a[1] == max_level and a[2] >= 10, button_list)) # if button_list: diff --git a/module/retire/assets.py b/module/retire/assets.py index 0bd9b0437..8c07f214c 100644 --- a/module/retire/assets.py +++ b/module/retire/assets.py @@ -36,5 +36,6 @@ SORT_DESC = Button(area={'cn': (1014, 29, 1019, 33), 'en': (1014, 29, 1019, 33), SR_SSR_CONFIRM = Button(area={'cn': (757, 480, 829, 511), 'en': (706, 463, 881, 523), 'jp': (723, 470, 870, 509), 'tw': (757, 473, 829, 504)}, color={'cn': (150, 181, 221), 'en': (106, 152, 208), 'jp': (101, 146, 203), 'tw': (148, 180, 221)}, button={'cn': (757, 480, 829, 511), 'en': (706, 463, 881, 523), 'jp': (723, 470, 870, 509), 'tw': (757, 473, 829, 504)}, file={'cn': './assets/cn/retire/SR_SSR_CONFIRM.png', 'en': './assets/en/retire/SR_SSR_CONFIRM.png', 'jp': './assets/jp/retire/SR_SSR_CONFIRM.png', 'tw': './assets/tw/retire/SR_SSR_CONFIRM.png'}) TEMPLATE_BOGUE = Template(file={'cn': './assets/cn/retire/TEMPLATE_BOGUE.png', 'en': './assets/en/retire/TEMPLATE_BOGUE.png', 'jp': './assets/jp/retire/TEMPLATE_BOGUE.png', 'tw': './assets/tw/retire/TEMPLATE_BOGUE.png'}) TEMPLATE_HERMES = Template(file={'cn': './assets/cn/retire/TEMPLATE_HERMES.png', 'en': './assets/en/retire/TEMPLATE_HERMES.png', 'jp': './assets/jp/retire/TEMPLATE_HERMES.png', 'tw': './assets/tw/retire/TEMPLATE_HERMES.png'}) +TEMPLATE_IN_COMMISSION = Template(file={'cn': './assets/cn/retire/TEMPLATE_IN_COMMISSION.png', 'en': './assets/cn/retire/TEMPLATE_IN_COMMISSION.png', 'jp': './assets/cn/retire/TEMPLATE_IN_COMMISSION.png', 'tw': './assets/cn/retire/TEMPLATE_IN_COMMISSION.png'}) TEMPLATE_LANGLEY = Template(file={'cn': './assets/cn/retire/TEMPLATE_LANGLEY.png', 'en': './assets/en/retire/TEMPLATE_LANGLEY.png', 'jp': './assets/jp/retire/TEMPLATE_LANGLEY.png', 'tw': './assets/tw/retire/TEMPLATE_LANGLEY.png'}) TEMPLATE_RANGER = Template(file={'cn': './assets/cn/retire/TEMPLATE_RANGER.png', 'en': './assets/en/retire/TEMPLATE_RANGER.png', 'jp': './assets/jp/retire/TEMPLATE_RANGER.png', 'tw': './assets/tw/retire/TEMPLATE_RANGER.png'}) diff --git a/module/retire/dock.py b/module/retire/dock.py index 5a6650ee9..be0185ace 100644 --- a/module/retire/dock.py +++ b/module/retire/dock.py @@ -9,7 +9,7 @@ from module.retire.assets import * from module.ui.scroll import Scroll from module.ui.switch import Switch -from ..base.utils import color_similar, get_color, limit_in +from ..base.utils import color_similar, crop, get_color, limit_in from ..combat.level import LevelOcr from module.retire.fleet import FleetOcr @@ -264,7 +264,7 @@ class DockScanner: self.limitaion['fleet'] = (0, 6) if fleet == 0 else limit_in(fleet, 0, 6) - self.in_commission: bool = in_commission + self.limitaion['in_commission'] = in_commission logger.info(f'Limitaions set to {self.limitaion}') @@ -309,20 +309,24 @@ class DockScanner: name='DOCK_FLEET_OCR') list_fleet = fleet_ocr.ocr(image) + list_commission = [TEMPLATE_IN_COMMISSION.match( + crop(image, button.area)) for button in CARD_GRIDS.buttons] + candidates: list[Ship] = [ Ship( level=level, emotion=emotion, rarity=rarity, fleet=fleet, - in_commission=False, + in_commission=in_commission, button=button) - for level, emotion, rarity, fleet, button in + for level, emotion, rarity, fleet, in_commission, button in list(zip( list_level, list_emotion, list_rarity, list_fleet, + list_commission, CARD_GRIDS.buttons)) ]