anchor.diff:  	var/static/blacklisted_areas = typecacheof(list(
   		/area/space,
   		))
  -	var/list/turfs = detect_room(get_turf(creator), area_or_turf_fail_types)
  +	var/list/turfs = detect_room(get_turf(creator), area_or_turf_fail_types, BP_MAX_ROOM_SIZE*2)
   	if(!turfs)
   		to_chat(creator, "<span class='warning'>The new area must be completely airtight and not a part of a shuttle.</span>")
   		return
  
positive.code: 		found_turfs.Cut(1, 2)
  		var/dir_flags = checked_turfs[sourceT]
  		for(var/dir in GLOB.alldirs)
  			if(length(.) > 2 * BP_MAX_ROOM_SIZE)
  				return
  			if(dir_flags & dir) // This means we've checked this dir before, probably from the other turf
  				continue
  
negative.code: // The dirs are connected turfs in the same space
  // break_if_found is a typecache of turf/area types to return false if found
  // Please keep this proc type agnostic. If you need to restrict it do it elsewhere or add an arg.
  /proc/detect_room(turf/origin, list/break_if_found, max_size=INFINITY)
  	if(origin.blocks_air)
  		return list(origin)
  
  