From 1fa2c164f984f2e05952aa26637fdd8d5b104a43 Mon Sep 17 00:00:00 2001 From: DZD Date: Mon, 30 Mar 2015 19:35:36 -0400 Subject: [PATCH] Mute Changes - R_MOD is now needed to mute players. - Admins/mods/mentors can now be muted. The first two can unmute themselves, the third cannot. - Global OOC mute now applies to mentors as well, but not to admins or mods. - Global Deadchat mute still only applies to regular players. - Mods using DSAY will show up as MOD instead of MENTOR. --- code/game/verbs/ooc.dm | 4 ++-- code/modules/admin/topic.dm | 3 ++- code/modules/admin/verbs/deadsay.dm | 6 +++--- code/modules/admin/verbs/randomverbs.dm | 5 +---- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 093b139f677..2f8249c8401 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -17,7 +17,7 @@ var/global/normal_ooc_colour = "#002eb8" src << "\red You have OOC muted." return - if(!holder) + if(!(holder && holder.rights && (holder.rights & R_MOD))) if(!ooc_allowed) src << "\red OOC is globally muted" return @@ -99,7 +99,7 @@ var/global/normal_ooc_colour = "#002eb8" src << "\red You have LOOC muted." return - if(!holder) + if(!(holder && holder.rights && (holder.rights & R_MOD))) if(!ooc_allowed) src << "\red LOOC is globally muted" return diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 952b939cfc6..fd2e02b798f 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1015,7 +1015,8 @@ return else if(href_list["mute"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_MOD)) + return var/mob/M = locate(href_list["mute"]) if(!ismob(M)) return diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 1a4da3d8c58..a20af6d43d4 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -20,12 +20,12 @@ var/stafftype = null - if (src.holder.rights & R_MOD) - stafftype = "MOD" - if (src.holder.rights & R_MENTOR) stafftype = "MENTOR" + if (src.holder.rights & R_MOD) + stafftype = "MOD" + if (src.holder.rights & R_ADMIN) stafftype = "ADMIN" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 5bd6cb4ff9b..405e2feaa27 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -152,15 +152,12 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) else if(!usr || !usr.client) return - if(!usr.client.holder) + if(!(usr.client.holder && usr.client.holder.rights && (usr.client.holder.rights & R_MOD))) usr << "Error: cmd_admin_mute: You don't have permission to do this." return if(!M.client) usr << "Error: cmd_admin_mute: This mob doesn't have a client tied to it." - if(M.client.holder) - usr << "Error: cmd_admin_mute: You cannot mute an admin." if(!M.client) return - if(M.client.holder) return var/muteunmute var/mute_string