Cleaner implementation of secure electronics

This commit is contained in:
mwerezak
2014-05-30 20:07:20 -04:00
parent 7a6bbf2249
commit 2ad2be668f
2 changed files with 13 additions and 16 deletions
+10 -11
View File
@@ -1330,11 +1330,8 @@ About the new airlock wires panel:
..()
return
/obj/machinery/door/airlock/New(var/newloc, var/secured=-1)
..(newloc)
if (secured != -1)
secured_wires = secured
/obj/machinery/door/airlock/New()
..()
//wires
if (!secured_wires)
@@ -1343,11 +1340,7 @@ About the new airlock wires panel:
airlockIndexToWireColor = globalAirlockIndexToWireColor
airlockWireColorToIndex = globalAirlockWireColorToIndex
else
var/wire_assignments = CreateRandomAirlockWires()
airlockWireColorToFlag = wire_assignments[1]
airlockIndexToFlag = wire_assignments[2]
airlockIndexToWireColor = wire_assignments[3]
airlockWireColorToIndex = wire_assignments[4]
randomize_wires()
if(src.closeOtherId != null)
spawn (5)
@@ -1355,7 +1348,13 @@ About the new airlock wires panel:
if(A.closeOtherId == src.closeOtherId && A != src)
src.closeOther = A
break
/obj/machinery/door/airlock/proc/randomize_wires()
var/wire_assignments = CreateRandomAirlockWires()
airlockWireColorToFlag = wire_assignments[1]
airlockIndexToFlag = wire_assignments[2]
airlockIndexToWireColor = wire_assignments[3]
airlockWireColorToIndex = wire_assignments[4]
/obj/machinery/door/airlock/proc/prison_open()
src.locked = 0
@@ -271,14 +271,12 @@ obj/structure/door_assembly
else
path = text2path("/obj/machinery/door/airlock[airlock_type]")
var/obj/machinery/door/airlock/door = null
if (istype(electronics, /obj/item/weapon/airlock_electronics/secure))
new path(src.loc, 1)
else
door = new path(src.loc)
var/obj/machinery/door/airlock/door = new path(src.loc)
door.assembly_type = type
door.electronics = src.electronics
if (istype(electronics, /obj/item/weapon/airlock_electronics/secure))
door.randomize_wires()
if(src.electronics.one_access)
door.req_access = null
door.req_one_access = src.electronics.conf_access