mirror of
https://github.com/W1NDes/M-AzurLaneAutoScript.git
synced 2026-05-14 04:28:21 +08:00
Fix(os): 添加大世界自动寻敌超时机制
- 普通区域12分钟超时,特殊区域30分钟超时 - 战斗/事件/按钮点击时重置计时器 - 超时后抛出ScriptError,人工介入
This commit is contained in:
parent
f94782f1ba
commit
9d82c8cc68
@ -484,9 +484,17 @@ class OSMap(OSFleet, Map, GlobeCamera, StrategicSearchHandler):
|
||||
success = True
|
||||
finished_combat = 0
|
||||
died_timer = Timer(1.5, count=3)
|
||||
if self.is_in_special_zone():
|
||||
auto_search_timeout = 1800
|
||||
else:
|
||||
auto_search_timeout = 720
|
||||
auto_search_timer = Timer(auto_search_timeout, count=auto_search_timeout).start()
|
||||
self.hp_reset()
|
||||
for _ in self.loop():
|
||||
# End
|
||||
if auto_search_timer.reached():
|
||||
logger.warning(f'Stuck OS auto search progress for {auto_search_timeout}s')
|
||||
raise ScriptError('OS auto search stuck, probably a game bug that requires human takeover')
|
||||
if not unlock_checked and unlock_check_timer.reached():
|
||||
logger.critical('Unable to use auto search in current zone')
|
||||
logger.critical('Please finish the story mode of OpSi to unlock auto search '
|
||||
@ -520,13 +528,16 @@ class OSMap(OSFleet, Map, GlobeCamera, StrategicSearchHandler):
|
||||
enable=success
|
||||
):
|
||||
unlock_checked = True
|
||||
auto_search_timer.reset()
|
||||
continue
|
||||
if self.handle_retirement():
|
||||
# Retire will interrupt auto search, need a retry
|
||||
self.ash_popup_canceled = True
|
||||
auto_search_timer.reset()
|
||||
continue
|
||||
if self.combat_appear():
|
||||
self.on_auto_search_battle_count_add()
|
||||
auto_search_timer.reset()
|
||||
if strategic and self.config.task_switched():
|
||||
self.interrupt_auto_search()
|
||||
result = self.auto_search_combat(drop=drop)
|
||||
@ -540,6 +551,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StrategicSearchHandler):
|
||||
continue
|
||||
if self.handle_map_event():
|
||||
# Auto search can not handle siren searching device.
|
||||
auto_search_timer.reset()
|
||||
continue
|
||||
|
||||
return finished_combat
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user