anchor.diff:  	var/list/listening
   
   	listening = get_mobs_in_view(message_range, src)
  +	var/list/onscreen = get_mobs_in_view(7, src)
   	for(var/mob/M in player_list)
   		if (!M.client)
   			continue //skip monkeys and leavers
  
positive.code: 			M:show_message("<span class='notice'>[src] talks into [used_radios.len ? used_radios[1] : "radio"]</span>")
  
  	var/rendered = null
  	if (length(heard_a))
  		var/message_a = say_quote(message,speaking)
  
  		if (italics)
  			message_a = "<i>[message_a]</i>"
  
  		rendered = "<span class='game say'><span class='name'>[GetVoice()]</span>[alt_name] <span class='message'>[message_a]</span></span>"
  		var/rendered2 = null
  
  
negative.code: 		//BEGIN TELEPORT CHANGES
  			if(!istype(M, /mob/new_player))
  				if(M && M.stat == DEAD)
  					if ((M.client.prefs.toggles & CHAT_GHOSTEARS) &&  M in onscreen)
  						rendered2 = "<span class='game say'><span class='name'>[GetVoice()]</span></span> [alt_name] <a href='byond://?src=\ref[M];follow2=\ref[M];follow=\ref[src]'>(Follow)</a> <span class='message'>[message_ghost]</span></span>"
  					else
  						rendered2 = "<span class='game say'><span class='name'>[GetVoice()]</span></span> [alt_name] <a href='byond://?src=\ref[M];follow2=\ref[M];follow=\ref[src]'>(Follow)</a> <span class='message'>[message_a]</span></span>"
  					M:show_message(rendered2, 2)
  					continue
  	//END CHANGES
  
  			if(hascall(M,"show_message"))
  				var/deaf_message = ""
  				var/deaf_type = 1
  