refactor: Allow using access helpers for airlock spawners. (#26141)

* Allow access helpers for airlock spawners.

* whoops

* whitespace

* add visual access helper placement indicator
This commit is contained in:
warriorstar-orion
2024-07-23 04:51:14 -04:00
committed by GitHub
parent a04ac32b09
commit 98f0931c14
12 changed files with 183 additions and 179 deletions
+7 -1
View File
@@ -1,10 +1,13 @@
/obj/effect/mapping_helpers/airlock/access
layer = DOOR_HELPER_LAYER
layer = SPLASHSCREEN_PLANE + 0.1 // Above even airlock spawners
icon_state = "access_helper"
var/access
// These are mutually exclusive; can't have req_any and req_all
/obj/effect/mapping_helpers/airlock/access/any/payload(obj/machinery/door/airlock/airlock)
if(is_type_in_list(airlock, blacklist))
return
if(airlock.req_access_txt == "0")
// Overwrite if there is no access set, otherwise add onto existing access
if(airlock.req_one_access_txt == "0")
@@ -15,6 +18,9 @@
log_world("[src] at [AREACOORD(src)] tried to set req_one_access, but req_access was already set!")
/obj/effect/mapping_helpers/airlock/access/all/payload(obj/machinery/door/airlock/airlock)
if(is_type_in_list(airlock, blacklist))
return
if(airlock.req_one_access_txt == "0")
if(airlock.req_access_txt == "0")
airlock.req_access_txt = "[access]"
+6 -4
View File
@@ -84,18 +84,20 @@
/obj/effect/mapping_helpers/airlock/Initialize(mapload)
. = ..()
if(!mapload)
log_world("[src] spawned outside of mapload!")
return
return INITIALIZE_HINT_QDEL
/obj/effect/mapping_helpers/airlock/LateInitialize()
. = ..()
if(!(locate(/obj/machinery/door) in get_turf(src)))
log_world("[src] failed to find an airlock at [AREACOORD(src)]")
for(var/obj/machinery/door/D in get_turf(src))
if(!is_type_in_list(D, blacklist))
payload(D)
payload(D)
return INITIALIZE_HINT_QDEL
qdel(src)
/obj/effect/mapping_helpers/airlock/proc/payload(obj/machinery/door/airlock/payload)
return