diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index e27bbfb89f..dd330ec00c 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -233,8 +233,10 @@ var/list/admin_verbs_mod = list(
/client/proc/cmd_mod_say,
/datum/admins/proc/show_player_info,
/client/proc/player_panel_new,
+ /client/proc/dsay,
/datum/admins/proc/show_skills,
- /client/proc/dsay
+ /client/proc/jobbans,
+ /client/proc/cmd_admin_subtle_message /*send an message to somebody as a 'voice in their head'*/
)
/client/proc/add_admin_verbs()
if(holder)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 21e1eae6c2..a95b9d625e 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -610,7 +610,7 @@
//JOBBAN'S INNARDS
else if(href_list["jobban3"])
- if(!check_rights(R_BAN)) return
+ if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return
var/mob/M = locate(href_list["jobban4"])
if(!ismob(M))
@@ -715,6 +715,7 @@
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("No")
+ if(!check_rights(R_BAN)) return
var/reason = input(usr,"Reason?","Please State Reason","") as text|null
if(reason)
var/msg
@@ -812,7 +813,7 @@
DB_ban_unban(ckey(key), BANTYPE_JOB_PERMA, job)
else if(href_list["newban"])
- if(!check_rights(R_BAN)) return
+ if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return
var/mob/M = locate(href_list["newban"])
if(!ismob(M)) return
@@ -845,6 +846,7 @@
del(M.client)
//del(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends.
if("No")
+ if(check_rights(R_BAN)) return
var/reason = input(usr,"Reason?","reason","Griefer") as text|null
if(!reason)
return
@@ -885,7 +887,7 @@
unjobbanpanel()
else if(href_list["mute"])
- if(!check_rights(R_ADMIN)) return
+ if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return
var/mob/M = locate(href_list["mute"])
if(!ismob(M)) return
@@ -1501,7 +1503,7 @@
usr.client.cmd_admin_direct_narrate(M)
else if(href_list["subtlemessage"])
- if(!check_rights(R_ADMIN)) return
+ if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return
var/mob/M = locate(href_list["subtlemessage"])
usr.client.cmd_admin_subtle_message(M)
@@ -2591,4 +2593,4 @@
show_player_info(ckey)
if("list")
PlayerNotesPage(text2num(href_list["index"]))
- return
+ return
\ No newline at end of file
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 65a0e0aa8c..2f1178dfba 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -132,7 +132,7 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0)
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."
+ usr << "Error: cmd_admin_mute: You cannot mute an admin/mod."
if(!M.client) return
if(M.client.holder) return