From 9cb39cf07d36abac4cc27772411e670549335bf3 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 19 Feb 2017 03:37:05 +0100 Subject: [PATCH] Add initial version of door alarms --- code/game/area/areas.dm | 6 ++++-- code/game/machinery/doors/firedoor.dm | 23 +++++++++++++++++------ icons/obj/doors/Doorfire.dmi | Bin 3783 -> 8021 bytes 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 96ffc936a7b..eb743afad62 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -81,9 +81,10 @@ /area/proc/air_doors_close() if(!air_doors_activated) - air_doors_activated = 1 + air_doors_activated = TRUE for(var/obj/machinery/door/firedoor/D in src) if(!D.welded) + D.activate_alarm() if(D.operating) D.nextstate = CLOSED else if(!D.density) @@ -92,9 +93,10 @@ /area/proc/air_doors_open() if(air_doors_activated) - air_doors_activated = 0 + air_doors_activated = FALSE for(var/obj/machinery/door/firedoor/D in src) if(!D.welded) + D.deactivate_alarm() if(D.operating) D.nextstate = OPEN else if(D.density) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 29270a54c99..25aaa6d810b 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -13,9 +13,9 @@ icon = 'icons/obj/doors/Doorfireglass.dmi' icon_state = "door_open" opacity = 0 - density = 0 - heat_proof = 1 - glass = 1 + density = FALSE + heat_proof = TRUE + glass = TRUE power_channel = ENVIRON closed_layer = 3.11 auto_close_time = 50 @@ -24,9 +24,10 @@ var/force_open_time = 300 var/assembly_type = /obj/structure/firelock_frame var/nextstate = null - var/welded = 0 - var/boltslocked = 1 - var/can_deconstruct = 1 + var/welded = FALSE + var/boltslocked = TRUE + var/can_deconstruct = TRUE + var/active_alarm = TRUE /obj/machinery/door/firedoor/Bumped(atom/AM) if(p_open || operating) @@ -127,6 +128,8 @@ /obj/machinery/door/firedoor/update_icon() overlays.Cut() + if(active_alarm && !(stat & NOPOWER)) + overlays += image('icons/obj/doors/Doorfire.dmi', "alarmlights") if(density) icon_state = "door_closed" if(welded) @@ -135,6 +138,14 @@ icon_state = "door_open" if(welded) overlays += "welded_open" + +/obj/machinery/door/firedoor/proc/activate_alarm() + active_alarm = TRUE + update_icon() + +/obj/machinery/door/firedoor/proc/deactivate_alarm() + active_alarm = FALSE + update_icon() /obj/machinery/door/firedoor/open() . = ..() diff --git a/icons/obj/doors/Doorfire.dmi b/icons/obj/doors/Doorfire.dmi index 1f3999b774e08340d7fc4bbdb39d94d9ad7fdb0c..94ec8b967fbf9fdc7bf301a121716d30fd313bf3 100644 GIT binary patch literal 8021 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