//this computer displays status and remotely activates multiple shutters / blast doors
//todo: lock / electrify specified area doors? might be a bit gamebreaking
/obj/machinery/computer/lockdown
//for reference
/*name = "Lockdown Control"
desc = "Used to control blast doors."
icon_state = "lockdown"
circuit = "/obj/item/weapon/circuitboard/lockdown"
var/connected_doors
var/department*/
New()
..()
connected_doors = new/list()
//only load blast doors for map-defined departments for the moment
//door networks are hardcoded here.
switch(department)
if("Engineering")
//Antiqua SinguloEngineering
connected_doors.Add("Engineering Primary Access")
connected_doors.Add("Engineering Secondary Access")
connected_doors.Add("Fore Maintenance Access")
connected_doors.Add("Aft Maintenance Access")
connected_doors.Add("Particle Accelerator Rad Shielding")
connected_doors.Add("Foreward Emitter Array Rad Shielding")
connected_doors.Add("Aftward Emitter Array Rad Shielding")
connected_doors.Add("Starboard Observation Rad Shielding")
connected_doors.Add("Atmospheric Storage Rad Shielding")
connected_doors.Add("Construction Storage Rad Shielding")
connected_doors.Add("Engineering Secure Storage")
//Antiqua RustEngineering
connected_doors.Add("Port vessel entry")
connected_doors.Add("Starboard vessel entry")
connected_doors.Add("Central aft shell access")
connected_doors.Add("Port aft shell access")
connected_doors.Add("Starboard aft shell access")
if("Medbay")
//Exodus Medbay
connected_doors.Add("Genetics Outer Shutters")
connected_doors.Add("Genetics Inner Shutters")
connected_doors.Add("Chemistry Outer Shutters")
connected_doors.Add("Observation Shutters")
connected_doors.Add("Patient Room 1 Shutters")
connected_doors.Add("Patient Room 2 Shutters")
connected_doors.Add("Patient Room 3 Shutters")
for(var/net in connected_doors)
connected_doors[net] = new/list()
world << "network: [net]"
//loop through the world, grabbing all the relevant doors
spawn(1)
for(var/obj/machinery/door/poddoor/D in world)
if(D.id in connected_doors)
var/list/L = connected_doors[D.id]
L.Add(D)
attack_ai(mob/user)
attack_hand(user)
attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
if (!istype(user, /mob/living/silicon))
user.machine = null
user << browse(null, "window=lockdown")
return
var/t = "Lockdown Control
"
t += "Close
| " + curNetId + " | " t += "Disable lockdown / Enable lockdown | " t += "||
| Shutter | " else t += "Blast door | " if(D.density) //t += "Open - Close | " t += "Closed" else //t += "Open - Close | " t += "Open" t += "