diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index a389980f533fd..7ebb87447273b 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -103,7 +103,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
var/datum/admin_help/AH = I
if(AH.initiator)
var/obj/effect/statclick/updated = AH.statclick.update()
- L[++L.len] = list("#[AH.id]. [AH.initiator_key_name]:", "[updated.name]", REF(AH))
+ //L[++L.len] = list("#[AH.id]. [AH.initiator_key_name]:", "[updated.name]", REF(AH)) // ORIGINAL
+ L[++L.len] = list("[AH.handler ? "H-[AH.handler]" : ""]#[AH.id]. [AH.initiator_key_name]:", "[updated.name]", REF(AH)) // DOPPLER EDIT - Admin handler name
else
++num_disconnected
if(num_disconnected)
@@ -209,13 +210,18 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
* * msg_raw - The first message of this admin_help: used for the initial title of the ticket
* * is_bwoink - Boolean operator, TRUE if this ticket was started by an admin PM
*/
-/datum/admin_help/New(msg_raw, client/C, is_bwoink, urgent = FALSE)
+/datum/admin_help/New(msg_raw, client/C, is_bwoink, client/admin_C, urgent = FALSE) // DOPPLER EDIT - Add admin_C
//clean the input msg
var/msg = sanitize(copytext_char(msg_raw, 1, MAX_MESSAGE_LEN))
if(!msg || !C || !C.mob)
qdel(src)
return
+ // DOPPLER EDIT ADDITION BEGIN
+ if(admin_C && is_bwoink)
+ handler = "[admin_C.ckey]"
+ // DOPPLER EDIT END
+
id = ++ticket_counter
opened_at = world.time
@@ -481,6 +487,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
/datum/admin_help/proc/Close(key_name = key_name_admin(usr), silent = FALSE)
if(state != AHELP_ACTIVE)
return
+ // DOPPLER EDIT ADDITION BEGIN - Ticket handling
+ if(handler && handler != usr.ckey)
+ var/response = tgui_alert(usr, "This ticket is already being handled by [handler]. Do you want to continue?", "Ticket already assigned", list("Yes", "No"))
+ if(!response || response == "No")
+ return
+ // DOPPLER EDIT ADDITION END
RemoveActive()
state = AHELP_CLOSED
GLOB.ahelp_tickets.ListInsert(src)
@@ -496,6 +508,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
/datum/admin_help/proc/Resolve(key_name = key_name_admin(usr), silent = FALSE)
if(state != AHELP_ACTIVE)
return
+ // DOPPLER EDIT ADDITION BEGIN - Ticket handling
+ if(handler && handler != usr.ckey)
+ var/response = tgui_alert(usr, "This ticket is already being handled by [handler]. Do you want to continue?", "Ticket already assigned", list("Yes", "No"))
+ if(!response || response == "No")
+ return
+ // DOPPLER EDIT ADDITION END
RemoveActive()
state = AHELP_RESOLVED
GLOB.ahelp_tickets.ListInsert(src)
@@ -516,6 +534,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(state != AHELP_ACTIVE)
return
+ // DOPPLER EDIT ADDITION BEGIN - Ticket handling
+ if(handler && handler != usr.ckey)
+ var/response = tgui_alert(usr, "This ticket is already being handled by [handler]. Do you want to continue?", "Ticket already assigned", list("Yes", "No"))
+ if(!response || response == "No")
+ return
+ // DOPPLER EDIT ADDITION END
+
if(initiator)
initiator.giveadminhelpverb()
@@ -538,6 +563,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(state != AHELP_ACTIVE)
return
+ // DOPPLER EDIT ADDITION BEGIN - Ticket handling
+ if(handler && handler != usr.ckey)
+ var/response = tgui_alert(usr, "This ticket is already being handled by [handler]. Do you want to continue?", "Ticket already assigned", list("Yes", "No"))
+ if(!response || response == "No")
+ return
+ // DOPPLER EDIT ADDITION END
+
var/msg = "- AdminHelp marked as IC issue! -
"
msg += "Your issue has been determined by an administrator to be an in character issue and does NOT require administrator intervention at this time. For further resolution you should pursue options that are in character."
@@ -637,7 +669,11 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if("reject")
Reject()
if("reply")
- usr.client.cmd_ahelp_reply(initiator)
+ // DOPPLER EDIT START - ADMIN HANDLE
+ //usr.client.cmd_ahelp_reply(initiator) ORIGINAL
+ if(handle_issue())
+ usr.client.cmd_ahelp_reply(initiator)
+ // DOPPLER EDIT END
if("icissue")
ICIssue()
if("close")
@@ -646,6 +682,10 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
Resolve()
if("reopen")
Reopen()
+ // DOPPLER EDIT ADDITION START
+ if("handle_issue")
+ handle_issue()
+ // DOPPLER EDIT ADDITION END
/datum/admin_help/proc/player_ticket_panel()
var/list/dat = list("