diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 19768f7465..4170c82b5c 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -1099,6 +1099,30 @@ var/global/floorIsLava = 0
if(istype(H))
H.regenerate_icons()
+proc/get_options_bar(whom, detail = 2, name = 0, link = 1)
+ if(!whom)
+ return "(*null*)"
+ var/mob/M
+ var/client/C
+ if(istype(whom, /client))
+ C = whom
+ M = C.mob
+ else if(istype(whom, /mob))
+ M = whom
+ C = M.client
+ else
+ return "(*not an mob*)"
+ switch(detail)
+ if(0)
+ return "[key_name(C, link, name)]"
+ if(1)
+ return "[key_name(C, link, name)](?)"
+ if(2)
+ var/ref_mob = "\ref[M]"
+ return "[key_name(C, link, name)](?) (PP) (VV) (SM) (JMP) (CA)"
+
+
+
//
//
//ALL DONE
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index e2504a0465..1d57a79342 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -87,7 +87,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(!mob) return //this doesn't happen
var/ref_mob = "\ref[mob]"
- msg = "\blue HELP: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) [ai_found ? " (CL)" : ""]: [msg]"
+ msg = "\blue HELP: [get_options_bar(mob, 2, 0, 0)][ai_found ? " (CL)" : ""]: [msg]"
//send this msg to all admins
var/admin_number_afk = 0
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 0770280a9c..cb43ed3cc8 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -109,9 +109,9 @@
adminhelp(reply) //sender has left, adminhelp instead
return
- recieve_message = "[recieve_pm_type] PM from-[key_name(src, C, C.holder ? 1 : 0)]: [msg]"
+ recieve_message = "[recieve_pm_type] PM from-[get_options_bar(C, 1, C.holder ? 1 : 0, 1)]: [msg]"
C << recieve_message
- src << "[send_pm_type]PM to-[key_name(C, src, holder ? 1 : 0)]: [msg]"
+ src << "[send_pm_type]PM to-[get_options_bar(C, 1, holder ? 1 : 0, 1)]: [msg]"
/*if(holder && !C.holder)
C.last_pm_recieved = world.time
@@ -209,5 +209,5 @@
if(X == src)
continue
if((X.holder.rights & R_ADMIN) || (X.holder.rights & R_MOD))
- X << "PM: [key_name(src, X, 0)]->IRC-Admins: \blue [msg]"
+ X << "PM: [key_name(src, X, 0)]->IRC-Admins: \blue [msg]"