Creating user notes field to be supplied by the seed roller

This commit is contained in:
codemann8
2023-07-29 05:10:47 -05:00
parent 982032e156
commit 35f3abc1c1
6 changed files with 12 additions and 4 deletions

View File

@@ -2898,6 +2898,7 @@ 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'],
'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)}, 'code': {p: Settings.make_code(self.world, p) for p in range(1, self.world.players + 1)},
'seed': self.world.seed 'seed': self.world.seed
} }
@@ -3047,6 +3048,8 @@ class Spoiler(object):
outfile.write('ALttP Overworld Randomizer - Seed: %s\n\n' % (self.world.seed)) outfile.write('ALttP Overworld Randomizer - Seed: %s\n\n' % (self.world.seed))
for k,v in self.metadata["versions"].items(): for k,v in self.metadata["versions"].items():
outfile.write((k + ' Version:').ljust(line_width) + '%s\n' % v) outfile.write((k + ' Version:').ljust(line_width) + '%s\n' % v)
if self.metadata['user_notes']:
outfile.write('User Notes:'.ljust(line_width) + '%s\n' % self.metadata['user_notes'])
outfile.write('Filling Algorithm:'.ljust(line_width) + '%s\n' % self.world.algorithm) outfile.write('Filling Algorithm:'.ljust(line_width) + '%s\n' % self.world.algorithm)
outfile.write('Players:'.ljust(line_width) + '%d\n' % self.world.players) outfile.write('Players:'.ljust(line_width) + '%d\n' % self.world.players)
outfile.write('Teams:'.ljust(line_width) + '%d\n' % self.world.teams) outfile.write('Teams:'.ljust(line_width) + '%d\n' % self.world.teams)

3
CLI.py
View File

@@ -355,7 +355,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

@@ -183,7 +183,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'OR_{args.outputname if args.outputname else world.seed}' outfilebase = f'OR_{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

@@ -576,5 +576,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:
@@ -227,14 +228,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] = {}