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

View File

@@ -25,6 +25,7 @@ class World(object):
plando_texts: List[Dict[str, str]]
plando_items: List[PlandoItem]
plando_connections: List[PlandoConnection]
er_seeds: Dict[int, str]
def __init__(self, players: int, shuffle, logic, mode, swords, difficulty, item_functionality, timer,
progressive,
@@ -1338,7 +1339,8 @@ class Spoiler(object):
'shop_shuffle_slots': self.world.shop_shuffle_slots,
'shuffle_prizes': self.world.shuffle_prizes,
'sprite_pool': self.world.sprite_pool,
'restrict_dungeon_item_on_boss': self.world.restrict_dungeon_item_on_boss
'restrict_dungeon_item_on_boss': self.world.restrict_dungeon_item_on_boss,
'er_seeds': self.world.er_seeds
}
def to_json(self):
@@ -1402,6 +1404,8 @@ class Spoiler(object):
outfile.write('Item Functionality: %s\n' % self.metadata['item_functionality'][player])
outfile.write('Item Progression: %s\n' % self.metadata['progressive'][player])
outfile.write('Entrance Shuffle: %s\n' % self.metadata['shuffle'][player])
if self.metadata['shuffle'][player] != "vanilla":
outfile.write('Entrance Shuffle Seed %s\n' % self.metadata['er_seeds'][player])
outfile.write('Crystals required for GT: %s\n' % self.metadata['gt_crystals'][player])
outfile.write('Crystals required for Ganon: %s\n' % self.metadata['ganon_crystals'][player])
outfile.write('Pyramid hole pre-opened: %s\n' % (