1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-14 16:39:26 +08:00

adj: remove event name lock

This commit is contained in:
0O0o0oOoO00
2025-08-31 23:16:03 +08:00
parent 00918d42a3
commit 9c2eb2b0d9
3 changed files with 2852 additions and 101 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -52,14 +52,10 @@ GemsFarming:
Event:
Campaign:
Mode: normal
Event:
type: state
AmbushEvade: true
Event2:
Campaign:
Mode: normal
Event:
type: state
AmbushEvade: true
EventA:
Scheduler:
@@ -68,8 +64,6 @@ EventA:
ServerUpdate: 00:00
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
Use2xBook: false
AmbushEvade: true

View File

@@ -813,6 +813,47 @@ class ConfigUpdater:
return data
class ConfigGenerator(ConfigGenerator):
def insert_event(self):
for server in ARCHIVES_PREFIX.keys():
for event in self.event:
name = event.__getattribute__(server)
def insert(key):
opts = deep_get(self.args, keys=f'{key}.Campaign.Event.option_{server}', default=[])
if event not in opts:
opts.append(event)
deep_set(self.args, keys=f'{key}.Campaign.Event.option_{server}', value=opts)
if name:
if event.is_raid:
if not hasattr(self, f'_{server}_latest_raid_date'):
setattr(self, f'_{server}_latest_raid_date', int(event.date))
for task in RAIDS:
insert(task)
elif event.is_war_archives:
for task in WAR_ARCHIVES:
insert(task)
elif event.is_coalition:
if not hasattr(self, f'_{server}_latest_coalition_date'):
setattr(self, f'_{server}_latest_coalition_date', int(event.date))
for task in COALITIONS:
insert(task)
else:
if not hasattr(self, f'_{server}_latest_event_date'):
setattr(self, f'_{server}_latest_event_date', int(event.date))
for task in EVENTS + GEMS_FARMINGS:
insert(task)
for task in EVENTS + GEMS_FARMINGS + WAR_ARCHIVES + RAIDS + COALITIONS:
latest = {}
for server in ARCHIVES_PREFIX.keys():
latest[server] = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
options = set().union(*latest.values())
options = sorted([option for option in options if option != 'campaign_main'])
deep_set(self.args, keys=f'{task}.Campaign.Event.option', value=options)
if __name__ == '__main__':
"""
Process the whole config generation.