From 236958179402aa8530af3f3800b01d444918a39b Mon Sep 17 00:00:00 2001 From: Horizon101011 <43370844+Horizon101011@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:36:35 +0800 Subject: [PATCH] Upd: Add support for commission status --- assets/cn/retire/TEMPLATE_IN_COMMISSION.png | Bin 0 -> 2525 bytes module/campaign/gems_farming.py | 5 +++-- module/retire/assets.py | 1 + module/retire/dock.py | 12 ++++++++---- 4 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 assets/cn/retire/TEMPLATE_IN_COMMISSION.png diff --git a/assets/cn/retire/TEMPLATE_IN_COMMISSION.png b/assets/cn/retire/TEMPLATE_IN_COMMISSION.png new file mode 100644 index 0000000000000000000000000000000000000000..248fe2346d943dcd9536aa1f569c14091d5bda02 GIT binary patch literal 2525 zcmcImdsGu=79S{xz$#W{yDG9{1gq^PnVGytQ=|z(T0${R3-z2TlbHz_NiuOJ2?1qA z*eYwqw*rdQBB@pjN;ykcQ7X3JSr;kbN_VZVS}oQ^VL>abBKw6`J$qW$e|FB9$@lo( z-~HYD-S3|KF*zxILdf(G2!bZ)60`>J8}56@`$Lf5V$MGWOoAN=@9+>Ln(cf2Jl+^L z1O@(+F{V0G^@%vi+C&7!nrM;7<^X62S`g!L5M&1JgiUlhV^<5hYCjji45b#N$n=Qb zp`k5ILN-UgnVn=LvolB)C5U+iUf{t2fsJ+&u*YV#^SDPX7~;jj*taYez(WvchFTEo za|oyElVJ_Z(XdP;7m}zHgB2Z@ z7mfG=Gqu3tbUJXcI5RU-lqnIhT)G%lsZ?SF6JwYVAcTCD-AQ1t@ z-k9Z}#Ri&ZT^vcrxoNv|_NX(89J6(}IO|ZP6e*^yv<<*`APgOI<*=|$mbb9K5Xac| zSTqh?!_kD3<%}$A9X+VzQ5IOEf#;?$c8bm9=lS%Ez-cYvq}2ip0hvZrLPT!F5L~9h zW!TGz5=W3>s2)@SML3CP1G5xk&UzN8UXSbSypyn#v`(uQ08t`_p>PT%P(m(4gcwSZ zLfS0Fgepn`K1vCpkef}k1S5xZ0edY=x_rs=*$)>j#gc$yEI+tZM#hFe zr3#@*L79XYg-B#38Ad4)VwCL-jsf?Eus+G^Q$+zrg+wBk(-;8^%_bqLl#)V138r$h zL?I&(iHamB0Zfs&ndNK*s1n9Tq|;)DJzW6*q(;M9Sx(PVAm@@N*L50AGRK-3E7;%- z@vp+VIE@@t$>l;!g!+me$N=FcFg!TntdVQ0WM$x?+QbRccO}#U(pL*K5H!5Z z{7jmkEudlhObZQ2pHd~mFrGC#GYO84O$SHvKWb3?OVWA5{dD2aRv-U2;Ug&}ErdOt z2EA1*@P#7wb)n${5&!pD4edSAu}0yb4f=*-{TEEeIyh|y)Ewx~XO%a0LeO)?I&G{` zS!grFT4uyg&Dr{5_Y1~izhJ2}G;*@0{cl0jxTEXC!lS&{y|nK%vu`!%KXh4Uq26_q zvJqimzwu%6lJJXZFNC<^`n$7?MY$rsANF0BDUSvQy}hqxW5RF)C0LgX06&$ z>wZLfs=bvdvD(x5`kwsnj-KS<9R0-0U2eY{w+H6z{nC+}e@_6AIgJn*rpY?L7!GCUvsSWzxkJg=cn}Qu)AlyM%eIDSnj*a zZKW4}9ha;&DD0J64FCB3*WaF6jP17INh<`R3!)*8Nl{Vv<`O=VFL*Ia*=avQQL=D6%t zSFH|j?>F^V79V(Y#Yt91PHk%3Z`=8fykL90_Q+|~RQA#i32Dlu zGXCBeKCSP2DIBok;sG-9qqOF&+_>hxlGTPklm#6uayM1Bcaz+%9-al>r)`6&15p5fK*7ta~2ZmYC&MWWO5zXAcjSmJw XdEUb3OKLXy{($M?lC+htrse$y_NTW7 literal 0 HcmV?d00001 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)) ]