mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 20:15:47 +01:00
Allow door buttons to not synchronize opening/closing (#40809)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user