diff --git a/BaseClasses.py b/BaseClasses.py index 605122c6..f296cb8b 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1584,7 +1584,7 @@ class Entrance(object): self.temp_path = [] def can_reach(self, state): - if self.name == 'Pyramid Fairy': + if self.name == 'Pyramid Crack': world = self.parent_region.world if self.parent_region else None big_bomb_location = world.get_location('Big Bomb', self.player) if big_bomb_location.can_reach(state) and self.can_reach_thru(state, big_bomb_location.parent_region, True, True) and self.access_rule(state): diff --git a/Main.py b/Main.py index 0b55a51c..0b0443f0 100644 --- a/Main.py +++ b/Main.py @@ -567,7 +567,7 @@ def create_playthrough(world): # get locations containing progress items prog_locations = [location for location in world.get_filled_locations() if location.item.advancement] - optional_locations = ['Trench 1 Switch', 'Trench 2 Switch', 'Ice Block Drop', 'Big Bomb', 'Pyramid Crack'] + optional_locations = ['Trench 1 Switch', 'Trench 2 Switch', 'Ice Block Drop', 'Big Bomb'] state_cache = [None] collection_spheres = [] state = CollectionState(world) diff --git a/OWEdges.py b/OWEdges.py index b9064281..f3c2369d 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -891,6 +891,7 @@ OWTileRegions = bidict({ 'Shield Shop Fence': 0x5a, 'Pyramid Area': 0x5b, + 'Pyramid Crack': 0x5b, 'Pyramid Exit Ledge': 0x5b, 'Pyramid Pass': 0x5b, @@ -1597,6 +1598,7 @@ OWExitTypes = { 'Catfish Approach Rocks (East)', 'Village of Outcasts Pegs', 'Grassy Lawn Pegs', + 'Pyramid Crack', 'Broken Bridge Hammer Rock (South)', 'Broken Bridge Hammer Rock (North)', 'Broken Bridge Hookshot Gap', diff --git a/OverworldShuffle.py b/OverworldShuffle.py index d34be226..6c76d134 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -942,6 +942,7 @@ mandatory_connections = [# Intra-tile OW Connections ('Shield Shop Fence (Outer) Ledge Drop', 'Shield Shop Fence'), ('Shield Shop Fence (Inner) Ledge Drop', 'Shield Shop Area'), ('Pyramid Exit Ledge Drop', 'Pyramid Area'), + ('Pyramid Crack', 'Pyramid Crack'), ('Broken Bridge Hammer Rock (South)', 'Broken Bridge Northeast'), #hammer/glove ('Broken Bridge Hammer Rock (North)', 'Broken Bridge Area'), #hammer/glove ('Broken Bridge Hookshot Gap', 'Broken Bridge West'), #hookshot diff --git a/Regions.py b/Regions.py index 2c3cb99f..ff11366e 100644 --- a/Regions.py +++ b/Regions.py @@ -163,7 +163,8 @@ def create_regions(world, player): create_dw_region(player, 'Dark Grassy Lawn', None, ['Grassy Lawn Pegs', 'Dark World Shop', 'Kakariko Grass Mirror Spot']), create_dw_region(player, 'Shield Shop Area', None, ['Shield Shop Fence (Outer) Ledge Drop', 'Forgotton Forest Mirror Spot', 'Shield Shop NW', 'Shield Shop NE']), create_dw_region(player, 'Shield Shop Fence', None, ['Shield Shop Fence (Inner) Ledge Drop', 'Red Shield Shop', 'Forgotton Forest Fence Mirror Spot']), - create_dw_region(player, 'Pyramid Area', ['Pyramid', 'Pyramid Crack'], ['Pyramid Fairy', 'Pyramid Hole', 'HC Ledge Mirror Spot', 'HC Courtyard Mirror Spot', 'HC Area Mirror Spot', 'HC East Entry Mirror Spot', 'Pyramid ES']), + create_dw_region(player, 'Pyramid Area', ['Pyramid'], ['Pyramid Fairy', 'Pyramid Crack', 'Pyramid Hole', 'HC Ledge Mirror Spot', 'HC Courtyard Mirror Spot', 'HC Area Mirror Spot', 'HC East Entry Mirror Spot', 'Pyramid ES']), + create_dw_region(player, 'Pyramid Crack', ['Pyramid Crack'], None), create_dw_region(player, 'Pyramid Exit Ledge', None, ['Pyramid Exit Ledge Drop', 'HC Courtyard Left Mirror Spot', 'Pyramid Entrance']), create_dw_region(player, 'Pyramid Pass', None, ['Post Aga Inverted Teleporter', 'HC Area South Mirror Spot', 'Pyramid SW', 'Pyramid SE']), create_dw_region(player, 'Broken Bridge Area', None, ['Broken Bridge Hammer Rock (South)', 'Broken Bridge Water Drop', 'Wooden Bridge Mirror Spot', 'Broken Bridge SW']),