anchor.diff:  		for(var/dy=0, dy<height, ++dy)
   			xi = _x + (dx-dwidth)*cos - (dy-dheight)*sin
   			yi = _y + (dy-dheight)*cos + (dx-dwidth)*sin
  -			. += locate(xi, yi, _z)
  +			var/turf/T = locate(xi, yi, _z)
  +			if(A)
  +				if(get_area(T) == A)
  +					. += T
  +				else
  +					. += null
  +			else
  +				. += T
   
   #ifdef DOCKING_PORT_HIGHLIGHT
   //Debug proc used to highlight bounding area
  
positive.code: 	if(!areaInstance)
  		areaInstance = new()
  		areaInstance.name = name
  	areaInstance.contents += return_ordered_turfs()
  
  	#ifdef DOCKING_PORT_HIGHLIGHT
  	highlight("#0f0")
  
negative.code: 
  	for(var/i=1, i<=L0.len, ++i)
  		var/turf/T0 = L0[i]
  		if(!T0)
  			continue
  		var/turf/T1 = L1[i]
  		if(!T1)
  			continue
  