Notes field

This commit is contained in:
codemann8
2023-07-29 05:10:47 -05:00
committed by aerinon
parent 9497ef36ad
commit c0c3204fd5
6 changed files with 14 additions and 5 deletions

View File

@@ -2501,7 +2501,9 @@ class Spoiler(object):
'triforcegoal': self.world.treasure_hunt_count, 'triforcegoal': self.world.treasure_hunt_count,
'triforcepool': self.world.treasure_hunt_total, 'triforcepool': self.world.treasure_hunt_total,
'race': self.world.settings.world_rep['meta']['race'], 'race': self.world.settings.world_rep['meta']['race'],
'code': {p: Settings.make_code(self.world, p) for p in range(1, self.world.players + 1)} 'user_notes': self.world.settings.world_rep['meta']['user_notes'],
'code': {p: Settings.make_code(self.world, p) for p in range(1, self.world.players + 1)},
'seed': self.world.seed
} }
for p in range(1, self.world.players + 1): for p in range(1, self.world.players + 1):
@@ -2642,6 +2644,8 @@ class Spoiler(object):
self.parse_meta() self.parse_meta()
with open(filename, 'w') as outfile: with open(filename, 'w') as outfile:
outfile.write('ALttP Dungeon Randomizer Version %s - Seed: %s\n\n' % (self.metadata['version'], self.world.seed)) outfile.write('ALttP Dungeon Randomizer Version %s - Seed: %s\n\n' % (self.metadata['version'], self.world.seed))
if self.metadata['user_notes']:
outfile.write('User Notes: %s\n' % self.metadata['user_notes'])
outfile.write('Filling Algorithm: %s\n' % self.world.algorithm) outfile.write('Filling Algorithm: %s\n' % self.world.algorithm)
outfile.write('Players: %d\n' % self.world.players) outfile.write('Players: %d\n' % self.world.players)
outfile.write('Teams: %d\n' % self.world.teams) outfile.write('Teams: %d\n' % self.world.teams)

3
CLI.py
View File

@@ -346,7 +346,8 @@ def parse_settings():
"outputpath": os.path.join("."), "outputpath": os.path.join("."),
"saveonexit": "ask", "saveonexit": "ask",
"outputname": "", "outputname": "",
"startinventoryarray": {} "startinventoryarray": {},
"notes": ""
} }
if sys.platform.lower().find("windows"): if sys.platform.lower().find("windows"):

View File

@@ -172,7 +172,7 @@ def main(args, seed=None, fish=None):
world.player_names[player].append(name) world.player_names[player].append(name)
logger.info('') logger.info('')
world.settings = CustomSettings() world.settings = CustomSettings()
world.settings.create_from_world(world, args.race) world.settings.create_from_world(world, args)
outfilebase = f'DR_{args.outputname if args.outputname else world.seed}' outfilebase = f'DR_{args.outputname if args.outputname else world.seed}'

View File

@@ -3,6 +3,7 @@ meta:
players: 1 players: 1
seed: 41 # note to self: seed 42 had an interesting Swamp Palace problem seed: 41 # note to self: seed 42 had an interesting Swamp Palace problem
names: Lonk names: Lonk
notes: "Some notes specified by the user"
settings: settings:
1: 1:
door_shuffle: basic door_shuffle: basic

View File

@@ -513,5 +513,6 @@
] ]
}, },
"outputname": {}, "outputname": {},
"notes": {},
"code": {} "code": {}
} }

View File

@@ -63,6 +63,7 @@ class CustomSettings(object):
args.suppress_rom = get_setting(meta['suppress_rom'], args.suppress_rom) args.suppress_rom = get_setting(meta['suppress_rom'], args.suppress_rom)
args.names = get_setting(meta['names'], args.names) args.names = get_setting(meta['names'], args.names)
args.race = get_setting(meta['race'], args.race) args.race = get_setting(meta['race'], args.race)
args.notes = get_setting(meta['user_notes'], args.notes)
self.player_range = range(1, args.multi + 1) self.player_range = range(1, args.multi + 1)
if 'settings' in self.file_source: if 'settings' in self.file_source:
for p in self.player_range: for p in self.player_range:
@@ -214,14 +215,15 @@ class CustomSettings(object):
return self.file_source['drops'] return self.file_source['drops']
return None return None
def create_from_world(self, world, race): def create_from_world(self, world, settings):
self.player_range = range(1, world.players + 1) self.player_range = range(1, world.players + 1)
settings_dict, meta_dict = {}, {} settings_dict, meta_dict = {}, {}
self.world_rep['meta'] = meta_dict self.world_rep['meta'] = meta_dict
meta_dict['players'] = world.players meta_dict['players'] = world.players
meta_dict['algorithm'] = world.algorithm meta_dict['algorithm'] = world.algorithm
meta_dict['seed'] = world.seed meta_dict['seed'] = world.seed
meta_dict['race'] = race meta_dict['race'] = settings.race
meta_dict['user_notes'] = settings.notes
self.world_rep['settings'] = settings_dict self.world_rep['settings'] = settings_dict
for p in self.player_range: for p in self.player_range:
settings_dict[p] = {} settings_dict[p] = {}