Locks up Medical Storage a bit more tightly and adds framework for doors to ignore access reqs during red alert (#33686)

* Locks up the first aid kits

* = FALSE
This commit is contained in:
Ashe Higgs
2017-12-25 20:04:33 -05:00
committed by ShizCalev
parent 887cc89ac5
commit c4a495929c
8 changed files with 159 additions and 21 deletions
+45 -19
View File
@@ -35032,6 +35032,12 @@
pixel_x = -3;
pixel_y = -3
},
/obj/structure/window/reinforced{
dir = 8
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bIj" = (
@@ -35061,6 +35067,11 @@
pixel_x = -3;
pixel_y = -3
},
/obj/machinery/door/window/northright{
name = "First-Aid Supplies";
red_alert_access = 1;
req_access_txt = "5"
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bIl" = (
@@ -35082,28 +35093,16 @@
pixel_x = -3;
pixel_y = -3
},
/obj/machinery/door/window/northleft{
name = "First-Aid Supplies";
red_alert_access = 1;
req_access_txt = "5"
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bIm" = (
/obj/machinery/rnd/protolathe/department/medical,
/obj/machinery/light,
/obj/structure/table,
/obj/item/storage/box/beakers{
pixel_x = 2;
pixel_y = 2
},
/obj/item/storage/box/syringes,
/obj/item/reagent_containers/glass/bottle/epinephrine{
pixel_x = 7;
pixel_y = -3
},
/obj/item/reagent_containers/glass/bottle/morphine{
pixel_x = 8;
pixel_y = -3
},
/obj/item/reagent_containers/syringe{
pixel_x = 6;
pixel_y = -3
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bIn" = (
@@ -35117,6 +35116,12 @@
pixel_x = -3;
pixel_y = -3
},
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bIo" = (
@@ -57725,6 +57730,27 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/plating,
/area/maintenance/department/medical/morgue)
"QoY" = (
/obj/structure/table,
/obj/item/storage/box/beakers{
pixel_x = 2;
pixel_y = 2
},
/obj/item/storage/box/syringes,
/obj/item/reagent_containers/glass/bottle/epinephrine{
pixel_x = 7;
pixel_y = -3
},
/obj/item/reagent_containers/glass/bottle/morphine{
pixel_x = 8;
pixel_y = -3
},
/obj/item/reagent_containers/syringe{
pixel_x = 6;
pixel_y = -3
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
(1,1,1) = {"
aaa
@@ -95396,8 +95422,8 @@ bAu
bvj
bCN
bEa
QoY
bFA
QoQ
bIm
bJD
bKK
+31 -1
View File
@@ -73294,6 +73294,12 @@
pixel_x = -3;
pixel_y = -3
},
/obj/structure/window/reinforced{
dir = 1
},
/obj/structure/window/reinforced{
dir = 4
},
/turf/open/floor/plasteel/neutral/side{
dir = 4
},
@@ -73304,7 +73310,6 @@
/area/medical/storage)
"cSV" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/rnd/protolathe/department/medical,
/turf/open/floor/plasteel/cmo,
/area/medical/storage)
"cSW" = (
@@ -73329,6 +73334,12 @@
/obj/machinery/light{
dir = 4
},
/obj/structure/window/reinforced{
dir = 1
},
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/plasteel/neutral/side{
dir = 8;
heat_capacity = 1e+006
@@ -74169,6 +74180,12 @@
pixel_x = -3;
pixel_y = -3
},
/obj/machinery/door/window/eastleft{
name = "First-Aid Supplies";
red_alert_access = 1;
req_access_txt = "5";
req_one_access_txt = "0"
},
/turf/open/floor/plasteel/neutral/side{
dir = 4
},
@@ -74200,6 +74217,11 @@
name = "Medbay Storage RC";
pixel_x = 32
},
/obj/machinery/door/window/westleft{
name = "First-Aid Supplies";
red_alert_access = 1;
req_access_txt = "5"
},
/turf/open/floor/plasteel/neutral/side{
dir = 8;
heat_capacity = 1e+006
@@ -74981,6 +75003,10 @@
/obj/machinery/status_display{
pixel_x = -32
},
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 4
},
/turf/open/floor/plasteel/neutral/side{
dir = 4
},
@@ -75020,6 +75046,10 @@
dir = 1;
pixel_y = -24
},
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/plasteel/neutral/side{
dir = 8;
heat_capacity = 1e+006
@@ -51817,6 +51817,15 @@
/obj/item/clothing/glasses/hud/health,
/obj/item/clothing/glasses/hud/health,
/obj/item/gun/syringe,
/obj/structure/window/reinforced{
dir = 1
},
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/plasteel/whiteblue/corner{
dir = 8
},
@@ -52296,6 +52305,11 @@
pixel_y = -3
},
/obj/structure/table/glass,
/obj/machinery/door/window/eastleft{
name = "First-Aid Supplies";
req_access_txt = "5";
req_one_access_txt = "0"
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 8
},
@@ -52330,6 +52344,13 @@
pixel_y = -3
},
/obj/structure/table/glass,
/obj/machinery/door/window/westleft{
name = "First-Aid Supplies";
req_access_txt = "5"
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 4
},
@@ -52985,6 +53006,10 @@
},
/obj/machinery/light/small,
/obj/structure/table/glass,
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 4
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 10
},
@@ -53039,6 +53064,10 @@
pixel_y = -3
},
/obj/structure/table/glass,
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 6
},
@@ -26316,6 +26316,12 @@
network = list("SS13")
},
/obj/effect/turf_decal/delivery,
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/open/floor/plasteel,
/area/medical/medbay/zone3)
"aXP" = (
@@ -26794,6 +26800,11 @@
pixel_x = -22
},
/obj/effect/turf_decal/delivery,
/obj/machinery/door/window/eastleft{
name = "First-Aid Supplies";
req_access_txt = "5";
req_one_access_txt = "0"
},
/turf/open/floor/plasteel,
/area/medical/medbay/zone3)
"aYH" = (
@@ -27188,6 +27199,10 @@
icon_state = "2-4"
},
/obj/effect/turf_decal/delivery,
/obj/machinery/door/window/eastright{
name = "First-Aid Supplies";
req_access_txt = "5"
},
/turf/open/floor/plasteel,
/area/medical/medbay/zone3)
"aZD" = (
@@ -27648,6 +27663,10 @@
},
/obj/structure/cable/white,
/obj/effect/turf_decal/delivery,
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 4
},
/turf/open/floor/plasteel,
/area/medical/medbay/zone3)
"bau" = (
@@ -34430,6 +34430,10 @@
pixel_x = -3;
pixel_y = -3
},
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 1
},
@@ -34445,6 +34449,10 @@
pixel_x = -3;
pixel_y = -3
},
/obj/machinery/door/window/southleft{
name = "First-Aid Supplies";
req_access_txt = "5"
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 1
},
@@ -34460,6 +34468,10 @@
pixel_x = -3;
pixel_y = -3
},
/obj/machinery/door/window/southright{
name = "First-Aid Supplies";
req_access_txt = "5"
},
/turf/open/floor/plasteel/whiteblue/side{
dir = 1
},
@@ -34475,6 +34487,7 @@
pixel_x = -3;
pixel_y = -3
},
/obj/structure/window/reinforced,
/turf/open/floor/plasteel/whiteblue/side{
dir = 1
},
+16
View File
@@ -32,11 +32,27 @@
var/datum/effect_system/spark_spread/spark_system
var/damage_deflection = 10
var/real_explosion_block //ignore this, just use explosion_block
var/red_alert_access = FALSE //if TRUE, this door will always open on red alert
/obj/machinery/door/examine(mob/user)
..()
if(red_alert_access)
if(GLOB.security_level >= SEC_LEVEL_RED)
to_chat(user, "<span class='notice'>Due to a security threat, its access requirements have been lifted!</span>")
else
to_chat(user, "<span class='notice'>In the event of a red alert, its access requirements will automatically lift.</span>")
to_chat(user, "<span class='notice'>Its maintenance panel is <b>screwed</b> in place.</span>")
/obj/machinery/door/check_access(access)
if(red_alert_access && GLOB.security_level >= SEC_LEVEL_RED)
return TRUE
return ..()
/obj/machinery/door/check_access_list(list/access_list)
if(red_alert_access && GLOB.security_level >= SEC_LEVEL_RED)
return TRUE
return ..()
/obj/machinery/door/New()
..()
if(density)
@@ -74,6 +74,11 @@ GLOBAL_VAR_INIT(security_level, 0)
FA.update_icon()
for(var/obj/machinery/computer/shuttle/pod/pod in GLOB.machines)
pod.admin_controlled = 0
if(level >= SEC_LEVEL_RED)
for(var/obj/machinery/door/D in GLOB.machines)
if(D.red_alert_access)
D.visible_message("<span class='notice'>[D] whirrs as it automatically lifts access requirements!</span>")
playsound(D, 'sound/machines/boltsup.ogg', 50, TRUE)
SSblackbox.record_feedback("tally", "security_level_changes", 1, get_security_level())
else
return
+1 -1
View File
@@ -61,7 +61,7 @@ ANIMAL_DELAY 1
ALERT_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced.
ALERT_BLUE_UPTO The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted.
ALERT_BLUE_DOWNTO The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.
ALERT_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.
ALERT_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised. Additionally, access requirements on some doors have been lifted.
ALERT_RED_DOWNTO The station's destruction has been averted. There is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised.
ALERT_DELTA Destruction of the station is imminent. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.