mirror of
https://github.com/sui-feng-cb/AzurLaneAutoScript1.git
synced 2026-07-24 22:23:31 +08:00
Opt: share screenshot for oil and coin reading, and cache limit
This commit is contained in:
@@ -121,52 +121,51 @@ class AutoSearchCombat(MapOperation, Combat, CampaignStatus):
|
||||
|
||||
return checked
|
||||
|
||||
def auto_search_watch_oil(self, checked=False):
|
||||
def _check_oil(self, oil):
|
||||
"""
|
||||
Watch oil.
|
||||
This will set auto_search_oil_limit_triggered.
|
||||
Check oil threshold and set auto_search_oil_limit_triggered.
|
||||
"""
|
||||
if oil == 0:
|
||||
logger.warning('Oil not found')
|
||||
return
|
||||
if oil < max(500, self.config.StopCondition_OilLimit):
|
||||
logger.info('Reach oil limit')
|
||||
self.auto_search_oil_limit_triggered = True
|
||||
else:
|
||||
if self.auto_search_oil_limit_triggered:
|
||||
logger.warning('auto_search_oil_limit_triggered but oil recovered, '
|
||||
'probably because of wrong OCR result before')
|
||||
self.auto_search_oil_limit_triggered = False
|
||||
|
||||
def _check_coin(self, coin):
|
||||
"""
|
||||
Check coin threshold and set auto_search_coin_limit_triggered.
|
||||
"""
|
||||
if coin == 0:
|
||||
logger.warning('Coin not found')
|
||||
return
|
||||
limit = self.config.TaskBalancer_CoinLimit
|
||||
if self.is_balancer_task():
|
||||
if coin < limit:
|
||||
logger.info('Reach coin limit')
|
||||
self.auto_search_coin_limit_triggered = True
|
||||
else:
|
||||
self.auto_search_coin_limit_triggered = False
|
||||
else:
|
||||
if self.auto_search_coin_limit_triggered:
|
||||
logger.warning('auto_search_coin_limit_triggered but coin recovered, '
|
||||
'probably because of wrong OCR result before')
|
||||
self.auto_search_coin_limit_triggered = False
|
||||
|
||||
def auto_search_watch_resources(self, checked=False):
|
||||
"""
|
||||
Watch oil and coin sharing a single screenshot.
|
||||
"""
|
||||
if not checked:
|
||||
oil = self.get_oil()
|
||||
if oil == 0:
|
||||
logger.warning('Oil not found')
|
||||
else:
|
||||
if oil < max(500, self.config.StopCondition_OilLimit):
|
||||
logger.info('Reach oil limit')
|
||||
self.auto_search_oil_limit_triggered = True
|
||||
else:
|
||||
if self.auto_search_oil_limit_triggered:
|
||||
logger.warning('auto_search_oil_limit_triggered but oil recovered, '
|
||||
'probably because of wrong OCR result before')
|
||||
self.auto_search_oil_limit_triggered = False
|
||||
checked = True
|
||||
|
||||
return checked
|
||||
|
||||
def auto_search_watch_coin(self, checked=False):
|
||||
"""
|
||||
Watch coin.
|
||||
This will set auto_search_coin_limit_triggered.
|
||||
"""
|
||||
if not checked:
|
||||
limit = self.config.TaskBalancer_CoinLimit
|
||||
coin = self.get_coin()
|
||||
if coin == 0:
|
||||
logger.warning('Coin not found')
|
||||
else:
|
||||
if self.is_balancer_task():
|
||||
if coin < limit:
|
||||
logger.info('Reach coin limit')
|
||||
self.auto_search_coin_limit_triggered = True
|
||||
else:
|
||||
# Enough coin
|
||||
self.auto_search_coin_limit_triggered = False
|
||||
else:
|
||||
if self.auto_search_coin_limit_triggered:
|
||||
logger.warning('auto_search_coin_limit_triggered but coin recovered, '
|
||||
'probably because of wrong OCR result before')
|
||||
self.auto_search_coin_limit_triggered = False
|
||||
checked = True
|
||||
oil, coin = self.get_oil_and_coin()
|
||||
self._check_oil(oil)
|
||||
self._check_coin(coin)
|
||||
checked = True
|
||||
|
||||
return checked
|
||||
|
||||
@@ -198,15 +197,13 @@ class AutoSearchCombat(MapOperation, Combat, CampaignStatus):
|
||||
logger.info('Auto search moving')
|
||||
self.device.stuck_record_clear()
|
||||
checked_fleet = False
|
||||
checked_oil = False
|
||||
checked_coin = False
|
||||
checked_resources = False
|
||||
for _ in self.loop():
|
||||
|
||||
if self.is_auto_search_running():
|
||||
checked_fleet = self.auto_search_watch_fleet(checked_fleet)
|
||||
if not checked_oil or not checked_coin:
|
||||
checked_oil = self.auto_search_watch_oil(checked_oil)
|
||||
checked_coin = self.auto_search_watch_coin(checked_coin)
|
||||
if not checked_resources:
|
||||
checked_resources = self.auto_search_watch_resources(checked_resources)
|
||||
if self.handle_retirement():
|
||||
self.map_offensive_auto_search()
|
||||
# Map offensive ends at is_combat_loading
|
||||
|
||||
Reference in New Issue
Block a user