diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index ca0547774f9..7ccffd0fc0a 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -4,6 +4,11 @@ if(!client) return + if(speaker && !speaker.client && istype(src,/mob/dead/observer) && client.prefs.toggles & CHAT_GHOSTEARS && !speaker in view(src)) + //Does the speaker have a client? It's either random stuff that observers won't care about (Experiment 97B says, 'EHEHEHEHEHEHEHE') + //Or someone snoring. So we make it where they won't hear it. + return + if(sleeping || stat == 1) hear_sleep(message) return @@ -50,7 +55,7 @@ src << "[speaker_name][alt_name] talks but you cannot hear \him." else src << "[speaker_name][alt_name] [track][verb], \"[message]\"" - if (speech_sound) + if (speech_sound && !istype(src, /mob/dead/observer)) var/turf/source = speaker? get_turf(speaker) : get_turf(src) src.playsound_local(source, speech_sound, sound_vol, 1)