def link_doors(world, player):
    for (exitName, regionName) in logical_connections:
        connect_simple_door(world, exitName, regionName, player)
    for (edge_a, edge_b) in interior_doors:
        connect_interior_doors(edge_a, edge_b, world, player)
    for (entrance, ext) in straight_staircases:
        connect_two_way(world, entrance, ext, player)
    for (exitName, regionName) in falldown_pits:
        connect_simple_door(world, exitName, regionName, player)
    for (exitName, regionName) in dungeon_warps:
        connect_simple_door(world, exitName, regionName, player)
    for (ent, ext) in ladders:
        connect_two_way(world, ent, ext, player)
    if (world.doorShuffle[player] == 'vanilla'):
        for (entrance, ext) in open_edges:
            connect_two_way(world, entrance, ext, player)
        for (exitName, regionName) in vanilla_logical_connections:
            connect_simple_door(world, exitName, regionName, player)
        for (entrance, ext) in spiral_staircases:
            connect_two_way(world, entrance, ext, player)
        for (entrance, ext) in default_door_connections:
            connect_two_way(world, entrance, ext, player)
        for (ent, ext) in default_one_way_connections:
            connect_one_way(world, ent, ext, player)
        vanilla_key_logic(world, player)
    elif (world.doorShuffle[player] == 'basic'):
        for (entrance, ext) in open_edges:
            connect_two_way(world, entrance, ext, player)
        within_dungeon(world, player)
    elif (world.doorShuffle[player] == 'crossed'):
        for (entrance, ext) in open_edges:
            connect_two_way(world, entrance, ext, player)
        cross_dungeon(world, player)
    else:
        logging.getLogger('').error(('Invalid door shuffle setting: %s' % world.doorShuffle[player]))
        raise Exception(('Invalid door shuffle setting: %s' % world.doorShuffle[player]))
    if (world.doorShuffle[player] != 'vanilla'):
        create_door_spoiler(world, player)
def link_doors(world, player):
    for (exitName, regionName) in logical_connections:
        connect_simple_door(world, exitName, regionName, player)
    for (edge_a, edge_b) in interior_doors:
        connect_interior_doors(edge_a, edge_b, world, player)
    for (entrance, ext) in straight_staircases:
        connect_two_way(world, entrance, ext, player)
    for (exitName, regionName) in falldown_pits:
        connect_simple_door(world, exitName, regionName, player)
    for (exitName, regionName) in dungeon_warps:
        connect_simple_door(world, exitName, regionName, player)
    for (ent, ext) in ladders:
        connect_two_way(world, ent, ext, player)
    if (world.doorShuffle[player] == 'vanilla'):
        for (entrance, ext) in open_edges:
            connect_two_way(world, entrance, ext, player)
        for (exitName, regionName) in vanilla_logical_connections:
            connect_simple_door(world, exitName, regionName, player)
        for (entrance, ext) in spiral_staircases:
            connect_two_way(world, entrance, ext, player)
        for (entrance, ext) in default_door_connections:
            connect_two_way(world, entrance, ext, player)
        for (ent, ext) in default_one_way_connections:
            connect_one_way(world, ent, ext, player)
        vanilla_key_logic(world, player)
    elif (world.doorShuffle[player] == 'basic'):
        for (entrance, ext) in open_edges:
            connect_two_way(world, entrance, ext, player)
        within_dungeon(world, player)
    elif (world.doorShuffle[player] == 'crossed'):
        for (entrance, ext) in open_edges:
            connect_two_way(world, entrance, ext, player)
        cross_dungeon(world, player)
    else:
        logging.getLogger().error(('Invalid door shuffle setting: %s' % world.doorShuffle[player]))
        raise Exception(('Invalid door shuffle setting: %s' % world.doorShuffle[player]))
    if (world.doorShuffle[player] != 'vanilla'):
        create_door_spoiler(world, player)