diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 9717beb688..38bd226074 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -90,20 +90,7 @@
return
if(src.handle_spam_prevention(msg,MUTE_ADMINHELP))
return
-
-
- //clean the input msg
- if(!msg)
- return
- msg = sanitize(copytext(msg,1,MAX_MESSAGE_LEN))
- if(!msg) return
- var/original_msg = msg
-
- msg = keywords_lookup(msg)
-
- if(!mob)
- return //this doesn't happen
-
+ var/ref_mob = "\ref[mob]"
var/ref_client = "\ref[src]"
for(var/datum/adminticket/T in admintickets)
if(T.permckey == src.ckey && T.resolved == "No")
@@ -112,7 +99,7 @@
if(T.admin == "N/A")
usr << "Due to the fact your Adminhelp had no assigned admin, admins have been pinged."
message_admins("[src.ckey] has bumped their adminhelp #[T.ID], still no assigned admin!")
- msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]"
+ msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]": [msg]"
for(var/client/X in admins)
if(X.prefs.toggles & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
@@ -129,10 +116,27 @@
src.verbs -= /client/verb/adminhelp
adminhelptimerid = addtimer(CALLBACK(src, .proc/giveadminhelpverb), 1200, TIMER_STOPPABLE)
- for(var/datum/adminticket/T in admintickets)
- msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]"
+ //clean the input msg
+ if(!msg) return
+ msg = sanitize(copytext(msg,1,MAX_MESSAGE_LEN))
+ if(!msg) return
+ var/original_msg = msg
+
+ msg = keywords_lookup(msg)
+
+ if(!mob) return //this doesn't happen
createticket(src, msg, src.ckey, mob)
+
+ var/datum/adminticket/ticket
+
+ for(var/datum/adminticket/T in admintickets)
+ if(T.permckey == src.ckey)
+ ticket = T
+
+ msg = "HELP: [key_name(src)] [ADMIN_QUE(mob)] [ADMIN_PP(mob)] [ADMIN_VV(mob)] [ADMIN_SM(mob)] [ADMIN_FLW(mob)] [ADMIN_TP(mob)] (REJT) (IC) (R): [msg]": [msg]"
+
+
//send this msg to all admins
for(var/client/X in admins)
@@ -146,13 +150,12 @@
src << "PM to-Admins: [original_msg]"
//send it to irc if nobody is on and tell us how many were on
- var/admin_number_present = send2admindiscord(ckey,original_msg)
- log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins who have +BAN.")
- if(admin_number_present <= 0)
- src << "No active admins are online, your adminhelp was sent to the admin irc."
+ var/admin_number_present = send2irc_admin_notice_handler("adminhelp", ckey, original_msg)
+ log_admin("ADMINHELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins who have +BAN.")
feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
+
/proc/get_admin_counts(requiredflags = R_BAN)
. = list("total" = list(), "noflags" = list(), "afk" = list(), "stealth" = list(), "present" = list())
for(var/client/X in admins)