[MDB Ignore] Adds "Red Alert Access" to EVA Doors and First Aid Supplies on all maps (#89424)

## About The Pull Request

Terminology:

- Red Alert Access allows airlocks and windoors to become all access if
the station has raised to Red Alert (or higher). This temporary all
access is reverted after the station returns to Blue Alert (or lower).
This mechanic isn't new, just not widely used.

Changes:

- Adds a mapping helper for assigning doors to "Red Alert Access"

- Gives "Red Alert Access" to EVA doors on every map

- Gives "Red Alert Access" to the first aid supply windoors in medbay
storage on all maps. Icebox already had this, which is why I thought I'd
expand it because it's a fun idea. (The doors leading INTO medbay
storage do NOT have this, meaning the CMO would likely have to set those
to emergency access.)

- Removes "Red Alert Access" from the secure storage windoor in Icebox's
medbay. Felt odd that it allowed anyone access to the syringe gun

## Why It's Good For The Game

Discussed in #89390 . 

I don't think this will be supremely impactful, but you never know. But
if anything, it may lead to people using Red Alert more appropriately
more often, which would be cool for roleplay.

The only problem is that they aren't telegraphed very well, only in
`examine`. Could probably make it more well known

## Changelog

🆑 Melbert
add: EVA doors become all access on Red Alert
add: First Aid Supplies (the compartments in Medbay Storage which hold
medkits) become all access on Red Alert (already present on Icebox).
Medbay Storage itself does NOT become all access.
/🆑
This commit is contained in:
MrMelbert
2025-03-12 16:41:42 -04:00
committed by Roxy
parent 74fb0db457
commit a2cc2f7dc6
9 changed files with 17239 additions and 17195 deletions
+22 -2
View File
@@ -130,6 +130,8 @@
/obj/effect/mapping_helpers/airlock
layer = DOOR_HELPER_LAYER
late = TRUE
/// If TRUE we will apply to every windoor in the loc if we can't find an airlock.
var/apply_to_windoors = FALSE
/obj/effect/mapping_helpers/airlock/Initialize(mapload)
. = ..()
@@ -139,9 +141,19 @@
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in loc
if(!airlock)
if(apply_to_windoors)
var/any_found = FALSE
for(var/obj/machinery/door/window/windoor in loc)
payload(windoor)
any_found = TRUE
if(!any_found)
log_mapping("[src] failed to find an airlock at [AREACOORD(src)], AND no windoors were found.")
return
log_mapping("[src] failed to find an airlock at [AREACOORD(src)]")
else
payload(airlock)
return
payload(airlock)
/obj/effect/mapping_helpers/airlock/LateInitialize()
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in loc
@@ -277,6 +289,14 @@
else
airlock.req_access += list(ACCESS_INACCESSIBLE)
/obj/effect/mapping_helpers/airlock/red_alert_access
name = "airlock red alert access helper"
icon_state = "airlock_red_alert_access"
apply_to_windoors = TRUE
/obj/effect/mapping_helpers/airlock/red_alert_access/payload(obj/machinery/door/airlock)
airlock.red_alert_access = TRUE
//air alarm helpers
/obj/effect/mapping_helpers/airalarm
desc = "You shouldn't see this. Report it please."