bottomright_owl=Location(dungeon=8).add(OwlStatue(0x253)).connect(entrance,AND(STONE_BEAK8,FEATHER,POWER_BRACELET))# Two ways to reach this owl statue, but both require the same (except that one route requires bombs as well)
else:
bottomright_owl=None
slime_chest=Location(dungeon=8).add(DungeonChest(0x259)).connect(entrance,OR(FEATHER,AND(r.attack_hookshot,POWER_BRACELET)))# chest with slime
bottom_right=Location(dungeon=8).add(DroppedKey(0x25A)).connect(entrance,AND(FEATHER,OR(BOMB,AND(r.attack_hookshot_powder,POWER_BRACELET))))# zamboni key drop; bombs for entrance up through switch room, weapon + bracelet for NW zamboni staircase to bottom right past smasher
bottomright_pot_chest=Location(dungeon=8).add(DungeonChest(0x25F)).connect(bottom_right,POWER_BRACELET)# 4 ropes pot room chest
map_chest=Location(dungeon=8).add(DungeonChest(0x24F)).connect(entrance_up,None)# use the zamboni to get to the push blocks
gibdos_drop_key=Location(dungeon=8).add(DroppedKey(0x23E)).connect(upper_center,r.attack_gibdos)# 2 gibdos cracked floor; technically possible to use pits to kill but dumb
miniboss_entrance=Location(dungeon=8).connect(middle_center_3,AND(HOOKSHOT,KEY8,FOUND(KEY8,7)))# hookshot to get across to keyblock, 7 to fix keylock issues if keys are used on other keyblocks
miniboss=Location(dungeon=8).connect(miniboss_entrance,AND(FEATHER,r.miniboss_requirements[world_setup.miniboss_mapping[7]]))# feather for 2d section, sword to kill
# Bombing from the center dark rooms to the left so you can access more keys.
# The south walls of center dark room can be bombed from lower_center too with bomb and feather for center dark room access from the south, allowing even more access. Not sure if this should be logic since "obscure"
middle_center_2.connect(up_left,AND(BOMB,FEATHER),one_way=True)# does this even skip a key? both middle_center_2 and up_left come from upper_center with 1 extra key
up_left.connect(vire_drop_key,BOMB,one_way=True)# use bombs to kill rolling bones and vire, do not allow pathway through hinox with just bombs, as not enough bombs are available
bottom_right.connect(slime_chest,r.tight_jump)# diagonal jump over the pits to reach rolling rock / zamboni
gibdos_drop_key.connect(upper_center,OR(HOOKSHOT,MAGIC_ROD))# crack one of the floor tiles and hookshot the gibdos in, or burn the gibdos and make them jump into pit
sparks_chest.connect(entrance_left,r.pit_buffer_itemless)# 1 pit buffer across the pit.
entrance_up.connect(bottomright_pot_chest,r.super_jump_boots,one_way=True)# underground section with fire balls jumping up out of lava. Use boots superjump off left wall to jump over the pot blocking the way
lower_center.connect(entrance_up,r.sideways_block_push)# sideways block push in peahat room to get past keyblock
miniboss_entrance.connect(lower_center,AND(BOMB,r.bookshot))# blow up hidden wall for darkroom, use feather + hookshot to clip past keyblock in front of stairs
miniboss_entrance.connect(lower_center,AND(BOMB,r.super_jump_feather,FOUND(KEY8,7)))# same as above, but without clipping past the keyblock
up_left.connect(lower_center,r.jesus_jump)# use jesus jump in refill room left of peahats to clip bottom wall and push bottom block left, to get a place to super jump
up_left.connect(upper_center,r.jesus_jump)# from up left you can jesus jump / lava swim around the key door next to the boss.
bottomright_owl.connect(entrance,AND(SWORD,POWER_BRACELET,r.boots_bonk_2d_hell,STONE_BEAK8))# underground section past mimics, boots bonking across the gap to the ladder
bottomright_pot_chest.connect(entrance,AND(SWORD,POWER_BRACELET,r.boots_bonk_2d_hell))# underground section past mimics, boots bonking across the gap to the ladder
entrance.connect(bottomright_pot_chest,r.shaq_jump,one_way=True)# use NW zamboni staircase backwards, and get a naked shaq jump off the bottom wall in the bottom right corner to pass by the pot
gibdos_drop_key.connect(upper_center,AND(FEATHER,SHIELD))# lock gibdos into pits and crack the tile they stand on, then use shield to bump them into the pit
medicine_chest.connect(upper_center,AND(r.pit_buffer_boots,HOOKSHOT))# boots bonk + lava buffer to the bottom wall, then bonk onto the middle section
miniboss.connect(miniboss_entrance,AND(r.boots_bonk_2d_hell,r.miniboss_requirements[world_setup.miniboss_mapping[7]]))# get through 2d section with boots bonks
top_left_stairs.connect(map_chest,AND(r.jesus_buffer,r.boots_bonk_2d_hell,MAGIC_ROD))# boots bonk + lava buffer from map chest to entrance_up, then boots bonk through 2d section
nightmare_key.connect(top_left_stairs,AND(r.boots_bonk_pit,SWORD,FOUND(KEY8,7)))# use a boots bonk to cross the 2d section + the lava in cueball room
bottom_right.connect(entrance_up,AND(POWER_BRACELET,r.jesus_buffer),one_way=True)# take staircase to NW zamboni room, boots bonk onto the lava and water buffer all the way down to push the zamboni
bossdoor.connect(entrance_up,AND(r.boots_bonk_2d_hell,MAGIC_ROD))# boots bonk through 2d section