AzurLaneAutoScript/module/campaign/os_run.py
LmeSzinc 6f0e3a38d0 Add: Handle shared CD of recon scan and submarine call
- Add entrance of OpSi abyssal and stronghold
2021-12-08 01:25:35 +08:00

63 lines
1.8 KiB
Python

from module.os.config import OSConfig
from module.os.map_operation import OSMapOperation
from module.os.operation_siren import OperationSiren
from module.os_handler.action_point import ActionPointLimit
class OSCampaignRun(OSMapOperation):
campaign: OperationSiren
campaign_loaded = False
def load_campaign(self):
if self.campaign_loaded:
return False
config = self.config.merge(OSConfig())
self.campaign = OperationSiren(config=config, device=self.device)
self.campaign.os_init()
self.campaign_loaded = True
return True
def opsi_explore(self):
self.load_campaign()
try:
self.campaign.os_explore()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_daily(self):
self.load_campaign()
try:
self.campaign.os_daily()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_meowfficer_farming(self):
self.load_campaign()
try:
self.campaign.os_meowfficer_farming()
except ActionPointLimit:
self.campaign.config.task_delay(server_update=True)
def opsi_obscure(self):
self.load_campaign()
try:
self.campaign.os_obscure()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_abyssal(self):
self.load_campaign()
try:
self.campaign.os_abyssal()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)
def opsi_stronghold(self):
self.load_campaign()
try:
self.campaign.os_stronghold()
except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True)