/obj/machinery/computer/prisoner name = "prisoner management console" desc = "A console that can be used to track tracking implants, and deliver an activation signal to chemical implants." icon_screen = "explosive" light_color = LIGHT_COLOR_ORANGE req_access = list(access_armory) circuit = /obj/item/circuitboard/prisoner var/id = 0.0 var/temp = null var/status = 0 var/timeleft = 60 var/stop = 0.0 var/screen = 0 // 0 - No Access Denied, 1 - Access allowed /obj/machinery/computer/prisoner/attack_ai(mob/user) return src.attack_hand(user) /obj/machinery/computer/prisoner/attack_hand(mob/user) if(..()) return user.set_machine(src) var/dat dat += "Prisoner Implant Manager System
" if(screen == 0) dat += "
Unlock Console" else if(screen == 1) dat += "
Chemical Implants
" var/turf/Tr = null for(var/obj/item/implant/chem/C in implants) Tr = get_turf(C) if(Tr && !isStationLevel(Tr.z)) continue//Out of range if(!C.implanted) continue dat += "[C.imp_in.name] | Remaining Units: [C.reagents.total_volume] | Inject: " dat += "((1))" dat += "((5))" dat += "((10))
" dat += "********************************
" dat += "
Tracking Implants
" for(var/obj/item/implant/tracking/T in implants) Tr = get_turf(T) if(Tr && !isStationLevel(Tr.z)) continue//Out of range if(!T.implanted) continue var/loc_display = "Unknown" var/mob/living/carbon/M = T.imp_in if(isStationLevel(M.z) && !istype(M.loc, /turf/space)) var/turf/mob_loc = get_turf(M) loc_display = mob_loc.loc if(T.malfunction) loc_display = pick(teleportlocs) dat += "ID: [T.id] | Location: [loc_display]
" dat += "(Message Holder) |
" dat += "********************************
" dat += "
Lock Console" var/datum/browser/computer_win = new(user, "computer", capitalize_first_letters(name), 400, 500) computer_win.set_content(dat) computer_win.open() /obj/machinery/computer/prisoner/process() if(!..()) src.updateDialog() /obj/machinery/computer/prisoner/Topic(href, href_list) if(..()) return if((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.set_machine(src) if(href_list["inject1"]) var/obj/item/implant/I = locate(href_list["inject1"]) if(I) I.activate(1) else if(href_list["inject5"]) var/obj/item/implant/I = locate(href_list["inject5"]) if(I) I.activate(5) else if(href_list["inject10"]) var/obj/item/implant/I = locate(href_list["inject10"]) if(I) I.activate(10) else if(href_list["lock"]) if(src.allowed(usr)) screen = !screen else to_chat(usr, "Unauthorized Access.") else if(href_list["warn"]) var/warning = sanitize(input(usr,"Message:","Enter your message here!","")) if(!warning) return var/obj/item/implant/I = locate(href_list["warn"]) if((I)&&(I.imp_in)) var/mob/living/carbon/R = I.imp_in to_chat(R, "You hear a voice in your head saying: '[warning]'") src.add_fingerprint(usr) src.updateUsrDialog()