1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-11 23:18:22 +08:00

Add: The Alchemist and the Archipelago of Secrets chapter TH

This commit is contained in:
LmeSzinc
2022-11-25 01:51:12 +08:00
parent e0feea2366
commit 803c3749aa
9 changed files with 554 additions and 8 deletions

View File

@@ -121,8 +121,7 @@ class CampaignRun(CampaignEvent):
return False
@staticmethod
def handle_stage_name(name, folder):
def handle_stage_name(self, name, folder):
"""
Handle wrong stage names.
In some events, the name of SP may be different, such as 'vsp', muse sp.
@@ -136,6 +135,7 @@ class CampaignRun(CampaignEvent):
str, str: name, folder
"""
name = re.sub('[ \t\n]', '', str(name)).lower()
# Handle special names SP maps
if name[0].isdigit():
name = 'campaign_' + name.lower().replace('-', '_')
if folder == 'event_20201126_cn' and name == 'vsp':
@@ -146,6 +146,9 @@ class CampaignRun(CampaignEvent):
name = 'sp'
if folder == 'event_20220818_cn' and name == 'esp':
name = 'sp'
if folder == 'event_20221124_cn' and name in ['asp', 'a.sp']:
name = 'sp'
# Convert between A/B/C/D and T/HT
convert = {
'a1': 't1',
'a2': 't2',
@@ -165,6 +168,16 @@ class CampaignRun(CampaignEvent):
else:
reverse = {v: k for k, v in convert.items()}
name = reverse.get(name, name)
# The Alchemist and the Archipelago of Secrets
# Handle typo
if folder == 'event_20221124_cn':
name = name.replace('ht', 'th')
# Chapter TH has no map_percentage and no 3_stars
if folder == 'event_20221124_cn' and name.startswith('th'):
if self.config.StopCondition_MapAchievement != 'non_stop':
logger.info(f'When running chapter TH of event_20221124_cn, '
f'StopCondition.MapAchievement is forced set to threat_safe')
self.config.override(StopCondition_MapAchievement='threat_safe')
return name, folder

View File

@@ -109,9 +109,12 @@ class FastForwardHandler(AutoSearchHandler):
self.config.MAP_CLEAR_ALL_THIS_TIME = self.config.STAR_REQUIRE_3 \
and not self.__getattribute__(f'map_achieved_star_{self.config.STAR_REQUIRE_3}') \
and (self.config.StopCondition_MapAchievement in ['map_3_stars', 'threat_safe'])
logger.attr('MAP_CLEAR_ALL_THIS_TIME', self.config.MAP_CLEAR_ALL_THIS_TIME)
self.map_show_info()
def map_show_info(self):
# Log
logger.attr('MAP_CLEAR_ALL_THIS_TIME', self.config.MAP_CLEAR_ALL_THIS_TIME)
names = ['map_achieved_star_1', 'map_achieved_star_2', 'map_achieved_star_3',
'map_is_100_percent_clear', 'map_is_3_stars',
'map_is_threat_safe', 'map_has_clear_mode']
@@ -311,6 +314,7 @@ class FastForwardHandler(AutoSearchHandler):
Returns:
bool:
"""
if self.config.StopCondition_MapAchievement == '100_percent_clear':
if self.map_is_100_percent_clear:
return True

View File

@@ -450,7 +450,9 @@ class Map(Fleet):
if self.config.FLEET_2:
kwargs['sort'] = ('weight', 'cost_2')
grids = self.map.select(is_siren=True).add(self.map.select(is_fortress=True))
grids = self.map.select(is_siren=True)
if self.config.MAP_HAS_FORTRESS:
grids = grids.add(self.map.select(is_fortress=True))
grids = self.select_grids(grids, **kwargs)
if grids: