From a0155d51c514a86070febdeedd43e57aa002e6d2 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 Nov 2013 18:01:52 -0500 Subject: [PATCH] Firedoors autoclosing --- code/game/machinery/doors/firedoor.dm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index af20d00b4ec..a4721e6c5d7 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -136,6 +136,11 @@ user << "\red \The [src] is welded solid!" return + var/area/A = get_area(src) + ASSERT(istype(A)) + if(A.master) + A = A.master + var/alarmed = A.air_doors_activated || A.fire if( istype(C, /obj/item/weapon/crowbar) || ( istype(C,/obj/item/weapon/twohanded/fireaxe) && C:wielded == 1 ) ) if(operating) @@ -160,14 +165,19 @@ user.visible_message("\red \The [user] forces \the [ blocked ? "welded" : "" ] [src] [density ? "open" : "closed"] with \a [C]!",\ "You force \the [ blocked ? "welded" : "" ] [src] [density ? "open" : "closed"] with \the [C]!",\ "You hear metal strain and groan, and a door [density ? "open" : "close"].") + var/needs_to_close = 0 if(density) + if(alarmed) + needs_to_close = 1 spawn(0) open() - spawn(5) - close() else spawn(0) close() + if(needs_to_close) + spawn(50) + if(alarmed) + nextstate = CLOSED return