mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-04-01 11:34:53 +08:00
@@ -121,6 +121,8 @@ class EnemySearchingHandler(InfoHandler):
|
||||
if self.handle_in_stage():
|
||||
return True
|
||||
if self.handle_auto_search_exit(drop=drop):
|
||||
timeout.limit = 10
|
||||
timeout.reset()
|
||||
continue
|
||||
|
||||
# Popups
|
||||
@@ -148,6 +150,7 @@ class EnemySearchingHandler(InfoHandler):
|
||||
if appeared:
|
||||
self.handle_enemy_flashing()
|
||||
self.device.sleep(0.3)
|
||||
self.device.screenshot()
|
||||
logger.info('Enemy searching appeared.')
|
||||
break
|
||||
self.enemy_searching_color_initial()
|
||||
@@ -155,7 +158,6 @@ class EnemySearchingHandler(InfoHandler):
|
||||
logger.info('Enemy searching timeout.')
|
||||
break
|
||||
|
||||
self.device.screenshot()
|
||||
return True
|
||||
|
||||
def handle_in_map_no_enemy_searching(self, drop=None):
|
||||
@@ -173,15 +175,15 @@ class EnemySearchingHandler(InfoHandler):
|
||||
while 1:
|
||||
self.device.screenshot()
|
||||
|
||||
# End
|
||||
if timeout.reached():
|
||||
break
|
||||
if not self.is_in_map():
|
||||
timeout.reset()
|
||||
|
||||
# Stage might ends,
|
||||
# although here expects an enemy searching animation.
|
||||
if self.handle_in_stage():
|
||||
return True
|
||||
if self.handle_auto_search_exit(drop=drop):
|
||||
timeout.reset()
|
||||
continue
|
||||
|
||||
# Popups
|
||||
@@ -198,4 +200,9 @@ class EnemySearchingHandler(InfoHandler):
|
||||
timeout.reset()
|
||||
continue
|
||||
|
||||
# End
|
||||
if timeout.reached():
|
||||
logger.info('No enemy searching in map.')
|
||||
break
|
||||
|
||||
return True
|
||||
|
||||
@@ -377,12 +377,17 @@ class Map(Fleet):
|
||||
grids = self.map.select(may_boss=True, is_accessible=True).sort('weight', 'cost')
|
||||
logger.info('May boss: %s' % grids)
|
||||
battle_count = self.battle_count
|
||||
is_single_boss = self.map.select(may_boss=True).count == 1
|
||||
if is_single_boss:
|
||||
expected = 'boss'
|
||||
else:
|
||||
expected = ''
|
||||
|
||||
for grid in grids:
|
||||
logger.hr('Clear potential BOSS')
|
||||
grids = grids.sort('weight', 'cost')
|
||||
logger.info('Grid: %s' % str(grid))
|
||||
self.fleet_boss.clear_chosen_enemy(grid)
|
||||
self.fleet_boss.clear_chosen_enemy(grid, expected=expected)
|
||||
if self.battle_count > battle_count:
|
||||
logger.info('Boss guessing correct.')
|
||||
return True
|
||||
@@ -397,7 +402,7 @@ class Map(Fleet):
|
||||
roadblocks = self.brute_find_roadblocks(grid, fleet=self.fleet_boss_index)
|
||||
roadblocks = roadblocks.sort('weight', 'cost')
|
||||
logger.info('Grids: %s' % str(roadblocks))
|
||||
self.fleet_1.clear_chosen_enemy(roadblocks[0])
|
||||
self.fleet_1.clear_chosen_enemy(roadblocks[0], expected=expected)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user