From 3e5ebb72f66979ed6fcce7ccd19007d6b96abdf9 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Thu, 8 Jun 2017 23:57:45 -0400 Subject: [PATCH] Fix subtle emotes to work inside dogborgs, objects, brains Title! --- code/modules/mob/say_vr.dm | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 7df92b802b..bb2851184d 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -12,6 +12,8 @@ return message = sanitize(message) + if(!message) + return set_typing_indicator(0) if(use_me) @@ -19,8 +21,6 @@ else usr.emote_vr(message) - - /mob/proc/custom_emote_vr(var/m_type=1,var/message = null) //This would normally go in emote.dm if(stat || !use_me && usr == src) src << "You are unable to emote." @@ -40,32 +40,23 @@ else return - if (message) log_emote("[name]/[key] : [message]") - for(var/mob/M in player_list) - if (!M.client) - continue //skip monkeys and leavers - if (istype(M, /mob/new_player)) - continue - if(findtext(message," snores.")) //Because we have so many sleeping people. - break - if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_sight) && !(M in viewers(src,null))) - M.show_message(message, m_type) - var/list/subtle = get_mobs_or_objects_in_view(1,src) - for(var/I in subtle) - if(isobj(I)) - spawn(0) - if(I) //It's possible that it could be deleted in the meantime. - var/obj/O = I - O.see_emote(src, message, 2) - else if(ismob(I)) - var/mob/M = I + var/list/vis = get_mobs_and_objs_in_view_fast(get_turf(src),1,2) //Turf, Range, and type 2 is emote + var/list/vis_mobs = vis["mobs"] + var/list/vis_objs = vis["objs"] + + for(var/vismob in vis_mobs) + var/mob/M = vismob + spawn(0) M.show_message(message, 2) - + for(var/visobj in vis_objs) + var/obj/O = visobj + spawn(0) + O.see_emote(src, message, 2) /mob/proc/emote_vr(var/act, var/type, var/message) //This would normally go in say.dm if(act == "me") - return custom_emote_vr(type, message) \ No newline at end of file + return custom_emote_vr(type, message)