Fixed issue with OW Layout and OW Crossed failing layout validation
This commit is contained in:
@@ -326,6 +326,8 @@ def create_owedges(world, player):
|
|||||||
world.initialize_owedges(edges)
|
world.initialize_owedges(edges)
|
||||||
|
|
||||||
def create_owedge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex=0xff):
|
def create_owedge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex=0xff):
|
||||||
|
if name not in OWExitTypes['OWEdge']:
|
||||||
|
OWExitTypes['OWEdge'].append(name)
|
||||||
return OWEdge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex)
|
return OWEdge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex)
|
||||||
|
|
||||||
|
|
||||||
@@ -1392,6 +1394,7 @@ parallel_links = bidict({'Lost Woods SW': 'Skull Woods SW',
|
|||||||
})
|
})
|
||||||
|
|
||||||
OWExitTypes = {
|
OWExitTypes = {
|
||||||
|
'OWEdge': [],
|
||||||
'Ledge': ['West Death Mountain Drop',
|
'Ledge': ['West Death Mountain Drop',
|
||||||
'Spectacle Rock Drop',
|
'Spectacle Rock Drop',
|
||||||
'East Death Mountain Spiral Ledge Drop',
|
'East Death Mountain Spiral Ledge Drop',
|
||||||
|
|||||||
@@ -901,8 +901,9 @@ def build_accessible_region_list(world, start_region, player, build_copy_world=F
|
|||||||
if flutespot.connected_region and flutespot.connected_region.name not in explored_regions:
|
if flutespot.connected_region and flutespot.connected_region.name not in explored_regions:
|
||||||
explore_region(flutespot.connected_region.name, flutespot.connected_region)
|
explore_region(flutespot.connected_region.name, flutespot.connected_region)
|
||||||
elif exit.connected_region.name not in explored_regions \
|
elif exit.connected_region.name not in explored_regions \
|
||||||
and (exit.connected_region.type == region.type or (cross_world and exit.connected_region.type in [RegionType.LightWorld, RegionType.DarkWorld])) \
|
and (exit.connected_region.type == region.type
|
||||||
and (not region_rules or exit.access_rule(blank_state)) and (not ignore_ledges or exit.spot_type != 'Ledge'):
|
or exit.name in OWExitTypes['OWEdge'] or (cross_world and exit.name in OWExitTypes['Portal'])) \
|
||||||
|
and (not region_rules or exit.access_rule(blank_state)) and (not ignore_ledges or exit.name not in OWExitTypes['Ledge']):
|
||||||
explore_region(exit.connected_region.name, exit.connected_region)
|
explore_region(exit.connected_region.name, exit.connected_region)
|
||||||
|
|
||||||
if build_copy_world:
|
if build_copy_world:
|
||||||
|
|||||||
Reference in New Issue
Block a user