From 8c624e62a4b7ff5c023edfb77b6a07135eb661c2 Mon Sep 17 00:00:00 2001 From: LLCoolDave Date: Mon, 17 Jul 2017 22:20:03 +0200 Subject: [PATCH] Fix up rules for Ganon shuffle modes. --- Rules.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Rules.py b/Rules.py index a4a15cf4..dd2f55c2 100644 --- a/Rules.py +++ b/Rules.py @@ -304,10 +304,7 @@ def global_rules(world): forbid_item(world.get_location(location), 'Big Key (Ganons Tower)') set_rule(world.get_location('Ganon'), lambda state: state.has_beam_sword() and state.has_fire_source() and (state.has('Tempered Sword') or state.has('Golden Sword') or (state.has('Silver Arrows') and state.has('Bow')) or state.has('Lamp') or state.has('Bottle') or state.has('Half Magic') or state.has('Quarter Magic'))) # need to light torch a sufficient amount of times - if world.goal == 'ganon': - set_rule(world.get_entrance('Ganon Drop'), lambda state: state.has_beam_sword()) # need to damage ganon to get tiles to drop - else: - set_rule(world.get_entrance('Ganon Drop'), lambda state: False) # other game modes have ganon damage disabled until you can defeat him (and beat the game), so this transition is not available + set_rule(world.get_entrance('Ganon Drop'), lambda state: state.has_beam_sword()) # need to damage ganon to get tiles to drop def no_glitches_rules(world): @@ -322,6 +319,11 @@ def no_glitches_rules(world): set_rule(world.get_entrance('7 Chest Cave Push Block Reverse'), lambda state: False) # no glitches does not require block override set_rule(world.get_entrance('7 Chest Cave Bomb Jump'), lambda state: False) + # if pyramid hole leads to big chest hole in skull woods, skull woods holds a crystal and ganon's tower is vanilla, the SW big chest cannot hold a small key + if world.get_entrance('Pyramid Hole').connected_region.name == 'Skull Woods First Section (Top)' and world.get_entrance('Ganons Tower').connected_region.name == 'Ganons Tower (Entrance)' and\ + 'Crystal' in world.get_location('Mothula - Crystal').item.name: + forbid_item(world.get_location('[dungeon-D3-B1] Skull Woods - Big Chest'), 'Small Key (Skull Woods') + # Light cones in standard depend on which world we actually are in, not which one the location would normally be # We add Lamp requirements only to those locations which lie in the dark world (or everything if open DW_Entrances = ['Bumper Cave (Bottom)', 'Dark Death Mountain Ascend (Top)', 'Dark Death Mountain Ascend (Bottom)', 'Hookshot Cave', 'Bumper Cave (Top)', 'Hookshot Cave Back Entrance', 'Dark Death Mountain Ledge (East)',