From c55e71c739242f1db2ea5e39431023e51fd14a3f Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 14 Jan 2014 15:53:24 +1300 Subject: [PATCH 1/6] Fixes #4295 Issue: firedoor not correctly entering alarmed state. Todo: cleanup fix before PR --- code/game/area/areas.dm | 1 + code/game/machinery/doors/firedoor.dm | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6695fe44027..22da3e41cc1 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -100,6 +100,7 @@ return if( !fire ) fire = 1 + master.fire = 1 updateicon() mouse_opacity = 0 for(var/obj/machinery/door/firedoor/D in all_doors) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 47ebf869d74..fc9a386c28e 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -14,6 +14,7 @@ var/net_id var/list/areas_added var/list/users_to_open + var/alarmed = 0 /obj/machinery/door/firedoor/New() . = ..() @@ -92,7 +93,11 @@ ASSERT(istype(A)) if(A.master) A = A.master - var/alarmed = A.air_doors_activated || A.fire + + if(A.air_doors_activated || A.fire) + alarmed = 1 + +// var/alarmed = A.air_doors_activated || A.fire var/answer = alert(user, "Would you like to [density ? "open" : "close"] this [src.name]?[ alarmed && density ? "\nNote that by doing so, you acknowledge any damages from opening this\n[src.name] as being your own fault, and you will be held accountable under the law." : ""]",\ "\The [src]", "Yes, [density ? "open" : "close"]", "No") @@ -116,7 +121,7 @@ spawn(50) if(alarmed) nextstate = CLOSED - + close() /obj/machinery/door/firedoor/attackby(obj/item/weapon/C as obj, mob/user as mob) add_fingerprint(user) From 5827e5a022ca1200cd8e391b061d0d827b80acb2 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 14 Jan 2014 15:59:58 +1300 Subject: [PATCH 2/6] Fixes #4296 --- code/modules/clothing/spacesuits/rig.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 05411337bc1..2ea4ffcc618 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -179,7 +179,7 @@ //Atmospherics Rig (BS12) /obj/item/clothing/head/helmet/space/rig/atmos - desc = "A special helmet designed for work in a hazardou, low pressure environments. Has reduced radiation shielding and protective plating to allow for greater mobility." + desc = "A special helmet designed for work in a hazardous, low pressure environments. Has reduced radiation shielding and protective plating to allow for greater mobility." name = "atmospherics hardsuit helmet" icon_state = "rig0-atmos" item_state = "atmos_helm" From 4953608bda48f2539e657e15035a7eec716224ff Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 14 Jan 2014 18:47:29 +1300 Subject: [PATCH 3/6] Previous fix code cleanup Fixes #4295 Todo: investigate sub-areas not inheriting var/fire --- code/game/area/areas.dm | 1 - code/game/machinery/doors/firedoor.dm | 10 +++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 22da3e41cc1..6695fe44027 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -100,7 +100,6 @@ return if( !fire ) fire = 1 - master.fire = 1 updateicon() mouse_opacity = 0 for(var/obj/machinery/door/firedoor/D in all_doors) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index fc9a386c28e..b7f78fd7c6a 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -14,7 +14,6 @@ var/net_id var/list/areas_added var/list/users_to_open - var/alarmed = 0 /obj/machinery/door/firedoor/New() . = ..() @@ -91,13 +90,10 @@ var/area/A = get_area(src) ASSERT(istype(A)) - if(A.master) - A = A.master + /*if(A.master) // var/fire in master area never gets set, so will always be 0 + A = A.master*/ - if(A.air_doors_activated || A.fire) - alarmed = 1 - -// var/alarmed = A.air_doors_activated || A.fire + var/alarmed = (A.air_doors_activated || A.fire) var/answer = alert(user, "Would you like to [density ? "open" : "close"] this [src.name]?[ alarmed && density ? "\nNote that by doing so, you acknowledge any damages from opening this\n[src.name] as being your own fault, and you will be held accountable under the law." : ""]",\ "\The [src]", "Yes, [density ? "open" : "close"]", "No") From e145b616810fd1a04fd23fa69146e76bd9ef8d84 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 15 Jan 2014 18:18:58 +1300 Subject: [PATCH 4/6] Refined earlier fix Tried a couple of other solutions, but this ended up being the most reliable. Now checks all areas associated with the firedoor to see if they should still be down. Also makes a final check before closing the door in case the fire alarm turns off in the middle of an autoclose cycle. --- code/game/area/areas.dm | 2 ++ code/game/machinery/doors/firedoor.dm | 13 ++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6695fe44027..f69b2a35e3f 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -100,6 +100,7 @@ return if( !fire ) fire = 1 + master.fire = 1 //used for firedoor checks updateicon() mouse_opacity = 0 for(var/obj/machinery/door/firedoor/D in all_doors) @@ -122,6 +123,7 @@ /area/proc/firereset() if (fire) fire = 0 + master.fire = 0 //used for firedoor checks mouse_opacity = 0 updateicon() for(var/obj/machinery/door/firedoor/D in all_doors) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index b7f78fd7c6a..3fd77b8b34b 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -88,12 +88,11 @@ user << "Access denied." return - var/area/A = get_area(src) - ASSERT(istype(A)) - /*if(A.master) // var/fire in master area never gets set, so will always be 0 - A = A.master*/ + var/alarmed = 0 - var/alarmed = (A.air_doors_activated || A.fire) + for(var/area/A in areas_added) //Checks if there are fire alarms in any areas associated with that firedoor + if(A.fire || A.air_doors_activated) + alarmed = 1 var/answer = alert(user, "Would you like to [density ? "open" : "close"] this [src.name]?[ alarmed && density ? "\nNote that by doing so, you acknowledge any damages from opening this\n[src.name] as being your own fault, and you will be held accountable under the law." : ""]",\ "\The [src]", "Yes, [density ? "open" : "close"]", "No") @@ -115,6 +114,10 @@ if(needs_to_close) spawn(50) + alarmed = 0 + for(var/area/A in areas_added) //Just in case a fire alarm is turned off while the firedoor is going through an autoclose cycle + if(A.fire || A.air_doors_activated) + alarmed = 1 if(alarmed) nextstate = CLOSED close() From c83537a6a9bcda707c6d52f74e5b015ea36877c7 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 15 Jan 2014 19:13:06 +1300 Subject: [PATCH 5/6] Sink filling typo No more filling the the bucket using the sink. --- code/game/objects/structures/watercloset.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index eb59003aced..5cecc8461d4 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -354,7 +354,7 @@ if (istype(O, /obj/item/weapon/reagent_containers)) var/obj/item/weapon/reagent_containers/RG = O RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - user.visible_message("\blue [user] fills the [RG] using \the [src].","\blue You fill the [RG] using \the [src].") + user.visible_message("\blue [user] fills \the [RG] using \the [src].","\blue You fill \the [RG] using \the [src].") return else if (istype(O, /obj/item/weapon/melee/baton)) From 682dfd5670e512627410abfb483da5822c4475c5 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 15 Jan 2014 20:03:12 +1300 Subject: [PATCH 6/6] More typo fixes Missed these in the last commit. --- code/game/objects/structures/watercloset.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 5cecc8461d4..0a9dc69bacd 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -153,7 +153,7 @@ if(I.type == /obj/item/device/analyzer) user << "The water temperature seems to be [watertemp]." if(istype(I, /obj/item/weapon/wrench)) - user << "You begin to adjust the temperature valve with the [I]." + user << "You begin to adjust the temperature valve with \the [I]." if(do_after(user, 50)) switch(watertemp) if("normal") @@ -162,7 +162,7 @@ watertemp = "boiling" if("boiling") watertemp = "normal" - user.visible_message("[user] adjusts the shower with the [I].", "You adjust the shower with the [I].") + user.visible_message("[user] adjusts the shower with \the [I].", "You adjust the shower with \the [I].") add_fingerprint(user) /obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up