/client/proc/dsay(msg as text) set category = "Special Verbs" set name = "Dsay" set hidden = 1 if(!holder) to_chat(src, "Only administrators may use this command.") return if(!mob) return if(prefs.muted & MUTE_DEADCHAT) to_chat(src, "You cannot send DSAY messages (muted).") return if (handle_spam_prevention(msg,MUTE_DEADCHAT)) return msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) mob.log_talk(msg, LOG_DSAY) if (!msg) return var/rank_name = holder.rank 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/rendered = "DEAD: [rank_name]([admin_name]) says, \"[emoji_parse(msg)]\"" for (var/mob/M in GLOB.player_list) if(isnewplayer(M)) continue if (M.stat == DEAD || (M.client && M.client.holder && (M.client.prefs.chat_toggles & CHAT_DEAD))) //admins can toggle deadchat on and off. This is a proc in admin.dm and is only give to Administrators and above to_chat(M, rendered) 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 dsay(msg)