Fix deterministic issues in repeat seed generation

This commit is contained in:
codemann8
2021-12-19 19:59:30 -06:00
parent 7699c1fc63
commit d79adbf3c8
4 changed files with 31 additions and 28 deletions

View File

@@ -1820,7 +1820,7 @@ def find_inaccessible_regions(world, player):
else:
start_regions = ['Links House', 'Dark Sanctuary Hint']
regs = convert_regions(start_regions, world, player)
all_regions = set([r for r in world.regions if r.player == player and r.type is not RegionType.Dungeon])
all_regions = [r for r in world.regions if r.player == player and r.type is not RegionType.Dungeon]
visited_regions = set()
queue = deque(regs)
while len(queue) > 0:
@@ -1836,7 +1836,7 @@ def find_inaccessible_regions(world, player):
if connect and connect not in queue and connect not in visited_regions:
if connect.type is not RegionType.Dungeon or connect.name.endswith(' Portal'):
queue.append(connect)
world.inaccessible_regions[player].extend([r.name for r in all_regions.difference(visited_regions) if valid_inaccessible_region(r)])
world.inaccessible_regions[player].extend([r.name for r in all_regions if r not in visited_regions and valid_inaccessible_region(r)])
if (world.mode[player] == 'inverted') != (0x1b in world.owswaps[player][0] and world.owMixed[player]):
ledge = world.get_region('Hyrule Castle Ledge', player)
if any(x for x in ledge.exits if x.connected_region and x.connected_region.name == 'Agahnims Tower Portal'):