anchor.diff:  // 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)
  +/proc/detect_room(turf/origin, list/break_if_found, max_size=INFINITY)
   	if(origin.blocks_air)
   		return list(origin)
   
  
positive.code: 	var/static/blacklisted_areas = typecacheof(list(
  		/area/space,
  		))
  	var/list/turfs = detect_room(get_turf(creator), area_or_turf_fail_types)
  	if(!turfs)
  		to_chat(creator, "<span class='warning'>The new area must be completely airtight and not a part of a shuttle.</span>")
  		return
  
negative.code: 		found_turfs.Cut(1, 2)
  		var/dir_flags = checked_turfs[sourceT]
  		for(var/dir in GLOB.alldirs)
  			if(length(.) > max_size)
  				return
  			if(dir_flags & dir) // This means we've checked this dir before, probably from the other turf
  				continue
  