mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 11:07:12 +01:00
Merge pull request #14846 from moxian/firelock-faster
Firelocks can be opened by hand in reasonable time
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -19,13 +19,14 @@
|
||||
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)
|
||||
var/can_force = TRUE
|
||||
var/force_open_time = 300
|
||||
/// How long does opening by hand take, in deciseconds.
|
||||
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.
|
||||
var/boltslocked = TRUE
|
||||
var/active_alarm = FALSE
|
||||
var/list/affecting_areas
|
||||
@@ -89,20 +90,22 @@
|
||||
if(operating || !density)
|
||||
return
|
||||
|
||||
if(welded)
|
||||
to_chat(user, "<span class='warning'>[src] is welded shut!</span>")
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
|
||||
if(can_force && (!glass || user.a_intent != INTENT_HELP))
|
||||
user.visible_message("<span class='notice'>[user] begins forcing \the [src].</span>", \
|
||||
"<span class='notice'>You begin forcing \the [src].</span>")
|
||||
if(do_after(user, force_open_time, target = src))
|
||||
user.visible_message("<span class='notice'>[user] forces \the [src].</span>", \
|
||||
"<span class='notice'>You force \the [src].</span>")
|
||||
open()
|
||||
else if(glass)
|
||||
user.visible_message("<span class='warning'>[user] bangs on \the [src].</span>",
|
||||
"<span class='warning'>You bang on \the [src].</span>")
|
||||
playsound(get_turf(src), 'sound/effects/glassknock.ogg', 10, 1)
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] tries to open [src] manually.</span>",
|
||||
"<span class='notice'>You operate the manual lever on [src].</span>")
|
||||
|
||||
if(do_after(user, manual_open_time, target = src))
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] opens [src].</span>",
|
||||
"<span class='notice'>You open [src].</span>")
|
||||
open(auto_close = FALSE)
|
||||
|
||||
/obj/machinery/door/firedoor/attackby(obj/item/C, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
@@ -298,7 +301,6 @@
|
||||
opacity = 1
|
||||
explosion_block = 2
|
||||
assemblytype = /obj/structure/firelock_frame/heavy
|
||||
can_force = FALSE
|
||||
max_integrity = 550
|
||||
|
||||
/obj/item/firelock_electronics
|
||||
|
||||
Reference in New Issue
Block a user