From cc2bcf05d0dd8c3a7bb37d684dbe4eb275803c51 Mon Sep 17 00:00:00 2001 From: moxian Date: Sun, 8 Nov 2020 02:46:07 +0000 Subject: [PATCH 1/3] Reduce firelock opening time. --- code/game/machinery/doors/firedoor.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index c509675868b..4ac426f504d 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -22,8 +22,10 @@ auto_close_time = 50 assemblytype = /obj/structure/firelock_frame armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 70) + /// Whether can be opened by hand, when on non-help intent var/can_force = TRUE - var/force_open_time = 300 + /// How long does opening by hand take, in deciseconds. + var/force_open_time = 50 var/can_crush = TRUE var/nextstate = null var/boltslocked = TRUE From 6ab96447202518beaa4b7dabaf418140d67fe002 Mon Sep 17 00:00:00 2001 From: moxian Date: Sun, 8 Nov 2020 23:39:54 +0000 Subject: [PATCH 2/3] A bit of flavor to the manual firelock opening. --- code/game/machinery/doors/door.dm | 15 ++++++++----- code/game/machinery/doors/firedoor.dm | 32 +++++++++++++-------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index a86ea7d4a6b..d9568f69ac1 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -14,21 +14,26 @@ damage_deflection = 10 var/closingLayer = CLOSED_DOOR_LAYER var/visible = 1 + /// Is it currently in the process of opening or closing. var/operating = FALSE var/autoclose = 0 - var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them. - var/locked = FALSE //whether the door is bolted or not. + /// Whether the door detects things and mobs in its way and reopen or crushes them. + var/safe = TRUE + // Whether the door is bolted or not. + var/locked = FALSE var/glass = FALSE var/welded = FALSE var/normalspeed = TRUE var/auto_close_time = 150 var/auto_close_time_dangerous = 15 - var/assemblytype //the type of door frame to drop during deconstruction + /// The type of door frame to drop during deconstruction + var/assemblytype var/datum/effect_system/spark_spread/spark_system var/real_explosion_block //ignore this, just use explosion_block var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors var/emergency = FALSE - var/unres_sides = 0 //Unrestricted sides. A bitflag for which direction (if any) can open the door with no access + /// Unrestricted sides. A bitflag for which direction (if any) can open the door with no access. + var/unres_sides = 0 //Multi-tile doors var/width = 1 @@ -300,7 +305,7 @@ update_icon() if(visible && !glass) set_opacity(1) - operating = 0 + operating = FALSE air_update_turf(1) update_freelook_sight() if(safe) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 4ac426f504d..02d93d4c1fe 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -6,7 +6,7 @@ /obj/machinery/door/firedoor name = "firelock" - desc = "Apply crowbar." + desc = "A convenable firelock. Equipped with a manual lever for operating in case of emergency." icon = 'icons/obj/doors/doorfireglass.dmi' icon_state = "door_open" opacity = 0 @@ -22,12 +22,11 @@ auto_close_time = 50 assemblytype = /obj/structure/firelock_frame armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 70) - /// Whether can be opened by hand, when on non-help intent - var/can_force = TRUE /// How long does opening by hand take, in deciseconds. - var/force_open_time = 50 + var/manual_open_time = 50 var/can_crush = TRUE var/nextstate = null + /// Whether the "bolts" are "screwed". Used for deconstruction sequence. Has nothing to do with airlock bolting. var/boltslocked = TRUE var/active_alarm = FALSE var/list/affecting_areas @@ -91,20 +90,22 @@ if(operating || !density) return + if(welded) + to_chat(user, "[src] is welded shut!") + return + add_fingerprint(user) user.changeNext_move(CLICK_CD_MELEE) - if(can_force && (!glass || user.a_intent != INTENT_HELP)) - user.visible_message("[user] begins forcing \the [src].", \ - "You begin forcing \the [src].") - if(do_after(user, force_open_time, target = src)) - user.visible_message("[user] forces \the [src].", \ - "You force \the [src].") - open() - else if(glass) - user.visible_message("[user] bangs on \the [src].", - "You bang on \the [src].") - playsound(get_turf(src), 'sound/effects/glassknock.ogg', 10, 1) + user.visible_message( + "[user] tries to open \the [src] manually.", + "You operate the manual lever on \the [src].") + + if(do_after(user, manual_open_time, target = src)) + user.visible_message( + "[user] opens \the [src].", + "You open \the [src].") + open(auto_close = FALSE) /obj/machinery/door/firedoor/attackby(obj/item/C, mob/user, params) add_fingerprint(user) @@ -300,7 +301,6 @@ opacity = 1 explosion_block = 2 assemblytype = /obj/structure/firelock_frame/heavy - can_force = FALSE max_integrity = 550 /obj/item/firelock_electronics From 087ae6a47749d99a54fd594a28fe0ebb17b55830 Mon Sep 17 00:00:00 2001 From: moxian Date: Mon, 9 Nov 2020 06:15:41 +0000 Subject: [PATCH 3/3] SabreML tweaks --- code/game/machinery/doors/firedoor.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 02d93d4c1fe..b19888ba907 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -19,11 +19,11 @@ safe = FALSE layer = BELOW_OPEN_DOOR_LAYER closingLayer = CLOSED_FIREDOOR_LAYER - auto_close_time = 50 + auto_close_time = 5 SECONDS assemblytype = /obj/structure/firelock_frame armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 70) /// How long does opening by hand take, in deciseconds. - var/manual_open_time = 50 + var/manual_open_time = 5 SECONDS var/can_crush = TRUE var/nextstate = null /// Whether the "bolts" are "screwed". Used for deconstruction sequence. Has nothing to do with airlock bolting. @@ -98,13 +98,13 @@ user.changeNext_move(CLICK_CD_MELEE) user.visible_message( - "[user] tries to open \the [src] manually.", - "You operate the manual lever on \the [src].") + "[user] tries to open [src] manually.", + "You operate the manual lever on [src].") if(do_after(user, manual_open_time, target = src)) user.visible_message( - "[user] opens \the [src].", - "You open \the [src].") + "[user] opens [src].", + "You open [src].") open(auto_close = FALSE) /obj/machinery/door/firedoor/attackby(obj/item/C, mob/user, params)