From fb14cdb6b78cba662b459880d5bb148c0110b206 Mon Sep 17 00:00:00 2001 From: Birdtalon Date: Tue, 28 Aug 2018 19:17:42 +0100 Subject: [PATCH] makes procs use clients again --- code/controllers/subsystem/tickets.dm | 34 ++++++++++----------------- code/modules/admin/verbs/adminhelp.dm | 2 +- code/modules/admin/verbs/adminpm.dm | 6 ++--- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/code/controllers/subsystem/tickets.dm b/code/controllers/subsystem/tickets.dm index a2640ea70ed..d514a285515 100644 --- a/code/controllers/subsystem/tickets.dm +++ b/code/controllers/subsystem/tickets.dm @@ -65,17 +65,15 @@ SUBSYSTEM_DEF(tickets) resolveTicket(T.ticketNum) //Open a new ticket and populate details then add to the list of open tickets -/datum/controller/subsystem/tickets/proc/newTicket(mob/M, passedContent, title) - if(!M || !passedContent) +/datum/controller/subsystem/tickets/proc/newTicket(client/C, passedContent, title) + if(!C || !passedContent) return - var/client/C = M.client - //Check if the user has an open ticket already within the cooldown period, if so we don't create a new one and re-set the cooldown period - var/datum/admin_ticket/existingTicket = checkForOpenTicket(M) + var/datum/admin_ticket/existingTicket = checkForOpenTicket(C) if(existingTicket) existingTicket.setCooldownPeriod() - to_chat(C, "Your ticket #[existingTicket.ticketNum] remains open! Visit \"My tickets\" under the Admin Tab to view it.") + to_chat(C.mob, "Your ticket #[existingTicket.ticketNum] remains open! Visit \"My tickets\" under the Admin Tab to view it.") return if(!title) @@ -83,8 +81,8 @@ SUBSYSTEM_DEF(tickets) var/datum/admin_ticket/T = new(title, passedContent) T.clientName = C - T.locationSent = M.loc.name - T.mobControlled = M + T.locationSent = C.mob.loc.name + T.mobControlled = C.mob //Inform the user that they have opened a ticket to_chat(C, "You have opened admin ticket number #[(SStickets.getTicketCounter() - 1)]! Please be patient and we will help you soon!") @@ -111,16 +109,14 @@ SUBSYSTEM_DEF(tickets) return TRUE //Check if the user already has a ticket open and within the cooldown period. -/datum/controller/subsystem/tickets/proc/checkForOpenTicket(mob/M) - var/client/C = M.client +/datum/controller/subsystem/tickets/proc/checkForOpenTicket(client/C) for(var/datum/admin_ticket/T in allTickets) if(T.clientName == C && T.ticketState == ADMIN_TICKET_OPEN && (T.ticketCooldown > world.time)) return T return FALSE //Check if the user has ANY ticket not resolved or closed. -/datum/controller/subsystem/tickets/proc/checkForTicket(mob/M) - var/client/C = M.client +/datum/controller/subsystem/tickets/proc/checkForTicket(client/C) var/list/tickets = list() for(var/datum/admin_ticket/T in allTickets) if(T.clientName == C && (T.ticketState == ADMIN_TICKET_OPEN || T.ticketState == ADMIN_TICKET_STALE)) @@ -134,8 +130,7 @@ SUBSYSTEM_DEF(tickets) var/datum/admin_ticket/T = SStickets.allTickets[N] return T.clientName -/datum/controller/subsystem/tickets/proc/assignAdminToTicket(mob/M, var/N) - var/client/C = M.client +/datum/controller/subsystem/tickets/proc/assignAdminToTicket(client/C, var/N) var/datum/admin_ticket/T = SStickets.allTickets[N] T.assignAdmin(C) return TRUE @@ -173,8 +168,7 @@ SUBSYSTEM_DEF(tickets) ticketCooldown = world.time + ADMIN_TICKET_DUPLICATE_COOLDOWN //Set the last admin who responded as the client passed as an arguement. -/datum/admin_ticket/proc/setLastAdminResponse(mob/M) - var/client/C = M.client +/datum/admin_ticket/proc/setLastAdminResponse(client/C) lastAdminResponse = C lastResponseTime = worldtime2text() @@ -191,15 +185,13 @@ SUBSYSTEM_DEF(tickets) return "STALE" //Assign the client passed to var/adminAsssigned -/datum/admin_ticket/proc/assignAdmin(mob/M, var/N) - var/client/C = M.client +/datum/admin_ticket/proc/assignAdmin(client/C, var/N) if(!C) return adminAssigned = C return TRUE -/datum/admin_ticket/proc/addResponse(mob/M, msg) - var/client/C = M.client +/datum/admin_ticket/proc/addResponse(client/C, msg) if(C.holder) setLastAdminResponse(C) M = "[C]: [msg]" @@ -310,7 +302,7 @@ UI STUFF /datum/controller/subsystem/tickets/proc/userDetailUI(mob/user) //dat - var/tickets = checkForTicket(user) + var/tickets = checkForTicket(user.client) var/dat dat += "

Your open tickets

" dat += "" diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 84695ee799c..9d972598376 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -125,7 +125,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," ticketNum = SStickets.getTicketCounter() // ticketNum is the ticket ready to be assigned. msg = "[selected_type]: [key_name(src, TRUE, selected_type)] (?) (PP) (VV) (SM) ([admin_jump_link(mob)]) (CA) (TICKET) [ai_found ? " (CL)" : ""](TAKE) :[msg]" //Open a new adminticket and inform the user. - SStickets.newTicket(src.mob, prunedmsg, msg) + SStickets.newTicket(src, prunedmsg, msg) for(var/client/X in modholders + adminholders) if(X.prefs.sound & SOUND_ADMINHELP) X << 'sound/effects/adminhelp.ogg' diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index fb28b6db9f2..1287b96181a 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -187,15 +187,15 @@ return //Check if the mob being PM'd has any open admin tickets. var/tickets = list() - tickets = SStickets.checkForTicket(C.mob) + tickets = SStickets.checkForTicket(C) if(tickets) for(var/datum/admin_ticket/i in tickets) i.addResponse(src, msg) // Add this response to their open tickets. return - tickets = SStickets.checkForTicket(C.mob) + tickets = SStickets.checkForTicket(C) if(check_rights(R_ADMIN|R_MOD, 0, C.mob)) //Is the person being pm'd an admin? If so we check if the pm'er has open tickets - tickets = SStickets.checkForTicket(C.mob) + tickets = SStickets.checkForTicket(C) if(tickets) for(var/datum/admin_ticket/i in tickets) i.addResponse(src, msg)