diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index b098801da8..f7d10bfb7b 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -155,7 +155,7 @@ // deaf_message (optional) is what deaf people will see. // hearing_distance (optional) is the range, how many tiles away the message can be heard. -/mob/audible_message(message, deaf_message, hearing_distance, self_message) +/mob/audible_message(message, deaf_message, hearing_distance, self_message, no_ghosts = FALSE) var/range = 7 if(hearing_distance) range = hearing_distance @@ -163,6 +163,8 @@ var/msg = message if(self_message && M==src) msg = self_message + if(no_ghosts && isobserver(M)) + continue M.show_message( msg, 2, deaf_message, 1) // Show a message to all mobs in earshot of this atom @@ -171,11 +173,13 @@ // deaf_message (optional) is what deaf people will see. // hearing_distance (optional) is the range, how many tiles away the message can be heard. -/atom/proc/audible_message(message, deaf_message, hearing_distance) +/atom/proc/audible_message(message, deaf_message, hearing_distance, no_ghosts = FALSE) var/range = 7 if(hearing_distance) range = hearing_distance for(var/mob/M in get_hearers_in_view(range, src)) + if(no_ghosts && isobserver(M)) + continue M.show_message( message, 2, deaf_message, 1) /mob/proc/Life() diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 66444abf91..1fc97c31e4 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -172,15 +172,11 @@ proc/get_top_level_mob(var/mob/S) user.log_message(message, INDIVIDUAL_EMOTE_LOG) message = "[user] " + "[message]" - for(var/mob/M) - if(M in list(/mob/living)) - M.show_message(message) - if(emote_type == EMOTE_AUDIBLE) - user.audible_message(message=message,hearing_distance=1) + user.audible_message(message=message,hearing_distance=1, no_ghosts = TRUE) else - user.visible_message(message=message,self_message=message,vision_distance=1) - log_emote("[key_name(user)] : [message]") + user.visible_message(message=message,self_message=message,vision_distance=1, no_ghosts = TRUE) + log_emote("[key_name(user)] : (SUBTLER) [message]") message = null