diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index ee7336c24e..b35b726c0b 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -172,7 +172,7 @@ for(var/client/target in receivers) var/admin_stuff = "" - if(target in GLOB.admins) + if((target in GLOB.admins) && check_rights_for(target, R_HOLDER)) admin_stuff += "/([key])" to_chat(target, span_looc(create_text_tag("looc", "LOOC:", target) + " [display_name][admin_stuff]: " + span_message("[msg]"))) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 218289215a..89e9c6c59c 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -15,7 +15,7 @@ to_chat(src, span_danger("You have deadchat muted.")) return - if(!src.client.holder) + if(!src.client.holder && !check_rights(R_HOLDER, FALSE)) if(!CONFIG_GET(flag/dsay_allowed)) to_chat(src, span_danger("Deadchat is globally muted.")) return diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index 3cd7424290..6239752741 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -6,7 +6,7 @@ update_client_z(null) log_access_out(src) unset_machine() - if(GLOB.admin_datums[src.ckey]) + if(GLOB.admin_datums[src.ckey] && check_rights(R_HOLDER, FALSE)) message_admins("Staff logout: [key_name(src)]") // Staff logout notice displays no matter what if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing. var/admins_number = GLOB.admins.len diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 3324dd0241..36ed1856e0 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -475,7 +475,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) return // Can't talk in deadchat if you can't see it. for(var/mob/M in player_list) - if(M.client && ((!isnewplayer(M) && M.stat == DEAD) || (M.client.holder && check_rights_for(M.client, R_NONE) && M.client?.prefs?.read_preference(/datum/preference/toggle/holder/show_staff_dsay))) && M.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) + if(M.client && ((!isnewplayer(M) && M.stat == DEAD) || (M.client.holder && check_rights_for(M.client, R_HOLDER) && M.client?.prefs?.read_preference(/datum/preference/toggle/holder/show_staff_dsay))) && M.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) var/follow var/lname if(M.forbid_seeing_deadchat && !M.client.holder) @@ -505,7 +505,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) /proc/say_dead_object(var/message, var/obj/subject = null) for(var/mob/M in player_list) - if(M.client && ((!isnewplayer(M) && M.stat == DEAD) || (M.client.holder && check_rights_for(M.client, R_NONE) && M.client?.prefs?.read_preference(/datum/preference/toggle/holder/show_staff_dsay))) && M.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) + if(M.client && ((!isnewplayer(M) && M.stat == DEAD) || (M.client.holder && check_rights_for(M.client, R_HOLDER) && M.client?.prefs?.read_preference(/datum/preference/toggle/holder/show_staff_dsay))) && M.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) var/follow var/lname = "Game Master" if(M.forbid_seeing_deadchat && !M.client.holder) @@ -515,7 +515,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) lname = "[subject.name] ([subject.x],[subject.y],[subject.z])" lname = span_name("[lname]") + " " - to_chat(M, span_deadsay("" + create_text_tag("event_dead", "EVENT:", M.client) + " [lname][follow][message]")) + to_chat(M, span_deadsay(create_text_tag("event_dead", "EVENT:", M.client) + " [lname][follow][message]")) //Announces that a ghost has joined/left, mainly for use with wizards /proc/announce_ghost_joinleave(O, var/joined_ghosts = 1, var/message = "")