1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-19 04:53:34 +08:00
This commit is contained in:
2025-01-06 13:13:22 +08:00
62 changed files with 705 additions and 95 deletions

View File

@@ -149,13 +149,13 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
def retirement_appear(self):
return self.appear(RETIRE_APPEAR_1, offset=30) \
and self.appear(RETIRE_APPEAR_2, offset=30) \
and self.appear(RETIRE_APPEAR_3, offset=30)
and self.appear(RETIRE_APPEAR_2, offset=30) \
and self.appear(RETIRE_APPEAR_3, offset=30)
def _retirement_quit(self):
def check_func():
return not self.appear(IN_RETIREMENT_CHECK, offset=(20, 20)) \
and not self.appear(DOCK_CHECK, offset=(20, 20))
and not self.appear(DOCK_CHECK, offset=(20, 20))
self.ui_back(check_button=check_func, skip_first_screenshot=True)
@@ -175,7 +175,9 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
def retire_ships_one_click(self):
logger.hr('Retirement')
logger.info('Using one click retirement.')
self.dock_favourite_set(False)
# No need to wait, one-click-retire doesn't need to check dock
self.dock_favourite_set(wait_loading=False)
self.dock_sort_method_dsc_set(wait_loading=False)
end = False
total = 0
@@ -185,6 +187,7 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
while 1:
self.handle_info_bar()
# ONE_CLICK_RETIREMENT -> SHIP_CONFIRM_2 or info_bar_count
skip_first_screenshot = True
click_count = 0
while 1:
@@ -212,8 +215,10 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
click_count += 1
continue
# info_bar_count
if end:
break
# SHIP_CONFIRM_2 -> IN_RETIREMENT_CHECK
self._retirement_confirm()
total += 10
# if total >= amount:
@@ -248,10 +253,11 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
'SSR': 'super_rare'
}
_rarity = [correspond_name[i] for i in rarity]
self.dock_filter_set(sort='level', index='all',
faction='all', rarity=_rarity, extra='no_limit')
self.dock_sort_method_dsc_set(False)
self.dock_favourite_set(False)
self.dock_sort_method_dsc_set(False, wait_loading=False)
self.dock_favourite_set(False, wait_loading=False)
self.dock_filter_set(
sort='level', index='all', faction='all', rarity=_rarity, extra='no_limit')
total = 0
if self.retire_keep_common_cv:
@@ -277,7 +283,7 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
self.handle_dock_cards_loading()
continue
self.dock_sort_method_dsc_set(True)
self.dock_sort_method_dsc_set(True, wait_loading=False)
self.dock_filter_set()
logger.info(f'Total retired: {total}')
return total
@@ -295,8 +301,9 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
logger.info('Not in GemsFarming, skip')
return 0
self.dock_favourite_set(wait_loading=False)
self.dock_sort_method_dsc_set(wait_loading=False)
self.dock_filter_set(index='cv', rarity='common', extra='not_level_max', sort='level')
self.dock_favourite_set(False)
scanner = ShipScanner(
rarity='common', fleet=0, status='free', level=(2, 100))
@@ -326,14 +333,19 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
ships.sort(key=lambda s: -s.level)
ships = ships[:-1]
for ship in ships[:10]:
for ship in ships:
self.device.click(ship.button)
self.device.sleep((0.1, 0.15))
total += 1
self._retirement_confirm()
# Quick exit if there's only a few CV to retire
if len(ships) < 10:
break
self._have_kept_cv = _
# No need to wait, retire finished, just about to exit
self.dock_filter_set(wait_loading=False)
return total
@@ -410,8 +422,8 @@ class Retirement(Enhancement, QuickRetireSettingHandler):
if not total:
logger.warning(
'No ship retired, trying to reset dock filter and disable favourite, then retire again')
self.dock_favourite_set(False, wait_loading=False)
self.dock_filter_set()
self.dock_favourite_set(False)
total = self.retire_ships_one_click()
if self.server_support_quick_retire_setting_fallback():
# Some users may have already set filter_5='all', try with it first