SP Crystal room 0HKO consideration
This commit is contained in:
@@ -2071,6 +2071,12 @@ logical_connections = [
|
|||||||
('Swamp Trench 1 Departure Key', 'Swamp Trench 1 Key Ledge'),
|
('Swamp Trench 1 Departure Key', 'Swamp Trench 1 Key Ledge'),
|
||||||
('Swamp Hub Hook Path', 'Swamp Hub North Ledge'),
|
('Swamp Hub Hook Path', 'Swamp Hub North Ledge'),
|
||||||
('Swamp Hub North Ledge Drop Down', 'Swamp Hub'),
|
('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 Compass Donut Push Block', 'Swamp Donut Top'),
|
('Swamp Compass Donut Push Block', 'Swamp Donut Top'),
|
||||||
('Swamp Shortcut Blue Barrier', 'Swamp Trench 2 Pots'),
|
('Swamp Shortcut Blue Barrier', 'Swamp Trench 2 Pots'),
|
||||||
('Swamp Trench 2 Pots Blue Barrier', 'Swamp Shortcut'),
|
('Swamp Trench 2 Pots Blue Barrier', 'Swamp Shortcut'),
|
||||||
|
|||||||
13
Doors.py
13
Doors.py
@@ -503,6 +503,12 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'Swamp Compass Donut Push Block', Lgcl),
|
create_door(player, 'Swamp Compass Donut Push Block', Lgcl),
|
||||||
create_door(player, 'Swamp Crystal Switch EN', Nrml).dir(Ea, 0x35, Top, High).small_key().pos(0),
|
create_door(player, 'Swamp Crystal Switch EN', Nrml).dir(Ea, 0x35, Top, High).small_key().pos(0),
|
||||||
create_door(player, 'Swamp Crystal Switch SE', Intr).dir(So, 0x35, Right, High).pos(3),
|
create_door(player, 'Swamp Crystal Switch SE', Intr).dir(So, 0x35, Right, High).pos(3),
|
||||||
|
create_door(player, 'Swamp Crystal Switch Outer to Inner Barrier - Blue', Lgcl),
|
||||||
|
create_door(player, 'Swamp Crystal Switch Outer to Ranged Crystal', Lgcl),
|
||||||
|
create_door(player, 'Swamp Crystal Switch Outer to Inner Bypass', Lgcl),
|
||||||
|
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 Shortcut NE', Intr).dir(No, 0x35, Right, High).pos(3),
|
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 Shortcut Blue Barrier', Lgcl),
|
||||||
create_door(player, 'Swamp Trench 2 Pots ES', Nrml).dir(Ea, 0x35, Bot, High).pos(4),
|
create_door(player, 'Swamp Trench 2 Pots ES', Nrml).dir(Ea, 0x35, Bot, High).pos(4),
|
||||||
@@ -1286,8 +1292,11 @@ def create_doors(world, player):
|
|||||||
world.get_door('PoD Dark Pegs Middle Ranged Crystal Exit', player).c_switch()
|
world.get_door('PoD Dark Pegs Middle Ranged Crystal Exit', player).c_switch()
|
||||||
world.get_door('PoD Dark Pegs Left Ranged Crystal Exit', player).c_switch()
|
world.get_door('PoD Dark Pegs Left Ranged Crystal Exit', player).c_switch()
|
||||||
|
|
||||||
world.get_door('Swamp Crystal Switch EN', player).c_switch()
|
world.get_door('Swamp Crystal Switch Outer to Inner Barrier - Blue', player).barrier(CrystalBarrier.Blue)
|
||||||
world.get_door('Swamp Crystal Switch SE', player).c_switch()
|
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 Outer Ranged Crystal Exit', player).c_switch()
|
||||||
world.get_door('Swamp Shortcut Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
world.get_door('Swamp Shortcut Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
||||||
world.get_door('Swamp Trench 2 Pots Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
world.get_door('Swamp Trench 2 Pots Blue Barrier', player).barrier(CrystalBarrier.Blue)
|
||||||
world.get_door('Swamp Barrier Ledge - Orange', player).barrier(CrystalBarrier.Orange)
|
world.get_door('Swamp Barrier Ledge - Orange', player).barrier(CrystalBarrier.Orange)
|
||||||
|
|||||||
@@ -226,7 +226,8 @@ swamp_regions = [
|
|||||||
'Swamp Lobby', 'Swamp Entrance', 'Swamp Pot Row', 'Swamp Map Ledge', 'Swamp Trench 1 Approach',
|
'Swamp Lobby', 'Swamp Entrance', 'Swamp Pot Row', 'Swamp Map Ledge', 'Swamp Trench 1 Approach',
|
||||||
'Swamp Trench 1 Nexus', 'Swamp Trench 1 Alcove', 'Swamp Trench 1 Key Ledge', 'Swamp Trench 1 Departure',
|
'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 Hammer Switch', 'Swamp Hub', 'Swamp Hub Dead Ledge', 'Swamp Hub North Ledge', 'Swamp Donut Top',
|
||||||
'Swamp Donut Bottom', 'Swamp Compass Donut', 'Swamp Crystal Switch', 'Swamp Shortcut', 'Swamp Trench 2 Pots',
|
'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 Trench 2 Blocks', 'Swamp Trench 2 Alcove', 'Swamp Trench 2 Departure', 'Swamp Big Key Ledge',
|
'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 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',
|
'Swamp Attic', 'Swamp Push Statue', 'Swamp Shooters', 'Swamp Left Elbow', 'Swamp Right Elbow', 'Swamp Drain Left',
|
||||||
|
|||||||
@@ -450,7 +450,10 @@ def create_dungeon_regions(world, player):
|
|||||||
create_dungeon_region(player, 'Swamp Donut Top', 'Swamp Palace', None, ['Swamp Donut Top N', 'Swamp Donut Top SE']),
|
create_dungeon_region(player, 'Swamp Donut Top', 'Swamp Palace', None, ['Swamp Donut Top N', 'Swamp Donut Top SE']),
|
||||||
create_dungeon_region(player, 'Swamp Donut Bottom', 'Swamp Palace', None, ['Swamp Donut Bottom NE', 'Swamp Donut Bottom NW']),
|
create_dungeon_region(player, 'Swamp Donut Bottom', 'Swamp Palace', None, ['Swamp Donut Bottom NE', 'Swamp Donut Bottom NW']),
|
||||||
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 Compass Donut', 'Swamp Palace', ['Swamp Palace - Compass Chest'], ['Swamp Compass Donut SW', 'Swamp Compass Donut Push Block']),
|
||||||
create_dungeon_region(player, 'Swamp Crystal Switch', 'Swamp Palace', ['Trench 2 Switch'], ['Swamp Crystal Switch EN', 'Swamp Crystal Switch SE']),
|
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 Shortcut', 'Swamp Palace', None, ['Swamp Shortcut NE', 'Swamp Shortcut Blue Barrier']),
|
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 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']),
|
create_dungeon_region(player, 'Swamp Trench 2 Blocks', 'Swamp Palace', None, ['Swamp Trench 2 Blocks Pots', 'Swamp Trench 2 Blocks N']),
|
||||||
@@ -826,7 +829,8 @@ def create_dungeon_regions(world, player):
|
|||||||
world.get_region('PoD Dark Pegs Right', 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 Middle - Ranged Crystal', player).crystal_switch = True
|
||||||
world.get_region('PoD Dark Pegs Left - 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', player).crystal_switch = True
|
world.get_region('Swamp Crystal Switch Inner', 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('Thieves Spike Switch', player).crystal_switch = True
|
||||||
world.get_region('Ice Bomb Drop', 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 Conveyor', player).crystal_switch = True
|
||||||
|
|||||||
6
Rules.py
6
Rules.py
@@ -388,11 +388,17 @@ def global_rules(world, player):
|
|||||||
set_rule(world.get_entrance('PoD Dark Pegs Right to Middle Bypass', player), lambda state: state.has('Blue Boomerang', player))
|
set_rule(world.get_entrance('PoD Dark Pegs Right to Middle Bypass', player), lambda state: state.has('Blue Boomerang', player))
|
||||||
set_rule(world.get_entrance('PoD Dark Pegs Middle to Left Bypass', player), lambda state: state.can_use_bombs(player))
|
set_rule(world.get_entrance('PoD Dark Pegs Middle to Left Bypass', player), lambda state: state.can_use_bombs(player))
|
||||||
|
|
||||||
|
set_rule(world.get_entrance('Swamp Crystal Switch Outer to Inner Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('Swamp Trench 2 Pots', player), player))
|
||||||
|
set_rule(world.get_entrance('Swamp Crystal Switch Inner to Outer Barrier - Blue', player), lambda state: state.can_reach_blue(world.get_region('Swamp Trench 2 Pots', player), player))
|
||||||
set_rule(world.get_entrance('Swamp Trench 2 Pots Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Swamp Trench 2 Pots', player), player))
|
set_rule(world.get_entrance('Swamp Trench 2 Pots Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Swamp Trench 2 Pots', player), player))
|
||||||
set_rule(world.get_entrance('Swamp Shortcut Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Swamp Shortcut', player), player))
|
set_rule(world.get_entrance('Swamp Shortcut Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Swamp Shortcut', player), 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 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 Barrier - Orange', player), lambda state: state.can_reach_orange(world.get_region('Swamp Barrier', player), 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)) # 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))
|
||||||
|
|
||||||
set_rule(world.get_entrance('Thieves Hellway Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Thieves Hellway', player), player))
|
set_rule(world.get_entrance('Thieves Hellway Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Thieves Hellway', player), player))
|
||||||
set_rule(world.get_entrance('Thieves Hellway Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Thieves Hellway', player), player))
|
set_rule(world.get_entrance('Thieves Hellway Orange Barrier', player), lambda state: state.can_reach_orange(world.get_region('Thieves Hellway', player), player))
|
||||||
set_rule(world.get_entrance('Thieves Hellway Crystal Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Thieves Hellway N Crystal', player), player))
|
set_rule(world.get_entrance('Thieves Hellway Crystal Blue Barrier', player), lambda state: state.can_reach_blue(world.get_region('Thieves Hellway N Crystal', player), player))
|
||||||
|
|||||||
Reference in New Issue
Block a user