diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index fe77461a0f..c7f7a3774f 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -47,26 +47,67 @@
set name = "Adminwho"
var/msg = "Current Admins:\n"
+ var/num_mods_online = 0
if(holder)
for(var/client/C in admins)
- msg += "\t[C] is a [C.holder.rank]"
+ if(C.holder.rank != "Moderator")
+ msg += "\t[C] is a [C.holder.rank]"
- if(C.holder.fakekey)
- msg += " (as [C.holder.fakekey])"
+ if(C.holder.fakekey)
+ msg += " (as [C.holder.fakekey])"
- if(isobserver(C.mob))
- msg += " - Observing"
- else if(istype(C.mob,/mob/new_player))
- msg += " - Lobby"
+ if(isobserver(C.mob))
+ msg += " - Observing"
+ else if(istype(C.mob,/mob/new_player))
+ msg += " - Lobby"
+ else
+ msg += " - Playing"
+
+ if(C.is_afk())
+ msg += " (AFK)"
+ msg += "\n"
else
- msg += " - Playing"
-
- if(C.is_afk())
- msg += " (AFK)"
- msg += "\n"
+ num_mods_online++
else
for(var/client/C in admins)
- if(!C.holder.fakekey)
- msg += "\t[C] is a [C.holder.rank]\n"
+ if(C.holder.rank != "Moderator")
+ if(!C.holder.fakekey)
+ msg += "\t[C] is a [C.holder.rank]\n"
+ else
+ num_mods_online++
- src << msg
\ No newline at end of file
+ msg += "There are [num_mods_online] moderators online\n"
+ src << msg
+
+/client/verb/modwho()
+ set category = "Admin"
+ set name = "Modwho"
+
+ var/msg = "Current Moderators:\n"
+ var/num_admins_online = 0
+ if(holder)
+ for(var/client/C in admins)
+ if(C.holder.rank == "Moderator")
+ msg += "\t[C] is a [C.holder.rank]"
+
+ if(isobserver(C.mob))
+ msg += " - Observing"
+ else if(istype(C.mob,/mob/new_player))
+ msg += " - Lobby"
+ else
+ msg += " - Playing"
+
+ if(C.is_afk())
+ msg += " (AFK)"
+ msg += "\n"
+ else
+ num_admins_online++
+ else
+ for(var/client/C in admins)
+ if(C.holder.rank == "Moderator")
+ msg += "\t[C] is a [C.holder.rank]\n"
+ else
+ num_admins_online++
+
+ msg += "There are [num_admins_online] admins online\n"
+ src << msg
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 5e56a2058a..626a5c9402 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -2,8 +2,8 @@
..()
if(usr.client != src.owner || !check_rights(0))
- world << "\blue [usr.key] has attempted to override the admin panel!"
log_admin("[key_name(usr)] tried to use the admin panel without authorization.")
+ message_admins("[usr.key] has attempted to override the admin panel!")
return
if(href_list["makeAntag"])