Allow for possible reuse of er layout

This is done by assigning a unique seed to each player who doesn't have one set.  er layout seed is output in spoiler log.
This commit is contained in:
CaitSith2
2021-02-20 12:01:38 -08:00
parent 8c020db07d
commit 8dc2a5748c
3 changed files with 18 additions and 8 deletions

17
Main.py
View File

@@ -92,11 +92,20 @@ def main(args, seed=None):
world.plando_items = args.plando_items.copy()
world.plando_texts = args.plando_texts.copy()
world.plando_connections = args.plando_connections.copy()
world.er_seeds = args.er_seeds.copy()
world.restrict_dungeon_item_on_boss = args.restrict_dungeon_item_on_boss.copy()
world.required_medallions = args.required_medallions.copy()
world.rom_seeds = {player: random.Random(world.random.randint(0, 999999999)) for player in range(1, world.players + 1)}
for player in range(1, world.players+1):
world.er_seeds[player] = str(world.random.randint(0, 2 ** 64))
if "-" in world.shuffle[player]:
shuffle, seed = world.shuffle[player].split("-")
world.shuffle[player] = shuffle
world.er_seeds[player] = seed
logger.info('ALttP Berserker\'s Multiworld Version %s - Seed: %s\n', __version__, world.seed)
parsed_names = parse_player_names(args.names, world.players, args.teams)
@@ -170,13 +179,9 @@ def main(args, seed=None):
{"vanilla", "dungeonssimple", "dungeonsfull", "simple", "restricted", "full"}:
world.fix_fake_world[player] = False
old_random = world.random
# seeded entrance shuffle
if "-" in world.shuffle[player]:
shuffle, seed = world.shuffle[player].split("-")
world.random = random.Random(int(seed))
world.shuffle[player] = shuffle
old_random = world.random
world.random = random.Random(world.er_seeds[player])
if world.mode[player] != 'inverted':
link_entrances(world, player)