1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-12 06:18:21 +08:00
This commit is contained in:
sui-feng-cb
2026-01-23 17:02:56 +08:00
57 changed files with 975 additions and 1264 deletions

View File

@@ -6,7 +6,6 @@ import inflection
from module.base.timer import Timer
from module.config.utils import get_os_reset_remain
from module.exception import CampaignEnd, GameTooManyClickError, MapWalkError, RequestHumanTakeover, ScriptError
from module.exercise.assets import QUIT_RECONFIRM
from module.handler.login import LoginHandler, MAINTENANCE_ANNOUNCE
from module.logger import logger
from module.map.map import Map
@@ -637,13 +636,12 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
logger.attr('CL1 time cost', f'{cost}s/round')
self._auto_search_round_timer = time.time()
def os_auto_search_daemon(self, drop=None, strategic=False, interrupt=None, skip_first_screenshot=True):
def os_auto_search_daemon(self, drop=None, strategic=False, interrupt=None):
"""
Args:
drop (DropRecord):
strategic (bool): True if running in strategic search
interrupt (callable):
skip_first_screenshot:
Returns:
int: Number of finished battle
@@ -678,12 +676,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
finished_combat = 0
died_timer = Timer(1.5, count=3)
self.hp_reset()
while 1:
if skip_first_screenshot:
skip_first_screenshot = False
else:
self.device.screenshot()
for _ in self.loop():
# End
if not unlock_checked and unlock_check_timer.reached():
logger.critical('Unable to use auto search in current zone')
@@ -744,7 +737,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
return finished_combat
def interrupt_auto_search(self, goto_main=True, skip_first_screenshot=True):
def interrupt_auto_search(self, goto_main=True):
"""
Args:
goto_main (bool): If go to the page_main
@@ -761,12 +754,8 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
pause_interval = Timer(0.5, count=1)
in_main_timer = Timer(3, count=6)
in_map_timer = Timer(1, count=6)
while 1:
if skip_first_screenshot:
skip_first_screenshot = False
else:
self.device.screenshot()
for _ in self.loop():
# End
if self.is_in_main():
logger.info('Auto search interrupted')
@@ -797,7 +786,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
in_main_timer.reset()
in_map_timer.reset()
continue
if self.appear_then_click(QUIT_RECONFIRM, offset=True, interval=5):
if self.handle_combat_quit_reconfirm():
self.interval_reset(MAINTENANCE_ANNOUNCE)
pause_interval.reset()
in_main_timer.reset()
@@ -845,7 +834,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler):
backup = self.config.temporary(Campaign_UseAutoSearch=True)
try:
if strategic:
self.strategic_search_start(skip_first_screenshot=True)
self.strategic_search_start()
combat = self.os_auto_search_daemon(drop=drop, strategic=strategic, interrupt=interrupt)
finished_combat += combat
except CampaignEnd: