anchor.diff:  	// This loop will, at most, loop twice.
   	for(var/atom/check in check_list)
   		for(var/mob/living/M in viewers(world.view + 1, check))
  -			if(M.client && !istype(M, type))
  +			if(M.client && CanAttack(M))
   				if(!M.blinded && !(sdisabilities & BLIND))
  -					return 1
  -	return 0
  +					return M
  +	return null
   
   // Cannot talk
   
   /mob/living/simple_animal/hostile/statue/say()
   	return 0
  +
  +// Stop attacking clientless mobs
  +
  +/mob/living/simple_animal/hostile/statue/CanAttack(var/atom/the_target)
  +	if(isliving(the_target))
  +		var/mob/living/L = the_target
  +		if(!L.client && !L.ckey)
  +			return 0
  +	return ..()
  +
   
   // Statue powers
   
  
positive.code: 	minbodytemp = 0
  
  	faction = "statue"
  	move_to_delay = 2 // Very fast
  
  	animate_movement = NO_STEPS // Do not animate movement, you jump around as you're a scary statue.
  
  	see_in_dark = 15
  	vision_range = 14
  	aggro_vision_range = 14
  	idle_vision_range = 14
  
  	search_objects = 1 // So that it can see through walls
  
  
negative.code: 	..()
  
  /mob/living/simple_animal/hostile/statue/proc/can_be_seen(var/turf/destination)
  	// Check for darkness
  	var/turf/T = get_turf(loc)
  	if(T && destination)
  		// Don't check it twice if our destination is the tile we are on or we can't even get to our destination
  		if(T == destination)
  			destination = null
  		else if(!T.lighting_lumcount && !destination.lighting_lumcount) // No one can see us in the darkness, right?
  			return null
  
  	// We aren't in darkness, loop for viewers.
  	var/list/check_list = list(src)
  