BombSwitchDev

This commit is contained in:
StructuralMike
2021-03-16 22:05:10 +01:00
9 changed files with 1004 additions and 315 deletions

View File

@@ -1957,6 +1957,7 @@ def determine_init_crystal(initial, state, start_regions):
return CrystalBarrier.Orange
else:
raise Exception(f'Can\'t get to {start_region.name} from initial state')
# raise Exception(f'Can\'t get to {start_region.name} from initial state\n{state.dungeon}\n{state.found_locations}')
def explore_state(state, world, player):
@@ -2034,27 +2035,81 @@ logical_connections = [
('Desert Main Lobby Right Path', 'Desert Right Alcove'),
('Desert Left Alcove Path', 'Desert Main Lobby'),
('Desert Right Alcove Path', 'Desert Main Lobby'),
('Hera Lobby to Front Barrier - Blue', 'Hera Front'),
('Hera Front to Lobby Barrier - Blue', 'Hera Lobby'),
('Hera Lobby to Crystal', 'Hera Lobby - Crystal'),
('Hera Lobby Crystal Exit', 'Hera Lobby'),
('Hera Front to Crystal', 'Hera Front - Crystal'),
('Hera Front to Back Bypass', 'Hera Back'),
('Hera Front Crystal Exit', 'Hera Front'),
('Hera Front to Down Stairs Barrier - Blue', 'Hera Down Stairs Landing'),
('Hera Front to Up Stairs Barrier - Orange', 'Hera Up Stairs Landing'),
('Hera Front to Back Barrier - Orange', 'Hera Back'),
('Hera Down Stairs to Front Barrier - Blue', 'Hera Front'),
('Hera Down Stairs Landing to Ranged Crystal', 'Hera Down Stairs Landing - Ranged Crystal'),
('Hera Down Stairs Landing Ranged Crystal Exit', 'Hera Down Stairs Landing'),
('Hera Up Stairs to Front Barrier - Orange', 'Hera Front'),
('Hera Up Stairs Landing to Ranged Crystal', 'Hera Up Stairs Landing - Ranged Crystal'),
('Hera Up Stairs Landing Ranged Crystal Exit', 'Hera Up Stairs Landing'),
('Hera Back to Front Barrier - Orange', 'Hera Front'),
('Hera Back to Ranged Crystal', 'Hera Back - Ranged Crystal'),
('Hera Back Ranged Crystal Exit', 'Hera Back'),
('Hera Basement Cage to Crystal', 'Hera Basement Cage - Crystal'),
('Hera Basement Cage Crystal Exit', 'Hera Basement Cage'),
('Hera Tridorm to Crystal', 'Hera Tridorm - Crystal'),
('Hera Tridorm Crystal Exit', 'Hera Tridorm'),
('Hera Startile Wide to Crystal', 'Hera Startile Wide - Crystal'),
('Hera Startile Wide Crystal Exit', 'Hera Startile Wide'),
('Hera Big Chest Hook Path', 'Hera Big Chest Landing'),
('Hera Big Chest Landing Exit', 'Hera 4F'),
('PoD Pit Room Block Path N', 'PoD Pit Room Blocked'),
('PoD Pit Room Block Path S', 'PoD Pit Room'),
('PoD Arena Bonk Path', 'PoD Arena Bridge'),
('PoD Arena Main Crystal Path', 'PoD Arena Crystal'),
('PoD Arena Crystal Path', 'PoD Arena Main'),
('PoD Arena Main Orange Barrier', 'PoD Arena North'),
('PoD Arena Landing Bonk Path', 'PoD Arena Bridge'),
('PoD Arena North Drop Down', 'PoD Arena Main'),
('PoD Arena Bridge Drop Down', 'PoD Arena Main'),
('PoD Arena North to Landing Barrier - Orange', 'PoD Arena Landing'),
('PoD Arena Main to Ranged Crystal', 'PoD Arena Main - Ranged Crystal'),
('PoD Arena Main to Landing Barrier - Blue', 'PoD Arena Landing'),
('PoD Arena Main to Landing Bypass', 'PoD Arena Landing'),
('PoD Arena Main to Right Bypass', 'PoD Arena Right'),
('PoD Arena Main Ranged Crystal Exit', 'PoD Arena Main'),
('PoD Arena Bridge to Ranged Crystal', 'PoD Arena Bridge - Ranged Crystal'),
('PoD Arena Bridge Ranged Crystal Exit', 'PoD Arena Bridge'),
('PoD Arena Landing to Main Barrier - Blue', 'PoD Arena Main'),
('PoD Arena Landing to Right Barrier - Blue', 'PoD Arena Right'),
('PoD Arena Landing to North Barrier - Orange', 'PoD Arena North'),
('PoD Arena Right to Landing Barrier - Blue', 'PoD Arena Landing'),
('PoD Arena Right to Ranged Crystal', 'PoD Arena Right - Ranged Crystal'),
('PoD Arena Right Ranged Crystal Exit', 'PoD Arena Right'),
('PoD Arena Ledge to Ranged Crystal', 'PoD Arena Ledge - Ranged Crystal'),
('PoD Arena Ledge Ranged Crystal Exit', 'PoD Arena Ledge'),
('PoD Map Balcony Drop Down', 'PoD Sexy Statue'),
('PoD Map Balcony to Ranged Crystal', 'PoD Map Balcony - Ranged Crystal'),
('PoD Map Balcony Ranged Crystal Exit', 'PoD Map Balcony'),
('PoD Basement Ledge Drop Down', 'PoD Stalfos Basement'),
('PoD Falling Bridge Path N', 'PoD Falling Bridge Ledge'),
('PoD Falling Bridge Path S', 'PoD Falling Bridge'),
('PoD Bow Statue Crystal Path', 'PoD Bow Statue Moving Wall'),
('PoD Bow Statue Moving Wall Path', 'PoD Bow Statue'),
('PoD Bow Statue Moving Wall Cane Path', 'PoD Bow Statue'),
('PoD Dark Pegs Hammer Path', 'PoD Dark Pegs Ladder'),
('PoD Dark Pegs Ladder Hammer Path', 'PoD Dark Pegs'),
('PoD Dark Pegs Ladder Cane Path', 'PoD Dark Pegs Switch'),
('PoD Dark Pegs Switch Path', 'PoD Dark Pegs Ladder'),
('PoD Bow Statue Left to Right Barrier - Orange', 'PoD Bow Statue Right'),
('PoD Bow Statue Left to Right Bypass', 'PoD Bow Statue Right'),
('PoD Bow Statue Right to Left Barrier - Orange', 'PoD Bow Statue Left'),
('PoD Bow Statue Right to Ranged Crystal', 'PoD Bow Statue Right - Ranged Crystal'),
('PoD Bow Statue Ranged Crystal Exit', 'PoD Bow Statue Right'),
('PoD Dark Pegs Landing to Right', 'PoD Dark Pegs Right'),
('PoD Dark Pegs Landing to Ranged Crystal', 'PoD Dark Pegs Landing - Ranged Crystal'),
('PoD Dark Pegs Right to Landing', 'PoD Dark Pegs Landing'),
('PoD Dark Pegs Right to Middle Barrier - Orange', 'PoD Dark Pegs Middle'),
('PoD Dark Pegs Right to Middle Bypass', 'PoD Dark Pegs Middle'),
('PoD Dark Pegs Middle to Right Barrier - Orange', 'PoD Dark Pegs Right'),
('PoD Dark Pegs Middle to Left Barrier - Blue', 'PoD Dark Pegs Left'),
('PoD Dark Pegs Middle to Ranged Crystal', 'PoD Dark Pegs Middle - Ranged Crystal'),
('PoD Dark Pegs Left to Middle Barrier - Blue', 'PoD Dark Pegs Middle'),
('PoD Dark Pegs Left to Ranged Crystal', 'PoD Dark Pegs Left - Ranged Crystal'),
('PoD Dark Pegs Landing Ranged Crystal Exit', 'PoD Dark Pegs Landing'),
('PoD Dark Pegs Middle Ranged Crystal Exit', 'PoD Dark Pegs Middle'),
('PoD Dark Pegs Middle to Left Bypass', 'PoD Dark Pegs Left'),
('PoD Dark Pegs Left Ranged Crystal Exit', 'PoD Dark Pegs Left'),
('Swamp Lobby Moat', 'Swamp Entrance'),
('Swamp Entrance Moat', 'Swamp Lobby'),
('Swamp Trench 1 Approach Dry', 'Swamp Trench 1 Nexus'),
@@ -2070,6 +2125,14 @@ logical_connections = [
('Swamp Trench 1 Departure Key', 'Swamp Trench 1 Key Ledge'),
('Swamp Hub Hook Path', 'Swamp Hub North Ledge'),
('Swamp Hub North Ledge Drop Down', 'Swamp Hub'),
('Swamp Crystal Switch Outer to Inner Barrier - Blue', 'Swamp Crystal Switch Inner'),
('Swamp Crystal Switch Outer to Ranged Crystal', 'Swamp Crystal Switch Outer - Ranged Crystal'),
('Swamp Crystal Switch Outer to Inner Bypass', 'Swamp Crystal Switch Inner'),
('Swamp Crystal Switch Outer Ranged Crystal Exit', 'Swamp Crystal Switch Outer'),
('Swamp Crystal Switch Inner to Outer Barrier - Blue', 'Swamp Crystal Switch Outer'),
('Swamp Crystal Switch Inner to Outer Bypass', 'Swamp Crystal Switch Outer'),
('Swamp Crystal Switch Inner to Crystal', 'Swamp Crystal Switch Inner - Crystal'),
('Swamp Crystal Switch Inner Crystal Exit', 'Swamp Crystal Switch Inner'),
('Swamp Compass Donut Push Block', 'Swamp Donut Top'),
('Swamp Shortcut Blue Barrier', 'Swamp Trench 2 Pots'),
('Swamp Trench 2 Pots Blue Barrier', 'Swamp Shortcut'),
@@ -2088,6 +2151,7 @@ logical_connections = [
('Swamp Drain Right Switch', 'Swamp Drain Left'),
('Swamp Flooded Spot Ladder', 'Swamp Flooded Room'),
('Swamp Flooded Room Ladder', 'Swamp Flooded Spot'),
('Skull Pot Circle Star Path', 'Skull Map Room'),
('Skull Big Chest Hookpath', 'Skull 1 Lobby'),
('Skull Back Drop Star Path', 'Skull Small Hall'),
@@ -2104,8 +2168,11 @@ logical_connections = [
('Thieves Conveyor Block Path', 'Thieves Conveyor Bridge'),
("Thieves Blind's Cell Door", "Thieves Blind's Cell Interior"),
("Thieves Blind's Cell Exit", "Thieves Blind's Cell"),
('Ice Cross Bottom Push Block Left', 'Ice Floor Switch'),
('Ice Cross Right Push Block Top', 'Ice Bomb Drop'),
('Ice Conveyor to Crystal', 'Ice Conveyor - Crystal'),
('Ice Conveyor Crystal Exit', 'Ice Conveyor'),
('Ice Big Key Push Block', 'Ice Dead End'),
('Ice Bomb Jump Ledge Orange Barrier', 'Ice Bomb Jump Catwalk'),
('Ice Bomb Jump Catwalk Orange Barrier', 'Ice Bomb Jump Ledge'),
@@ -2116,6 +2183,9 @@ logical_connections = [
('Ice Crystal Left Blue Barrier', 'Ice Crystal Block'),
('Ice Crystal Block Exit', 'Ice Crystal Left'),
('Ice Big Chest Landing Push Blocks', 'Ice Big Chest View'),
('Ice Refill to Crystal', 'Ice Refill - Crystal'),
('Ice Refill Crystal Exit', 'Ice Refill'),
('Mire Lobby Gap', 'Mire Post-Gap'),
('Mire Post-Gap Gap', 'Mire Lobby'),
('Mire Hub Upper Blue Barrier', 'Mire Hub Switch'),
@@ -2131,7 +2201,11 @@ logical_connections = [
('Mire Crystal Dead End Right Barrier', 'Mire Map Spike Side'),
('Mire Hidden Shooters Block Path S', 'Mire Hidden Shooters'),
('Mire Hidden Shooters Block Path N', 'Mire Hidden Shooters Blocked'),
('Mire Conveyor to Crystal', 'Mire Conveyor - Crystal'),
('Mire Conveyor Crystal Exit', 'Mire Conveyor Crystal'),
('Mire Left Bridge Hook Path', 'Mire Right Bridge'),
('Mire Tall Dark and Roomy to Ranged Crystal', 'Mire Tall Dark and Roomy - Ranged Crystal'),
('Mire Tall Dark and Roomy Ranged Crystal Exit', 'Mire Tall Dark and Roomy'),
('Mire Crystal Right Orange Barrier', 'Mire Crystal Mid'),
('Mire Crystal Mid Orange Barrier', 'Mire Crystal Right'),
('Mire Crystal Mid Blue Barrier', 'Mire Crystal Left'),
@@ -2142,14 +2216,48 @@ logical_connections = [
('Mire Compass Chest Exit', 'Mire Compass Room'),
('Mire South Fish Blue Barrier', 'Mire Fishbone'),
('Mire Fishbone Blue Barrier', 'Mire South Fish'),
('TR Main Lobby Gap', 'TR Lobby Ledge'),
('TR Lobby Ledge Gap', 'TR Main Lobby'),
('TR Pipe Ledge Drop Down', 'TR Pipe Pit'),
('TR Big Chest Gap', 'TR Big Chest Entrance'),
('TR Big Chest Entrance Gap', 'TR Big Chest'),
('TR Crystal Maze Forwards Path', 'TR Crystal Maze End'),
('TR Crystal Maze Blue Path', 'TR Crystal Maze'),
('TR Crystal Maze Cane Path', 'TR Crystal Maze'),
('TR Chain Chomps Top to Bottom Barrier - Orange', 'TR Chain Chomps Bottom'),
('TR Chain Chomps Top to Crystal', 'TR Chain Chomps Top - Crystal'),
('TR Chain Chomps Top Crystal Exit', 'TR Chain Chomps Top'),
('TR Chain Chomps Bottom to Top Barrier - Orange', 'TR Chain Chomps Top'),
('TR Chain Chomps Bottom to Ranged Crystal', 'TR Chain Chomps Bottom - Ranged Crystal'),
('TR Chain Chomps Bottom Ranged Crystal Exit', 'TR Chain Chomps Bottom'),
('TR Pokey 2 Top to Bottom Barrier - Blue', 'TR Pokey 2 Bottom'),
('TR Pokey 2 Top to Crystal', 'TR Pokey 2 Top - Crystal'),
('TR Pokey 2 Top Crystal Exit', 'TR Pokey 2 Top'),
('TR Pokey 2 Bottom to Top Barrier - Blue', 'TR Pokey 2 Top'),
('TR Pokey 2 Bottom to Ranged Crystal', 'TR Pokey 2 Bottom - Ranged Crystal'),
('TR Pokey 2 Bottom Ranged Crystal Exit', 'TR Pokey 2 Bottom'),
('TR Crystaroller Bottom to Middle Barrier - Orange', 'TR Crystaroller Middle'),
('TR Crystaroller Bottom to Ranged Crystal', 'TR Crystaroller Bottom - Ranged Crystal'),
('TR Crystaroller Middle to Bottom Barrier - Orange', 'TR Crystaroller Bottom'),
('TR Crystaroller Middle to Bottom Bypass', 'TR Crystaroller Bottom'),
('TR Crystaroller Middle to Chest Barrier - Blue', 'TR Crystaroller Chest'),
('TR Crystaroller Middle to Top Barrier - Orange', 'TR Crystaroller Top'),
('TR Crystaroller Middle to Ranged Crystal', 'TR Crystaroller Middle - Ranged Crystal'),
('TR Crystaroller Top to Middle Barrier - Orange', 'TR Crystaroller Middle'),
('TR Crystaroller Top to Crystal', 'TR Crystaroller Top - Crystal'),
('TR Crystaroller Top Crystal Exit', 'TR Crystaroller Top'),
('TR Crystaroller Chest to Middle Barrier - Blue', 'TR Crystaroller Middle'),
('TR Crystaroller Middle Ranged Crystal Exit', 'TR Crystaroller Middle'),
('TR Crystaroller Bottom Ranged Crystal Exit', 'TR Crystaroller Bottom'),
('TR Crystal Maze Start to Interior Barrier - Blue', 'TR Crystal Maze Interior'),
('TR Crystal Maze Start to Crystal', 'TR Crystal Maze Start - Crystal'),
('TR Crystal Maze Start Crystal Exit', 'TR Crystal Maze Start'),
('TR Crystal Maze Interior to End Barrier - Blue', 'TR Crystal Maze End'),
('TR Crystal Maze Interior to Start Barrier - Blue', 'TR Crystal Maze Start'),
('TR Crystal Maze Interior to End Bypass', 'TR Crystal Maze End'),
('TR Crystal Maze Interior to Start Bypass', 'TR Crystal Maze Start'),
('TR Crystal Maze End to Interior Barrier - Blue', 'TR Crystal Maze Interior'),
('TR Crystal Maze End to Ranged Crystal', 'TR Crystal Maze End - Ranged Crystal'),
('TR Crystal Maze End Ranged Crystal Exit', 'TR Crystal Maze End'),
('GT Blocked Stairs Block Path', 'GT Big Chest'),
('GT Speed Torch South Path', 'GT Speed Torch'),
('GT Speed Torch North Path', 'GT Speed Torch Upper'),
@@ -2160,21 +2268,46 @@ logical_connections = [
('GT Hookshot South-East Path', 'GT Hookshot East Platform'),
('GT Hookshot South-North Path', 'GT Hookshot North Platform'),
('GT Hookshot Platform Blue Barrier', 'GT Hookshot South Entry'),
('GT Hookshot Platform Barrier Bypass', 'GT Hookshot South Entry'),
('GT Hookshot Entry Blue Barrier', 'GT Hookshot South Platform'),
('GT Hookshot Entry Boomerang Path', 'GT Hookshot South Platform'),
('GT Double Switch Orange Barrier', 'GT Double Switch Switches'),
('GT Double Switch Orange Barrier 2', 'GT Double Switch Key Spot'),
('GT Double Switch Transition Blue', 'GT Double Switch Exit'),
('GT Double Switch Blue Path', 'GT Double Switch Transition'),
('GT Double Switch Orange Path', 'GT Double Switch Entry'),
('GT Double Switch Key Blue Path', 'GT Double Switch Exit'),
('GT Double Switch Key Orange Path', 'GT Double Switch Entry'),
('GT Double Switch Blue Barrier', 'GT Double Switch Key Spot'),
('GT Hookshot South Entry to Ranged Crystal', 'GT Hookshot South Entry - Ranged Crystal'),
('GT HookShot South Entry Ranged Crystal Exit', 'GT Hookshot South Entry'),
('GT Double Switch Entry to Pot Corners Barrier - Orange', 'GT Double Switch Pot Corners'),
('GT Double Switch Entry to Left Barrier - Orange', 'GT Double Switch Left'),
('GT Double Switch Entry to Ranged Switches', 'GT Double Switch Entry - Ranged Switches'),
('GT Double Switch Entry Ranged Switches Exit', 'GT Double Switch Entry'),
('GT Double Switch Left to Entry Barrier - Orange', 'GT Double Switch Entry'),
('GT Double Switch Left to Entry Bypass', 'GT Double Switch Entry'),
('GT Double Switch Left to Pot Corners Bypass', 'GT Double Switch Pot Corners'),
('GT Double Switch Left to Exit Bypass', 'GT Double Switch Exit'),
('GT Double Switch Pot Corners to Entry Barrier - Orange', 'GT Double Switch Entry'),
('GT Double Switch Pot Corners to Exit Barrier - Blue', 'GT Double Switch Exit'),
('GT Double Switch Pot Corners to Ranged Switches', 'GT Double Switch Pot Corners - Ranged Switches'),
('GT Double Switch Pot Corners Ranged Switches Exit', 'GT Double Switch Pot Corners'),
('GT Double Switch Exit to Blue Barrier', 'GT Double Switch Pot Corners'),
('GT Spike Crystal Left to Right Barrier - Orange', 'GT Spike Crystal Right'),
('GT Spike Crystal Right to Left Barrier - Orange', 'GT Spike Crystal Left'),
('GT Spike Crystal Left to Right Bypass', 'GT Spike Crystal Right'),
('GT Warp Maze - Pit Section Warp Spot', 'GT Warp Maze - Pit Exit Warp Spot'),
('GT Warp Maze Exit Section Warp Spot', 'GT Warp Maze - Pit Exit Warp Spot'),
('GT Firesnake Room Hook Path', 'GT Firesnake Room Ledge'),
('GT Crystal Conveyor to Corner Barrier - Blue', 'GT Crystal Conveyor Corner'),
('GT Crystal Conveyor to Ranged Crystal', 'GT Crystal Conveyor - Ranged Crystal'),
('GT Crystal Conveyor Corner to Left Bypass', 'GT Crystal Conveyor Left'),
('GT Crystal Conveyor Corner to Barrier - Blue', 'GT Crystal Conveyor Left'),
('GT Crystal Conveyor Corner to Barrier - Orange', 'GT Crystal Conveyor'),
('GT Crystal Conveyor Corner to Ranged Crystal', 'GT Crystal Conveyor Corner - Ranged Crystal'),
('GT Crystal Conveyor Left to Corner Barrier - Orange', 'GT Crystal Conveyor Corner'),
('GT Crystal Conveyor Ranged Crystal Exit', 'GT Crystal Conveyor'),
('GT Crystal Conveyor Corner Ranged Crystal Exit', 'GT Crystal Conveyor Corner'),
('GT Left Moldorm Ledge Drop Down', 'GT Moldorm'),
('GT Right Moldorm Ledge Drop Down', 'GT Moldorm'),
('GT Crystal Circles Barrier - Orange', 'GT Crystal Inner Circle'),
('GT Crystal Circles to Ranged Crystal', 'GT Crystal Circles - Ranged Crystal'),
('GT Crystal Inner Circle Barrier - Orange', 'GT Crystal Circles'),
('GT Crystal Circles Ranged Crystal Exit', 'GT Crystal Circles'),
('GT Moldorm Gap', 'GT Validation'),
('GT Validation Block Path', 'GT Validation Door')
]
@@ -2272,10 +2405,12 @@ open_edges = [
falldown_pits = [
('Eastern Courtyard Potholes', 'Eastern Fairies'),
('Hera Beetles Holes', 'Hera Lobby'),
('Hera Startile Corner Holes', 'Hera Lobby'),
('Hera Startile Wide Holes', 'Hera Lobby'),
('Hera 4F Holes', 'Hera Lobby'), # failed bomb jump
('Hera Beetles Holes Front', 'Hera Front'),
('Hera Beetles Holes Landing', 'Hera Up Stairs Landing'),
('Hera Startile Corner Holes Front', 'Hera Front'),
('Hera Startile Corner Holes Landing', 'Hera Down Stairs Landing'),
('Hera Startile Wide Holes', 'Hera Back'),
('Hera 4F Holes', 'Hera Back'), # failed bomb jump
('Hera Big Chest Landing Holes', 'Hera Startile Wide'), # the other holes near big chest
('Hera 5F Star Hole', 'Hera Big Chest Landing'),
('Hera 5F Pothole Chain', 'Hera Fairies'),
@@ -2369,11 +2504,11 @@ interior_doors = [
('Desert Sandworm Corner NE', 'Desert Bonk Torch SE'),
('Desert Sandworm Corner WS', 'Desert Circle of Pots ES'),
('Desert Circle of Pots NW', 'Desert Big Chest SW'),
('Desert West Wing WS', 'Desert West Lobby ES',),
('Desert West Wing WS', 'Desert West Lobby ES'),
('Desert Fairy Fountain SW', 'Desert West Lobby NW'),
('Desert Back Lobby NW', 'Desert Tiles 1 SW'),
('Desert Bridge SW', 'Desert Four Statues NW'),
('Desert Four Statues ES', 'Desert Beamos Hall WS',),
('Desert Four Statues ES', 'Desert Beamos Hall WS'),
('Desert Tiles 2 NE', 'Desert Wall Slide SE'),
('Hera Tile Room EN', 'Hera Tridorm WN'),
('Hera Tridorm SE', 'Hera Torches NE'),
@@ -2732,8 +2867,8 @@ default_door_connections = [
('TR Torches NW', 'TR Roller Room SW'),
('TR Pipe Pit WN', 'TR Lava Dual Pipes EN'),
('TR Lava Island ES', 'TR Pipe Ledge WS'),
('TR Lava Dual Pipes WN', 'TR Pokey 2 EN'),
('TR Lava Dual Pipes SW', 'TR Twin Pokeys NW'),
('TR Lava Dual Pipes WN', 'TR Pokey 2 EN'),
('TR Pokey 2 ES', 'TR Lava Island WS'),
('TR Dodgers NE', 'TR Lava Escape SE'),
('TR Lava Escape NW', 'TR Dash Room SW'),