From eeb516146c99c4f53205b978fb28f3b7926e3ef9 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 19 Jul 2024 12:27:34 +0800 Subject: [PATCH 1/4] Revert "Fix: [TW] Keep SHIPYARD_SERIES_SELECT_CHECK in series 6" This reverts commit 9a920233 --- .../shipyard/SHIPYARD_SERIES_SELECT_CHECK.png | Bin 4450 -> 6360 bytes module/shipyard/assets.py | 2 +- module/shipyard/ui_globals.py | 12 +++--------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/assets/tw/shipyard/SHIPYARD_SERIES_SELECT_CHECK.png b/assets/tw/shipyard/SHIPYARD_SERIES_SELECT_CHECK.png index cb641717031af9b24697cdec7e271bfb732c02a2..ea6d536fca21a510b379e824fe11beb45d1ca040 100644 GIT binary patch delta 3813 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 Date: Tue, 9 Jul 2024 14:36:34 +0800 Subject: [PATCH 2/4] Add: scroll retire comfirm page to find more common cv --- .../cn/retire/RETIRE_CONFIRM_SCROLL_AREA.png | Bin 0 -> 7649 bytes .../en/retire/RETIRE_CONFIRM_SCROLL_AREA.png | Bin 0 -> 7649 bytes .../jp/retire/RETIRE_CONFIRM_SCROLL_AREA.png | Bin 0 -> 7649 bytes .../tw/retire/RETIRE_CONFIRM_SCROLL_AREA.png | Bin 0 -> 7649 bytes module/retire/assets.py | 1 + module/retire/retirement.py | 22 +++++++++++++++++- 6 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 assets/cn/retire/RETIRE_CONFIRM_SCROLL_AREA.png create mode 100644 assets/en/retire/RETIRE_CONFIRM_SCROLL_AREA.png create mode 100644 assets/jp/retire/RETIRE_CONFIRM_SCROLL_AREA.png create mode 100644 assets/tw/retire/RETIRE_CONFIRM_SCROLL_AREA.png diff --git a/assets/cn/retire/RETIRE_CONFIRM_SCROLL_AREA.png b/assets/cn/retire/RETIRE_CONFIRM_SCROLL_AREA.png new file mode 100644 index 0000000000000000000000000000000000000000..700269dd3923405f7cedad1b8e9f3b9d994eb00f GIT binary patch literal 7649 zcmeHLeNYtV8DBsSMNkw-6m4Bk^I>G~_V)Jf_ErumcfcKba>6AL2WD9I1GjJ=-mct% zL5&|+OeIa5Ni-FbSS6j6miiRL4)@HTjLQo`VhMyWA4!(XiD?1E=!e&)D z3&dQ?4|{zcjxT3nvC_-JY=Gw=DA3_@xZIJm$6xQCS2ZrdVyx@Gtp7Z=>iVP|wdX3P zQWs|Y{l<;2x24WZetGBqrpD~GTMMSc_2KmK#n{EnqBEOJMHcqm@OZO89IQEcu5}_( zA5~zA{`#7)rD4)0jdFI^vANDprQPpxG{ac|g z?Pg7HQDXIhmw&5`pS!mW>dTorIc{TH)braSxBq8G;U~|{eNj)owadTnn6dAp=XMk< zsPfN$aaD3b%|GLr&Zx_{s`b;;@29^xyTS3ric1lzw%purEm;3q(t$;l&tIGVNbQcu z?;D>DJKxi-Sd$+X|D}E#|MdA|y#M$HJTG%;PF{nsYu4itTdd!8!XE*tHt=S%!)7)Q zN(BVkUj35E`WHvS#+ic#m>vnC<*yHGk{v)}y<*UiB;dAGy>eiKg z@WJax-d_L0-lj=S>)>x9y8F6zUQ#~xuU8Y6wSCidCH3U09&cy$+EahP{?S((_BJ>D zb4y|S#rz|O=YJd5m=rOW`{J+dC66@p_Wm@rwKJpgm1}=aJNrg1I=w5tmR@W~?vCyL z#J;GfC1+*{Ynz?=L<9c&h22?ACsc=4sEo;9w*TrS``_X>{o+XOqbG{mkJn_Um}f3^ zZn?5?`-$itvQVT zGF00N6H#CC8;ZnVe;Rdjedk`?3#aqkx#*;?T0g#el!*H{a#`%T?^E|*J~N?fjiPB^ z-Jvt%K1;QE#C^x6p!;GA3;lTI#ts44Y9SpHw*q`T@6yYf(NNvU|&qq9+!$@ zJSD6u;PQghhM<(RfS01nSP?E^OL@0R+24Ff3G<9enXj{>cCVRT&ReT|Y+lt8CtX!W z8yRI<-xM@v$(j!c{1e5#TE@ zWok5>;$t{6*OECv0iI0C<)Y{%)oQ=rukveE9$%?iV>BAoD5l0R1Xv(KrCX!|h+CK= zQ3N?GtU&vCugH7cu*6A~cvgxgr4o$8gZ{a^cKZ;$TNqFQ=%Ef!UbRMrs$DMiNQ59} zQ~;6zhi;1yoS*`zb6LT&(nqry6|7sFGm?U#hw$E&zH&JnhE}uXtP7Y5U{=kjDYI;L z#}Go2ppdX!(xr{O&XEI8R-as5Alw&9*kW!23B@EY4Ol2CHHI=lTwxzuh;wYZoW&61d9^79#RDk_v_2k6)llw Rbi5RyEn|tLDZO~z{{ZUN{)+$r literal 0 HcmV?d00001 diff --git a/assets/en/retire/RETIRE_CONFIRM_SCROLL_AREA.png b/assets/en/retire/RETIRE_CONFIRM_SCROLL_AREA.png new file mode 100644 index 0000000000000000000000000000000000000000..700269dd3923405f7cedad1b8e9f3b9d994eb00f GIT binary patch literal 7649 zcmeHLeNYtV8DBsSMNkw-6m4Bk^I>G~_V)Jf_ErumcfcKba>6AL2WD9I1GjJ=-mct% zL5&|+OeIa5Ni-FbSS6j6miiRL4)@HTjLQo`VhMyWA4!(XiD?1E=!e&)D z3&dQ?4|{zcjxT3nvC_-JY=Gw=DA3_@xZIJm$6xQCS2ZrdVyx@Gtp7Z=>iVP|wdX3P zQWs|Y{l<;2x24WZetGBqrpD~GTMMSc_2KmK#n{EnqBEOJMHcqm@OZO89IQEcu5}_( zA5~zA{`#7)rD4)0jdFI^vANDprQPpxG{ac|g z?Pg7HQDXIhmw&5`pS!mW>dTorIc{TH)braSxBq8G;U~|{eNj)owadTnn6dAp=XMk< zsPfN$aaD3b%|GLr&Zx_{s`b;;@29^xyTS3ric1lzw%purEm;3q(t$;l&tIGVNbQcu z?;D>DJKxi-Sd$+X|D}E#|MdA|y#M$HJTG%;PF{nsYu4itTdd!8!XE*tHt=S%!)7)Q zN(BVkUj35E`WHvS#+ic#m>vnC<*yHGk{v)}y<*UiB;dAGy>eiKg z@WJax-d_L0-lj=S>)>x9y8F6zUQ#~xuU8Y6wSCidCH3U09&cy$+EahP{?S((_BJ>D zb4y|S#rz|O=YJd5m=rOW`{J+dC66@p_Wm@rwKJpgm1}=aJNrg1I=w5tmR@W~?vCyL z#J;GfC1+*{Ynz?=L<9c&h22?ACsc=4sEo;9w*TrS``_X>{o+XOqbG{mkJn_Um}f3^ zZn?5?`-$itvQVT zGF00N6H#CC8;ZnVe;Rdjedk`?3#aqkx#*;?T0g#el!*H{a#`%T?^E|*J~N?fjiPB^ z-Jvt%K1;QE#C^x6p!;GA3;lTI#ts44Y9SpHw*q`T@6yYf(NNvU|&qq9+!$@ zJSD6u;PQghhM<(RfS01nSP?E^OL@0R+24Ff3G<9enXj{>cCVRT&ReT|Y+lt8CtX!W z8yRI<-xM@v$(j!c{1e5#TE@ zWok5>;$t{6*OECv0iI0C<)Y{%)oQ=rukveE9$%?iV>BAoD5l0R1Xv(KrCX!|h+CK= zQ3N?GtU&vCugH7cu*6A~cvgxgr4o$8gZ{a^cKZ;$TNqFQ=%Ef!UbRMrs$DMiNQ59} zQ~;6zhi;1yoS*`zb6LT&(nqry6|7sFGm?U#hw$E&zH&JnhE}uXtP7Y5U{=kjDYI;L z#}Go2ppdX!(xr{O&XEI8R-as5Alw&9*kW!23B@EY4Ol2CHHI=lTwxzuh;wYZoW&61d9^79#RDk_v_2k6)llw Rbi5RyEn|tLDZO~z{{ZUN{)+$r literal 0 HcmV?d00001 diff --git a/assets/jp/retire/RETIRE_CONFIRM_SCROLL_AREA.png b/assets/jp/retire/RETIRE_CONFIRM_SCROLL_AREA.png new file mode 100644 index 0000000000000000000000000000000000000000..700269dd3923405f7cedad1b8e9f3b9d994eb00f GIT binary patch literal 7649 zcmeHLeNYtV8DBsSMNkw-6m4Bk^I>G~_V)Jf_ErumcfcKba>6AL2WD9I1GjJ=-mct% zL5&|+OeIa5Ni-FbSS6j6miiRL4)@HTjLQo`VhMyWA4!(XiD?1E=!e&)D z3&dQ?4|{zcjxT3nvC_-JY=Gw=DA3_@xZIJm$6xQCS2ZrdVyx@Gtp7Z=>iVP|wdX3P zQWs|Y{l<;2x24WZetGBqrpD~GTMMSc_2KmK#n{EnqBEOJMHcqm@OZO89IQEcu5}_( zA5~zA{`#7)rD4)0jdFI^vANDprQPpxG{ac|g z?Pg7HQDXIhmw&5`pS!mW>dTorIc{TH)braSxBq8G;U~|{eNj)owadTnn6dAp=XMk< zsPfN$aaD3b%|GLr&Zx_{s`b;;@29^xyTS3ric1lzw%purEm;3q(t$;l&tIGVNbQcu z?;D>DJKxi-Sd$+X|D}E#|MdA|y#M$HJTG%;PF{nsYu4itTdd!8!XE*tHt=S%!)7)Q zN(BVkUj35E`WHvS#+ic#m>vnC<*yHGk{v)}y<*UiB;dAGy>eiKg z@WJax-d_L0-lj=S>)>x9y8F6zUQ#~xuU8Y6wSCidCH3U09&cy$+EahP{?S((_BJ>D zb4y|S#rz|O=YJd5m=rOW`{J+dC66@p_Wm@rwKJpgm1}=aJNrg1I=w5tmR@W~?vCyL z#J;GfC1+*{Ynz?=L<9c&h22?ACsc=4sEo;9w*TrS``_X>{o+XOqbG{mkJn_Um}f3^ zZn?5?`-$itvQVT zGF00N6H#CC8;ZnVe;Rdjedk`?3#aqkx#*;?T0g#el!*H{a#`%T?^E|*J~N?fjiPB^ z-Jvt%K1;QE#C^x6p!;GA3;lTI#ts44Y9SpHw*q`T@6yYf(NNvU|&qq9+!$@ zJSD6u;PQghhM<(RfS01nSP?E^OL@0R+24Ff3G<9enXj{>cCVRT&ReT|Y+lt8CtX!W z8yRI<-xM@v$(j!c{1e5#TE@ zWok5>;$t{6*OECv0iI0C<)Y{%)oQ=rukveE9$%?iV>BAoD5l0R1Xv(KrCX!|h+CK= zQ3N?GtU&vCugH7cu*6A~cvgxgr4o$8gZ{a^cKZ;$TNqFQ=%Ef!UbRMrs$DMiNQ59} zQ~;6zhi;1yoS*`zb6LT&(nqry6|7sFGm?U#hw$E&zH&JnhE}uXtP7Y5U{=kjDYI;L z#}Go2ppdX!(xr{O&XEI8R-as5Alw&9*kW!23B@EY4Ol2CHHI=lTwxzuh;wYZoW&61d9^79#RDk_v_2k6)llw Rbi5RyEn|tLDZO~z{{ZUN{)+$r literal 0 HcmV?d00001 diff --git a/assets/tw/retire/RETIRE_CONFIRM_SCROLL_AREA.png b/assets/tw/retire/RETIRE_CONFIRM_SCROLL_AREA.png new file mode 100644 index 0000000000000000000000000000000000000000..700269dd3923405f7cedad1b8e9f3b9d994eb00f GIT binary patch literal 7649 zcmeHLeNYtV8DBsSMNkw-6m4Bk^I>G~_V)Jf_ErumcfcKba>6AL2WD9I1GjJ=-mct% zL5&|+OeIa5Ni-FbSS6j6miiRL4)@HTjLQo`VhMyWA4!(XiD?1E=!e&)D z3&dQ?4|{zcjxT3nvC_-JY=Gw=DA3_@xZIJm$6xQCS2ZrdVyx@Gtp7Z=>iVP|wdX3P zQWs|Y{l<;2x24WZetGBqrpD~GTMMSc_2KmK#n{EnqBEOJMHcqm@OZO89IQEcu5}_( zA5~zA{`#7)rD4)0jdFI^vANDprQPpxG{ac|g z?Pg7HQDXIhmw&5`pS!mW>dTorIc{TH)braSxBq8G;U~|{eNj)owadTnn6dAp=XMk< zsPfN$aaD3b%|GLr&Zx_{s`b;;@29^xyTS3ric1lzw%purEm;3q(t$;l&tIGVNbQcu z?;D>DJKxi-Sd$+X|D}E#|MdA|y#M$HJTG%;PF{nsYu4itTdd!8!XE*tHt=S%!)7)Q zN(BVkUj35E`WHvS#+ic#m>vnC<*yHGk{v)}y<*UiB;dAGy>eiKg z@WJax-d_L0-lj=S>)>x9y8F6zUQ#~xuU8Y6wSCidCH3U09&cy$+EahP{?S((_BJ>D zb4y|S#rz|O=YJd5m=rOW`{J+dC66@p_Wm@rwKJpgm1}=aJNrg1I=w5tmR@W~?vCyL z#J;GfC1+*{Ynz?=L<9c&h22?ACsc=4sEo;9w*TrS``_X>{o+XOqbG{mkJn_Um}f3^ zZn?5?`-$itvQVT zGF00N6H#CC8;ZnVe;Rdjedk`?3#aqkx#*;?T0g#el!*H{a#`%T?^E|*J~N?fjiPB^ z-Jvt%K1;QE#C^x6p!;GA3;lTI#ts44Y9SpHw*q`T@6yYf(NNvU|&qq9+!$@ zJSD6u;PQghhM<(RfS01nSP?E^OL@0R+24Ff3G<9enXj{>cCVRT&ReT|Y+lt8CtX!W z8yRI<-xM@v$(j!c{1e5#TE@ zWok5>;$t{6*OECv0iI0C<)Y{%)oQ=rukveE9$%?iV>BAoD5l0R1Xv(KrCX!|h+CK= zQ3N?GtU&vCugH7cu*6A~cvgxgr4o$8gZ{a^cKZ;$TNqFQ=%Ef!UbRMrs$DMiNQ59} zQ~;6zhi;1yoS*`zb6LT&(nqry6|7sFGm?U#hw$E&zH&JnhE}uXtP7Y5U{=kjDYI;L z#}Go2ppdX!(xr{O&XEI8R-as5Alw&9*kW!23B@EY4Ol2CHHI=lTwxzuh;wYZoW&61d9^79#RDk_v_2k6)llw Rbi5RyEn|tLDZO~z{{ZUN{)+$r literal 0 HcmV?d00001 diff --git a/module/retire/assets.py b/module/retire/assets.py index 2cf3da530a..25ad35ccae 100644 --- a/module/retire/assets.py +++ b/module/retire/assets.py @@ -27,6 +27,7 @@ RETIRE_APPEAR_2 = Button(area={'cn': (604, 501, 677, 533), 'en': (585, 496, 694, 527), 'jp': (604, 497, 677, 529), 'tw': (603, 501, 677, 533)}, color={'cn': (146, 178, 219), 'en': (146, 179, 220), 'jp': (136, 171, 215), 'tw': (145, 177, 218)}, button={'cn': (604, 501, 677, 533), 'en': (585, 496, 694, 527), 'jp': (604, 497, 677, 529), 'tw': (603, 501, 677, 533)}, file={'cn': './assets/cn/retire/RETIRE_APPEAR_2.png', 'en': './assets/en/retire/RETIRE_APPEAR_2.png', 'jp': './assets/jp/retire/RETIRE_APPEAR_2.png', 'tw': './assets/tw/retire/RETIRE_APPEAR_2.png'}) RETIRE_APPEAR_3 = Button(area={'cn': (804, 501, 876, 533), 'en': (776, 496, 904, 521), 'jp': (804, 497, 876, 529), 'tw': (804, 501, 877, 533)}, color={'cn': (148, 179, 219), 'en': (155, 184, 222), 'jp': (136, 170, 214), 'tw': (147, 179, 219)}, button={'cn': (804, 501, 876, 533), 'en': (776, 496, 904, 521), 'jp': (804, 497, 876, 529), 'tw': (804, 501, 877, 533)}, file={'cn': './assets/cn/retire/RETIRE_APPEAR_3.png', 'en': './assets/en/retire/RETIRE_APPEAR_3.png', 'jp': './assets/jp/retire/RETIRE_APPEAR_3.png', 'tw': './assets/tw/retire/RETIRE_APPEAR_3.png'}) RETIRE_COIN = Button(area={'cn': (307, 638, 351, 661), 'en': (361, 638, 401, 661), 'jp': (326, 637, 365, 662), 'tw': (307, 638, 351, 661)}, color={'cn': (150, 158, 165), 'en': (152, 157, 165), 'jp': (173, 176, 182), 'tw': (150, 158, 165)}, button={'cn': (307, 638, 351, 661), 'en': (361, 638, 401, 661), 'jp': (326, 637, 365, 662), 'tw': (307, 638, 351, 661)}, file={'cn': './assets/cn/retire/RETIRE_COIN.png', 'en': './assets/en/retire/RETIRE_COIN.png', 'jp': './assets/jp/retire/RETIRE_COIN.png', 'tw': './assets/tw/retire/RETIRE_COIN.png'}) +RETIRE_CONFIRM_SCROLL_AREA = Button(area={'cn': (1092, 114, 1095, 592), 'en': (1092, 114, 1095, 592), 'jp': (1092, 114, 1095, 592), 'tw': (1092, 114, 1095, 592)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (1092, 114, 1095, 592), 'en': (1092, 114, 1095, 592), 'jp': (1092, 114, 1095, 592), 'tw': (1092, 114, 1095, 592)}, file={'cn': './assets/cn/retire/RETIRE_CONFIRM_SCROLL_AREA.png', 'en': './assets/en/retire/RETIRE_CONFIRM_SCROLL_AREA.png', 'jp': './assets/jp/retire/RETIRE_CONFIRM_SCROLL_AREA.png', 'tw': './assets/tw/retire/RETIRE_CONFIRM_SCROLL_AREA.png'}) RETIRE_SETTING_1 = Button(area={'cn': (818, 259, 847, 290), 'en': (989, 260, 1017, 289), 'jp': (965, 265, 996, 296), 'tw': (818, 259, 847, 290)}, color={'cn': (102, 122, 147), 'en': (61, 71, 92), 'jp': (61, 70, 91), 'tw': (102, 122, 147)}, button={'cn': (818, 259, 847, 290), 'en': (989, 260, 1017, 289), 'jp': (965, 265, 996, 296), 'tw': (818, 259, 847, 290)}, file={'cn': './assets/cn/retire/RETIRE_SETTING_1.png', 'en': './assets/en/retire/RETIRE_SETTING_1.png', 'jp': './assets/jp/retire/RETIRE_SETTING_1.png', 'tw': './assets/cn/retire/RETIRE_SETTING_1.png'}) RETIRE_SETTING_2 = Button(area={'cn': (746, 316, 775, 346), 'en': (990, 317, 1017, 345), 'jp': (965, 325, 996, 356), 'tw': (746, 316, 775, 346)}, color={'cn': (104, 124, 149), 'en': (62, 73, 93), 'jp': (62, 73, 91), 'tw': (104, 124, 149)}, button={'cn': (746, 316, 775, 346), 'en': (990, 317, 1017, 345), 'jp': (965, 325, 996, 356), 'tw': (746, 316, 775, 346)}, file={'cn': './assets/cn/retire/RETIRE_SETTING_2.png', 'en': './assets/en/retire/RETIRE_SETTING_2.png', 'jp': './assets/jp/retire/RETIRE_SETTING_2.png', 'tw': './assets/cn/retire/RETIRE_SETTING_2.png'}) RETIRE_SETTING_3 = Button(area={'cn': (894, 372, 923, 404), 'en': (990, 374, 1017, 402), 'jp': (965, 385, 996, 416), 'tw': (894, 372, 923, 404)}, color={'cn': (101, 120, 145), 'en': (107, 129, 155), 'jp': (103, 121, 143), 'tw': (101, 120, 145)}, button={'cn': (894, 372, 923, 404), 'en': (990, 374, 1017, 402), 'jp': (965, 385, 996, 416), 'tw': (894, 372, 923, 404)}, file={'cn': './assets/cn/retire/RETIRE_SETTING_3.png', 'en': './assets/en/retire/RETIRE_SETTING_3.png', 'jp': './assets/jp/retire/RETIRE_SETTING_3.png', 'tw': './assets/cn/retire/RETIRE_SETTING_3.png'}) diff --git a/module/retire/retirement.py b/module/retire/retirement.py index 505144b64f..3e1635598a 100644 --- a/module/retire/retirement.py +++ b/module/retire/retirement.py @@ -9,6 +9,7 @@ from module.retire.enhancement import Enhancement from module.retire.scanner import ShipScanner from module.retire.setting import QuickRetireSettingHandler +from module.ui.scroll import Scroll CARD_GRIDS = ButtonGrid( origin=(93, 76), delta=(164 + 2 / 3, 227), button_shape=(138, 204), grid_shape=(7, 2), name='CARD') @@ -23,6 +24,9 @@ # Not support marriage cards. } +RETIRE_CONFIRM_SCROLL = Scroll(RETIRE_CONFIRM_SCROLL_AREA, color=(74, 77, 110), name='STRATEGIC_SEARCH_SCROLL') +RETIRE_CONFIRM_SCROLL.color_threshold = 240 # Background color is (66, 72, 77), so default (256-221)=35 is not enough to dintinguish. + class Retirement(Enhancement, QuickRetireSettingHandler): _unable_to_enhance = False @@ -456,7 +460,7 @@ def _retire_select_one(self, button, skip_first_screenshot=True): return True return False - def retirement_get_common_rarity_cv(self): + def retirement_get_common_rarity_cv_in_page(self): """ Returns: Button: @@ -486,6 +490,22 @@ def retirement_get_common_rarity_cv(self): return None + def retirement_get_common_rarity_cv(self, skip_first_screenshot=False): + button = self.retirement_get_common_rarity_cv_in_page() + if button is not None: + return button + + while RETIRE_CONFIRM_SCROLL.appear(main=self): + RETIRE_CONFIRM_SCROLL.next_page(main=self) + button = self.retirement_get_common_rarity_cv_in_page() + if button is not None: + return button + if RETIRE_CONFIRM_SCROLL.at_bottom(main=self): + logger.info('Scroll bar reached end, stop') + break + + return button + def keep_one_common_cv(self): button = self.retirement_get_common_rarity_cv() if button is not None: From 11e3580c6172290dc2fb70e5fa3f54674a45bbd4 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 9 Jul 2024 14:36:34 +0800 Subject: [PATCH 3/4] Opt: always keep common cv at retirement if GemsFarming enabled --- module/campaign/gems_farming.py | 1 - module/config/config_manual.py | 1 - module/retire/retirement.py | 10 +++++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index 845eaf4aa5..dc855f211e 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -400,7 +400,6 @@ def run(self, name, folder='campaign_main', mode='normal', total=0): total (int): """ self.config.STOP_IF_REACH_LV32 = self.change_flagship - self.config.RETIRE_KEEP_COMMON_CV = True while 1: self._trigger_lv32 = False diff --git a/module/config/config_manual.py b/module/config/config_manual.py index 22261d2051..cd795c7e86 100644 --- a/module/config/config_manual.py +++ b/module/config/config_manual.py @@ -353,7 +353,6 @@ def SERVER(self): """ DOCK_FULL_TRIGGERED = False GET_SHIP_TRIGGERED = False - RETIRE_KEEP_COMMON_CV = False COMMON_CV_THRESHOLD = 0.9 """ diff --git a/module/retire/retirement.py b/module/retire/retirement.py index 3e1635598a..e1efed738c 100644 --- a/module/retire/retirement.py +++ b/module/retire/retirement.py @@ -35,6 +35,10 @@ class Retirement(Enhancement, QuickRetireSettingHandler): # From MapOperation map_cat_attack_timer = Timer(2) + @property + def retire_keep_common_cv(self): + return self.config.is_task_enabled('GemsFarming') + def _retirement_choose(self, amount=10, target_rarity=('N',)): """ Args: @@ -114,7 +118,7 @@ def _retirement_confirm(self, skip_first_screenshot=True): else: self.interval_clear(SHIP_CONFIRM) if self.appear(SHIP_CONFIRM_2, offset=(30, 30), interval=2): - if self.config.RETIRE_KEEP_COMMON_CV and not self._have_kept_cv: + if self.retire_keep_common_cv and not self._have_kept_cv: self.keep_one_common_cv() self.device.click(SHIP_CONFIRM_2) self.interval_clear(GET_ITEMS_1) @@ -171,7 +175,7 @@ def retire_ships_one_click(self): end = False total = 0 - if self.config.RETIRE_KEEP_COMMON_CV: + if self.retire_keep_common_cv: self._have_kept_cv = False while 1: @@ -246,7 +250,7 @@ def retire_ships_old(self, amount=None, rarity=None): self.dock_favourite_set(False) total = 0 - if self.config.RETIRE_KEEP_COMMON_CV: + if self.retire_keep_common_cv: self._have_kept_cv = False while amount: From 0fe1479a27ab700cd242d62b996ed10ec6e4571e Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 20 Jul 2024 05:40:00 +0800 Subject: [PATCH 4/4] Fix: Handle empty mail list (#4011) --- module/freebies/mail_white.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/module/freebies/mail_white.py b/module/freebies/mail_white.py index 42f1feeebe..e717d39e0d 100644 --- a/module/freebies/mail_white.py +++ b/module/freebies/mail_white.py @@ -1,4 +1,5 @@ from module.base.decorator import cached_property +from module.base.timer import Timer from module.combat.assets import GET_ITEMS_1, GET_ITEMS_2 from module.freebies.assets import * from module.logger import logger @@ -28,6 +29,9 @@ def mail_select_setting(self): def _mail_enter(self, skip_first_screenshot=True): """ + Returns: + int: If having mails + Page: in: page_main_white or MAIL_MANAGE out: MAIL_BATCH_CLAIM @@ -36,6 +40,7 @@ def _mail_enter(self, skip_first_screenshot=True): self.interval_clear([ MAIL_MANAGE ]) + timeout = Timer(0.6, count=1) while 1: if skip_first_screenshot: skip_first_screenshot = False @@ -45,7 +50,12 @@ def _mail_enter(self, skip_first_screenshot=True): # End if self.appear(MAIL_BATCH_CLAIM, offset=(20, 20)): logger.info('Mail entered') - break + return True + if self.appear(GOTO_MAIN_WHITE, offset=(20, 20)): + timeout.start() + if timeout.reached(): + logger.info('Mail empty') + return False # Click if self.appear_then_click(MAIL_MANAGE, offset=(30, 30), interval=3): @@ -186,6 +196,9 @@ def mail_claim( in: page_main_white or MAIL_MANAGE out: MAIL_BATCH_CLAIM """ + if not self._mail_enter(): + return + if merit: logger.hr('Mail merit', level=2) self._mail_enter()