mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-03-09 18:39:04 +08:00
Fix: handle multiple meowfficer searching
This commit is contained in:
parent
9bb75467dc
commit
6a6321b026
@ -602,8 +602,18 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
|
||||
unlock_check_timer = Timer(5, count=10).start()
|
||||
self.ash_popup_canceled = False
|
||||
|
||||
def false_func(*args, **kwargs):
|
||||
return False
|
||||
|
||||
success = True
|
||||
interrupt_confirm = False
|
||||
if callable(interrupt):
|
||||
is_interrupt, not_interrupt = interrupt, false_func
|
||||
elif isinstance(interrupt, list) and len(interrupt) == 2:
|
||||
is_interrupt = interrupt[0] if callable(interrupt[0]) else false_func
|
||||
not_interrupt = interrupt[1] if callable(interrupt[1]) else false_func
|
||||
else:
|
||||
is_interrupt, not_interrupt = false_func, false_func
|
||||
finished_combat = 0
|
||||
died_timer = Timer(1.5, count=3)
|
||||
self.hp_reset()
|
||||
@ -625,11 +635,11 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
|
||||
if died_timer.reached():
|
||||
logger.warning('Fleet died confirm')
|
||||
break
|
||||
elif not interrupt_confirm and callable(interrupt) and interrupt():
|
||||
if not interrupt_confirm and is_interrupt():
|
||||
interrupt_confirm = True
|
||||
died_timer.reset()
|
||||
else:
|
||||
died_timer.reset()
|
||||
if interrupt_confirm and not_interrupt():
|
||||
interrupt_confirm = False
|
||||
died_timer.reset()
|
||||
else:
|
||||
died_timer.reset()
|
||||
|
||||
|
||||
@ -54,7 +54,7 @@ class OperationSiren(OSMap):
|
||||
if self.is_meowfficer_searching():
|
||||
logger.info('Found meowfficer searching, complete this zone')
|
||||
try:
|
||||
self.run_auto_search(interrupt=self.no_meowfficer_searching)
|
||||
self.run_auto_search(interrupt=[self.no_meowfficer_searching, self.is_meowfficer_searching])
|
||||
self.handle_after_auto_search()
|
||||
success = False
|
||||
except TaskEnd:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user