mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-03-19 23:33:33 +08:00
Add: War Archives Campaign Run
TODO: Update images as needed per server, scroll/next page implementation for page_archives, maybe rename and move war archives events back to where others are and prepend with 'war_archives' for those events
This commit is contained in:
17
module/war_archives/assets.py
Normal file
17
module/war_archives/assets.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from module.base.button import Button
|
||||
from module.base.template import Template
|
||||
|
||||
# This file was automatically generated by dev_tools.button_extract.
|
||||
# Don't modify it manually.
|
||||
|
||||
TEMPLATE_DIVERGENT_CHESSBOARD = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_DIVERGENT_CHESSBOARD.png', 'en': './assets/en/war_archives/TEMPLATE_DIVERGENT_CHESSBOARD.png', 'jp': './assets/cn/war_archives/TEMPLATE_DIVERGENT_CHESSBOARD.png', 'tw': './assets/cn/war_archives/TEMPLATE_DIVERGENT_CHESSBOARD.png'})
|
||||
TEMPLATE_FALLEN_WINGS = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_FALLEN_WINGS.png', 'en': './assets/en/war_archives/TEMPLATE_FALLEN_WINGS.png', 'jp': './assets/cn/war_archives/TEMPLATE_FALLEN_WINGS.png', 'tw': './assets/cn/war_archives/TEMPLATE_FALLEN_WINGS.png'})
|
||||
TEMPLATE_STRIVE_WISH_AND_STRATEGIZE = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png', 'en': './assets/en/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png', 'jp': './assets/cn/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png', 'tw': './assets/cn/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png'})
|
||||
TEMPLATE_THE_PURSUIT_OF_GRAF_SPEE = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_THE_PURSUIT_OF_GRAF_SPEE.png', 'en': './assets/en/war_archives/TEMPLATE_THE_PURSUIT_OF_GRAF_SPEE.png', 'jp': './assets/cn/war_archives/TEMPLATE_THE_PURSUIT_OF_GRAF_SPEE.png', 'tw': './assets/cn/war_archives/TEMPLATE_THE_PURSUIT_OF_GRAF_SPEE.png'})
|
||||
TEMPLATE_VISITORS_DYED_IN_RED = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png', 'en': './assets/en/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png', 'jp': './assets/cn/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png', 'tw': './assets/cn/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png'})
|
||||
TEMPLATE_WINTERS_CROWN = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_WINTERS_CROWN.png', 'en': './assets/en/war_archives/TEMPLATE_WINTERS_CROWN.png', 'jp': './assets/cn/war_archives/TEMPLATE_WINTERS_CROWN.png', 'tw': './assets/cn/war_archives/TEMPLATE_WINTERS_CROWN.png'})
|
||||
WAR_ARCHIVES_CAMPAIGN_CHECK = Button(area={'cn': (1150, 101, 1166, 130), 'en': (1150, 101, 1166, 130), 'jp': (1150, 101, 1166, 130), 'tw': (1150, 101, 1166, 130)}, color={'cn': (134, 175, 207), 'en': (134, 175, 207), 'jp': (134, 175, 207), 'tw': (134, 175, 207)}, button={'cn': (1150, 101, 1166, 130), 'en': (1150, 101, 1166, 130), 'jp': (1150, 101, 1166, 130), 'tw': (1150, 101, 1166, 130)}, file={'cn': './assets/cn/war_archives/WAR_ARCHIVES_CAMPAIGN_CHECK.png', 'en': './assets/en/war_archives/WAR_ARCHIVES_CAMPAIGN_CHECK.png', 'jp': './assets/cn/war_archives/WAR_ARCHIVES_CAMPAIGN_CHECK.png', 'tw': './assets/cn/war_archives/WAR_ARCHIVES_CAMPAIGN_CHECK.png'})
|
||||
WAR_ARCHIVES_EX_OFF = Button(area={'cn': (908, 42, 991, 72), 'en': (908, 42, 991, 72), 'jp': (908, 42, 991, 72), 'tw': (908, 42, 991, 72)}, color={'cn': (40, 42, 56), 'en': (40, 42, 56), 'jp': (40, 42, 56), 'tw': (40, 42, 56)}, button={'cn': (908, 42, 991, 72), 'en': (908, 42, 991, 72), 'jp': (908, 42, 991, 72), 'tw': (908, 42, 991, 72)}, file={'cn': './assets/cn/war_archives/WAR_ARCHIVES_EX_OFF.png', 'en': './assets/en/war_archives/WAR_ARCHIVES_EX_OFF.png', 'jp': './assets/cn/war_archives/WAR_ARCHIVES_EX_OFF.png', 'tw': './assets/cn/war_archives/WAR_ARCHIVES_EX_OFF.png'})
|
||||
WAR_ARCHIVES_EX_ON = Button(area={'cn': (903, 42, 994, 72), 'en': (903, 42, 994, 72), 'jp': (903, 42, 994, 72), 'tw': (903, 42, 994, 72)}, color={'cn': (75, 93, 151), 'en': (75, 93, 151), 'jp': (75, 93, 151), 'tw': (75, 93, 151)}, button={'cn': (903, 42, 994, 72), 'en': (903, 42, 994, 72), 'jp': (903, 42, 994, 72), 'tw': (903, 42, 994, 72)}, file={'cn': './assets/cn/war_archives/WAR_ARCHIVES_EX_ON.png', 'en': './assets/en/war_archives/WAR_ARCHIVES_EX_ON.png', 'jp': './assets/cn/war_archives/WAR_ARCHIVES_EX_ON.png', 'tw': './assets/cn/war_archives/WAR_ARCHIVES_EX_ON.png'})
|
||||
WAR_ARCHIVES_SP_OFF = Button(area={'cn': (1012, 43, 1095, 71), 'en': (1012, 43, 1095, 71), 'jp': (1012, 43, 1095, 71), 'tw': (1012, 43, 1095, 71)}, color={'cn': (40, 42, 56), 'en': (40, 42, 56), 'jp': (40, 42, 56), 'tw': (40, 42, 56)}, button={'cn': (1012, 43, 1095, 71), 'en': (1012, 43, 1095, 71), 'jp': (1012, 43, 1095, 71), 'tw': (1012, 43, 1095, 71)}, file={'cn': './assets/cn/war_archives/WAR_ARCHIVES_SP_OFF.png', 'en': './assets/en/war_archives/WAR_ARCHIVES_SP_OFF.png', 'jp': './assets/cn/war_archives/WAR_ARCHIVES_SP_OFF.png', 'tw': './assets/cn/war_archives/WAR_ARCHIVES_SP_OFF.png'})
|
||||
WAR_ARCHIVES_SP_ON = Button(area={'cn': (1010, 43, 1095, 71), 'en': (1010, 43, 1095, 71), 'jp': (1010, 43, 1095, 71), 'tw': (1010, 43, 1095, 71)}, color={'cn': (77, 95, 152), 'en': (77, 95, 152), 'jp': (77, 95, 152), 'tw': (77, 95, 152)}, button={'cn': (1010, 43, 1095, 71), 'en': (1010, 43, 1095, 71), 'jp': (1010, 43, 1095, 71), 'tw': (1010, 43, 1095, 71)}, file={'cn': './assets/cn/war_archives/WAR_ARCHIVES_SP_ON.png', 'en': './assets/en/war_archives/WAR_ARCHIVES_SP_ON.png', 'jp': './assets/cn/war_archives/WAR_ARCHIVES_SP_ON.png', 'tw': './assets/cn/war_archives/WAR_ARCHIVES_SP_ON.png'})
|
||||
50
module/war_archives/war_archives.py
Normal file
50
module/war_archives/war_archives.py
Normal file
@@ -0,0 +1,50 @@
|
||||
import copy
|
||||
import importlib
|
||||
import os
|
||||
|
||||
from campaign.campaign_war_archives.campaign_base import CampaignBase, CampaignNameError
|
||||
from module.campaign.run import CampaignRun
|
||||
from module.logger import logger
|
||||
|
||||
|
||||
class CampaignWarArchives(CampaignRun, CampaignBase):
|
||||
def load_campaign(self, name, folder='campaign_war_archives'):
|
||||
"""
|
||||
Overridden for the specific usage of war_archives
|
||||
|
||||
Args:
|
||||
name (str): Name of .py file under module.campaign.
|
||||
folder (str): Name of the file folder under campaign.
|
||||
|
||||
Returns:
|
||||
bool: If load.
|
||||
"""
|
||||
if hasattr(self, 'name') and name == self.name:
|
||||
return False
|
||||
|
||||
self.name = name
|
||||
self.folder = folder
|
||||
|
||||
if folder.startswith('campaign_'):
|
||||
self.stage = '-'.join(name.split('_')[1:3])
|
||||
if folder.startswith('event'):
|
||||
self.stage = name
|
||||
|
||||
try:
|
||||
self.module = importlib.import_module('.' + name, f'campaign.campaign_war_archives.{folder}')
|
||||
except ModuleNotFoundError:
|
||||
logger.warning(f'Map file not found: campaign.campaign_war_archives.{folder}.{name}')
|
||||
folder = f'./campaign/campaign_war_archives/{folder}'
|
||||
if not os.path.exists(folder):
|
||||
logger.warning(f'Folder not exists: {folder}')
|
||||
else:
|
||||
files = [f[:-3] for f in os.listdir(folder) if f[-3:] == '.py']
|
||||
logger.warning(f'Existing files: {files}')
|
||||
exit(1)
|
||||
|
||||
config = copy.copy(self.config).merge(self.module.Config())
|
||||
device = self.device
|
||||
self.campaign = self.module.Campaign(config=config, device=device)
|
||||
self.campaign_name_set(name)
|
||||
|
||||
return True
|
||||
Reference in New Issue
Block a user