Crystals that can be hit with pots
Moved the can_hit_crystal() function to rules where it belongs, and applied it to all instances of crystals in rooms that don't have pots.
This commit is contained in:
@@ -570,7 +570,7 @@ class CollectionState(object):
|
||||
|
||||
|
||||
def can_reach_blue(self, region, player):
|
||||
return region in self.reachable_regions[player] and self.reachable_regions[player][region] in [CrystalBarrier.Blue, CrystalBarrier.Either] and self.can_hit_crystal(player)
|
||||
return region in self.reachable_regions[player] and self.reachable_regions[player][region] in [CrystalBarrier.Blue, CrystalBarrier.Either]
|
||||
|
||||
def can_reach_orange(self, region, player):
|
||||
return region in self.reachable_regions[player] and self.reachable_regions[player][region] in [CrystalBarrier.Orange, CrystalBarrier.Either]
|
||||
|
||||
@@ -1990,9 +1990,9 @@ logical_connections = [
|
||||
|
||||
('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 to Crystal', 'Hera Lobby - Crystal'),
|
||||
('Hera Lobby Crystal Exit', 'Hera Lobby'),
|
||||
('Hera Front to Crystal', 'Hera Front Crystal'),
|
||||
('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'),
|
||||
@@ -2007,6 +2007,12 @@ logical_connections = [
|
||||
('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'),
|
||||
|
||||
@@ -2077,6 +2083,8 @@ logical_connections = [
|
||||
('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'),
|
||||
@@ -2095,6 +2103,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'),
|
||||
@@ -2111,8 +2120,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'),
|
||||
@@ -2123,6 +2135,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'),
|
||||
@@ -2138,6 +2153,8 @@ 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'),
|
||||
@@ -2151,16 +2168,21 @@ 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 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'),
|
||||
@@ -2172,13 +2194,18 @@ logical_connections = [
|
||||
('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'),
|
||||
@@ -2210,6 +2237,9 @@ logical_connections = [
|
||||
('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'),
|
||||
|
||||
66
Doors.py
66
Doors.py
@@ -275,9 +275,13 @@ def create_doors(world, player):
|
||||
create_door(player, 'Hera Lobby Key Stairs', Sprl).dir(Dn, 0x77, 1, HTL).ss(A, 0x12, 0x80).small_key().pos(1),
|
||||
create_door(player, 'Hera Lobby Up Stairs', Sprl).dir(Up, 0x77, 2, HTL).ss(X, 0x2b, 0x5c, False, True),
|
||||
create_door(player, 'Hera Basement Cage Up Stairs', Sprl).dir(Up, 0x87, 3, LTH).ss(Z, 0x42, 0x7c, True, True),
|
||||
create_door(player, 'Hera Basement Cage to Crystal', Lgcl),
|
||||
create_door(player, 'Hera Basement Cage Crystal Exit', Lgcl),
|
||||
create_door(player, 'Hera Tile Room Up Stairs', Sprl).dir(Up, 0x87, 1, LTH).ss(A, 0x32, 0x6c, True, True),
|
||||
create_door(player, 'Hera Tile Room EN', Intr).dir(Ea, 0x87, Top, High).pos(0),
|
||||
create_door(player, 'Hera Tridorm WN', Intr).dir(We, 0x87, Top, High).pos(0),
|
||||
create_door(player, 'Hera Tridorm to Crystal', Lgcl),
|
||||
create_door(player, 'Hera Tridorm Crystal Exit', Lgcl),
|
||||
create_door(player, 'Hera Tridorm SE', Intr).dir(So, 0x87, Right, High).pos(1),
|
||||
create_door(player, 'Hera Torches NE', Intr).dir(No, 0x87, Right, High).pos(1),
|
||||
create_door(player, 'Hera Beetles Down Stairs', Sprl).dir(Dn, 0x31, 2, LTH).ss(X, 0x3a, 0x70, True, True),
|
||||
@@ -292,6 +296,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'Hera Startile Wide SW', Intr).dir(So, 0x31, Left, High).pos(0),
|
||||
create_door(player, 'Hera Startile Wide Up Stairs', Sprl).dir(Up, 0x31, 0, HTH).ss(S, 0x6b, 0xac, False, True),
|
||||
create_door(player, 'Hera Startile Wide Holes', Hole),
|
||||
create_door(player, 'Hera Startile Wide to Crystal', Lgcl),
|
||||
create_door(player, 'Hera Startile Wide Crystal Exit', Lgcl),
|
||||
create_door(player, 'Hera 4F Down Stairs', Sprl).dir(Dn, 0x27, 0, HTH).ss(S, 0x62, 0xc0),
|
||||
create_door(player, 'Hera 4F Up Stairs', Sprl).dir(Up, 0x27, 1, HTH).ss(A, 0x6b, 0x2c),
|
||||
create_door(player, 'Hera 4F Holes', Hole),
|
||||
@@ -433,6 +439,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'PoD Bow Statue SW', Intr).dir(So, 0x1b, Left, High).pos(0),
|
||||
create_door(player, 'PoD Bow Statue Left to Right Barrier - Orange', Lgcl),
|
||||
create_door(player, 'PoD Bow Statue Left to Right Bypass', Lgcl),
|
||||
create_door(player, 'PoD Bow Statue Left to Crystal', Lgcl),
|
||||
create_door(player, 'PoD Bow Statue Left Crystal Exit', Lgcl),
|
||||
create_door(player, 'PoD Bow Statue Right to Left Barrier - Orange', Lgcl),
|
||||
create_door(player, 'PoD Bow Statue Right to Ranged Crystal', Lgcl),
|
||||
create_door(player, 'PoD Bow Statue Ranged Crystal Exit', Lgcl),
|
||||
@@ -509,6 +517,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'Swamp Crystal Switch Outer Ranged Crystal Exit', Lgcl),
|
||||
create_door(player, 'Swamp Crystal Switch Inner to Outer Barrier - Blue', Lgcl),
|
||||
create_door(player, 'Swamp Crystal Switch Inner to Outer Bypass', Lgcl),
|
||||
create_door(player, 'Swamp Crystal Switch Inner to Crystal', Lgcl),
|
||||
create_door(player, 'Swamp Crystal Switch Inner Crystal Exit', Lgcl),
|
||||
create_door(player, 'Swamp Shortcut NE', Intr).dir(No, 0x35, Right, High).pos(3),
|
||||
create_door(player, 'Swamp Shortcut Blue Barrier', Lgcl),
|
||||
create_door(player, 'Swamp Trench 2 Pots ES', Nrml).dir(Ea, 0x35, Bot, High).pos(4),
|
||||
@@ -727,6 +737,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'Ice Big Key Down Ladder', Lddr),
|
||||
create_door(player, 'Ice Stalfos Hint SE', Intr).dir(So, 0x3e, Right, High).pos(0),
|
||||
create_door(player, 'Ice Conveyor NE', Intr).dir(No, 0x3e, Right, High).no_exit().pos(0),
|
||||
create_door(player, 'Ice Conveyor to Crystal', Lgcl),
|
||||
create_door(player, 'Ice Conveyor Crystal Exit', Lgcl),
|
||||
create_door(player, 'Ice Conveyor SW', Nrml).dir(So, 0x3e, Left, High).small_key().pos(1).portal(Z, 0x20),
|
||||
create_door(player, 'Ice Bomb Jump NW', Nrml).dir(No, 0x4e, Left, High).small_key().pos(1),
|
||||
create_door(player, 'Ice Bomb Jump Ledge Orange Barrier', Lgcl),
|
||||
@@ -793,6 +805,9 @@ def create_doors(world, player):
|
||||
create_door(player, 'Ice Switch Room ES', Nrml).dir(Ea, 0xbe, Bot, High).small_key().pos(1),
|
||||
create_door(player, 'Ice Switch Room SE', Nrml).dir(So, 0xbe, Right, High).trap(0x4).pos(0).portal(X, 0x00),
|
||||
create_door(player, 'Ice Refill WS', Nrml).dir(We, 0xbf, Bot, High).small_key().pos(0),
|
||||
create_door(player, 'Ice Refill to Crystal', Lgcl),
|
||||
create_door(player, 'Ice Refill Crystal Exit', Lgcl),
|
||||
|
||||
create_door(player, 'Ice Fairy Warp', Warp),
|
||||
create_door(player, 'Ice Antechamber NE', Nrml).dir(No, 0xce, Right, High).trap(0x4).pos(0),
|
||||
create_door(player, 'Ice Antechamber Hole', Hole),
|
||||
@@ -874,6 +889,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'Mire Conveyor Crystal ES', Nrml).dir(Ea, 0xc1, Bot, High).small_key().pos(1),
|
||||
create_door(player, 'Mire Conveyor Crystal SE', Nrml).dir(So, 0xc1, Right, High).pos(7).portal(X, 0x00),
|
||||
create_door(player, 'Mire Conveyor Crystal WS', Intr).dir(We, 0xc1, Bot, High).small_key().pos(0),
|
||||
create_door(player, 'Mire Conveyor to Crystal', Lgcl),
|
||||
create_door(player, 'Mire Conveyor Crystal Exit', Lgcl),
|
||||
create_door(player, 'Mire Tile Room ES', Intr).dir(Ea, 0xc1, Bot, High).small_key().pos(0),
|
||||
create_door(player, 'Mire Tile Room SW', Nrml).dir(So, 0xc1, Left, High).pos(4).portal(Z, 0x00),
|
||||
create_door(player, 'Mire Tile Room NW', Intr).dir(No, 0xc1, Left, High).pos(3),
|
||||
@@ -948,6 +965,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'TR Pokey 1 NW', Intr).dir(No, 0xb6, Left, High).small_key().pos(3),
|
||||
create_door(player, 'TR Chain Chomps SW', Intr).dir(So, 0xb6, Left, High).small_key().pos(3),
|
||||
create_door(player, 'TR Chain Chomps Top to Bottom Barrier - Orange', Lgcl),
|
||||
create_door(player, 'TR Chain Chomps Top to Crystal', Lgcl),
|
||||
create_door(player, 'TR Chain Chomps Top Crystal Exit', Lgcl),
|
||||
create_door(player, 'TR Chain Chomps Bottom to Top Barrier - Orange', Lgcl),
|
||||
create_door(player, 'TR Chain Chomps Bottom to Ranged Crystal', Lgcl),
|
||||
create_door(player, 'TR Chain Chomps Bottom Ranged Crystal Exit', Lgcl),
|
||||
@@ -965,6 +984,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'TR Lava Escape NW', Nrml).dir(No, 0x14, Left, High).pos(2),
|
||||
create_door(player, 'TR Pokey 2 EN', Nrml).dir(Ea, 0x13, Top, High).pos(1),
|
||||
create_door(player, 'TR Pokey 2 Top to Bottom Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Pokey 2 Top to Crystal', Lgcl),
|
||||
create_door(player, 'TR Pokey 2 Top Crystal Exit', Lgcl),
|
||||
create_door(player, 'TR Pokey 2 Bottom to Top Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Pokey 2 Bottom to Ranged Crystal', Lgcl),
|
||||
create_door(player, 'TR Pokey 2 Bottom Ranged Crystal Exit', Lgcl),
|
||||
@@ -1000,6 +1021,8 @@ def create_doors(world, player):
|
||||
create_door(player, 'TR Crystaroller Middle to Top Barrier - Orange', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Middle to Ranged Crystal', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Top to Middle Barrier - Orange', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Top to Crystal', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Top Crystal Exit', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Chest to Middle Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Middle Ranged Crystal Exit', Lgcl),
|
||||
create_door(player, 'TR Crystaroller Bottom Ranged Crystal Exit', Lgcl),
|
||||
@@ -1013,9 +1036,12 @@ def create_doors(world, player):
|
||||
create_door(player, 'TR Eye Bridge SW', Nrml).dir(So, 0xd5, Left, High).pos(0).portal(Z, 0x02),
|
||||
create_door(player, 'TR Crystal Maze ES', Nrml).dir(Ea, 0xc4, Bot, High).small_key().pos(0),
|
||||
create_door(player, 'TR Crystal Maze Start to Interior Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze Start to Crystal', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze Start Crystal Exit', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze Interior to Start Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze Interior to End Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze Interior to End Bypass', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze Interior to Start Bypass', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze End to Interior Barrier - Blue', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze End to Ranged Crystal', Lgcl),
|
||||
create_door(player, 'TR Crystal Maze End Ranged Crystal Exit', Lgcl),
|
||||
@@ -1102,6 +1128,9 @@ def create_doors(world, player):
|
||||
create_door(player, 'GT Double Switch Exit to Blue Barrier', Lgcl),
|
||||
create_door(player, 'GT Double Switch EN', Intr).dir(Ea, 0x9b, Top, High).small_key().pos(0),
|
||||
create_door(player, 'GT Spike Crystals WN', Intr).dir(We, 0x9b, Top, High).small_key().pos(0),
|
||||
create_door(player, 'GT Spike Crystal Left to Right Barrier - Orange', Lgcl),
|
||||
create_door(player, 'GT Spike Crystal Right to Left Barrier - Orange', Lgcl),
|
||||
create_door(player, 'GT Spike Crystal Left to Right Bypass', Lgcl),
|
||||
create_door(player, 'GT Spike Crystals Warp', Warp),
|
||||
create_door(player, 'GT Warp Maze - Left Section Warp', Warp),
|
||||
create_door(player, 'GT Warp Maze - Mid Section Left Warp', Warp),
|
||||
@@ -1248,18 +1277,17 @@ def create_doors(world, player):
|
||||
world.get_door('Hera Front to Back Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Hera Back to Front Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Hera Back Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('Hera Basement Cage Up Stairs', player).c_switch()
|
||||
world.get_door('Hera Basement Cage Crystal Exit', player).c_switch()
|
||||
world.get_door('Hera Tile Room Up Stairs', player).c_switch()
|
||||
world.get_door('Hera Tile Room EN', player).c_switch()
|
||||
world.get_door('Hera Tridorm WN', player).c_switch()
|
||||
world.get_door('Hera Tridorm SE', player).c_switch()
|
||||
world.get_door('Hera Tile Room EN', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('Hera Tridorm WN', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('Hera Tridorm Crystal Exit', player).c_switch()
|
||||
world.get_door('Hera Tridorm SE', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Hera Beetles Down Stairs', player).c_switch()
|
||||
world.get_door('Hera Beetles WS', player).c_switch()
|
||||
world.get_door('Hera Beetles Holes Front', player).c_switch()
|
||||
world.get_door('Hera Beetles Holes Landing', player).c_switch()
|
||||
world.get_door('Hera Startile Wide SW', player).c_switch()
|
||||
world.get_door('Hera Startile Wide Up Stairs', player).c_switch()
|
||||
world.get_door('Hera Startile Wide Holes', player).c_switch()
|
||||
world.get_door('Hera Startile Wide Crystal Exit', player).c_switch()
|
||||
|
||||
world.get_door('PoD Arena North to Landing Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('PoD Arena Main to Landing Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
@@ -1277,7 +1305,7 @@ def create_doors(world, player):
|
||||
world.get_door('PoD Sexy Statue W', player).c_switch()
|
||||
world.get_door('PoD Sexy Statue NW', player).c_switch()
|
||||
world.get_door('PoD Map Balcony Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('PoD Bow Statue SW', player).c_switch()
|
||||
world.get_door('PoD Bow Statue Left Crystal Exit', player).c_switch()
|
||||
world.get_door('PoD Bow Statue Left to Right Bypass', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('PoD Bow Statue Left to Right Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('PoD Bow Statue Right to Left Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
@@ -1296,6 +1324,7 @@ def create_doors(world, player):
|
||||
world.get_door('Swamp Crystal Switch Outer to Inner Bypass', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Swamp Crystal Switch Inner to Outer Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('Swamp Crystal Switch Inner to Outer Bypass', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Swamp Crystal Switch Inner Crystal Exit', player).c_switch()
|
||||
world.get_door('Swamp Crystal Switch Outer Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('Swamp Shortcut Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('Swamp Trench 2 Pots Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
||||
@@ -1316,8 +1345,8 @@ def create_doors(world, player):
|
||||
world.get_door('Thieves Attic Hint Orange Barrier', player).barrier(CrystalBarrier.Orange)
|
||||
|
||||
world.get_door('Ice Bomb Drop SE', player).c_switch()
|
||||
world.get_door('Ice Conveyor SW', player).c_switch()
|
||||
world.get_door('Ice Refill WS', player).c_switch()
|
||||
world.get_door('Ice Conveyor Crystal Exit', player).c_switch()
|
||||
world.get_door('Ice Refill Crystal Exit', player).c_switch()
|
||||
world.get_door('Ice Bomb Drop Hole', player).barrier(CrystalBarrier.Orange) # not required to hit switch w/ bomb
|
||||
world.get_door('Ice Bomb Jump Ledge Orange Barrier', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Ice Bomb Jump Catwalk Orange Barrier', player).barrier(CrystalBarrier.Orange)
|
||||
@@ -1328,9 +1357,7 @@ def create_doors(world, player):
|
||||
world.get_door('Ice Backwards Room Hole', player).barrier(CrystalBarrier.Blue)
|
||||
|
||||
world.get_door('Mire Fishbone E', player).c_switch()
|
||||
world.get_door('Mire Conveyor Crystal ES', player).c_switch()
|
||||
world.get_door('Mire Conveyor Crystal SE', player).c_switch()
|
||||
world.get_door('Mire Conveyor Crystal WS', player).c_switch()
|
||||
world.get_door('Mire Conveyor Crystal Exit', player).c_switch()
|
||||
world.get_door('Mire Tall Dark and Roomy Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('Mire Crystal Top SW', player).c_switch()
|
||||
world.get_door('Mire Falling Foes ES', player).c_switch()
|
||||
@@ -1355,11 +1382,11 @@ def create_doors(world, player):
|
||||
world.get_door('Mire Firesnake Skip Orange Barrier', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('Mire Antechamber Orange Barrier', player).barrier(CrystalBarrier.Orange)
|
||||
|
||||
world.get_door('TR Chain Chomps Down Stairs', player).c_switch()
|
||||
world.get_door('TR Chain Chomps Top Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Chain Chomps Top to Bottom Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('TR Chain Chomps Bottom to Top Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('TR Chain Chomps Bottom Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Pokey 2 EN', player).c_switch()
|
||||
world.get_door('TR Pokey 2 Top Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Pokey 2 Top to Bottom Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('TR Pokey 2 Bottom to Top Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('TR Pokey 2 Bottom Ranged Crystal Exit', player).c_switch()
|
||||
@@ -1372,12 +1399,13 @@ def create_doors(world, player):
|
||||
world.get_door('TR Crystaroller Top to Middle Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('TR Crystaroller Middle Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Crystaroller Bottom Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Crystaroller Down Stairs', player).c_switch()
|
||||
world.get_door('TR Crystal Maze ES', player).c_switch()
|
||||
world.get_door('TR Crystaroller Top Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Crystal Maze Start Crystal Exit', player).c_switch()
|
||||
world.get_door('TR Crystal Maze Start to Interior Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('TR Crystal Maze Interior to Start Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('TR Crystal Maze Interior to End Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('TR Crystal Maze Interior to End Bypass', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('TR Crystal Maze Interior to Start Bypass', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('TR Crystal Maze End to Interior Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('TR Crystal Maze End Ranged Crystal Exit', player).c_switch()
|
||||
|
||||
@@ -1396,7 +1424,6 @@ def create_doors(world, player):
|
||||
world.get_door('GT HookShot South Entry Ranged Crystal Exit', player).c_switch()
|
||||
world.get_door('GT Spike Crystals WN', player).c_switch()
|
||||
world.get_door('GT Spike Crystals Warp', player).c_switch()
|
||||
|
||||
world.get_door('GT Crystal Paths Down Stairs', player).c_switch()
|
||||
world.get_door('GT Crystal Paths SW', player).c_switch()
|
||||
world.get_door('GT Hidden Spikes SE', player).c_switch()
|
||||
@@ -1416,6 +1443,9 @@ def create_doors(world, player):
|
||||
world.get_door('GT Double Switch Pot Corners to Exit Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('GT Double Switch Pot Corners Ranged Switches Exit', player).c_switch()
|
||||
world.get_door('GT Double Switch Exit to Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
||||
world.get_door('GT Spike Crystal Left to Right Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('GT Spike Crystal Right to Left Barrier - Orange', player).barrier(CrystalBarrier.Orange)
|
||||
world.get_door('GT Spike Crystal Left to Right Bypass', player).barrier(CrystalBarrier.Blue)
|
||||
|
||||
# nifty dynamic logical doors:
|
||||
south_controller = world.get_door('Ice Cross Bottom SE', player)
|
||||
|
||||
38
Dungeons.py
38
Dungeons.py
@@ -195,10 +195,11 @@ desert_regions = [
|
||||
]
|
||||
|
||||
hera_regions = [
|
||||
'Hera Lobby', 'Hera Lobby Crystal', 'Hera Front', 'Hera Back', 'Hera Front Crystal', 'Hera Down Stairs Landing',
|
||||
'Hera Lobby', 'Hera Lobby - Crystal', 'Hera Front', 'Hera Back', 'Hera Front - Crystal', 'Hera Down Stairs Landing',
|
||||
'Hera Down Stairs Landing - Ranged Crystal', 'Hera Up Stairs Landing', 'Hera Up Stairs Landing - Ranged Crystal',
|
||||
'Hera Back - Ranged Crystal', 'Hera Basement Cage', 'Hera Tile Room', 'Hera Tridorm', 'Hera Torches', 'Hera Beetles',
|
||||
'Hera Startile Corner', 'Hera Startile Wide', 'Hera 4F', 'Hera Big Chest Landing', 'Hera 5F',
|
||||
'Hera Back - Ranged Crystal', 'Hera Basement Cage', 'Hera Basement Cage - Crystal', 'Hera Tile Room',
|
||||
'Hera Tridorm', 'Hera Tridorm - Crystal', 'Hera Torches', 'Hera Beetles', 'Hera Startile Corner',
|
||||
'Hera Startile Wide', 'Hera Startile Wide - Crystal', 'Hera 4F', 'Hera Big Chest Landing', 'Hera 5F',
|
||||
'Hera Fairies', 'Hera Boss', 'Hera Portal'
|
||||
]
|
||||
|
||||
@@ -227,7 +228,7 @@ swamp_regions = [
|
||||
'Swamp Trench 1 Nexus', 'Swamp Trench 1 Alcove', 'Swamp Trench 1 Key Ledge', 'Swamp Trench 1 Departure',
|
||||
'Swamp Hammer Switch', 'Swamp Hub', 'Swamp Hub Dead Ledge', 'Swamp Hub North Ledge', 'Swamp Donut Top',
|
||||
'Swamp Donut Bottom', 'Swamp Compass Donut', 'Swamp Crystal Switch Outer', 'Swamp Crystal Switch Outer - Ranged Crystal',
|
||||
'Swamp Crystal Switch Inner', 'Swamp Shortcut', 'Swamp Trench 2 Pots',
|
||||
'Swamp Crystal Switch Inner', 'Swamp Crystal Switch Inner - Crystal', 'Swamp Shortcut', 'Swamp Trench 2 Pots',
|
||||
'Swamp Trench 2 Blocks', 'Swamp Trench 2 Alcove', 'Swamp Trench 2 Departure', 'Swamp Big Key Ledge',
|
||||
'Swamp West Shallows', 'Swamp West Block Path', 'Swamp West Ledge', 'Swamp Barrier Ledge', 'Swamp Barrier',
|
||||
'Swamp Attic', 'Swamp Push Statue', 'Swamp Shooters', 'Swamp Left Elbow', 'Swamp Right Elbow', 'Swamp Drain Left',
|
||||
@@ -259,13 +260,13 @@ thieves_regions = [
|
||||
ice_regions = [
|
||||
'Ice Lobby', 'Ice Jelly Key', 'Ice Floor Switch', 'Ice Cross Left', 'Ice Cross Bottom', 'Ice Cross Right',
|
||||
'Ice Cross Top', 'Ice Compass Room', 'Ice Pengator Switch', 'Ice Dead End', 'Ice Big Key', 'Ice Bomb Drop',
|
||||
'Ice Stalfos Hint', 'Ice Conveyor', 'Ice Bomb Jump Ledge', 'Ice Bomb Jump Catwalk', 'Ice Narrow Corridor',
|
||||
'Ice Stalfos Hint', 'Ice Conveyor', 'Ice Conveyor - Crystal', 'Ice Bomb Jump Ledge', 'Ice Bomb Jump Catwalk', 'Ice Narrow Corridor',
|
||||
'Ice Pengator Trap', 'Ice Spike Cross', 'Ice Firebar', 'Ice Falling Square', 'Ice Spike Room', 'Ice Hammer Block',
|
||||
'Ice Tongue Pull', 'Ice Freezors', 'Ice Freezors Ledge', 'Ice Tall Hint', 'Ice Hookshot Ledge',
|
||||
'Ice Hookshot Balcony', 'Ice Spikeball', 'Ice Lonely Freezor', 'Iced T', 'Ice Catwalk', 'Ice Many Pots',
|
||||
'Ice Crystal Right', 'Ice Crystal Left', 'Ice Crystal Block', 'Ice Big Chest View', 'Ice Big Chest Landing',
|
||||
'Ice Backwards Room', 'Ice Anti-Fairy', 'Ice Switch Room', 'Ice Refill', 'Ice Fairy', 'Ice Antechamber', 'Ice Boss',
|
||||
'Ice Portal'
|
||||
'Ice Backwards Room', 'Ice Anti-Fairy', 'Ice Switch Room', 'Ice Refill', 'Ice Refill - Crystal',
|
||||
'Ice Fairy', 'Ice Antechamber', 'Ice Boss', 'Ice Portal'
|
||||
]
|
||||
|
||||
mire_regions = [
|
||||
@@ -274,7 +275,7 @@ mire_regions = [
|
||||
'Mire Crystal Dead End', 'Mire Hidden Shooters', 'Mire Hidden Shooters Blocked', 'Mire Cross', 'Mire Minibridge',
|
||||
'Mire BK Door Room', 'Mire Spikes', 'Mire Ledgehop', 'Mire Bent Bridge', 'Mire Over Bridge', 'Mire Right Bridge',
|
||||
'Mire Left Bridge', 'Mire Fishbone', 'Mire South Fish', 'Mire Spike Barrier', 'Mire Square Rail', 'Mire Lone Warp',
|
||||
'Mire Wizzrobe Bypass', 'Mire Conveyor Crystal', 'Mire Tile Room', 'Mire Compass Room', 'Mire Compass Chest',
|
||||
'Mire Wizzrobe Bypass', 'Mire Conveyor Crystal', 'Mire Conveyor - Crystal', 'Mire Tile Room', 'Mire Compass Room', 'Mire Compass Chest',
|
||||
'Mire Neglected Room', 'Mire Chest View', 'Mire Conveyor Barrier', 'Mire BK Chest Ledge', 'Mire Warping Pool',
|
||||
'Mire Torches Top', 'Mire Torches Bottom', 'Mire Attic Hint', 'Mire Dark Shooters', 'Mire Key Rupees',
|
||||
'Mire Block X', 'Mire Tall Dark and Roomy', 'Mire Tall Dark and Roomy - Ranged Crystal', 'Mire Crystal Right', 'Mire Crystal Mid', 'Mire Crystal Left',
|
||||
@@ -284,13 +285,16 @@ mire_regions = [
|
||||
|
||||
tr_regions = [
|
||||
'TR Main Lobby', 'TR Lobby Ledge', 'TR Compass Room', 'TR Hub', 'TR Torches Ledge', 'TR Torches', 'TR Roller Room',
|
||||
'TR Tile Room', 'TR Refill', 'TR Pokey 1', 'TR Chain Chomps Top', 'TR Chain Chomps Bottom', 'TR Chain Chomps Bottom - Ranged Crystal', 'TR Pipe Pit', 'TR Pipe Ledge', 'TR Lava Dual Pipes',
|
||||
'TR Lava Island', 'TR Lava Escape', 'TR Pokey 2 Top', 'TR Pokey 2 Bottom', 'TR Pokey 2 Bottom - Ranged Crystal', 'TR Twin Pokeys', 'TR Hallway', 'TR Dodgers', 'TR Big View',
|
||||
'TR Big Chest', 'TR Big Chest Entrance', 'TR Lazy Eyes', 'TR Dash Room', 'TR Tongue Pull', 'TR Rupees',
|
||||
'TR Crystaroller Bottom', 'TR Crystaroller Middle', 'TR Crystaroller Top', 'TR Crystaroller Chest', 'TR Crystaroller Middle - Ranged Crystal', 'TR Crystaroller Bottom - Ranged Crystal',
|
||||
'TR Dark Ride', 'TR Dash Bridge', 'TR Eye Bridge', 'TR Crystal Maze Start', 'TR Crystal Maze Interior', 'TR Crystal Maze End', 'TR Crystal Maze End - Ranged Crystal',
|
||||
'TR Final Abyss', 'TR Boss', 'Turtle Rock Main Portal', 'Turtle Rock Lazy Eyes Portal', 'Turtle Rock Chest Portal',
|
||||
'Turtle Rock Eye Bridge Portal'
|
||||
'TR Tile Room', 'TR Refill', 'TR Pokey 1', 'TR Chain Chomps Top', 'TR Chain Chomps Top - Crystal',
|
||||
'TR Chain Chomps Bottom', 'TR Chain Chomps Bottom - Ranged Crystal', 'TR Pipe Pit', 'TR Pipe Ledge', 'TR Lava Dual Pipes',
|
||||
'TR Lava Island', 'TR Lava Escape', 'TR Pokey 2 Top', 'TR Pokey 2 Top - Crystal', 'TR Pokey 2 Bottom', 'TR Pokey 2 Bottom - Ranged Crystal',
|
||||
'TR Twin Pokeys', 'TR Hallway', 'TR Dodgers', 'TR Big View','TR Big Chest', 'TR Big Chest Entrance',
|
||||
'TR Lazy Eyes', 'TR Dash Room', 'TR Tongue Pull', 'TR Rupees', 'TR Crystaroller Bottom',
|
||||
'TR Crystaroller Middle', 'TR Crystaroller Top', 'TR Crystaroller Top - Crystal', 'TR Crystaroller Chest',
|
||||
'TR Crystaroller Middle - Ranged Crystal', 'TR Crystaroller Bottom - Ranged Crystal', 'TR Dark Ride', 'TR Dash Bridge', 'TR Eye Bridge',
|
||||
'TR Crystal Maze Start', 'TR Crystal Maze Start - Crystal', 'TR Crystal Maze Interior', 'TR Crystal Maze End',
|
||||
'TR Crystal Maze End - Ranged Crystal', 'TR Final Abyss', 'TR Boss', 'Turtle Rock Main Portal',
|
||||
'Turtle Rock Lazy Eyes Portal', 'Turtle Rock Chest Portal', 'Turtle Rock Eye Bridge Portal'
|
||||
]
|
||||
|
||||
gt_regions = [
|
||||
@@ -301,8 +305,8 @@ gt_regions = [
|
||||
'GT Compass Room', 'GT Invisible Bridges', 'GT Invisible Catwalk', 'GT Conveyor Cross', 'GT Hookshot East Platform',
|
||||
'GT Hookshot North Platform', 'GT Hookshot South Platform', 'GT Hookshot South Entry', 'GT Hookshot South Entry - Ranged Crystal', 'GT Map Room',
|
||||
'GT Double Switch Entry', 'GT Double Switch Pot Corners - Ranged Switches', 'GT Double Switch Pot Corners', 'GT Double Switch Left',
|
||||
'GT Double Switch Entry - Ranged Switches',
|
||||
'GT Double Switch Exit', 'GT Spike Crystals', 'GT Warp Maze - Left Section', 'GT Warp Maze - Mid Section',
|
||||
'GT Double Switch Entry - Ranged Switches', 'GT Double Switch Exit', 'GT Spike Crystal Left',
|
||||
'GT Spike Crystal Right', 'GT Warp Maze - Left Section', 'GT Warp Maze - Mid Section',
|
||||
'GT Warp Maze - Right Section', 'GT Warp Maze - Pit Section', 'GT Warp Maze - Pit Exit Warp Spot',
|
||||
'GT Warp Maze Exit Section', 'GT Firesnake Room', 'GT Firesnake Room Ledge', 'GT Warp Maze - Rail Choice',
|
||||
'GT Warp Maze - Rando Rail', 'GT Warp Maze - Main Rails', 'GT Warp Maze - Pot Rail', 'GT Petting Zoo',
|
||||
|
||||
77
Regions.py
77
Regions.py
@@ -338,22 +338,25 @@ def create_dungeon_regions(world, player):
|
||||
|
||||
# Hera
|
||||
create_dungeon_region(player, 'Hera Lobby', 'Tower of Hera', None, ['Hera Lobby S', 'Hera Lobby to Crystal', 'Hera Lobby to Front Barrier - Blue']),
|
||||
create_dungeon_region(player, 'Hera Lobby Crystal', 'Tower of Hera', None, ['Hera Lobby Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Lobby - Crystal', 'Tower of Hera', None, ['Hera Lobby Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Front', 'Tower of Hera', None, ['Hera Front to Crystal', 'Hera Front to Lobby Barrier - Blue', 'Hera Front to Down Stairs Barrier - Blue', 'Hera Front to Up Stairs Barrier - Orange', 'Hera Front to Back Barrier - Orange', 'Hera Front to Back Bypass']),
|
||||
create_dungeon_region(player, 'Hera Front Crystal', 'Tower of Hera', None, ['Hera Front Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Front - Crystal', 'Tower of Hera', None, ['Hera Front Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Down Stairs Landing', 'Tower of Hera', None, ['Hera Lobby Down Stairs', 'Hera Down Stairs to Front Barrier - Blue', 'Hera Down Stairs Landing to Ranged Crystal']),
|
||||
create_dungeon_region(player, 'Hera Down Stairs Landing - Ranged Crystal', 'Tower of Hera', None, ['Hera Down Stairs Landing Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Up Stairs Landing', 'Tower of Hera', None, ['Hera Up Stairs to Front Barrier - Orange', 'Hera Lobby Up Stairs', 'Hera Up Stairs Landing to Ranged Crystal']),
|
||||
create_dungeon_region(player, 'Hera Up Stairs Landing - Ranged Crystal', 'Tower of Hera', None, ['Hera Up Stairs Landing Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Back', 'Tower of Hera', ['Tower of Hera - Map Chest'], ['Hera Back to Front Barrier - Orange', 'Hera Lobby Key Stairs', 'Hera Back to Ranged Crystal']),
|
||||
create_dungeon_region(player, 'Hera Back - Ranged Crystal', 'Tower of Hera', None, ['Hera Back Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Basement Cage', 'Tower of Hera', ['Tower of Hera - Basement Cage'], ['Hera Basement Cage Up Stairs']),
|
||||
create_dungeon_region(player, 'Hera Basement Cage', 'Tower of Hera', ['Tower of Hera - Basement Cage'], ['Hera Basement Cage to Crystal', 'Hera Basement Cage Up Stairs']),
|
||||
create_dungeon_region(player, 'Hera Basement Cage - Crystal', 'Tower of Hera', None, ['Hera Basement Cage Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Tile Room', 'Tower of Hera', None, ['Hera Tile Room Up Stairs', 'Hera Tile Room EN']),
|
||||
create_dungeon_region(player, 'Hera Tridorm', 'Tower of Hera', None, ['Hera Tridorm WN', 'Hera Tridorm SE']),
|
||||
create_dungeon_region(player, 'Hera Tridorm', 'Tower of Hera', None, ['Hera Tridorm WN', 'Hera Tridorm SE', 'Hera Tridorm to Crystal']),
|
||||
create_dungeon_region(player, 'Hera Tridorm - Crystal', 'Tower of Hera', None, ['Hera Tridorm Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera Torches', 'Tower of Hera', ['Tower of Hera - Big Key Chest'], ['Hera Torches NE']),
|
||||
create_dungeon_region(player, 'Hera Beetles', 'Tower of Hera', None, ['Hera Beetles Down Stairs', 'Hera Beetles WS', 'Hera Beetles Holes Front', 'Hera Beetles Holes Landing']),
|
||||
create_dungeon_region(player, 'Hera Startile Corner', 'Tower of Hera', None, ['Hera Startile Corner ES', 'Hera Startile Corner NW', 'Hera Startile Corner Holes Front', 'Hera Startile Corner Holes Landing']),
|
||||
create_dungeon_region(player, 'Hera Startile Wide', 'Tower of Hera', None, ['Hera Startile Wide SW', 'Hera Startile Wide Up Stairs', 'Hera Startile Wide Holes']),
|
||||
create_dungeon_region(player, 'Hera Startile Wide', 'Tower of Hera', None, ['Hera Startile Wide SW', 'Hera Startile Wide Up Stairs', 'Hera Startile Wide Holes', 'Hera Startile Wide to Crystal']),
|
||||
create_dungeon_region(player, 'Hera Startile Wide - Crystal', 'Tower of Hera', None, ['Hera Startile Wide Crystal Exit']),
|
||||
create_dungeon_region(player, 'Hera 4F', 'Tower of Hera', ['Tower of Hera - Compass Chest'], ['Hera 4F Down Stairs', 'Hera 4F Up Stairs', 'Hera Big Chest Hook Path', 'Hera 4F Holes']),
|
||||
create_dungeon_region(player, 'Hera Big Chest Landing', 'Tower of Hera', ['Tower of Hera - Big Chest'], ['Hera Big Chest Landing Exit', 'Hera Big Chest Landing Holes']),
|
||||
create_dungeon_region(player, 'Hera 5F', 'Tower of Hera', None, ['Hera 5F Down Stairs', 'Hera 5F Up Stairs', 'Hera 5F Star Hole', 'Hera 5F Pothole Chain', 'Hera 5F Normal Holes']),
|
||||
@@ -416,8 +419,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'PoD Dark Basement', 'Palace of Darkness', ['Palace of Darkness - Dark Basement - Left', 'Palace of Darkness - Dark Basement - Right'], ['PoD Dark Basement W Up Stairs', 'PoD Dark Basement E Up Stairs']),
|
||||
create_dungeon_region(player, 'PoD Harmless Hellway', 'Palace of Darkness', ['Palace of Darkness - Harmless Hellway'], ['PoD Harmless Hellway NE', 'PoD Harmless Hellway SE']),
|
||||
create_dungeon_region(player, 'PoD Mimics 2', 'Palace of Darkness', None, ['PoD Mimics 2 SW', 'PoD Mimics 2 NW']),
|
||||
create_dungeon_region(player, 'PoD Bow Statue', 'Palace of Darkness', None, ['PoD Bow Statue SW', 'PoD Bow Statue Down Ladder']),
|
||||
create_dungeon_region(player, 'PoD Bow Statue Left', 'Palace of Darkness', None, ['PoD Bow Statue SW', 'PoD Bow Statue Left to Right Barrier - Orange', 'PoD Bow Statue Left to Right Bypass']),
|
||||
create_dungeon_region(player, 'PoD Bow Statue Left', 'Palace of Darkness', None, ['PoD Bow Statue SW', 'PoD Bow Statue Left to Right Barrier - Orange', 'PoD Bow Statue Left to Right Bypass', 'PoD Bow Statue Left to Crystal']),
|
||||
create_dungeon_region(player, 'PoD Bow Statue Left - Crystal', 'Palace of Darkness', None, ['PoD Bow Statue Left Crystal Exit']),
|
||||
create_dungeon_region(player, 'PoD Bow Statue Right', 'Palace of Darkness', None, ['PoD Bow Statue Right to Left Barrier - Orange', 'PoD Bow Statue Right to Ranged Crystal', 'PoD Bow Statue Down Ladder']),
|
||||
create_dungeon_region(player, 'PoD Bow Statue Right - Ranged Crystal', 'Palace of Darkness', None, ['PoD Bow Statue Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'PoD Dark Pegs Landing', 'Palace of Darkness', None, ['PoD Dark Pegs Up Ladder', 'PoD Dark Pegs Landing to Right', 'PoD Dark Pegs Landing to Ranged Crystal']),
|
||||
@@ -452,8 +455,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'Swamp Compass Donut', 'Swamp Palace', ['Swamp Palace - Compass Chest'], ['Swamp Compass Donut SW', 'Swamp Compass Donut Push Block']),
|
||||
create_dungeon_region(player, 'Swamp Crystal Switch Outer', 'Swamp Palace', None, ['Swamp Crystal Switch EN', 'Swamp Crystal Switch SE', 'Swamp Crystal Switch Outer to Inner Barrier - Blue', 'Swamp Crystal Switch Outer to Ranged Crystal', 'Swamp Crystal Switch Outer to Inner Bypass']),
|
||||
create_dungeon_region(player, 'Swamp Crystal Switch Outer - Ranged Crystal', 'Swamp Palace', None, ['Swamp Crystal Switch Outer Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'Swamp Crystal Switch Inner', 'Swamp Palace', ['Trench 2 Switch'], ['Swamp Crystal Switch Inner to Outer Bypass', 'Swamp Crystal Switch Inner to Outer Barrier - Blue']),
|
||||
|
||||
create_dungeon_region(player, 'Swamp Crystal Switch Inner', 'Swamp Palace', ['Trench 2 Switch'], ['Swamp Crystal Switch Inner to Crystal', 'Swamp Crystal Switch Inner to Outer Bypass', 'Swamp Crystal Switch Inner to Outer Barrier - Blue']),
|
||||
create_dungeon_region(player, 'Swamp Crystal Switch Inner - Crystal', 'Swamp Palace', None, ['Swamp Crystal Switch Inner Crystal Exit']),
|
||||
create_dungeon_region(player, 'Swamp Shortcut', 'Swamp Palace', None, ['Swamp Shortcut NE', 'Swamp Shortcut Blue Barrier']),
|
||||
create_dungeon_region(player, 'Swamp Trench 2 Pots', 'Swamp Palace', None, ['Swamp Trench 2 Pots ES', 'Swamp Trench 2 Pots Blue Barrier', 'Swamp Trench 2 Pots Dry', 'Swamp Trench 2 Pots Wet']),
|
||||
create_dungeon_region(player, 'Swamp Trench 2 Blocks', 'Swamp Palace', None, ['Swamp Trench 2 Blocks Pots', 'Swamp Trench 2 Blocks N']),
|
||||
@@ -560,7 +563,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'Ice Big Key', 'Ice Palace', ['Ice Palace - Big Key Chest'], ['Ice Big Key Push Block', 'Ice Big Key Down Ladder']),
|
||||
create_dungeon_region(player, 'Ice Bomb Drop', 'Ice Palace', None, ['Ice Bomb Drop SE', 'Ice Bomb Drop Hole']),
|
||||
create_dungeon_region(player, 'Ice Stalfos Hint', 'Ice Palace', None, ['Ice Stalfos Hint SE']),
|
||||
create_dungeon_region(player, 'Ice Conveyor', 'Ice Palace', ['Ice Palace - Conveyor Key Drop'], ['Ice Conveyor NE', 'Ice Conveyor SW']),
|
||||
create_dungeon_region(player, 'Ice Conveyor', 'Ice Palace', ['Ice Palace - Conveyor Key Drop'], ['Ice Conveyor NE', 'Ice Conveyor to Crystal', 'Ice Conveyor SW']),
|
||||
create_dungeon_region(player, 'Ice Conveyor - Crystal', 'Ice Palace', None, ['Ice Conveyor Crystal Exit']),
|
||||
create_dungeon_region(player, 'Ice Bomb Jump Ledge', 'Ice Palace', None, ['Ice Bomb Jump NW', 'Ice Bomb Jump Ledge Orange Barrier']),
|
||||
create_dungeon_region(player, 'Ice Bomb Jump Catwalk', 'Ice Palace', None, ['Ice Bomb Jump Catwalk Orange Barrier', 'Ice Bomb Jump EN']),
|
||||
create_dungeon_region(player, 'Ice Narrow Corridor', 'Ice Palace', None, ['Ice Narrow Corridor WN', 'Ice Narrow Corridor Down Stairs']),
|
||||
@@ -589,7 +593,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'Ice Backwards Room', 'Ice Palace', None, ['Ice Backwards Room SE', 'Ice Backwards Room Down Stairs', 'Ice Backwards Room Hole']),
|
||||
create_dungeon_region(player, 'Ice Anti-Fairy', 'Ice Palace', None, ['Ice Anti-Fairy Up Stairs', 'Ice Anti-Fairy SE']),
|
||||
create_dungeon_region(player, 'Ice Switch Room', 'Ice Palace', None, ['Ice Switch Room NE', 'Ice Switch Room ES', 'Ice Switch Room SE']),
|
||||
create_dungeon_region(player, 'Ice Refill', 'Ice Palace', None, ['Ice Refill WS']),
|
||||
create_dungeon_region(player, 'Ice Refill', 'Ice Palace', None, ['Ice Refill WS', 'Ice Refill to Crystal']),
|
||||
create_dungeon_region(player, 'Ice Refill - Crystal', 'Ice Palace', None, ['Ice Refill Crystal Exit']),
|
||||
create_dungeon_region(player, 'Ice Fairy', 'Ice Palace', None, ['Ice Fairy Warp']),
|
||||
create_dungeon_region(player, 'Ice Antechamber', 'Ice Palace', None, ['Ice Antechamber NE', 'Ice Antechamber Hole']),
|
||||
create_dungeon_region(player, 'Ice Boss', 'Ice Palace', ['Ice Palace - Boss', 'Ice Palace - Prize']),
|
||||
@@ -625,7 +630,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'Mire Square Rail', 'Misery Mire', None, ['Mire Square Rail WS', 'Mire Square Rail NW']),
|
||||
create_dungeon_region(player, 'Mire Lone Warp', 'Misery Mire', None, ['Mire Lone Warp SW', 'Mire Lone Warp Warp']),
|
||||
create_dungeon_region(player, 'Mire Wizzrobe Bypass', 'Misery Mire', None, ['Mire Wizzrobe Bypass WN', 'Mire Wizzrobe Bypass EN', 'Mire Wizzrobe Bypass NE']),
|
||||
create_dungeon_region(player, 'Mire Conveyor Crystal', 'Misery Mire', ['Misery Mire - Conveyor Crystal Key Drop'], ['Mire Conveyor Crystal WS', 'Mire Conveyor Crystal ES', 'Mire Conveyor Crystal SE']),
|
||||
create_dungeon_region(player, 'Mire Conveyor Crystal', 'Misery Mire', ['Misery Mire - Conveyor Crystal Key Drop'], ['Mire Conveyor to Crystal', 'Mire Conveyor Crystal WS', 'Mire Conveyor Crystal ES', 'Mire Conveyor Crystal SE']),
|
||||
create_dungeon_region(player, 'Mire Conveyor - Crystal', 'Misery Mire', None, ['Mire Conveyor Crystal Exit']),
|
||||
create_dungeon_region(player, 'Mire Tile Room', 'Misery Mire', None, ['Mire Tile Room ES', 'Mire Tile Room NW', 'Mire Tile Room SW']),
|
||||
create_dungeon_region(player, 'Mire Compass Room', 'Misery Mire', None, ['Mire Compass Room SW', 'Mire Compass Room EN', 'Mire Compass Blue Barrier']),
|
||||
create_dungeon_region(player, 'Mire Compass Chest', 'Misery Mire', ['Misery Mire - Compass Chest'], ['Mire Compass Chest Exit']),
|
||||
@@ -663,7 +669,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'TR Tile Room', 'Turtle Rock', None, ['TR Tile Room SE', 'TR Tile Room NE']),
|
||||
create_dungeon_region(player, 'TR Refill', 'Turtle Rock', None, ['TR Refill SE']),
|
||||
create_dungeon_region(player, 'TR Pokey 1', 'Turtle Rock', ['Turtle Rock - Pokey 1 Key Drop'], ['TR Pokey 1 SW', 'TR Pokey 1 NW']),
|
||||
create_dungeon_region(player, 'TR Chain Chomps Top', 'Turtle Rock', ['Turtle Rock - Chain Chomps'], ['TR Chain Chomps Down Stairs', 'TR Chain Chomps Top to Bottom Barrier - Orange']),
|
||||
create_dungeon_region(player, 'TR Chain Chomps Top', 'Turtle Rock', ['Turtle Rock - Chain Chomps'], ['TR Chain Chomps Top to Crystal', 'TR Chain Chomps Down Stairs', 'TR Chain Chomps Top to Bottom Barrier - Orange']),
|
||||
create_dungeon_region(player, 'TR Chain Chomps Top - Crystal', 'Turtle Rock', None, ['TR Chain Chomps Top Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Chain Chomps Bottom', 'Turtle Rock', None, ['TR Chain Chomps SW', 'TR Chain Chomps Bottom to Top Barrier - Orange', 'TR Chain Chomps Bottom to Ranged Crystal']),
|
||||
create_dungeon_region(player, 'TR Chain Chomps Bottom - Ranged Crystal', 'Turtle Rock', None, ['TR Chain Chomps Bottom Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Pipe Pit', 'Turtle Rock', None, ['TR Pipe Pit Up Stairs', 'TR Pipe Pit WN']),
|
||||
@@ -671,7 +678,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'TR Lava Dual Pipes', 'Turtle Rock', None, ['TR Lava Dual Pipes EN', 'TR Lava Dual Pipes WN', 'TR Lava Dual Pipes SW']),
|
||||
create_dungeon_region(player, 'TR Lava Island', 'Turtle Rock', ['Turtle Rock - Big Key Chest'], ['TR Lava Island WS', 'TR Lava Island ES']),
|
||||
create_dungeon_region(player, 'TR Lava Escape', 'Turtle Rock', None, ['TR Lava Escape SE', 'TR Lava Escape NW']),
|
||||
create_dungeon_region(player, 'TR Pokey 2 Top', 'Turtle Rock', None, ['TR Pokey 2 EN', 'TR Pokey 2 Top to Bottom Barrier - Blue']),
|
||||
create_dungeon_region(player, 'TR Pokey 2 Top', 'Turtle Rock', None, ['TR Pokey 2 EN', 'TR Pokey 2 Top to Bottom Barrier - Blue', 'TR Pokey 2 Top to Crystal']),
|
||||
create_dungeon_region(player, 'TR Pokey 2 Top - Crystal', 'Turtle Rock', None, ['TR Pokey 2 Top Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Pokey 2 Bottom', 'Turtle Rock', ['Turtle Rock - Pokey 2 Key Drop'], ['TR Pokey 2 ES', 'TR Pokey 2 Bottom to Top Barrier - Blue', 'TR Pokey 2 Bottom to Ranged Crystal']),
|
||||
create_dungeon_region(player, 'TR Pokey 2 Bottom - Ranged Crystal', 'Turtle Rock', None, ['TR Pokey 2 Bottom Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Twin Pokeys', 'Turtle Rock', None, ['TR Twin Pokeys NW', 'TR Twin Pokeys EN', 'TR Twin Pokeys SW']),
|
||||
@@ -686,7 +694,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'TR Rupees', 'Turtle Rock', None, ['TR Rupees SE']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Bottom' , 'Turtle Rock', None, ['TR Crystaroller Bottom to Middle Barrier - Orange', 'TR Crystaroller Bottom to Ranged Crystal', 'TR Crystaroller SW']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Middle', 'Turtle Rock', None, ['TR Crystaroller Middle to Bottom Barrier - Orange', 'TR Crystaroller Middle to Chest Barrier - Blue', 'TR Crystaroller Middle to Top Barrier - Orange', 'TR Crystaroller Middle to Ranged Crystal', 'TR Crystaroller Middle to Bottom Bypass']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Top', 'Turtle Rock', None, ['TR Crystaroller Top to Middle Barrier - Orange', 'TR Crystaroller Down Stairs']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Top', 'Turtle Rock', None, ['TR Crystaroller Top to Middle Barrier - Orange', 'TR Crystaroller Down Stairs', 'TR Crystaroller Top to Crystal']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Top - Crystal', 'Turtle Rock', None, ['TR Crystaroller Top Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Chest', 'Turtle Rock', ['Turtle Rock - Crystaroller Room'], ['TR Crystaroller Chest to Middle Barrier - Blue']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Middle - Ranged Crystal', 'Turtle Rock', None, ['TR Crystaroller Middle Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Crystaroller Bottom - Ranged Crystal', 'Turtle Rock', None, ['TR Crystaroller Bottom Ranged Crystal Exit']),
|
||||
@@ -695,8 +704,9 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'TR Eye Bridge', 'Turtle Rock', ['Turtle Rock - Eye Bridge - Bottom Left', 'Turtle Rock - Eye Bridge - Bottom Right',
|
||||
'Turtle Rock - Eye Bridge - Top Left', 'Turtle Rock - Eye Bridge - Top Right'],
|
||||
['TR Eye Bridge SW', 'TR Eye Bridge NW']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze Start', 'Turtle Rock', None, ['TR Crystal Maze ES', 'TR Crystal Maze Start to Interior Barrier - Blue']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze Interior', 'Turtle Rock', None, ['TR Crystal Maze Interior to End Barrier - Blue', 'TR Crystal Maze Interior to Start Barrier - Blue', 'TR Crystal Maze Interior to End Bypass']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze Start', 'Turtle Rock', None, ['TR Crystal Maze ES', 'TR Crystal Maze Start to Interior Barrier - Blue', 'TR Crystal Maze Start to Crystal']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze Start - Crystal', 'Turtle Rock', None, ['TR Crystal Maze Start Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze Interior', 'Turtle Rock', None, ['TR Crystal Maze Interior to End Barrier - Blue', 'TR Crystal Maze Interior to Start Barrier - Blue', 'TR Crystal Maze Interior to Start Bypass', 'TR Crystal Maze Interior to End Bypass']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze End', 'Turtle Rock', None, ['TR Crystal Maze North Stairs', 'TR Crystal Maze End to Interior Barrier - Blue', 'TR Crystal Maze End to Ranged Crystal']),
|
||||
create_dungeon_region(player, 'TR Crystal Maze End - Ranged Crystal', 'Turtle Rock', None, ['TR Crystal Maze End Ranged Crystal Exit']),
|
||||
create_dungeon_region(player, 'TR Final Abyss', 'Turtle Rock', None, ['TR Final Abyss South Stairs', 'TR Final Abyss NW']),
|
||||
@@ -738,7 +748,8 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'GT Double Switch Pot Corners - Ranged Switches', 'Ganon\'s Tower', None, ['GT Double Switch Pot Corners Ranged Switches Exit']),
|
||||
create_dungeon_region(player, 'GT Double Switch Exit', 'Ganon\'s Tower', None, ['GT Double Switch EN', 'GT Double Switch Exit to Blue Barrier']),
|
||||
|
||||
create_dungeon_region(player, 'GT Spike Crystals', 'Ganon\'s Tower', None, ['GT Spike Crystals WN', 'GT Spike Crystals Warp']),
|
||||
create_dungeon_region(player, 'GT Spike Crystal Left', 'Ganon\'s Tower', None, ['GT Spike Crystals WN', 'GT Spike Crystal Left to Right Barrier - Orange', 'GT Spike Crystal Left to Right Bypass']),
|
||||
create_dungeon_region(player, 'GT Spike Crystal Right', 'Ganon\'s Tower', None, ['GT Spike Crystals Warp', 'GT Spike Crystal Right to Left Barrier - Orange']),
|
||||
create_dungeon_region(player, 'GT Warp Maze - Left Section', 'Ganon\'s Tower', None, ['GT Warp Maze - Left Section Warp']),
|
||||
create_dungeon_region(player, 'GT Warp Maze - Mid Section', 'Ganon\'s Tower', None, ['GT Warp Maze - Mid Section Left Warp', 'GT Warp Maze - Mid Section Right Warp']),
|
||||
create_dungeon_region(player, 'GT Warp Maze - Right Section', 'Ganon\'s Tower', None, ['GT Warp Maze - Right Section Warp']),
|
||||
@@ -806,47 +817,47 @@ def create_dungeon_regions(world, player):
|
||||
]
|
||||
|
||||
world.initialize_regions()
|
||||
world.get_region('Hera Lobby Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Front Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Lobby - Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Front - Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Down Stairs Landing - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Up Stairs Landing - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Back - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Basement Cage', player).crystal_switch = True
|
||||
world.get_region('Hera Basement Cage - Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Tile Room', player).crystal_switch = True # INTERIOR not accessible (maybe with cane)
|
||||
world.get_region('Hera Beetles', player).crystal_switch = True
|
||||
world.get_region('Hera Tridorm', player).crystal_switch = True
|
||||
world.get_region('Hera Startile Wide', player).crystal_switch = True
|
||||
world.get_region('Hera Tridorm - Crystal', player).crystal_switch = True
|
||||
world.get_region('Hera Startile Wide - Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Arena Main - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Arena Bridge - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Arena Right - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Arena Ledge - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Map Balcony - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Sexy Statue', player).crystal_switch = True
|
||||
world.get_region('PoD Bow Statue Left', player).crystal_switch = True
|
||||
world.get_region('PoD Bow Statue Left - Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Bow Statue Right - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Dark Pegs Landing - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Dark Pegs Right', player).crystal_switch = True
|
||||
world.get_region('PoD Dark Pegs Middle - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('PoD Dark Pegs Left - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('Swamp Crystal Switch Inner', player).crystal_switch = True
|
||||
world.get_region('Swamp Crystal Switch Inner - Crystal', player).crystal_switch = True
|
||||
world.get_region('Swamp Crystal Switch Outer - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('Thieves Spike Switch', player).crystal_switch = True
|
||||
world.get_region('Ice Bomb Drop', player).crystal_switch = True
|
||||
world.get_region('Ice Conveyor', player).crystal_switch = True
|
||||
world.get_region('Ice Refill', player).crystal_switch = True
|
||||
world.get_region('Ice Conveyor - Crystal', player).crystal_switch = True
|
||||
world.get_region('Ice Refill - Crystal', player).crystal_switch = True
|
||||
world.get_region('Mire Fishbone', player).crystal_switch = True
|
||||
world.get_region('Mire Conveyor Crystal', player).crystal_switch = True
|
||||
world.get_region('Mire Conveyor - Crystal', player).crystal_switch = True
|
||||
world.get_region('Mire Tall Dark and Roomy - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('Mire Crystal Top', player).crystal_switch = True
|
||||
world.get_region('Mire Falling Foes', player).crystal_switch = True
|
||||
world.get_region('TR Chain Chomps Top', player).crystal_switch = True
|
||||
world.get_region('TR Chain Chomps Top - Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Chain Chomps Bottom - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Pokey 2 Top', player).crystal_switch = True
|
||||
world.get_region('TR Pokey 2 Top - Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Pokey 2 Bottom - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Crystaroller Top', player).crystal_switch = True
|
||||
world.get_region('TR Crystaroller Top - Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Crystaroller Bottom - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Crystaroller Middle - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Crystal Maze Start', player).crystal_switch = True
|
||||
world.get_region('TR Crystal Maze Start - Crystal', player).crystal_switch = True
|
||||
world.get_region('TR Crystal Maze Interior', player).crystal_switch = True
|
||||
world.get_region('TR Crystal Maze End - Ranged Crystal', player).crystal_switch = True
|
||||
world.get_region('GT Crystal Conveyor - Ranged Crystal', player).crystal_switch = True
|
||||
@@ -856,7 +867,7 @@ def create_dungeon_regions(world, player):
|
||||
world.get_region('GT Double Switch Left', player).crystal_switch = True
|
||||
world.get_region('GT Double Switch Entry - Ranged Switches', player).crystal_switch = True
|
||||
world.get_region('GT Double Switch Pot Corners - Ranged Switches', player).crystal_switch = True
|
||||
world.get_region('GT Spike Crystals', player).crystal_switch = True
|
||||
world.get_region('GT Spike Crystal Left', player).crystal_switch = True
|
||||
world.get_region('GT Crystal Paths', player).crystal_switch = True
|
||||
world.get_region('GT Hidden Spikes', player).crystal_switch = True
|
||||
world.get_region('GT Crystal Inner Circle', player).crystal_switch = True
|
||||
|
||||
23
Rules.py
23
Rules.py
@@ -354,11 +354,20 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('Hera Up Stairs to Front Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('Hera Up Stairs Landing', player), player))
|
||||
set_rule(world.get_entrance('Hera Front to Back Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('Hera Front', player), player))
|
||||
set_rule(world.get_entrance('Hera Back to Front Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('Hera Back', player), player))
|
||||
set_rule(world.get_location('Tower of Hera - Basement Cage', player), lambda state: state.can_reach_orange(world.get_region('Hera Basement Cage', player), player))
|
||||
set_rule(world.get_entrance('Hera Tridorm WN', player), lambda state: state.can_reach_blue(world.get_region('Hera Tridorm', player), player))
|
||||
set_rule(world.get_entrance('Hera Tridorm SE', player), lambda state: state.can_reach_orange(world.get_region('Hera Tridorm', player), player))
|
||||
set_rule(world.get_entrance('Hera Tile Room EN', player), lambda state: state.can_reach_blue(world.get_region('Hera Tile Room', player), player))
|
||||
|
||||
set_rule(world.get_entrance('Hera Lobby to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Hera Front to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Hera Down Stairs Landing to Ranged Crystal', player), lambda state: state.can_hit_crystal_through_barrier(player) or (state.has('Hookshot', player) and state.can_reach_blue(world.get_region('Hera Down Stairs Landing', player), player))) # or state.has_beam_sword(player)
|
||||
set_rule(world.get_entrance('Hera Up Stairs Landing to Ranged Crystal', player), lambda state: state.can_hit_crystal_through_barrier(player) or (state.has('Hookshot', player) and state.can_reach_orange(world.get_region('Hera Up Stairs Landing', player), player))) # or state.has_beam_sword(player)
|
||||
set_rule(world.get_entrance('Hera Back to Ranged Crystal', player), lambda state: False) # state.can_shoot_arrows(player) or state.has('Fire Rod', player) or state.has('Ice Rod', player) or state.has('Cane of Somaria', player) or state.has_beam_sword(player) or (state.has('Hookshot', player) and state.has('Red Boomerang', player))
|
||||
set_rule(world.get_entrance('Hera Front to Back Bypass', player), lambda state: state.can_use_bombs(player) or state.can_use_arrows(player) or state.has('Red Boomerang', player) or state.has('Blue Boomerang', player) or state.has('Cane of Somaria', player) or state.has('Fire Rod', player) or state.has('Ice Rod', player)) # or state.has_beam_sword(player)
|
||||
set_rule(world.get_entrance('Hera Basement Cage to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Hera Tridorm to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Hera Startile Wide to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
|
||||
set_rule(world.get_entrance('PoD Arena North to Landing Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('PoD Arena North', player), player))
|
||||
set_rule(world.get_entrance('PoD Arena Landing to North Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('PoD Arena Landing', player), player))
|
||||
@@ -380,6 +389,7 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('PoD Arena Right to Ranged Crystal', player), lambda state: False) # (state.has('Cane of Somaria', player) and state.has_Boots(player))
|
||||
set_rule(world.get_entrance('PoD Arena Ledge to Ranged Crystal', player), lambda state: False) # state.has('Cane of Somaria', player) or state.has_beam_sword(player)
|
||||
set_rule(world.get_entrance('PoD Map Balcony to Ranged Crystal', player), lambda state: state.can_use_bombs(player) or state.has('Cane of Somaria', player)) # or state.has('Red Boomerang', player)
|
||||
set_rule(world.get_entrance('PoD Bow Statue Left to Crystal', player), lambda state: state.can_hit_switch(player))
|
||||
set_rule(world.get_entrance('PoD Bow Statue Right to Ranged Crystal', player), lambda state: state.has('Cane of Somaria', player))
|
||||
set_rule(world.get_entrance('PoD Bow Statue Left to Right Bypass', player), lambda state: state.has('Cane of Somaria', player)) # or state.can_use_bombs(player) or state.can_shoot_arrows(player) or state.has_beam_sword(player) or state.has('Red Boomrang', player) or state.has('Ice Rod', player) or state.has('Fire Rod', player)
|
||||
set_rule(world.get_entrance('PoD Dark Pegs Landing to Ranged Crystal', player), lambda state: state.has('Cane of Somaria', player)) # or state.can_use_bombs(player) or state.has('Blue boomerang', player) or state.has('Red boomerang', player)
|
||||
@@ -395,6 +405,7 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('Swamp Barrier Ledge - Orange', player), lambda state: state.can_reach_orange(world.get_region('Swamp Barrier Ledge', player), player))
|
||||
set_rule(world.get_entrance('Swamp Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('Swamp Barrier', player), player))
|
||||
|
||||
set_rule(world.get_entrance('Swamp Crystal Switch Inner to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Swamp Crystal Switch Outer to Ranged Crystal', player), lambda state: state.can_hit_crystal_through_barrier(player) or state.has_beam_sword(player) or (state.has('Hookshot', player) and state.can_reach_blue(world.get_region('Swamp Crystal Switch Outer', player), player))) # It is the length of the sword, not the beam itself that allows this
|
||||
set_rule(world.get_entrance('Swamp Crystal Switch Outer to Inner Bypass', player), lambda state: state.world.can_take_damage or state.has('Cape', player) or state.has('Cane of Byrna', player))
|
||||
set_rule(world.get_entrance('Swamp Crystal Switch Inner to Outer Bypass', player), lambda state: state.world.can_take_damage or state.has('Cape', player) or state.has('Cane of Byrna', player))
|
||||
@@ -415,6 +426,9 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('Ice Bomb Jump Ledge Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Ice Bomb Jump Ledge', player), player))
|
||||
set_rule(world.get_entrance('Ice Bomb Jump Catwalk Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Ice Bomb Jump Catwalk', player), player))
|
||||
|
||||
set_rule(world.get_entrance('Ice Conveyor to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Ice Refill to Crystal', player), lambda state: state.can_hit_crystal(player) or state.can_reach_blue(world.get_region('Ice Refill', player), player))
|
||||
|
||||
set_rule(world.get_entrance('Mire Crystal Right Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Mire Crystal Right', player), player))
|
||||
set_rule(world.get_entrance('Mire Crystal Mid Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Mire Crystal Mid', player), player))
|
||||
set_rule(world.get_entrance('Mire Firesnake Skip Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Mire Firesnake Skip', player), player))
|
||||
@@ -434,6 +448,7 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('Mire Crystal Mid Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Mire Crystal Mid', player), player))
|
||||
set_rule(world.get_entrance('Mire Crystal Left Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Mire Crystal Left', player), player))
|
||||
|
||||
set_rule(world.get_entrance('Mire Conveyor to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('Mire Tall Dark and Roomy to Ranged Crystal', player), lambda state: True) # Can always throw pots
|
||||
|
||||
set_rule(world.get_location('Turtle Rock - Chain Chomps', player), lambda state: state.can_reach('TR Chain Chomps Top', 'Region', player) and state.can_hit_crystal_through_barrier(player))
|
||||
@@ -452,6 +467,10 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('TR Crystal Maze Interior to Start Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('TR Crystal Maze Interior', player), player))
|
||||
set_rule(world.get_entrance('TR Crystal Maze End to Interior Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('TR Crystal Maze End', player), player))
|
||||
|
||||
set_rule(world.get_entrance('TR Chain Chomps Top to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('TR Pokey 2 Top to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('TR Crystaroller Top to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('TR Crystal Maze Start to Crystal', player), lambda state: state.can_hit_crystal(player))
|
||||
set_rule(world.get_entrance('TR Chain Chomps Bottom to Ranged Crystal', player), lambda state: state.can_hit_crystal_through_barrier(player) or (state.has('Hookshot', player) and state.can_reach_orange(world.get_region('TR Chain Chomps Bottom', player), player))) # or state.has_beam_sword(player)
|
||||
set_rule(world.get_entrance('TR Pokey 2 Bottom to Ranged Crystal', player), lambda state: state.can_hit_crystal_through_barrier(player) or (state.has('Hookshot', player) and state.can_reach_blue(world.get_region('TR Pokey 2', player), player))) # or state.has_beam_sword(player)
|
||||
set_rule(world.get_entrance('TR Crystaroller Bottom to Ranged Crystal', player), lambda state: state.can_shoot_arrows(player) or state.has('Fire Rod', player) or state.has('Ice Rod', player) or state.has('Cane of Somaria', player) or (state.has('Hookshot', player) and state.can_reach_orange(world.get_region('TR Crystaroller Bottom', player), player))) # or state.has_beam_sword(player)
|
||||
@@ -459,6 +478,7 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('TR Crystaroller Middle to Bottom Bypass', player), lambda state: state.can_use_bombs(player) or state.has('Blue Boomerang', player))
|
||||
set_rule(world.get_entrance('TR Crystal Maze End to Ranged Crystal', player), lambda state: state.has('Cane of Somaria', player))
|
||||
set_rule(world.get_entrance('TR Crystal Maze Interior to End Bypass', player), lambda state: state.can_use_bombs(player) or state.can_use_arrows(player) or state.has('Red Boomerang', player) or state.has('Blue Boomerang', player) or state.has('Fire Rod', player) or state.has('Ice Rod', player) or state.has('Cane of Somaria', player)) # Beam sword does NOT work
|
||||
set_rule(world.get_entrance('TR Crystal Maze Interior to Start Bypass', player), lambda state: True) # Can always grab a pot from the interior and walk it to the start region and throw it there
|
||||
|
||||
set_rule(world.get_entrance('GT Hookshot Platform Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('GT Hookshot South Platform', player), player))
|
||||
set_rule(world.get_entrance('GT Hookshot Entry Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('GT Hookshot South Entry', player), player))
|
||||
@@ -468,6 +488,8 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('GT Double Switch Pot Corners to Entry Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('GT Double Switch Pot Corners', player), player))
|
||||
set_rule(world.get_entrance('GT Double Switch Pot Corners to Exit Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('GT Double Switch Pot Corners', player), player))
|
||||
set_rule(world.get_entrance('GT Double Switch Exit to Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('GT Double Switch Exit', player), player))
|
||||
set_rule(world.get_entrance('GT Spike Crystal Left to Right Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('GT Spike Crystal Left', player), player))
|
||||
set_rule(world.get_entrance('GT Spike Crystal Right to Left Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('GT Spike Crystal Right', player), player))
|
||||
set_rule(world.get_entrance('GT Crystal Conveyor to Corner Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('GT Crystal Conveyor', player), player))
|
||||
set_rule(world.get_entrance('GT Crystal Conveyor Corner to Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('GT Crystal Conveyor Corner', player), player))
|
||||
set_rule(world.get_entrance('GT Crystal Conveyor Corner to Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('GT Crystal Conveyor Corner', player), player))
|
||||
@@ -481,6 +503,7 @@ def global_rules(world, player):
|
||||
set_rule(world.get_entrance('GT Double Switch Left to Pot Corners Bypass', player), lambda state: state.can_use_bombs(player) or state.has('Cane of Somaria') or state.has('Red Boomerang', player)) # or (state.has('Blue Boomerang', player) and state.has('Hookshot', player)) or (state.has('Ice Rod', player) and state.has('Hookshot', player)) or state.has('Hookshot', player) /// You can do this with just a pot and a hookshot
|
||||
set_rule(world.get_entrance('GT Double Switch Left to Exit Bypass', player), lambda state: False) # state.can_use_bombs(player) or (state.has('Cane of Somaria', player) and (state.has('Red Boomerang', player) or (state.has('Hookshot', player) and state.has('Blue Boomerang', player)) or (state.has('Hookshot', player) and state.has('Ice Rod', player))))
|
||||
set_rule(world.get_entrance('GT Double Switch Pot Corners to Ranged Switches', player), lambda state: False) # state.can_use_bombs(player) or state.has('Cane of Somaria', player) or (state.has('Cane of Somaria', player) and state.has_Boots(player)) /// There's two ways to interact with the switch. Somaria bounce at the top corner, or timed throws at the bottom corner.
|
||||
set_rule(world.get_entrance('GT Spike Crystal Left to Right Bypass', player), lambda state: state.can_use_bombs(player) or state.has('Cane of Somaria', player) or state.has('Red Boomerang', player) or state.has('Blue Boomerang', player)) # or state.has('Fire Rod', player) or state.has('Ice Rod', player) or state.can_use_beam_sword(player)
|
||||
set_rule(world.get_entrance('GT Crystal Conveyor to Ranged Crystal', player), lambda state: state.can_use_bombs(player) or state.has('Cane of Somaria', player))
|
||||
set_rule(world.get_entrance('GT Crystal Conveyor Corner to Ranged Crystal', player), lambda state: state.can_use_bombs(player) or state.has('Cane of Somaria', player))
|
||||
set_rule(world.get_entrance('GT Crystal Conveyor Corner to Left Bypass', player), lambda state: state.can_use_bombs(player) or state.has('Cane of Somaria', player))
|
||||
|
||||
Reference in New Issue
Block a user