diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 7153c0fe261..1e862472a2f 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -302,7 +302,7 @@ else adverb = " a very lengthy message" message = "[speaker] [verb][adverb]." - src.show_message(message) + show_message(message, type = 1) // Type 1 is visual message /mob/proc/hear_sleep(var/message) var/heard = "" diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 9a22e3b8165..be2bdf7887b 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -265,14 +265,14 @@ proc/get_radio_key_from_channel(var/channel) //Handle nonverbal and sign languages here if (speaking) - if (speaking.flags & NONVERBAL) - if (prob(30)) - src.custom_emote(1, "[pick(speaking.signlang_verb)].") - if (speaking.flags & SIGNLANG) log_say("(SIGN) [message]", src) return say_signlang(message, pick(speaking.signlang_verb), speaking) + if (speaking.flags & NONVERBAL) + if (prob(30)) + src.custom_emote(1, "[pick(speaking.signlang_verb)].") + //These will contain the main receivers of the message var/list/listening = list() var/list/listening_obj = list() @@ -371,11 +371,19 @@ proc/get_radio_key_from_channel(var/channel) return 1 /mob/living/proc/say_signlang(var/message, var/verb="gestures", var/datum/language/language) - var/list/potentials = get_mobs_and_objs_in_view_fast(src, world.view) - var/list/mobs = potentials["mobs"] - for(var/hearer in mobs) - var/mob/M = hearer - M.hear_signlang(message, verb, language, src) + var/turf/T = get_turf(src) + //We're in something, gesture to people inside the same thing + if(loc != T) + for(var/mob/M in loc) + M.hear_signlang(message, verb, language, src) + + //We're on a turf, gesture to visible as if we were a normal language + else + var/list/potentials = get_mobs_and_objs_in_view_fast(T, world.view) + var/list/mobs = potentials["mobs"] + for(var/hearer in mobs) + var/mob/M = hearer + M.hear_signlang(message, verb, language, src) return 1 /obj/effect/speech_bubble