anchor.diff:  	var/list/range = hear(R, T)
   
   	for(var/atom/A in range)
  +
  +		/*if(ismob(A))
  +			var/mob/M = A
  +			if(M.client)
  +				hear += M
  +					//world.log << "Start = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])"
  +		else if(istype(A, /obj/item/device/radio))
  +			hear += A*/
  +
   		if(isobj(A) || ismob(A))
  -			hear = recursive_mob_check(A, 1, 0, 1)
  +			hear += recursive_mob_check(A, 1, 0, 1)
   
   	return hear
   
  
positive.code: 			if(sight_check && !isInSight(A, O))
  				passed=0
  
  		if(passed)
  			if(!(A in found_mobs)) found_mobs += A
  
  			for(var/atom/B in A)
  				if(!(B in processed_list))
  					processing_list += B
  
  		processing_list-=A
  
negative.code: 	var/list/processed_list = list()
  	var/list/found_mobs = list()
  
  	if(!O.contents.len)
  		return found_mobs
  
  	while(processing_list.len)
  
  		var/atom/A = processing_list[1]
  