Start in BBS in Inverted, replacing LH/BBS entrance swap
This commit is contained in:
@@ -1833,7 +1833,7 @@ def find_inaccessible_regions(world, player):
|
|||||||
if connect and connect not in queue and connect not in visited_regions:
|
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'):
|
if connect.type is not RegionType.Dungeon or connect.name.endswith(' Portal'):
|
||||||
queue.append(connect)
|
queue.append(connect)
|
||||||
world.inaccessible_regions[player].extend([r.name for r in all_regions if r not in visited_regions and 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(world, r, player)])
|
||||||
if world.is_tile_swapped(0x1b, player):
|
if world.is_tile_swapped(0x1b, player):
|
||||||
ledge = world.get_region('Hyrule Castle Ledge', 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'):
|
if any(x for x in ledge.exits if x.connected_region and x.connected_region.name == 'Agahnims Tower Portal'):
|
||||||
@@ -1850,10 +1850,8 @@ def find_accessible_entrances(world, player, builder):
|
|||||||
|
|
||||||
if world.mode[player] == 'standard' and builder.name == 'Hyrule Castle':
|
if world.mode[player] == 'standard' and builder.name == 'Hyrule Castle':
|
||||||
start_regions = ['Hyrule Castle Courtyard']
|
start_regions = ['Hyrule Castle Courtyard']
|
||||||
elif world.mode[player] != 'inverted':
|
|
||||||
start_regions = ['Links House', 'Sanctuary']
|
|
||||||
else:
|
else:
|
||||||
start_regions = ['Links House', 'Dark Sanctuary Hint']
|
start_regions = ['Links House' if not world.is_tile_swapped(0x2c, player) else 'Big Bomb Shop', 'Sanctuary' if world.mode[player] != 'inverted' else 'Dark Sanctuary Hint']
|
||||||
if world.is_tile_swapped(0x1b, player):
|
if world.is_tile_swapped(0x1b, player):
|
||||||
start_regions.append('Hyrule Castle Ledge')
|
start_regions.append('Hyrule Castle Ledge')
|
||||||
regs = convert_regions(start_regions, world, player)
|
regs = convert_regions(start_regions, world, player)
|
||||||
@@ -1887,8 +1885,8 @@ def find_accessible_entrances(world, player, builder):
|
|||||||
return visited_entrances
|
return visited_entrances
|
||||||
|
|
||||||
|
|
||||||
def valid_inaccessible_region(r):
|
def valid_inaccessible_region(world, r, player):
|
||||||
return r.type is not RegionType.Cave or (len(r.exits) > 0 and r.name not in ['Links House', 'Chris Houlihan Room'])
|
return r.type is not RegionType.Cave or (len(r.exits) > 0 and r.name not in ['Links House' if not world.is_tile_swapped(0x2c, player) else 'Big Bomb Shop', 'Chris Houlihan Room'])
|
||||||
|
|
||||||
|
|
||||||
def add_inaccessible_doors(world, player):
|
def add_inaccessible_doors(world, player):
|
||||||
|
|||||||
@@ -841,7 +841,11 @@ def can_reach_smith(world, player):
|
|||||||
|
|
||||||
found = False
|
found = False
|
||||||
explored_regions = list()
|
explored_regions = list()
|
||||||
explore_region('Links House')
|
if not world.is_tile_swapped(0x2c, player):
|
||||||
|
start_region = 'Links House'
|
||||||
|
else:
|
||||||
|
start_region = 'Big Bomb Shop'
|
||||||
|
explore_region(start_region)
|
||||||
if not found:
|
if not found:
|
||||||
if not invFlag:
|
if not invFlag:
|
||||||
explore_region('Sanctuary')
|
explore_region('Sanctuary')
|
||||||
|
|||||||
Reference in New Issue
Block a user