2020-03-28 17:22:46 +00:00
|
|
|
from module.combat.combat import Combat
|
|
|
|
from module.daemon.assets import *
|
|
|
|
from module.handler.ambush import MAP_AMBUSH_EVADE
|
|
|
|
from module.handler.mystery import MysteryHandler
|
|
|
|
from module.map.map_fleet_preparation import FleetPreparation
|
|
|
|
|
|
|
|
|
2020-05-15 06:18:14 +00:00
|
|
|
class AzurLaneDaemon(FleetPreparation, Combat, MysteryHandler):
|
2020-03-28 17:22:46 +00:00
|
|
|
def daemon(self):
|
|
|
|
|
|
|
|
while 1:
|
|
|
|
self.device.screenshot()
|
|
|
|
|
|
|
|
# If is running a combat, do nothing.
|
|
|
|
if self.is_combat_executing():
|
|
|
|
continue
|
|
|
|
|
|
|
|
# Combat
|
|
|
|
if self.combat_appear():
|
|
|
|
# if self.handle_combat_automation_set(auto=True):
|
|
|
|
# continue
|
|
|
|
# self.device.click(BATTLE_PREPARATION)
|
|
|
|
self.combat_preparation()
|
|
|
|
if self.handle_battle_status(save_get_items=False):
|
|
|
|
self.combat_status(save_get_items=False, expected_end='no_searching')
|
|
|
|
continue
|
|
|
|
|
|
|
|
# Map operation
|
|
|
|
if self.appear_then_click(MAP_AMBUSH_EVADE):
|
|
|
|
self.device.sleep(1)
|
|
|
|
continue
|
|
|
|
if self.appear_then_click(STRATEGY_OPEN):
|
|
|
|
continue
|
|
|
|
|
|
|
|
# Map preparation
|
|
|
|
if self.config.ENABLE_SEMI_MAP_PREPARATION:
|
|
|
|
if self.appear_then_click(MAP_PREPARATION, interval=2):
|
|
|
|
continue
|
|
|
|
if self.appear_then_click(FLEET_PREPARATION, interval=2):
|
|
|
|
continue
|
|
|
|
|
|
|
|
# Retire
|
|
|
|
pass
|
|
|
|
|
|
|
|
# Emotion
|
|
|
|
pass
|
|
|
|
|
|
|
|
# Urgent commission
|
|
|
|
if self.handle_urgent_commission(save_get_items=False):
|
|
|
|
continue
|
|
|
|
|
|
|
|
# Story
|
|
|
|
if self.config.ENABLE_SEMI_STORY_SKIP:
|
2020-04-24 07:26:11 +00:00
|
|
|
self.story_skip()
|
2020-03-28 17:22:46 +00:00
|
|
|
|
|
|
|
# End
|
|
|
|
# No end condition, stop it manually.
|
|
|
|
|
|
|
|
return True
|