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 += "