Emergency door release (#16559)

Added an extra button to all station dorms, an emergency door release. This can be pulled by the occupants to immediately unbolt and open the door even if it is unpowered.

Why we need this:
During deadshifts, it's somewhat common for players to go and scene in a dorm and lock the door. Then if the power goes out, they generally need to ahelp to get out, because they'll have bolted themselves in. Obviously there are a few ways to solve this, such as special doors, making the room always powered or making a variation of the lock itself that doesn't use power.
However, I felt that having an extra lever allows people to keep whatever vibe they want as for power in their scenes, has a cool vibe itself, and I also have plans for how I can use this specifically in events.
This commit is contained in:
SatinIsle
2024-11-04 21:20:53 +01:00
committed by GitHub
parent a1576977cc
commit 4b7cdb86c4
5 changed files with 150 additions and 0 deletions
+20
View File
@@ -221,3 +221,23 @@
spawn(0)
if(SG?.anchored)
SG.toggle()
/obj/machinery/button/remote/airlock/release
icon = 'icons/obj/door_release.dmi'
name = "emergency door release"
desc = "Forces the opening of doors in an emergency, regardless of whether they're powered."
use_power = USE_POWER_OFF
idle_power_usage = 0
active_power_usage = 0
/obj/machinery/button/remote/airlock/release/trigger()
for(var/obj/machinery/door/airlock/D in machines)
if(D.id_tag == id)
if(D.locked)
D.unlock(1)
if(D.density)
D.open(1)
/obj/machinery/button/remote/airlock/release/powered()
return 1 //Is always able to be used
Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

+46
View File
@@ -2120,6 +2120,12 @@
icon_state = "2-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/button/remote/airlock/release{
dir = 8;
pixel_y = -7;
pixel_x = 27;
id = "dorm5"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room5)
"fn" = (
@@ -2641,6 +2647,12 @@
icon_state = "2-4"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/button/remote/airlock/release{
dir = 4;
pixel_y = -7;
pixel_x = -27;
id = "dorm4"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room4)
"gQ" = (
@@ -6090,6 +6102,12 @@
icon_state = "2-4"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/button/remote/airlock/release{
dir = 4;
pixel_y = -7;
pixel_x = -27;
id = "dorm6"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room6)
"qG" = (
@@ -7288,6 +7306,12 @@
icon_state = "2-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/button/remote/airlock/release{
dir = 8;
pixel_y = -7;
pixel_x = 27;
id = "dorm3"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room3)
"uf" = (
@@ -13390,6 +13414,11 @@
/obj/structure/bed/chair/sofa/corp/left{
dir = 4
},
/obj/machinery/button/remote/airlock/release{
pixel_y = 27;
pixel_x = 7;
id = "dorm8"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room8)
"Lu" = (
@@ -15037,6 +15066,12 @@
/obj/structure/bed/chair/sofa/corp/left{
dir = 8
},
/obj/machinery/button/remote/airlock/release{
dir = 8;
pixel_y = -7;
pixel_x = 27;
id = "dorm1"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room1)
"PU" = (
@@ -15368,6 +15403,11 @@
/obj/structure/bed/chair/sofa/corp/right{
dir = 8
},
/obj/machinery/button/remote/airlock/release{
pixel_y = 27;
pixel_x = -7;
id = "dorm7"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room7)
"QP" = (
@@ -16945,6 +16985,12 @@
/obj/structure/bed/chair/sofa/corp/right{
dir = 4
},
/obj/machinery/button/remote/airlock/release{
dir = 4;
pixel_y = -7;
pixel_x = -27;
id = "dorm2"
},
/turf/simulated/floor/wood,
/area/groundbase/dorms/room2)
"Vz" = (
+44
View File
@@ -7207,6 +7207,12 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -22;
pixel_x = 6;
dir = 1;
id = "dorm4"
},
/turf/simulated/floor/carpet,
/area/stellardelight/deck1/dorms/dorm4)
"oB" = (
@@ -7545,6 +7551,12 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -22;
pixel_x = -8;
dir = 1;
id = "dorm6"
},
/turf/simulated/floor/carpet/purcarpet,
/area/stellardelight/deck1/dorms/dorm6)
"pn" = (
@@ -8799,6 +8811,11 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = 24;
pixel_x = -7;
id = "dorm8"
},
/turf/simulated/floor/carpet,
/area/stellardelight/deck1/dorms/dorm8)
"rX" = (
@@ -16042,6 +16059,11 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = 24;
pixel_x = 7;
id = "dorm1"
},
/turf/simulated/floor/carpet,
/area/stellardelight/deck1/dorms/dorm1)
"HY" = (
@@ -21133,6 +21155,12 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -22;
pixel_x = 6;
dir = 1;
id = "dorm3"
},
/turf/simulated/floor/carpet/purcarpet,
/area/stellardelight/deck1/dorms/dorm3)
"SQ" = (
@@ -22475,6 +22503,11 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = 24;
pixel_x = -7;
id = "dorm7"
},
/turf/simulated/floor/carpet/purcarpet,
/area/stellardelight/deck1/dorms/dorm7)
"Vw" = (
@@ -22760,6 +22793,11 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = 24;
pixel_x = 7;
id = "dorm2"
},
/turf/simulated/floor/carpet/purcarpet,
/area/stellardelight/deck1/dorms/dorm2)
"Wb" = (
@@ -23885,6 +23923,12 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -22;
pixel_x = -8;
dir = 1;
id = "dorm5"
},
/turf/simulated/floor/carpet,
/area/stellardelight/deck1/dorms/dorm5)
"Yt" = (
+40
View File
@@ -22258,6 +22258,11 @@
/obj/structure/cable/orange{
icon_state = "1-2"
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = 33;
id = "dorm7"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_7)
"aMA" = (
@@ -22326,6 +22331,11 @@
pixel_y = -4;
specialfunctions = 4
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = -33;
id = "dorm8"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_8)
"aMD" = (
@@ -23381,6 +23391,11 @@
/obj/structure/cable/orange{
icon_state = "1-2"
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = 33;
id = "dorm5"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_5)
"aOI" = (
@@ -23445,6 +23460,11 @@
pixel_y = -4;
specialfunctions = 4
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = -33;
id = "dorm6"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_6)
"aOL" = (
@@ -24537,6 +24557,11 @@
/obj/structure/cable/orange{
icon_state = "1-2"
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = 33;
id = "dorm3"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_3)
"aQI" = (
@@ -24605,6 +24630,11 @@
pixel_y = -4;
specialfunctions = 4
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = -33;
id = "dorm4"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_4)
"aQL" = (
@@ -25617,6 +25647,11 @@
/obj/structure/cable/orange{
icon_state = "1-2"
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = 33;
id = "dorm1"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_1)
"aSV" = (
@@ -25627,6 +25662,11 @@
pixel_y = -4;
specialfunctions = 4
},
/obj/machinery/button/remote/airlock/release{
pixel_y = -4;
pixel_x = -33;
id = "dorm2"
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_2)
"aSW" = (