diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 7a76a2c9685..ccfbd30e1ba 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -103,8 +103,8 @@ var/global/normal_ooc_colour = "#002eb8" msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) if(!msg) return - if(!(prefs.toggles & CHAT_OOC)) - src << "\red You have OOC muted." + if(!(prefs.toggles & CHAT_LOOC)) + src << "\red You have LOOC muted." return if(!holder) @@ -127,14 +127,15 @@ var/global/normal_ooc_colour = "#002eb8" log_ooc("(LOCAL) [mob.name]/[key] : [msg]") - for(var/mob/M in hearers()) + var/list/heard = get_mobs_in_view(7, src.mob) + for(var/mob/M in heard) if(!M.client) continue var/client/C = M.client if (C in admins) continue //they are handled after that - if(C.prefs.toggles & CHAT_OOC) + if(C.prefs.toggles & CHAT_LOOC) var/display_name = src.key if(holder) if(holder.fakekey) @@ -144,5 +145,8 @@ var/global/normal_ooc_colour = "#002eb8" display_name = holder.fakekey C << "LOOC: [display_name]: [msg]" for(var/client/C in admins) - if(C.prefs.toggles & CHAT_OOC) - C << "LOOC: [src.key]: [msg]" \ No newline at end of file + if(C.prefs.toggles & CHAT_LOOC) + var/prefix = "(R)LOOC" + if (C.mob in heard) + prefix = "LOOC" + C << "[prefix]: [src.key]: [msg]" \ No newline at end of file diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 19df39e3371..e3773f77857 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -95,6 +95,17 @@ src << "You will [(prefs.toggles & CHAT_OOC) ? "now" : "no longer"] see messages on the OOC channel." feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/verb/listen_looc() + set name = "Show/Hide LOOC" + set category = "Preferences" + set desc = "Toggles seeing Local OutOfCharacter chat" + prefs.toggles ^= CHAT_LOOC + prefs.save_preferences() + src << "You will [(prefs.toggles & CHAT_LOOC) ? "now" : "no longer"] see messages on the LOOC channel." + feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + /client/verb/Toggle_Soundscape() //All new ambience should be added here so it works with this verb until someone better at things comes up with a fix that isn't awful set name = "Hear/Silence Ambience" set category = "Preferences" diff --git a/code/setup.dm b/code/setup.dm index f4b8d35e2ff..db51f9993e1 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -624,6 +624,7 @@ var/list/TAGGERLOCATIONS = list("Disposals", #define CHAT_RADIO 512 #define CHAT_ATTACKLOGS 1024 #define CHAT_DEBUGLOGS 2048 +#define CHAT_LOOC 4096 #define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS)