diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 902257ae2db..d5dede780a7 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -15,13 +15,13 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
adminhelped = 1 //Determines if they get the message to reply by clicking the name.
var/msg
- var/list/type = list("Question","Player Complaint")
+ var/list/type = list("Mentorhelp","Adminhelp")
var/selected_type = input("Pick a category.", "Admin Help", null, null) as null|anything in type
if(selected_type)
msg = input("Please enter your message.", "Admin Help", null, null) as text|null
- //clean the input msg
- if(!msg)
+ //clean the input msg
+ if(!msg)
return
if(src.handle_spam_prevention(msg,MUTE_ADMINHELP))
@@ -88,7 +88,6 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
var/ref_mob = "\ref[mob]"
var/ref_client = "\ref[src]"
- msg = "\blue [selected_type]: [key_name(src, 1, 1, selected_type)] (?) (PP) (VV) (SM) ([admin_jump_link(mob, "holder")]) (CA) (REJT) [ai_found ? " (CL)" : ""]: [msg]"
//send this msg to all admins
var/admin_number_afk = 0
@@ -109,19 +108,21 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
continue
switch(selected_type)
- if("Question")
+ if("Mentorhelp")
+ msg = "[selected_type]: [key_name(src, 1, 1, selected_type)] (?) (PP) (VV) (SM) ([admin_jump_link(mob, "holder")]) (CA) (REJT) [ai_found ? " (CL)" : ""]: [msg]"
for(var/client/X in mentorholders + modholders + adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
- if("Player Complaint")
+ if("Adminhelp")
+ msg = "[selected_type]: [key_name(src, 1, 1, selected_type)] (?) (PP) (VV) (SM) ([admin_jump_link(mob, "holder")]) (CA) (REJT) [ai_found ? " (CL)" : ""]: [msg]"
for(var/client/X in modholders + adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
//show it to the person adminhelping too
- src << "[selected_type]: [original_msg]"
+ src << "[selected_type]: [original_msg]"
var/admin_number_present = adminholders.len - admin_number_afk
log_admin("[selected_type]: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.")
@@ -161,4 +162,3 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
else
send2irc(source, "[msg] - All admins AFK ([admin_number_afk]/[admin_number_total]) or skipped ([admin_number_ignored]/[admin_number_total])")
return admin_number_present
-
\ No newline at end of file
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 93cff752e0b..62932eb4625 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -67,17 +67,17 @@
if(istext(whom))
if(cmptext(copytext(whom,1,2),"@"))
whom = findStealthKey(whom)
- C = directory[C]
+ C = directory[C]
else if(istype(whom,/client))
C = whom
-
+
if(!C)
- if(holder)
+ if(holder)
src << "Error: Private-Message: Client not found."
- else
+ else
adminhelp(msg) //admin we are replying to left. adminhelp instead
return
-
+
/*if(C && C.last_pm_recieved + config.simultaneous_pm_warning_timeout > world.time && holder)
//send a warning to admins, but have a delay popup for mods
if(holder.rights & R_ADMIN)
@@ -90,12 +90,12 @@
if(!msg)
msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null
- if(!msg)
+ if(!msg)
return
if(!C)
- if(holder)
+ if(holder)
src << "Error: Admin-PM: Client not found."
- else
+ else
adminhelp(msg) //admin we are replying to has vanished, adminhelp instead
return
@@ -105,10 +105,10 @@
//clean the message if it's not sent by a high-rank admin
if(!check_rights(R_SERVER|R_DEBUG,0))
msg = sanitize(copytext(msg,1,MAX_MESSAGE_LEN))
- if(!msg)
+ if(!msg)
return
- var/recieve_color = "purple"
+ var/recieve_span = "playerreply"
var/send_pm_type = " "
var/recieve_pm_type = "Player"
@@ -118,9 +118,9 @@
//PMs sent from admins and mods display their rank
if(holder)
if(check_rights(R_MOD|R_MENTOR,0) && !check_rights(R_ADMIN,0))
- recieve_color = "maroon"
+ recieve_span = "adminobserverooc"
else
- recieve_color = "red"
+ recieve_span = "danger"
send_pm_type = holder.rank + " "
recieve_pm_type = holder.rank
@@ -131,7 +131,7 @@
var/recieve_message = ""
if(holder && !C.holder)
- recieve_message = "-- Click the [recieve_pm_type]'s name to reply --\n"
+ recieve_message = "-- Click the [recieve_pm_type]'s name to reply --\n"
if(C.adminhelped)
C << recieve_message
C.adminhelped = 0
@@ -149,7 +149,7 @@
adminhelp(reply) //sender has left, adminhelp instead
return
- recieve_message = "[type] from-[recieve_pm_type][key_name(src, C, C.holder ? 1 : 0, type)]: [msg]"
+ recieve_message = "[type] from-[recieve_pm_type][key_name(src, C, C.holder ? 1 : 0, type)]: [msg]"
C << recieve_message
src << "[send_pm_type][type] to-[key_name(C, src, holder ? 1 : 0, type)]: [msg]"
@@ -162,57 +162,6 @@
if(C.prefs.sound & SOUND_ADMINHELP)
C << 'sound/effects/adminhelp.ogg'
- /*
- if(C.holder)
- if(holder) //both are admins
- if(holder.rank == "Moderator") //If moderator
- C << "Mod PM from-[key_name(src, C, 1)]: [msg]"
- src << "Mod PM to-[key_name(C, src, 1)]: [msg]"
- else
- C << "Admin PM from-[key_name(src, C, 1)]: [msg]"
- src << "Admin PM to-[key_name(C, src, 1)]: [msg]"
-
- else //recipient is an admin but sender is not
- C << "Reply PM from-[key_name(src, C, 1)]: [msg]"
- src << "PM to-Admins: [msg]"
-
- //play the recieving admin the adminhelp sound (if they have them enabled)
- if(C.prefs.toggles & SOUND_ADMINHELP)
- C << 'sound/effects/adminhelp.ogg'
-
- else
- if(holder) //sender is an admin but recipient is not. Do BIG RED TEXT
- if(holder.rank == "Moderator")
- C << "Mod PM from-[key_name(src, C, 0)]: [msg]"
- C << "Click on the moderators's name to reply."
- src << "Mod PM to-[key_name(C, src, 1)]: [msg]"
- else
- C << "-- Administrator private message --"
- C << "Admin PM from-[key_name(src, C, 0)]: [msg]"
- C << "Click on the administrator's name to reply."
- src << "Admin PM to-[key_name(C, src, 1)]: [msg]"
-
- //always play non-admin recipients the adminhelp sound
- C << 'sound/effects/adminhelp.ogg'
-
- //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() //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
- if(C && reply)
- if(sender)
- C.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them
- else
- adminhelp(reply) //sender has left, adminhelp instead
- return
-
- else //neither are admins
- src << "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."
- return
- */
-
log_admin("PM: [key_name(src)]->[key_name(C)]: [msg]")
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins)
@@ -221,15 +170,15 @@
continue
if(X.key != key && X.key != C.key)
switch(type)
- if("Question")
+ if("Mentorhelp")
if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, X.mob))
- X << "[type]: [key_name(src, X, 0, type)]->[key_name(C, X, 0, type)]: \blue [msg]"
- if("Player Complaint")
+ X << "[type]: [key_name(src, X, 0, type)]->[key_name(C, X, 0, type)]: [msg]"
+ if("Adminhelp")
if(check_rights(R_ADMIN|R_MOD, 0, X.mob))
- X << "[type]: [key_name(src, X, 0, type)]->[key_name(C, X, 0, type)]: \blue [msg]"
+ X << "[type]: [key_name(src, X, 0, type)]->[key_name(C, X, 0, type)]: [msg]"
else
if(check_rights(R_ADMIN|R_MOD, 0, X.mob))
- X << "[type]: [key_name(src, X, 0, type)]->[key_name(C, X, 0, type)]: \blue [msg]"
+ X << "[type]: [key_name(src, X, 0, type)]->[key_name(C, X, 0, type)]: [msg]"
/client/proc/cmd_admin_irc_pm()
if(prefs.muted & MUTE_ADMINHELP)
diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm
index caa1f6950af..3c8a80bab91 100644
--- a/interface/stylesheet.dm
+++ b/interface/stylesheet.dm
@@ -23,6 +23,8 @@ em {font-style: normal; font-weight: bold;}
.adminobserver {color: #996600; font-weight: bold;}
.admin {color: #386aff; font-weight: bold;}
+.playerreply {color: #8800bb; font-weight: bold;}
+
.name { font-weight: bold;}
.say {}