anchor.diff:  		else if(istype(A, /mob/living))
   			var/dist = get_dist(source, A)
   			var/mob/living/L = A
  -			if((dist < closest_dist || !closest_mob) && L.stat != DEAD)
  +			if(dist <= zap_range && (dist < closest_dist || !closest_mob) && L.stat != DEAD)
   				closest_mob = L
   				closest_atom = A
   				closest_dist = dist
  
positive.code: 	var/obj/structure/closest_structure
  	var/obj/effect/blob/closest_blob
  
  	for(var/A in oview(source, zap_range))
  		if(istype(A, /obj/machinery/power/tesla_coil))
  			var/dist = get_dist(source, A)
  			var/obj/machinery/power/tesla_coil/C = A
  			if((dist < closest_dist || !closest_tesla_coil) && !C.being_shocked)
  				closest_dist = dist
  
  				//we use both of these to save on istype and typecasting overhead later on
  
negative.code: 		else if(istype(A, /obj/effect/blob))
  			var/obj/effect/blob/B = A
  			var/dist = get_dist(source, A)
  			if(dist <= zap_range && (dist < closest_dist || !closest_tesla_coil) && !B.being_shocked)
  				closest_blob = B
  				closest_atom = A
  				closest_dist = dist
  