probably still missing things

This commit is contained in:
qadan 2020-02-07 13:13:13 -04:00
parent 96c07eccc2
commit fd4f91144b
1 changed files with 13 additions and 1 deletions

View File

@ -803,7 +803,6 @@ def overworld_glitches_rules(world, player):
]
dw_boots_accessible_locations = [
'Catfish',
'Frog',
'Dark Blacksmith Ruins',
'Bumper Cave Ledge',
]
@ -834,6 +833,9 @@ def overworld_glitches_rules(world, player):
add_rule(world.get_entrance('East Death Mountain Teleporter', player), lambda state: state.can_lift_heavy_rocks(player) and state.has_Boots(player), 'or')
add_rule(world.get_entrance('Turtle Rock Teleporter', player), lambda state: state.has_Boots(player) and state.has('Hammer', player), 'or')
add_rule(world.get_entrance('Checkerboard Cave', player), lambda state: state.has_Boots(player) and state.can_lift_rocks(player), 'or')
add_rule(world.get_entrance('South Hyrule Teleporter', player), lambda state: state.has_Boots(player) and state.can_lift_rocks(player), 'or')
else:
add_rule(world.get_entrance('South Dark World Teleporter', player), lambda state: state.has_Boots(player) and state.can_lift_rocks(player), 'or')
# ton of boots-accessible locations.
needs_boots = lambda state: state.has_Boots(player)
@ -847,6 +849,16 @@ def overworld_glitches_rules(world, player):
for location in dw_boots_accessible_locations:
add_rule(world.get_location(location, player), needs_boots_and_pearl if world.mode[player] != 'inverted' else needs_boots, 'or')
# standard dmd rules
wdw = world.get_region('West Dark World', player)
wdw.can_reach_private = lambda state: wdw.can_reach(state) or (needs_boots_and_pearl if world.mode[player] != 'inverted' else needs_boots)
sdw = world.get_region('South Dark World', player)
sdw.can_reach_private = lambda state: sdw.can_reach(state) or (needs_boots_and_pearl if world.mode[player] != 'inverted' else needs_boots)
dd = world.get_region('Dark Desert', player)
dd.can_reach_private = lambda state: dd.can_reach(state) or (needs_boots_and_pearl if world.mode[player] != 'inverted' else needs_boots)
edw = world.get_region('East Dark World', player)
edw.can_reach_private = lambda state: edw.can_reach(state) or (needs_boots_and_pearl if world.mode[player] != 'inverted' else needs_boots)
# bunny DMD rules. @todo: calculate and implement for inverted.
if world.mode[player] != 'inverted':
# set up some mirror-accessible dw entrances.