Fix up bunny requirements on east dark world, split up lake hylia central island properly into regions.

This commit is contained in:
LLCoolDave 2017-05-27 10:02:54 +02:00
parent c605046337
commit e3a9d73ca1
3 changed files with 18 additions and 8 deletions

View File

@ -1139,6 +1139,8 @@ Single_Cave_Targets = ['Thiefs Hut',
mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now
('Links House Exit', 'Light World'), ('Links House Exit', 'Light World'),
('Lake Hylia Central Island Pier', 'Lake Hylia Central Island'),
('Lake Hylia Central Island Teleporter', 'Dark Lake Hylia Central Island'),
('Zoras River', 'Zoras River'), ('Zoras River', 'Zoras River'),
('Kakariko Well (top to bottom)', 'Kakariko Well (bottom)'), ('Kakariko Well (top to bottom)', 'Kakariko Well (bottom)'),
('Master Sword Meadow', 'Master Sword Meadow'), ('Master Sword Meadow', 'Master Sword Meadow'),
@ -1183,6 +1185,7 @@ mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now
('Dark Lake Hylia Ledge Drop', 'Dark Lake Hylia'), ('Dark Lake Hylia Ledge Drop', 'Dark Lake Hylia'),
('East Dark World Pier', 'East Dark World'), ('East Dark World Pier', 'East Dark World'),
('Lake Hylia Island Mirror Spot', 'Lake Hylia Island'), ('Lake Hylia Island Mirror Spot', 'Lake Hylia Island'),
('Lake Hylia Central Island Mirror Spot', 'Lake Hylia Central Island'),
('Hyrule Castle Ledge Mirror Spot', 'Hyrule Castle Ledge'), ('Hyrule Castle Ledge Mirror Spot', 'Hyrule Castle Ledge'),
('South Dark World Bridge', 'South Dark World'), ('South Dark World Bridge', 'South Dark World'),
('East Dark World Bridge', 'East Dark World'), ('East Dark World Bridge', 'East Dark World'),
@ -1474,7 +1477,7 @@ default_dungeon_connections = [('Desert Palace Entrance (South)', 'Desert Palace
('Skull Woods Final Section', 'Skull Woods Final Section (Entrance)'), ('Skull Woods Final Section', 'Skull Woods Final Section (Entrance)'),
('Skull Woods Final Section Exit', 'Skull Woods Skull'), ('Skull Woods Final Section Exit', 'Skull Woods Skull'),
('Ice Palace', 'Ice Palace (Entrance)'), ('Ice Palace', 'Ice Palace (Entrance)'),
('Ice Palace Exit', 'Light World'), # this is kind of wrong, but completely unimportantly so ('Ice Palace Exit', 'Dark Lake Hylia Central Island'),
('Misery Mire', 'Misery Mire (Entrance)'), ('Misery Mire', 'Misery Mire (Entrance)'),
('Misery Mire Exit', 'Dark Desert'), ('Misery Mire Exit', 'Dark Desert'),
('Palace of Darkness', 'Dark Palace (Entrance)'), ('Palace of Darkness', 'Dark Palace (Entrance)'),

View File

@ -8,12 +8,13 @@ def create_regions(world):
["Thiefs Hut", "Hyrule Castle Secret Entrance Drop", "Hyrule Castle Secret Entrance Stairs", 'Zoras River', 'Kings Grave', 'Dam', ["Thiefs Hut", "Hyrule Castle Secret Entrance Drop", "Hyrule Castle Secret Entrance Stairs", 'Zoras River', 'Kings Grave', 'Dam',
'Links House', 'Tavern North', 'Chicken House', 'Aginahs Cave', 'Sahasrahlas Hut', 'Kakariko Well Drop', 'Kakariko Well Cave', 'Links House', 'Tavern North', 'Chicken House', 'Aginahs Cave', 'Sahasrahlas Hut', 'Kakariko Well Drop', 'Kakariko Well Cave',
'Blacksmiths Hut', 'Bat Cave Drop Ledge', 'Bat Cave Cave', 'Sick Kids House', 'Hobo Bridge', 'Thieves Forest Hideout Drop', 'Thieves Forest Hideout Stump', 'Blacksmiths Hut', 'Bat Cave Drop Ledge', 'Bat Cave Cave', 'Sick Kids House', 'Hobo Bridge', 'Thieves Forest Hideout Drop', 'Thieves Forest Hideout Stump',
'Lumberjack Tree Tree', 'Lumberjack Tree Cave', 'Lake Hylia Cave', 'Ice Cave', 'Lumberjack Tree Tree', 'Lumberjack Tree Cave', 'Lake Hylia Cave', 'Ice Cave', 'Lake Hylia Central Island Pier',
'Bonk Rock Cave', 'Library', 'Witch Hut', 'Two Brothers House (East)', 'Desert Palace Stairs', 'Eastern Palace', 'Master Sword Meadow', 'Hyrule Castle Entrance (South)', 'Bonk Rock Cave', 'Library', 'Witch Hut', 'Two Brothers House (East)', 'Desert Palace Stairs', 'Eastern Palace', 'Master Sword Meadow', 'Hyrule Castle Entrance (South)',
'Sanctuary', 'Sanctuary Grave', 'Old Man Cave (West)', 'Flute Spot 1', 'Ice Palace', 'Dark Desert Teleporter', 'East Hyrule Teleporter', 'South Hyrule Teleporter', 'Kakariko Teleporter', 'Sanctuary', 'Sanctuary Grave', 'Old Man Cave (West)', 'Flute Spot 1', 'Dark Desert Teleporter', 'East Hyrule Teleporter', 'South Hyrule Teleporter', 'Kakariko Teleporter',
'Elder House (East)', 'Elder House (West)', 'North Fairy Cave', 'North Fairy Cave Drop', 'Lost Woods Gamble', 'Snitch Lady (East)', 'Snitch Lady (West)', 'Tavern (Front)', 'Elder House (East)', 'Elder House (West)', 'North Fairy Cave', 'North Fairy Cave Drop', 'Lost Woods Gamble', 'Snitch Lady (East)', 'Snitch Lady (West)', 'Tavern (Front)',
'Bush Covered House', 'Light World Bomb Hut', 'Kakariko Shop', 'Long Fairy Cave', 'Good Bee Cave', '20 Rupee Cave', 'Cave Shop (Lake Hylia)', 'Waterfall of Wishing', 'Bush Covered House', 'Light World Bomb Hut', 'Kakariko Shop', 'Long Fairy Cave', 'Good Bee Cave', '20 Rupee Cave', 'Cave Shop (Lake Hylia)', 'Waterfall of Wishing',
'Capacity Upgrade', 'Bonk Fairy (Light)', '50 Rupee Cave', 'Fortune Teller (Light)', 'Lake Hylia Fairy', 'Swamp Fairy', 'Desert Fairy', 'Lumberjack House', 'Lake Hylia Fortune Teller', 'Kakariko Gamble Game']), 'Bonk Fairy (Light)', '50 Rupee Cave', 'Fortune Teller (Light)', 'Lake Hylia Fairy', 'Swamp Fairy', 'Desert Fairy', 'Lumberjack House', 'Lake Hylia Fortune Teller', 'Kakariko Gamble Game']),
create_region('Lake Hylia Central Island', None, ['Capacity Upgrade', 'Lake Hylia Central Island Teleporter']),
create_region('Thiefs Hut', ["[cave-022-B1] Thiefs hut [top chest]", create_region('Thiefs Hut', ["[cave-022-B1] Thiefs hut [top chest]",
"[cave-022-B1] Thiefs hut [top left chest]", "[cave-022-B1] Thiefs hut [top left chest]",
"[cave-022-B1] Thiefs hut [top right chest]", "[cave-022-B1] Thiefs hut [top right chest]",
@ -140,6 +141,7 @@ def create_regions(world):
create_region('Big Bomb Shop'), create_region('Big Bomb Shop'),
create_region('Archery Game'), create_region('Archery Game'),
create_region('Dark Lake Hylia', None, ['Lake Hylia Island Mirror Spot', 'East Dark World Pier', 'Dark Lake Hylia Ledge']), create_region('Dark Lake Hylia', None, ['Lake Hylia Island Mirror Spot', 'East Dark World Pier', 'Dark Lake Hylia Ledge']),
create_region('Dark Lake Hylia Central Island', None, ['Ice Palace', 'Lake Hylia Central Island Mirror Spot']),
create_region('Dark Lake Hylia Ledge', None, ['Dark Lake Hylia Ledge Drop', 'Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Spike Cave']), create_region('Dark Lake Hylia Ledge', None, ['Dark Lake Hylia Ledge Drop', 'Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Spike Cave']),
create_region('Dark Lake Hylia Ledge Hint'), create_region('Dark Lake Hylia Ledge Hint'),
create_region('Dark Lake Hylia Ledge Spike Cave'), create_region('Dark Lake Hylia Ledge Spike Cave'),

View File

@ -78,7 +78,7 @@ def global_rules(world):
set_rule(world.get_entrance('50 Rupee Cave'), lambda state: state.can_lift_rocks()) set_rule(world.get_entrance('50 Rupee Cave'), lambda state: state.can_lift_rocks())
set_rule(world.get_entrance('Old Man Cave (West)'), lambda state: state.can_lift_rocks()) set_rule(world.get_entrance('Old Man Cave (West)'), lambda state: state.can_lift_rocks())
set_rule(world.get_entrance('Flute Spot 1'), lambda state: state.has('Ocarina')) set_rule(world.get_entrance('Flute Spot 1'), lambda state: state.has('Ocarina'))
set_rule(world.get_entrance('Ice Palace'), lambda state: state.can_lift_heavy_rocks()) set_rule(world.get_entrance('Lake Hylia Central Island Teleporter'), lambda state: state.can_lift_heavy_rocks())
set_rule(world.get_entrance('Dark Desert Teleporter'), lambda state: state.has('Ocarina') and state.can_lift_heavy_rocks()) set_rule(world.get_entrance('Dark Desert Teleporter'), lambda state: state.has('Ocarina') and state.can_lift_heavy_rocks())
set_rule(world.get_entrance('East Hyrule Teleporter'), lambda state: state.has('Hammer') and state.can_lift_rocks() and state.has_Pearl()) set_rule(world.get_entrance('East Hyrule Teleporter'), lambda state: state.has('Hammer') and state.can_lift_rocks() and state.has_Pearl())
set_rule(world.get_entrance('South Hyrule Teleporter'), lambda state: state.has('Hammer') and state.can_lift_rocks() and state.has_Pearl()) set_rule(world.get_entrance('South Hyrule Teleporter'), lambda state: state.has('Hammer') and state.can_lift_rocks() and state.has_Pearl())
@ -115,11 +115,15 @@ def global_rules(world):
set_rule(world.get_entrance('East Death Mountain (Top)'), lambda state: state.has('Hammer')) set_rule(world.get_entrance('East Death Mountain (Top)'), lambda state: state.has('Hammer'))
set_rule(world.get_location('Catfish'), lambda state: state.has_Pearl() and state.can_lift_rocks()) set_rule(world.get_location('Catfish'), lambda state: state.has_Pearl() and state.can_lift_rocks())
set_rule(world.get_entrance('Dark Lake Hylia Fairy'), lambda state: state.has_Pearl())
set_rule(world.get_entrance('Palace of Darkness Hint'), lambda state: state.has_Pearl())
set_rule(world.get_entrance('East Dark World Hint'), lambda state: state.has_Pearl())
set_rule(world.get_entrance('Dark World Potion Shop'), lambda state: state.has_Pearl() and (state.can_lift_rocks() or state.has('Hammer') or state.has('Flippers'))) set_rule(world.get_entrance('Dark World Potion Shop'), lambda state: state.has_Pearl() and (state.can_lift_rocks() or state.has('Hammer') or state.has('Flippers')))
set_rule(world.get_entrance('South Dark World Bridge'), lambda state: state.has('Hammer') and state.has_Pearl()) set_rule(world.get_entrance('South Dark World Bridge'), lambda state: state.has('Hammer') and state.has_Pearl())
set_rule(world.get_entrance('Bonk Fairy (Dark)'), lambda state: state.has_Boots()) set_rule(world.get_entrance('Bonk Fairy (Dark)'), lambda state: state.has_Boots())
set_rule(world.get_entrance('West Dark World Gap'), lambda state: state.has_Pearl() and state.has('Hookshot') and (state.has('Flippers') or state.has('Hammer') or state.can_lift_rocks())) set_rule(world.get_entrance('West Dark World Gap'), lambda state: state.has_Pearl() and state.has('Hookshot') and (state.has('Flippers') or state.has('Hammer') or state.can_lift_rocks()))
set_rule(world.get_entrance('Palace of Darkness'), lambda state: state.has_Pearl() and state.can_reach('Palace of Darkness Pay Kiki', 'Entrance')) # ToDo Not sure if required set_rule(world.get_entrance('Palace of Darkness Pay Kiki'), lambda state: state.has_Pearl())
set_rule(world.get_entrance('Palace of Darkness'), lambda state: state.can_reach('Palace of Darkness Pay Kiki', 'Entrance'))
set_rule(world.get_entrance('Palace of Darkness Kiki Door Reverse'), lambda state: state.can_reach('Palace of Darkness Pay Kiki', 'Entrance')) # prevent soft lock when coming from behind, not required set_rule(world.get_entrance('Palace of Darkness Kiki Door Reverse'), lambda state: state.can_reach('Palace of Darkness Pay Kiki', 'Entrance')) # prevent soft lock when coming from behind, not required
set_rule(world.get_entrance('Hyrule Castle Ledge Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Hyrule Castle Ledge Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Dark Lake Hylia Drop (East)'), lambda state: (state.has_Pearl() and state.has('Flippers') or state.has_Mirror())) # Overworld Bunny Revival set_rule(world.get_entrance('Dark Lake Hylia Drop (East)'), lambda state: (state.has_Pearl() and state.has('Flippers') or state.has_Mirror())) # Overworld Bunny Revival
@ -133,6 +137,7 @@ def global_rules(world):
set_rule(world.get_entrance('Cave South of Haunted Grove'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Cave South of Haunted Grove'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('East Dark World Bridge'), lambda state: state.has('Hammer')) set_rule(world.get_entrance('East Dark World Bridge'), lambda state: state.has('Hammer'))
set_rule(world.get_entrance('Lake Hylia Island Mirror Spot'), lambda state: state.has_Mirror() and state.has('Flippers')) set_rule(world.get_entrance('Lake Hylia Island Mirror Spot'), lambda state: state.has_Mirror() and state.has('Flippers'))
set_rule(world.get_entrance('Lake Hylia Central Island Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('East Dark World River Pier'), lambda state: state.has('Flippers')) # ToDo any fake flipper set up? set_rule(world.get_entrance('East Dark World River Pier'), lambda state: state.has('Flippers')) # ToDo any fake flipper set up?
set_rule(world.get_entrance('Graveyard Cave'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Graveyard Cave'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Bumper Cave (Bottom)'), lambda state: state.can_lift_rocks()) set_rule(world.get_entrance('Bumper Cave (Bottom)'), lambda state: state.can_lift_rocks())
@ -307,9 +312,9 @@ def global_rules(world):
def no_glitches_rules(world): def no_glitches_rules(world):
set_rule(world.get_entrance('Zoras River'), lambda state: state.has('Flippers') or state.can_lift_rocks()) set_rule(world.get_entrance('Zoras River'), lambda state: state.has('Flippers') or state.can_lift_rocks())
set_rule(world.get_entrance('Capacity Upgrade'), lambda state: state.has('Flippers')) # can be fake flippered to set_rule(world.get_entrance('Lake Hylia Central Island Pier'), lambda state: state.has('Flippers')) # can be fake flippered to
set_rule(world.get_entrance('Hobo Bridge'), lambda state: state.has('Flippers')) set_rule(world.get_entrance('Hobo Bridge'), lambda state: state.has('Flippers'))
add_rule(world.get_entrance('Ice Palace'), lambda state: state.has_Pearl() and state.has('Flippers')) add_rule(world.get_entrance('Ice Palace'), lambda state: state.has_Pearl())
set_rule(world.get_entrance('Dark Lake Hylia Drop (East)'), lambda state: state.has_Pearl() and state.has('Flippers')) set_rule(world.get_entrance('Dark Lake Hylia Drop (East)'), lambda state: state.has_Pearl() and state.has('Flippers'))
set_rule(world.get_entrance('Dark Lake Hylia Teleporter'), lambda state: state.has_Pearl() and state.has('Flippers') and (state.has('Hammer') or state.can_lift_rocks())) set_rule(world.get_entrance('Dark Lake Hylia Teleporter'), lambda state: state.has_Pearl() and state.has('Flippers') and (state.has('Hammer') or state.can_lift_rocks()))
set_rule(world.get_entrance('Dark Lake Hylia Ledge Drop'), lambda state: state.has('Flippers')) set_rule(world.get_entrance('Dark Lake Hylia Ledge Drop'), lambda state: state.has('Flippers'))