/obj/machinery/computer/robotics name = "Robotics Control" icon = 'computer.dmi' icon_state = "id" req_access = list(access_captain, access_robotics) var/id = 0.0 var/temp = null var/status = 0 var/timeleft = 60 var/stop = 0.0 var/screen = 0 // 0 - Main Menu, 1 - Cyborg Status, 2 - Kill 'em All! -- In text /obj/machinery/computer/robotics/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/robotics/M = new /obj/item/weapon/circuitboard/robotics( 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/robotics/M = new /obj/item/weapon/circuitboard/robotics( 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/robotics/attack_ai(var/mob/user as mob) return src.attack_hand(user) /obj/machinery/computer/robotics/attack_paw(var/mob/user as mob) return src.attack_hand(user) return /obj/machinery/computer/robotics/attack_hand(var/mob/user as mob) if(..()) return user.machine = src var/dat if (src.temp) dat = "[src.temp]

Clear Screen" else if(screen == 0) dat += "

Cyborg Control Console


" dat += "1. Cyborg Status
" dat += "2. Emergency Full Destruct
" if(screen == 1) for(var/mob/living/silicon/robot/R in world) dat += "[R.name] |" if(R.stat) dat += " Not Responding |" else dat += " Operating Normally |" if(R.cell) dat += " Battery Installed ([R.cell.charge]/[R.cell.maxcharge]) |" else dat += " No Cell Installed |" if(R.module) dat += " Module Installed ([R.module.name]) |" else dat += " No Module Installed |" dat += "(Destroy)" dat += "
" dat += "(Return to Main Menu)
" if(screen == 2) if(!src.status) dat += {"
Emergency Robot Self-Destruct
\nStatus: Off
\n
\nCountdown: [src.timeleft]/60 \[Reset\]
\n
\nStart Sequence
\n
\nClose"} else dat = {"Emergency Robot Self-Destruct
\nStatus: Activated
\n
\nCountdown: [src.timeleft]/60 \[Reset\]
\n
\nStop Sequence
\n
\nClose"} dat += "(Return to Main Menu)
" 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/robotics/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["eject"]) src.temp = {"Destroy Robots?

\[Swipe ID to initiate destruction sequence\]
Cancel"} else if (href_list["eject2"]) var/obj/item/weapon/card/id/I = usr.equipped() if (istype(I)) if(src.check_access(I)) if (!status) src.status = 1 src.start_sequence() src.temp = null else usr << "\red Access Denied." else if (href_list["stop"]) src.temp = {" Stop Robot Destruction Sequence?

Yes
No"} else if (href_list["stop2"]) src.stop = 1 src.temp = null else if (href_list["reset"]) src.timeleft = 60 else if (href_list["temp"]) src.temp = null else if (href_list["screen"]) switch(href_list["screen"]) if("0") screen = 0 if("1") screen = 1 if("2") screen = 2 else if (href_list["killbot"]) var/mob/living/silicon/robot/R = locate(href_list["killbot"]) if(R) var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort") if(choice == "Confirm") if(R) R.self_destruct() src.add_fingerprint(usr) src.updateUsrDialog() return /obj/machinery/computer/robotics/proc/start_sequence() do if(src.stop) src.stop = 0 return src.timeleft-- sleep(10) while(src.timeleft) for(var/mob/living/silicon/robot/R in world) R.self_destruct() return