Fixed issue in Inverted ER where Links or Chapel end up too close to each other
This commit is contained in:
@@ -424,7 +424,6 @@ def link_entrances(world, player):
|
||||
suppress_spoiler = False
|
||||
|
||||
# shuffle dungeons
|
||||
#full_shuffle_dungeons(world, Dungeon_Exits, player)
|
||||
skull_woods_shuffle(world, player)
|
||||
|
||||
# shuffle dropdowns
|
||||
@@ -1680,6 +1679,51 @@ def get_distant_entrances(world, start_entrance, sectors, player):
|
||||
start_region = world.get_entrance(start_entrance, player).parent_region.name
|
||||
regions = next(s for s in sectors if any(start_region in w for w in s))
|
||||
regions = next(w for w in regions if start_region in w)
|
||||
|
||||
one_way_ledges = {
|
||||
'West Death Mountain (Bottom)': {'West Death Mountain (Top)',
|
||||
'Spectacle Rock Ledge'},
|
||||
'East Death Mountain (Bottom)': {'West Death Mountain (Top East)',
|
||||
'Spiral Cave Ledge'},
|
||||
'Fairy Ascension Plateau': {'Fairy Ascension Ledge'},
|
||||
'Mountain Entry Area': {'Mountain Entry Ledge'},
|
||||
'Sanctuary Area': {'Bonk Rock Ledge'},
|
||||
'Graveyard Area': {'Graveyard Ledge'},
|
||||
'Potion Shop Water': {'Potion Shop Area',
|
||||
'Potion Shop Northeast'},
|
||||
'Zora Approach Water': {'Zora Approach Area'},
|
||||
'Hyrule Castle Area': {'Hyrule Castle Ledge'},
|
||||
'Wooden Bridge Water': {'Wooden Bridge Area',
|
||||
'Wooden Bridge Northeast'},
|
||||
'Maze Race Area': {'Maze Race Ledge',
|
||||
'Maze Race Prize'},
|
||||
'Flute Boy Approach Area': {'Cave 45 Ledge'},
|
||||
'Desert Area': {'Desert Ledge'
|
||||
'Desert Checkerboard Ledge',
|
||||
'Desert Palace Mouth',
|
||||
'Bombos Tablet Ledge',
|
||||
'Desert Palace Teleporter Ledge'},
|
||||
'Desert Pass Area': {'Desert Pass Ledge'},
|
||||
'Lake Hylia Water': {'Lake Hylia South Shore',
|
||||
'Lake Hylia Island'},
|
||||
'West Dark Death Mountain (Bottom)': {'West Dark Death Mountain (Top)'},
|
||||
'West Dark Death Mountain (Top)': {'Dark Death Mountain Floating Island'},
|
||||
'East Dark Death Mountain (Bottom)': {'East Dark Death Mountain (Top)'},
|
||||
'Turtle Rock Area': {'Turtle Rock Ledge'},
|
||||
'Bumper Cave Area': {'Bumper Cave Ledge'},
|
||||
'Qirn Jump Water': {'Qirn Jump Area'},
|
||||
'Dark Witch Water': {'Dark Witch Area',
|
||||
'Dark Witch Northeast'},
|
||||
'Catfish Approach Water': {'Catfish Approach Area'},
|
||||
'Pyramid Area': {'Pyramid Exit Ledge'},
|
||||
'Broken Bridge Water': {'Broken Bridge West',
|
||||
'Broken Bridge Area',
|
||||
'Broken Bridge Northeast'},
|
||||
'Misery Mire Area': {'Misery Mire Teleporter Ledge'},
|
||||
'Ice Lake Water': {'Ice Lake Area',
|
||||
'Ice Lake Ledge (West)',
|
||||
'Ice Lake Ledge (East)'}
|
||||
}
|
||||
|
||||
# eliminate regions surrounding the initial entrance until less than half of the candidate regions remain
|
||||
explored_regions = list({start_region})
|
||||
@@ -1688,6 +1732,11 @@ def get_distant_entrances(world, start_entrance, sectors, player):
|
||||
was_progress = False
|
||||
new_regions = list()
|
||||
for region_name in explored_regions:
|
||||
if region_name in one_way_ledges:
|
||||
for ledge in one_way_ledges[region_name]:
|
||||
if ledge not in explored_regions + new_regions:
|
||||
new_regions.append(ledge)
|
||||
was_progress = True
|
||||
region = world.get_region(region_name, player)
|
||||
for exit in region.exits:
|
||||
if exit.connected_region and region.type == exit.connected_region.type and exit.connected_region.name in regions and exit.connected_region.name not in explored_regions + new_regions:
|
||||
|
||||
Reference in New Issue
Block a user