From c4b6670c7a4ddcea63f3a074bd5da66f845e17b0 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 6 Nov 2013 20:18:56 -0500 Subject: [PATCH] Firedoors autoclosing after a while --- baystation12.dme | 2 +- code/game/machinery/doors/firedoor.dm | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 43a25e4c66d..5167dc43992 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1400,8 +1400,8 @@ #include "code\ZAS\FEA_system.dm" #include "code\ZAS\Fire.dm" #include "code\ZAS\Functions.dm" -#include "code\ZAS\NewSettings.dm" #include "code\ZAS\Plasma.dm" +#include "code\ZAS\Variable Settings.dm" #include "code\ZAS\ZAS_Turfs.dm" #include "code\ZAS\ZAS_Zones.dm" #include "interface\interface.dm" 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