From 8c7cbeb093657ae05c285a65cd6a41566f36f73b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Fri, 12 Jun 2015 14:55:38 +0200 Subject: [PATCH] Ghosts can now follow hivemind speech. Ghosts can now follow hivemind speech with the same targets as for normal speech (separate links for mob and eye if any, etc.). --- code/modules/mob/language/language.dm | 17 +++++++++++++---- code/modules/mob/language/synthetic.dm | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index bf5b51a1b13..5322a7ed50d 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -101,11 +101,20 @@ log_say("[key_name(speaker)] : ([name]) [message]") if(!speaker_mask) speaker_mask = speaker.name - var/msg = "[name], [speaker_mask] [format_message(message, get_spoken_verb(message))]" - for(var/mob/player in player_list) - if(istype(player,/mob/dead) || ((src in player.languages) && check_special_condition(player))) - player << msg + player.hear_broadcast(src, speaker, speaker_mask, format_message(message, get_spoken_verb(message))) + +/mob/proc/hear_broadcast(var/datum/language/language, var/speaker, var/message) + if((language in languages) && language.check_special_condition(src)) + var/msg = "[language.name], [speaker] [message]" + src << msg + +/mob/new_player/hear_broadcast() + return + +/mob/dead/hear_broadcast(var/datum/language/language, var/speaker, var/speaker_name, var/message) + var/msg = "[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]" + src << msg /datum/language/proc/check_special_condition(var/mob/other) return 1 diff --git a/code/modules/mob/language/synthetic.dm b/code/modules/mob/language/synthetic.dm index 3355a1e5c8b..501a8a61f0f 100644 --- a/code/modules/mob/language/synthetic.dm +++ b/code/modules/mob/language/synthetic.dm @@ -22,7 +22,7 @@ for (var/mob/M in dead_mob_list) if(!istype(M,/mob/new_player) && !istype(M,/mob/living/carbon/brain)) //No meta-evesdropping - M.show_message("[message_start] [message_body]", 2) + M.show_message("[message_start] ([ghost_follow_link(speaker, M)]) [message_body]", 2) for (var/mob/living/S in living_mob_list)