Allow door buttons to not synchronize opening/closing (#40809)

This commit is contained in:
AnturK
2018-10-10 06:56:30 +02:00
committed by Tad Hardesty
parent ab5ad3b2ab
commit ea0034e5b3
2 changed files with 7 additions and 3 deletions
+5 -2
View File
@@ -181,6 +181,7 @@
desc = "A door remote control switch."
var/normaldoorcontrol = FALSE
var/specialfunctions = OPEN // Bitflag, see assembly file
var/sync_doors = TRUE
/obj/machinery/button/door/indestructible
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
@@ -189,10 +190,12 @@
if(!device)
if(normaldoorcontrol)
var/obj/item/assembly/control/airlock/A = new(src)
device = A
A.specialfunctions = specialfunctions
device = A
else
device = new /obj/item/assembly/control(src)
var/obj/item/assembly/control/C = new(src)
C.sync_doors = sync_doors
device = C
..()
/obj/machinery/button/door/incinerator_vent_toxmix
+2 -1
View File
@@ -6,6 +6,7 @@
var/id = null
var/can_change_id = 0
var/cooldown = FALSE //Door cooldowns
var/sync_doors = TRUE
/obj/item/assembly/control/examine(mob/user)
..()
@@ -17,7 +18,7 @@
var/openclose
for(var/obj/machinery/door/poddoor/M in GLOB.machines)
if(M.id == src.id)
if(openclose == null)
if(openclose == null || !sync_doors)
openclose = M.density
INVOKE_ASYNC(M, openclose ? /obj/machinery/door/poddoor.proc/open : /obj/machinery/door/poddoor.proc/close)
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10)