Add rules to prevent reverse traversal of the TRock and SW Skulls to be required when you would get stuck in them.

This commit is contained in:
LLCoolDave 2017-05-21 16:03:43 +02:00
parent e6d2c091e8
commit 329cdeebdb
2 changed files with 11 additions and 3 deletions

View File

@ -149,7 +149,9 @@ def create_regions(world):
create_region('Bumper Cave', None, ['Bumper Cave Exit (Bottom)', 'Bumper Cave Exit (Top)']),
create_region('Bumper Cave Ledge', ['Piece of Heart (Bumper Cave)'], ['Bumper Cave Ledge Drop', 'Bumper Cave (Top)', 'Bumper Cave Ledge Mirror Spot']),
create_region('Skull Woods Forest', None, ['Skull Woods First Section Hole (East)', 'Skull Woods First Section Hole (West)', 'Skull Woods First Section Hole (North)', 'Skull Woods First Section Door',
'Skull Woods Second Section Hole', 'Skull Woods Second Section Door (East)', 'Skull Woods Second Section Door (West)', 'Skull Woods Final Section']), # may need to be split up if we start moving about entrances
'Skull Woods Second Section Door (East)']),
create_region('Skull Woods Forest (West)', None, ['Skull Woods Second Section Hole', 'Skull Woods Second Section Door (West)', 'Skull Woods Burn Skull']),
create_region('Skull Woods Skull', None, ['Skull Woods Skull Reverse', 'Skull Woods Final Section']),
create_region('Dark Desert', None, ['Misery Mire', 'Dark Desert Cave', 'Desert Ledge (West) Mirror Spot', 'Desert Ledge Mirror Spot', 'Desert Palace Stairs Mirror Spot', 'Desert Palace Entrance (North) Mirror Spot',
'Dark Desert Hint', 'Dark Desert Fairy']),
create_region('Dark Desert Cave', ['[cave-071] Misery Mire West Area [left chest]', '[cave-071] Misery Mire West Area [right chest]']),
@ -166,7 +168,8 @@ def create_regions(world):
create_region('Hookshot Cave', ['[cave-056] Hookshot Cave [top right chest]', '[cave-056] Hookshot Cave [top left chest]', '[cave-056] Hookshot Cave [bottom right chest]', '[cave-056] Hookshot Cave [bottom left chest]'],
['Hookshot Cave Exit (South)', 'Hookshot Cave Exit (North)']),
create_region('Death Mountain Floating Island', ['Piece of Heart (Death Mountain - Floating Island)'], ['Floating Island Drop', 'Hookshot Cave Back Entrance']),
create_region('Turtle Rock (Top)', None, ['Turtle Rock', 'Turtle Rock Drop']),
create_region('Turtle Rock (Top)', None, ['Turtle Rock Open Skull', 'Turtle Rock Drop']),
create_region('Turtle Rock Skull', None, ['Turtle Rock', 'Turtle Rock Skull Reverse', 'Turtle Rock Skull Mirror Spot']),
create_region('Mimic Cave', ['[cave-013] Mimic Cave']),
create_region('Swamp Palace (Entrance)', None, ['Swamp Palace Moat', 'Swamp Palace Exit']),

View File

@ -108,6 +108,9 @@ def global_rules(world):
set_rule(world.get_entrance('Death Mountain Climb Push Block Reverse'), lambda state: state.has('Mirror')) # can erase block
set_rule(world.get_entrance('Death Mountain (Top)'), lambda state: state.has('Hammer'))
set_rule(world.get_entrance('Turtle Rock Teleporter'), lambda state: state.can_lift_heavy_rocks() and state.has('Hammer'))
set_rule(world.get_entrance('Turtle Rock Skull Mirror Spot'), lambda state: state.has_Mirror() and state.has('Hammer')) # if stuck, can mirror and hammer the pegs
set_rule(world.get_entrance('Turtle Rock'), lambda state: state.can_reach('Turtle Rock Open Skull', 'Entrance'))
set_rule(world.get_entrance('Turtle Rock Skull Reverse'), lambda state: state.can_reach('Turtle Rock Open Skull', 'Entrance'))
set_rule(world.get_location('Ether Tablet'), lambda state: state.has('Book of Mudora') and state.has_beam_sword())
set_rule(world.get_entrance('East Death Mountain (Top)'), lambda state: state.has('Hammer'))
@ -138,7 +141,9 @@ def global_rules(world):
set_rule(world.get_entrance('Dark World Shop'), lambda state: state.has('Hammer'))
set_rule(world.get_entrance('Bumper Cave Exit (Top)'), lambda state: state.has('Cape'))
set_rule(world.get_entrance('Bumper Cave Exit (Bottom)'), lambda state: state.has('Cape') or state.has('Hookshot'))
set_rule(world.get_entrance('Skull Woods Final Section'), lambda state: state.has('Fire Rod'))
set_rule(world.get_entrance('Skull Woods Burn Skull'), lambda state: state.has('Fire Rod'))
set_rule(world.get_entrance('Skull Woods Final Section'), lambda state: state.can_reach('Skull Woods Burn Skull', 'Entrance')) # prevent soft lock when coming from behind, not required
set_rule(world.get_entrance('Skull Woods Skull Reverse'), lambda state: state.can_reach('Skull Woods Burn Skull', 'Entrance'))
set_rule(world.get_entrance('Misery Mire'), lambda state: state.has_Pearl() and state.has_sword() and state.has_misery_mire_medallion()) # sword required to cast magic (!)
set_rule(world.get_entrance('Desert Ledge (West) Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Desert Ledge Mirror Spot'), lambda state: state.has_Mirror())