/obj/machinery/computer/prisoner name = "Prisoner Management" icon = 'computer.dmi' icon_state = "explosive" req_access = list(access_armory) 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 var/malf_access = 0 /obj/machinery/computer/prisoner/attackby(I as obj, user as mob) if(istype(I, /obj/item/weapon/screwdriver)) playsound(src.loc, 'Screwdriver.ogg', 50, 1) if(do_after(user, 20)) if (src.stat & BROKEN) user << "\blue The broken glass falls out." var/obj/computerframe/A = new /obj/computerframe( src.loc ) new /obj/item/weapon/shard( src.loc ) var/obj/item/weapon/circuitboard/prisoner/M = new /obj/item/weapon/circuitboard/prisoner( A ) for (var/obj/C in src) C.loc = src.loc M.id = src.id A.circuit = M A.state = 3 A.icon_state = "3" A.anchored = 1 del(src) else user << "\blue You disconnect the monitor." var/obj/computerframe/A = new /obj/computerframe( src.loc ) var/obj/item/weapon/circuitboard/prisoner/M = new /obj/item/weapon/circuitboard/prisoner( A ) for (var/obj/C in src) C.loc = src.loc M.id = src.id A.circuit = M A.state = 4 A.icon_state = "4" A.anchored = 1 del(src) //else src.attack_hand(user) return /obj/machinery/computer/prisoner/attack_ai(var/mob/user as mob) user << "\red Access Denied" if(user.icon_state == "ai-malf" && malf_access == 0) user << "\red BZZZZZZ..." spawn(20) user << "\red ...ZZZZZZ *BEEP*" sleep(10) user << "\red You now have access to Prisoner Management console" malf_access = 1 if(malf_access == 1) return src.attack_hand(user) else return /obj/machinery/computer/prisoner/attack_paw(var/mob/user as mob) return /obj/machinery/computer/prisoner/attack_hand(var/mob/user as mob) if(..()) return user.machine = src var/dat dat += "Prisoner Implant Manager System
" if(screen == 0) dat += "
Unlock Console" else if(screen == 1) dat += "
Chemical Implants
" for(var/obj/item/weapon/implant/chem/C in world) if(!C.implanted) continue dat += "[C.imp_in.name] | Remaining Units: [C.reagents.total_volume] | Inject: " dat += "((1))" dat += "((5))" dat += "((10))
" dat += "
Tracking Implants
" for(var/obj/item/weapon/implant/tracking/T in world) if(!T.implanted) continue var/loc_display = "Unknown" var/mob/living/carbon/M = T.imp_in if(M.z == 1 && !istype(M.loc, /turf/space)) var/turf/mob_loc = get_turf_loc(M) loc_display = mob_loc.loc dat += "ID: [T.id] | Location: [loc_display]
" dat += "
Lock Console" user << browse(dat, "window=computer;size=400x500") onclose(user, "computer") return /obj/machinery/computer/engine/process() if(stat & (NOPOWER|BROKEN)) return use_power(500) src.updateDialog() return /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.machine = src if (href_list["killimplant"]) var/obj/item/weapon/implant/I = locate(href_list["killimplant"]) var/mob/living/carbon/R = I.imp_in if(R) var/choice = null if(istype(usr, /mob/living/silicon)) choice = input("Using this command is in violation of default laws.") in list("Continue", "Abort") if(choice != "Abort") choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort") if(choice == "Confirm") R << "You hear quiet beep from the base of your skull." message_admins("\blue [key_name_admin(usr)] gibbed [R.name]") if(prob(95)) R.gib() else R << "\blue you hear a click as the implant fails to detonate and disintegrates." else if (href_list["disable"]) var/choice = input("Are you certain you wish to deactivate the implant?") in list("Confirm", "Abort") if(choice == "Confirm") var/obj/item/weapon/implant/I = locate(href_list["disable"]) var/mob/living/carbon/R = I.imp_in R << "You hear quiet beep from the base of your skull." if(prob(1)) message_admins("\blue [key_name_admin(usr)] attempted to disarm [R.name]' implant but it glitched. Oops.") R.gib() else R << "\blue you hear a click as the implant disintegrates." del(I) else if (href_list["inject1"]) var/obj/item/weapon/implant/I = locate(href_list["inject1"]) var/mob/living/carbon/R = I.imp_in I.reagents.trans_to(R, 1) if(!I.reagents.total_volume) R << "You hear a faint click from your chest." del(I) else if (href_list["inject5"]) var/obj/item/weapon/implant/I = locate(href_list["inject5"]) var/mob/living/carbon/R = I.imp_in I.reagents.trans_to(R, 5) if(!I.reagents.total_volume) R << "You hear a faint click from your chest." del(I) else if (href_list["inject10"]) var/obj/item/weapon/implant/I = locate(href_list["inject10"]) var/mob/living/carbon/R = I.imp_in I.reagents.trans_to(R, 10) if(!I.reagents.total_volume) R << "You hear a faint click from your chest." del(I) else if (href_list["lock"]) if(src.allowed(usr)) screen = !screen else usr << "Unauthorized Access." else if (href_list["warn"]) var/warning = input(usr,"Message:","Enter your message here!","") var/obj/item/weapon/implant/I = locate(href_list["warn"]) var/mob/living/carbon/R = I.imp_in R << "\green You hear a voice in your head saying: '[warning]'" src.add_fingerprint(usr) src.updateUsrDialog() return