diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 3080f4d1bb6..2a56a4f3def 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -74,7 +74,7 @@
var/recieve_color = "purple"
var/send_pm_type = ""
var/recieve_pm_type = "Player"
- //usr.client.holder.rights
+
if(holder)
//mod PMs are maroon
@@ -91,17 +91,17 @@
src << "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."
return
- var/recieve_message = "[recieve_pm_type] PM from-[key_name(src, C, 1)]: [msg]"
+ var/recieve_message = ""
if(holder && !C.holder)
- recieve_message = "-- Administrator private message --\n" + recieve_message
+ recieve_message = "-- Administrator private message --\n"
//AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config.txt ~Carn
if(config.popup_admin_pm)
spawn(0) //so we don't hold the caller proc up
var/sender = src
var/sendername = key
- var/reply = input(C, msg,"Admin PM from-[sendername]", "") as text|null //show message and await a reply
+ var/reply = input(C, msg,"[recieve_pm_type] PM from-[sendername]", "") as text|null //show message and await a reply
if(C && reply)
if(sender)
C.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them
@@ -109,8 +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]"
C << recieve_message
- src << "[send_pm_type] PM to-[key_name(C, src, 1)]: [msg]"
+ src << "[send_pm_type] PM to-[key_name(C, src, holder ? 1 : 0)]: [msg]"
/*if(holder && !C.holder)
C.last_pm_recieved = world.time
@@ -177,6 +178,7 @@
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins)
//check client/X is an admin and isn't the sender or recipient
- //only admins can see PMs
+ if(X == C || X == src)
+ continue
if(X.key!=key && X.key!=C.key && (X.holder.rights & R_ADMIN) || (X.holder.rights & R_MOD) )
X << "PM: [key_name(src, X, 0)]->[key_name(C, X, 0)]: \blue [msg]" //inform X