Require moon pearl and flippers to exit the Waterfall of Wishing cave in inverted.
This commit is contained in:
		
							parent
							
								
									441f59d6ea
								
							
						
					
					
						commit
						3740450845
					
				| 
						 | 
				
			
			@ -2996,6 +2996,8 @@ inverted_mandatory_connections = [('Lake Hylia Central Island Pier', 'Lake Hylia
 | 
			
		|||
                                  ('Lake Hylia Warp', 'Northeast Light World'),
 | 
			
		||||
                                  ('Northeast Light World Warp', 'Light World'),
 | 
			
		||||
                                  ('Zoras River', 'Zoras River'),
 | 
			
		||||
                                  ('Waterfall of Wishing Cave', 'Waterfall of Wishing Cave'),
 | 
			
		||||
                                  ('Northeast Light World Return', 'Northeast Light World'),
 | 
			
		||||
                                  ('Kings Grave Outer Rocks', 'Kings Grave Area'),
 | 
			
		||||
                                  ('Kings Grave Inner Rocks', 'Light World'),
 | 
			
		||||
                                  ('Kakariko Well (top to bottom)', 'Kakariko Well (bottom)'),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,8 @@ def create_inverted_regions(world, player):
 | 
			
		|||
                                                                        "Blind\'s Hideout - Right",
 | 
			
		||||
                                                                        "Blind\'s Hideout - Far Left",
 | 
			
		||||
                                                                        "Blind\'s Hideout - Far Right"]),
 | 
			
		||||
        create_lw_region(player, 'Northeast Light World', None, ['Zoras River', 'Waterfall of Wishing', 'Potion Shop Outer Rock', 'Catfish Mirror Spot', 'Northeast Light World Warp']),
 | 
			
		||||
        create_lw_region(player, 'Northeast Light World', None, ['Zoras River', 'Waterfall of Wishing Cave', 'Potion Shop Outer Rock', 'Catfish Mirror Spot', 'Northeast Light World Warp']),
 | 
			
		||||
        create_lw_region(player, 'Waterfall of Wishing Cave', None, ['Waterfall of Wishing', 'Northeast Light World Return']),
 | 
			
		||||
        create_lw_region(player, 'Potion Shop Area', None, ['Potion Shop', 'Potion Shop Inner Bushes', 'Potion Shop Inner Rock', 'Potion Shop Mirror Spot', 'Potion Shop River Drop']),
 | 
			
		||||
        create_lw_region(player, 'Graveyard Cave Area', None, ['Graveyard Cave', 'Graveyard Cave Inner Bushes', 'Graveyard Cave Mirror Spot']),
 | 
			
		||||
        create_lw_region(player, 'River', None, ['Light World Pier', 'Potion Shop Pier']),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -214,7 +214,7 @@ def overworld_glitches_rules(world, player):
 | 
			
		|||
        world.get_entrance('Turtle Rock Teleporter', player).access_rule = lambda state: (state.can_boots_clip_lw(player) or state.can_lift_heavy_rocks(player)) and state.has('Hammer', player)
 | 
			
		||||
        add_alternate_rule(world.get_entrance('Waterfall of Wishing', player), lambda state: state.has('Moon Pearl', player) or state.has_Boots(player))
 | 
			
		||||
    else:
 | 
			
		||||
        add_alternate_rule(world.get_entrance('Waterfall of Wishing', player), lambda state: state.has('Moon Pearl', player))
 | 
			
		||||
        add_alternate_rule(world.get_entrance('Waterfall of Wishing Cave', player), lambda state: state.has('Moon Pearl', player))
 | 
			
		||||
 | 
			
		||||
    world.get_entrance('Dark Desert Teleporter', player).access_rule = lambda state: (state.has('Flute', player) or state.has_Boots(player)) and state.can_lift_heavy_rocks(player)
 | 
			
		||||
    add_alternate_rule(world.get_entrance('Catfish Exit Rock', player), lambda state: state.can_boots_clip_dw(player))
 | 
			
		||||
| 
						 | 
				
			
			@ -230,11 +230,6 @@ def add_alternate_rule(entrance, rule):
 | 
			
		|||
 | 
			
		||||
def create_owg_connections(player, world, connections, rule):
 | 
			
		||||
    for entrance, parent_region, target_region in connections:
 | 
			
		||||
        #@todo: remove - making sure I didn't leave an entrance
 | 
			
		||||
        for region in world.regions:
 | 
			
		||||
            for exit in region.exits:
 | 
			
		||||
                if exit.name == entrance and exit.player == player:
 | 
			
		||||
                    raise RuntimeError('Redefining an entrance %s:%d' % (entrance, player))
 | 
			
		||||
        parent = world.get_region(parent_region, player)
 | 
			
		||||
        target = world.get_region(target_region, player)
 | 
			
		||||
        connection = Entrance(player, entrance, parent)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										5
									
								
								Rules.py
								
								
								
								
							
							
						
						
									
										5
									
								
								Rules.py
								
								
								
								
							| 
						 | 
				
			
			@ -400,7 +400,7 @@ def default_rules(world, player):
 | 
			
		|||
    set_rule(world.get_entrance('Bat Cave Drop Ledge', player), lambda state: state.has('Hammer', player))
 | 
			
		||||
 | 
			
		||||
    set_rule(world.get_location('Zora\'s Ledge', player), lambda state: state.has('Flippers', player))
 | 
			
		||||
    set_rule(world.get_entrance('Waterfall of Wishing', player), lambda state: state.has('Flippers', player))  # can be fake flippered into, but is in weird state inside that might prevent you from doing things. Can be improved in future Todo
 | 
			
		||||
    set_rule(world.get_entrance('Waterfall of Wishing', player), lambda state: state.has('Flippers', player))
 | 
			
		||||
    set_rule(world.get_location('Frog', player), lambda state: state.can_lift_heavy_rocks(player)) # will get automatic moon pearl requirement
 | 
			
		||||
    set_rule(world.get_location('Potion Shop', player), lambda state: state.has('Mushroom', player))
 | 
			
		||||
    set_rule(world.get_entrance('Desert Palace Entrance (North) Rocks', player), lambda state: state.can_lift_rocks(player))
 | 
			
		||||
| 
						 | 
				
			
			@ -533,7 +533,8 @@ def inverted_rules(world, player):
 | 
			
		|||
    set_rule(world.get_location('Flute Spot', player), lambda state: state.has('Shovel', player) and state.has_Pearl(player))
 | 
			
		||||
 | 
			
		||||
    set_rule(world.get_location('Zora\'s Ledge', player), lambda state: state.has('Flippers', player) and state.has_Pearl(player))
 | 
			
		||||
    set_rule(world.get_entrance('Waterfall of Wishing', player), lambda state: state.has('Flippers', player) and state.has_Pearl(player))  # can be fake flippered into, but is in weird state inside that might prevent you from doing things. Can be improved in future Todo
 | 
			
		||||
    set_rule(world.get_entrance('Waterfall of Wishing Cave', player), lambda state: state.has('Flippers', player) and state.has_Pearl(player))
 | 
			
		||||
    set_rule(world.get_entrance('Northeast Light World Return', player), lambda state: state.has('Flippers', player) and state.has_Pearl(player))
 | 
			
		||||
    set_rule(world.get_location('Frog', player), lambda state: state.can_lift_heavy_rocks(player) and (state.has_Pearl(player) or state.has('Beat Agahnim 1', player)) or (state.can_reach('Light World', 'Region', player) and state.has_Mirror(player))) # Need LW access using Mirror or Portal
 | 
			
		||||
    set_rule(world.get_location('Missing Smith', player), lambda state: state.has('Get Frog', player) and state.can_reach('Blacksmiths Hut', 'Region', player)) # Can't S&Q with smith
 | 
			
		||||
    set_rule(world.get_location('Blacksmith', player), lambda state: state.has('Return Smith', player))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue