Files
Bubberstation/code/modules/admin/verbs/deadsay.dm
SkyratBot 0073dbce09 [MIRROR] admin deadsay now uses deadchat_broadcasts as it ought to. [MDB IGNORE] (#16013)
* admin deadsay now uses deadchat_broadcasts as it ought to. (#69593)

About The Pull Request

The admin deadsay command is old and still based on the assumption that ghosts and admins are the only ones that can hear deadchat messages, while using a snowflake loop that's pretty much superseded by the deadchat_broadcast proc.

* admin deadsay now uses deadchat_broadcasts as it ought to.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-09-02 11:30:08 +01:00

40 lines
1.2 KiB
Plaintext

/client/proc/dsay(msg as text)
set category = "Admin.Game"
set name = "Dsay"
set hidden = TRUE
if(!holder)
to_chat(src, "Only administrators may use this command.", confidential = TRUE)
return
if(!mob)
return
if(prefs.muted & MUTE_DEADCHAT)
to_chat(src, span_danger("You cannot send DSAY messages (muted)."), confidential = TRUE)
return
if (handle_spam_prevention(msg,MUTE_DEADCHAT))
return
msg = copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN)
mob.log_talk(msg, LOG_DSAY)
if (!msg)
return
var/rank_name = holder.rank_names()
var/admin_name = key
if(holder.fakekey)
rank_name = pick(strings("admin_nicknames.json", "ranks", "config"))
admin_name = pick(strings("admin_nicknames.json", "names", "config"))
var/name_and_rank = "[span_tooltip(rank_name, "STAFF")] ([admin_name])"
deadchat_broadcast("[span_prefix("DEAD:")] [name_and_rank] says, <span class='message'>\"[emoji_parse(msg)]\"</span>")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Dsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/get_dead_say()
var/msg = input(src, null, "dsay \"text\"") as text|null
if (isnull(msg))
return
dsay(msg)