From 0b4a2bb5cffd877e2b022170940a9a2e01d7644e Mon Sep 17 00:00:00 2001
From: Luc <89928798+lewcc@users.noreply.github.com>
Date: Fri, 24 Nov 2023 10:32:31 -0500
Subject: [PATCH] Adds LOOC to runechat. (#23256)
* adds looc to runechat
* remove hearers
* remove unnecessary parens
* Prevent observers from LOOCing runechat
* Update code/game/verbs/ooc.dm
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
* contra review
---------
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
---
code/__DEFINES/misc_defines.dm | 1 +
code/datums/chatmessage.dm | 6 +++++-
code/game/verbs/ooc.dm | 4 ++++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm
index ea0d86fd37c..4dd7f7922d5 100644
--- a/code/__DEFINES/misc_defines.dm
+++ b/code/__DEFINES/misc_defines.dm
@@ -514,6 +514,7 @@
// Runechat symbol types
#define RUNECHAT_SYMBOL_EMOTE 1
+#define RUNECHAT_SYMBOL_LOOC 2
/// Waits at a line of code until X is true
#define UNTIL(X) while(!(X)) sleep(world.tick_lag)
diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm
index e24fd7c7309..4c67ad4d837 100644
--- a/code/datums/chatmessage.dm
+++ b/code/datums/chatmessage.dm
@@ -132,7 +132,11 @@
switch(symbol)
if(RUNECHAT_SYMBOL_EMOTE)
symbol = "* "
- size = size || "small"
+ size ||= "small"
+ if(RUNECHAT_SYMBOL_LOOC)
+ symbol = "\[LOOC] "
+ size ||= "small"
+ output_color = "gray"
else
symbol = null
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 4fafdd9e818..a875f47cf46 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -209,6 +209,10 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
log_looc(msg, src)
mob.create_log(LOOC_LOG, msg)
+ if(isliving(mob))
+ for(var/mob/M in viewers(7, mob))
+ if(M.client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT)
+ M.create_chat_message(mob, msg, FALSE, symbol = RUNECHAT_SYMBOL_LOOC)
var/mob/source = mob.get_looc_source()
var/list/heard = get_mobs_in_view(7, source)