diff --git a/BaseClasses.py b/BaseClasses.py index 9ac6377b..6c77eb3c 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -146,7 +146,9 @@ class World(object): region.world = self self._region_cache[region.player][region.name] = region for exit in region.exits: - self._entrance_cache[(exit.name, exit.player)] = exit + self._entrance_cache[exit.name, exit.player] = exit + for r_location in region.locations: + self._location_cache[r_location.name, r_location.player] = r_location def initialize_doors(self, doors): for door in doors: diff --git a/Main.py b/Main.py index 4d429679..00de5e19 100644 --- a/Main.py +++ b/Main.py @@ -428,12 +428,13 @@ def copy_world(world): copied_shop.inventory = copy.copy(shop.inventory) # connect copied world + copied_locations = {(loc.name, loc.player): loc for loc in ret.get_locations()} # caches all locations for region in world.regions: copied_region = ret.get_region(region.name, region.player) copied_region.is_light_world = region.is_light_world copied_region.is_dark_world = region.is_dark_world copied_region.dungeon = region.dungeon - copied_region.locations = [ret.get_location(location.name, location.player) for location in region.locations] + copied_region.locations = [copied_locations[(location.name, location.player)] for location in region.locations] for entrance in region.entrances: ret.get_entrance(entrance.name, entrance.player).connect(copied_region) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a63ece84..00956f23 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -9,7 +9,7 @@ Big thanks to Catobat for doing all the hard work. ## Experimental Item Counter -New item counter modified to show total? +New item counter modified to show total # Bug Fixes @@ -22,7 +22,10 @@ New item counter modified to show total? * Fix for In-Room Stairs with Trap Doors * Key logic fix * Fix for door gen re-start - * More lenient keys in DR+Retro + * More lenient keys in DR+Retro + * Fix for shufflepots option +* 0.3.0.2-u + * Introduced in-room staircases/ladders * 0.3.0.1-u * Problem with lobbies on re-rolls corrected * Potential playthrough problem addressed