From 37841ab311add9cf3026ce9af167f34332985133 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 6 Dec 2021 09:09:34 -0600 Subject: [PATCH] Fixed issue with OW Layout and OW Crossed failing layout validation --- OWEdges.py | 3 +++ OverworldShuffle.py | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/OWEdges.py b/OWEdges.py index 8e1917cc..fc307d8c 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -326,6 +326,8 @@ def create_owedges(world, player): world.initialize_owedges(edges) 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) @@ -1392,6 +1394,7 @@ parallel_links = bidict({'Lost Woods SW': 'Skull Woods SW', }) OWExitTypes = { + 'OWEdge': [], 'Ledge': ['West Death Mountain Drop', 'Spectacle Rock Drop', 'East Death Mountain Spiral Ledge Drop', diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 48593531..03614d59 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -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: explore_region(flutespot.connected_region.name, flutespot.connected_region) 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 (not region_rules or exit.access_rule(blank_state)) and (not ignore_ledges or exit.spot_type != 'Ledge'): + and (exit.connected_region.type == region.type + 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) if build_copy_world: