diff --git a/BaseClasses.py b/BaseClasses.py index 962de709..3683e899 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -160,6 +160,7 @@ class World(object): def initialize_owedges(self, edges): for edge in edges: self._owedge_cache[(edge.name, edge.player)] = edge + self._entrance_cache[edge.name, edge.player].spot_type = 'OWEdge' def initialize_doors(self, doors): for door in doors: @@ -586,7 +587,7 @@ class CollectionState(object): # try to resolve a name if resolution_hint == 'Location': spot = self.world.get_location(spot, player) - elif resolution_hint == 'Entrance': + elif resolution_hint in ['Entrance', 'OWEdge']: spot = self.world.get_entrance(spot, player) else: # default to Region diff --git a/Main.py b/Main.py index 05b5538d..3e7ac554 100644 --- a/Main.py +++ b/Main.py @@ -128,10 +128,10 @@ def main(args, seed=None, fish=None): world.push_precollected(item) create_regions(world, player) + create_dungeon_regions(world, player) create_owedges(world, player) if world.logic[player] in ('owglitches', 'nologic'): create_owg_connections(world, player) - create_dungeon_regions(world, player) create_shops(world, player) create_doors(world, player) create_rooms(world, player)