diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm
index 47d5d1e7..892b0a68 100644
--- a/code/modules/mob/hear_say.dm
+++ b/code/modules/mob/hear_say.dm
@@ -14,12 +14,12 @@
return
var/style = "body"
-
+
//non-verbal languages are garbled if you can't see the speaker. Yes, this includes if they are inside a closet.
if (language && (language.flags & NONVERBAL))
if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !(speaker in view(src)))
message = stars(message)
-
+
if(!say_understands(speaker,language))
if(istype(speaker,/mob/living/simple_animal))
var/mob/living/simple_animal/S = speaker
@@ -77,7 +77,7 @@
if (language && (language.flags & NONVERBAL))
if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !(speaker in view(src)))
message = stars(message)
-
+
if(!say_understands(speaker,language))
if(istype(speaker,/mob/living/simple_animal))
var/mob/living/simple_animal/S = speaker
@@ -164,9 +164,31 @@
/mob/proc/hear_signlang(var/message, var/verb = "gestures", var/datum/language/language, var/mob/speaker = null)
if(!client)
return
-
+
+ if(sleeping || stat == 1)
+ return
+
+ var/speaker_name
+ var/alt_name
+
+// var/mob/S = speaker
+// if(!S && !S.head && !istype(S.head, /obj/item/clothing/head/helmet))
+ speaker_name = speaker.real_name
+// else
+// speaker_name = "unknown"
+
+ var/track = null
+ if(istype(src, /mob/dead/observer))
+ if(speaker_name != speaker.real_name && speaker.real_name)
+ speaker_name = "[speaker.real_name] ([speaker_name])"
+ track = "(follow) "
+
+ if(client.prefs.toggles & CHAT_GHOSTEARS && speaker in view(src))
+ message = "[message]"
+
+
if(say_understands(speaker, language))
- message = "[speaker.real_name] [verb], \"[message]\""
+ message = "[speaker.real_name][alt_name] [track][verb], \"[message]\""
else
message = "[speaker.real_name] gestures."
@@ -175,7 +197,9 @@
H.show_message(message)
for(var/mob/living/M in src.contents)
M.show_message(message)
- src.show_message(message)
+ src << message
+
+////////////////////////////////////////////////////////////////////////
/mob/proc/hear_sleep(var/message)
var/heard = ""