1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-11 22:08:20 +08:00
Files
AzurLaneAutoScript/module/hard/hard.py

52 lines
1.8 KiB
Python
Raw Normal View History

2020-03-29 01:22:46 +08:00
import importlib
2020-05-26 23:47:08 +08:00
from campaign.campaign_hard.campaign_hard import Campaign
2020-03-29 01:22:46 +08:00
from module.campaign.run import CampaignRun
from module.hard.assets import *
from module.logger import logger
from module.ocr.ocr import Digit
2020-03-29 01:22:46 +08:00
OCR_HARD_REMAIN = Digit(OCR_HARD_REMAIN, letter=(123, 227, 66), threshold=128, alphabet='0123')
2020-03-29 01:22:46 +08:00
RECORD_OPTION = ('DailyRecord', 'hard')
RECORD_SINCE = (0,)
class CampaignHard(CampaignRun):
equipment_has_take_on = False
campaign: Campaign
def run(self):
logger.hr('Campaign hard', level=1)
chapter, stage = self.config.HARD_CAMPAIGN.split('-')
name = f'campaign_{chapter}_{stage}'
2020-07-30 01:38:38 +08:00
self.reward_backup_daily_reward_settings()
2020-03-29 01:22:46 +08:00
# Initial
self.load_campaign(name='campaign_hard', folder='campaign_hard') # Load campaign file
module = importlib.import_module('.' + name, 'campaign.campaign_main') # Load map from normal mode.
self.campaign.MAP = module.MAP
backups = self.campaign_name_set(name + '_HARD')
2020-03-29 01:22:46 +08:00
if self.equipment_has_take_on:
self.campaign.equipment_has_take_on = True
# UI ensure
self.ui_weigh_anchor()
2020-09-28 01:22:35 +08:00
self.campaign.ensure_campaign_ui(self.config.HARD_CAMPAIGN, mode='hard')
2020-03-29 01:22:46 +08:00
# Run
remain = OCR_HARD_REMAIN.ocr(self.device.image)
logger.attr('Remain', remain)
for n in range(remain):
self.campaign.run()
for backup in backups:
backup.recover()
2020-03-29 01:22:46 +08:00
self.campaign.equipment_take_off_when_finished()
2020-07-30 01:38:38 +08:00
self.reward_recover_daily_reward_settings()
2020-03-29 01:22:46 +08:00
def record_executed_since(self):
return self.config.record_executed_since(option=RECORD_OPTION, since=RECORD_SINCE)
def record_save(self):
return self.config.record_save(option=RECORD_OPTION)