1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-04-24 20:19:58 +08:00

Add: distangle Gemsfarming.Campaign.Event from Event.Campaign.Event for multi event

This commit is contained in:
guoh064
2026-04-23 14:55:25 +08:00
parent c75dd9366b
commit 89f69079f1
5 changed files with 16 additions and 9 deletions

View File

@@ -170,7 +170,7 @@ class CampaignRun(CampaignEvent):
logger.info(f'Stage name {name} is from campaign_main') logger.info(f'Stage name {name} is from campaign_main')
folder = 'campaign_main' folder = 'campaign_main'
else: else:
folder = self.config.cross_get('Event.Campaign.Event') folder = self.config.cross_get('GemsFarming.Campaign.Event')
if folder is not None: if folder is not None:
logger.info(f'Stage name {name} is from event {folder}') logger.info(f'Stage name {name} is from event {folder}')
else: else:

View File

@@ -1645,7 +1645,6 @@
"event_20220915_cn", "event_20220915_cn",
"event_20260417_cn" "event_20260417_cn"
], ],
"display": "hide",
"option_cn": [ "option_cn": [
"event_20260417_cn" "event_20260417_cn"
], ],

View File

@@ -28,8 +28,6 @@ Main3:
Event: campaign_main Event: campaign_main
GemsFarming: GemsFarming:
Campaign: Campaign:
Event:
value: campaign_main
Mode: normal Mode: normal
UseClearMode: true UseClearMode: true
UseFleetLock: true UseFleetLock: true

View File

@@ -647,22 +647,24 @@ class ConfigUpdater:
if not is_template: if not is_template:
for task in EVENTS + RAIDS + COALITIONS: for task in EVENTS + RAIDS + COALITIONS:
opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[]) opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
if not deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') in opts: if opts and not deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') in opts:
deep_set(new, deep_set(new,
keys=f'{task}.Campaign.Event', keys=f'{task}.Campaign.Event',
value=opts[0]) value=opts[0])
for task in ['GemsFarming']: for task in ['GemsFarming']:
if deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') != 'campaign_main': opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
if opts and deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') not in opts:
deep_set(new, deep_set(new,
keys=f'{task}.Campaign.Event', keys=f'{task}.Campaign.Event',
value=deep_get(self.args, f'{task}.Campaign.Event.option_{server}')[0]) value=opts[0])
# War archive does not allow campaign_main # War archive does not allow campaign_main
for task in WAR_ARCHIVES: for task in WAR_ARCHIVES:
if deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') == 'campaign_main': opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
if opts and deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') == 'campaign_main':
deep_set(new, deep_set(new,
keys=f'{task}.Campaign.Event', keys=f'{task}.Campaign.Event',
value=deep_get(self.args, f'{task}.Campaign.Event.option_{server}')[0]) value=opts[0])
# Events does not allow default stage 12-4 # Events does not allow default stage 12-4
def default_stage(t, stage): def default_stage(t, stage):

View File

@@ -349,6 +349,14 @@ class AlasGUI(Frame):
if output_kwargs["widget_type"] == "select" and isinstance(server_options, list) and server_options: if output_kwargs["widget_type"] == "select" and isinstance(server_options, list) and server_options:
options = server_options options = server_options
output_kwargs["options"] = options output_kwargs["options"] = options
if (
task == "GemsFarming"
and group_name == "Campaign"
and arg_name == "Event"
and output_kwargs["widget_type"] == "select"
and len(options) == 1
):
continue
if output_kwargs["widget_type"] == "select" and len(options) == 1: if output_kwargs["widget_type"] == "select" and len(options) == 1:
only_option = options[0] only_option = options[0]
if only_option in output_kwargs.get("option_bold", []): if only_option in output_kwargs.get("option_bold", []):