[NO GBP] Fixes airlock cycle links not working (#65779)

Fixes airlock mapping helpers.
This commit is contained in:
dragomagol
2022-04-05 21:22:22 +02:00
committed by GitHub
parent cbdcefefea
commit 31373c2da3
4 changed files with 396 additions and 274 deletions
+354 -233
View File
@@ -1,11 +1,11 @@
/obj/effect/mapping_helpers/airlock/access
layer = DOOR_HELPER_LAYER
icon_state = "access_helper"
var/list/access_list = list()
// 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(airlock.req_access_txt == "0")
var/list/access_list = get_access()
// Overwrite if there is no access set, otherwise add onto existing access
if(airlock.req_one_access_txt == "0")
airlock.req_one_access_txt = access_list.Join(";")
@@ -16,6 +16,7 @@
/obj/effect/mapping_helpers/airlock/access/all/payload(obj/machinery/door/airlock/airlock)
if(airlock.req_one_access_txt == "0")
var/list/access_list = get_access()
if(airlock.req_access_txt == "0")
airlock.req_access_txt = access_list.Join(";")
else
@@ -23,524 +24,644 @@
else
log_mapping("[src] at [AREACOORD(src)] tried to set req_access, but req_one_access was already set!")
/obj/effect/mapping_helpers/airlock/access/proc/get_access()
var/list/access = list()
return access
// -------------------- Req Any (Only requires ONE of the given accesses to open)
// -------------------- Command access helpers
/obj/effect/mapping_helpers/airlock/access/any/command
icon_state = "access_helper_com"
/obj/effect/mapping_helpers/airlock/access/any/command/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_HEADS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/ai_upload/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/ai_upload/get_access()
var/list/access_list = ..()
access_list += ACCESS_AI_UPLOAD
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/teleporter/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/teleporter/get_access()
var/list/access_list = ..()
access_list += ACCESS_TELEPORTER
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/eva/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/eva/get_access()
var/list/access_list = ..()
access_list += ACCESS_EVA
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/gateway/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/gateway/get_access()
var/list/access_list = ..()
access_list += ACCESS_GATEWAY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/hop/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/hop/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOP
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/captain/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/command/captain/get_access()
var/list/access_list = ..()
access_list += ACCESS_CAPTAIN
return access_list
// -------------------- Engineering access helpers
/obj/effect/mapping_helpers/airlock/access/any/engineering
icon_state = "access_helper_eng"
/obj/effect/mapping_helpers/airlock/access/any/engineering/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_ENGINE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/construction/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/construction/get_access()
var/list/access_list = ..()
access_list += ACCESS_CONSTRUCTION
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/aux_base/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/aux_base/get_access()
var/list/access_list = ..()
access_list += ACCESS_AUX_BASE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/get_access()
var/list/access_list = ..()
access_list += ACCESS_MAINT_TUNNELS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/external/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/external/get_access()
var/list/access_list = ..()
access_list += ACCESS_EXTERNAL_AIRLOCKS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/tech_storage/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/tech_storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_TECH_STORAGE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/atmos/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/atmos/get_access()
var/list/access_list = ..()
access_list += ACCESS_ATMOSPHERICS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms/get_access()
var/list/access_list = ..()
access_list += ACCESS_TCOMSAT
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/ce/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/engineering/ce/get_access()
var/list/access_list = ..()
access_list += ACCESS_CE
return access_list
// -------------------- Medical access helpers
/obj/effect/mapping_helpers/airlock/access/any/medical
icon_state = "access_helper_med"
/obj/effect/mapping_helpers/airlock/access/any/medical/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_MEDICAL
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/morgue/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/morgue/get_access()
var/list/access_list = ..()
access_list += ACCESS_MORGUE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry/get_access()
var/list/access_list = ..()
access_list += ACCESS_CHEMISTRY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/virology/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/virology/get_access()
var/list/access_list = ..()
access_list += ACCESS_VIROLOGY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/surgery/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/surgery/get_access()
var/list/access_list = ..()
access_list += ACCESS_SURGERY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/cmo/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/cmo/get_access()
var/list/access_list = ..()
access_list += ACCESS_CMO
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/pharmacy/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/pharmacy/get_access()
var/list/access_list = ..()
access_list += ACCESS_PHARMACY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/psychology/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/medical/psychology/get_access()
var/list/access_list = ..()
access_list += ACCESS_PSYCHOLOGY
return access_list
// -------------------- Science access helpers
/obj/effect/mapping_helpers/airlock/access/any/science
icon_state = "access_helper_sci"
/obj/effect/mapping_helpers/airlock/access/any/science/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_RND
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/research/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/research/get_access()
var/list/access_list = ..()
access_list += ACCESS_RESEARCH
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/ordnance/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/ordnance/get_access()
var/list/access_list = ..()
access_list += ACCESS_ORDNANCE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/ordnance_storage/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/ordnance_storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_ORDNANCE_STORAGE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/genetics/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/genetics/get_access()
var/list/access_list = ..()
access_list += ACCESS_GENETICS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/robotics/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/robotics/get_access()
var/list/access_list = ..()
access_list += ACCESS_ROBOTICS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/xenobio/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/xenobio/get_access()
var/list/access_list = ..()
access_list += ACCESS_XENOBIOLOGY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/minisat/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/minisat/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINISAT
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/rd/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/science/rd/get_access()
var/list/access_list = ..()
access_list += ACCESS_RD
return access_list
// -------------------- Security access helpers
/obj/effect/mapping_helpers/airlock/access/any/security
icon_state = "access_helper_sec"
/obj/effect/mapping_helpers/airlock/access/any/security/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_SECURITY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/entrance/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/entrance/get_access()
var/list/access_list = ..()
access_list += ACCESS_BRIG_ENTRANCE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/brig/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/brig/get_access()
var/list/access_list = ..()
access_list += ACCESS_BRIG
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/armory/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/armory/get_access()
var/list/access_list = ..()
access_list += ACCESS_ARMORY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/detective/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/detective/get_access()
var/list/access_list = ..()
access_list += ACCESS_FORENSICS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/court/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/court/get_access()
var/list/access_list = ..()
access_list += ACCESS_COURT
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/hos/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/security/hos/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOS
return access_list
// -------------------- Service access helpers
/obj/effect/mapping_helpers/airlock/access/any/service
icon_state = "access_helper_serv"
/obj/effect/mapping_helpers/airlock/access/any/service/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_SERVICE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/kitchen/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/kitchen/get_access()
var/list/access_list = ..()
access_list += ACCESS_KITCHEN
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/bar/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/bar/get_access()
var/list/access_list = ..()
access_list += ACCESS_BAR
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics/get_access()
var/list/access_list = ..()
access_list += ACCESS_HYDROPONICS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/janitor/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/janitor/get_access()
var/list/access_list = ..()
access_list += ACCESS_JANITOR
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office/get_access()
var/list/access_list = ..()
access_list += ACCESS_CHAPEL_OFFICE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/crematorium/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/crematorium/get_access()
var/list/access_list = ..()
access_list += ACCESS_CREMATORIUM
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/crematorium/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/crematorium/get_access()
var/list/access_list = ..()
access_list += ACCESS_CREMATORIUM
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/library/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/library/get_access()
var/list/access_list = ..()
access_list += ACCESS_LIBRARY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/library/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/library/get_access()
var/list/access_list = ..()
access_list += ACCESS_THEATRE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/lawyer/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/service/lawyer/get_access()
var/list/access_list = ..()
access_list += ACCESS_LAWYER
return access_list
// -------------------- Supply access helpers
/obj/effect/mapping_helpers/airlock/access/any/supply
icon_state = "access_helper_sup"
/obj/effect/mapping_helpers/airlock/access/any/supply/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_CARGO
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/mail_sorting/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/mail_sorting/get_access()
var/list/access_list = ..()
access_list += ACCESS_MAILSORTING
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/mining/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/mining/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINING
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/mining_station/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/mining_station/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINING_STATION
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/mineral_storage/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/mineral_storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINERAL_STOREROOM
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/qm/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/qm/get_access()
var/list/access_list = ..()
access_list += ACCESS_QM
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/vault/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/any/supply/vault/get_access()
var/list/access_list = ..()
access_list += ACCESS_VAULT
return access_list
// -------------------- Req All (Requires ALL of the given accesses to open)
// -------------------- Command access helpers
/obj/effect/mapping_helpers/airlock/access/all/command
icon_state = "access_helper_com"
/obj/effect/mapping_helpers/airlock/access/all/command/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_HEADS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload/get_access()
var/list/access_list = ..()
access_list += ACCESS_AI_UPLOAD
return access_list
/obj/effect/mapping_helpers/airlock/access/all/command/teleporter/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/teleporter/get_access()
var/list/access_list = ..()
access_list += ACCESS_TELEPORTER
return access_list
/obj/effect/mapping_helpers/airlock/access/all/command/eva/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/eva/get_access()
var/list/access_list = ..()
access_list += ACCESS_EVA
return access_list
/obj/effect/mapping_helpers/airlock/access/all/command/gateway/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/gateway/get_access()
var/list/access_list = ..()
access_list += ACCESS_GATEWAY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/command/hop/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/hop/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOP
return access_list
/obj/effect/mapping_helpers/airlock/access/all/command/captain/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/command/captain/get_access()
var/list/access_list = ..()
access_list += ACCESS_CAPTAIN
return access_list
// -------------------- Engineering access helpers
/obj/effect/mapping_helpers/airlock/access/all/engineering
icon_state = "access_helper_eng"
/obj/effect/mapping_helpers/airlock/access/all/engineering/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_ENGINE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/construction/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/construction/get_access()
var/list/access_list = ..()
access_list += ACCESS_CONSTRUCTION
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base/get_access()
var/list/access_list = ..()
access_list += ACCESS_AUX_BASE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance/get_access()
var/list/access_list = ..()
access_list += ACCESS_MAINT_TUNNELS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/external/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/external/get_access()
var/list/access_list = ..()
access_list += ACCESS_EXTERNAL_AIRLOCKS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_TECH_STORAGE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos/get_access()
var/list/access_list = ..()
access_list += ACCESS_ATMOSPHERICS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms/get_access()
var/list/access_list = ..()
access_list += ACCESS_TCOMSAT
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/ce/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/engineering/ce/get_access()
var/list/access_list = ..()
access_list += ACCESS_CE
return access_list
// -------------------- Medical access helpers
/obj/effect/mapping_helpers/airlock/access/all/medical
icon_state = "access_helper_med"
/obj/effect/mapping_helpers/airlock/access/all/medical/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_MEDICAL
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/morgue/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/morgue/get_access()
var/list/access_list = ..()
access_list += ACCESS_MORGUE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry/get_access()
var/list/access_list = ..()
access_list += ACCESS_CHEMISTRY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/virology/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/virology/get_access()
var/list/access_list = ..()
access_list += ACCESS_VIROLOGY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/surgery/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/surgery/get_access()
var/list/access_list = ..()
access_list += ACCESS_SURGERY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/cmo/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/cmo/get_access()
var/list/access_list = ..()
access_list += ACCESS_CMO
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy/get_access()
var/list/access_list = ..()
access_list += ACCESS_PHARMACY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/psychology/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/medical/psychology/get_access()
var/list/access_list = ..()
access_list += ACCESS_PSYCHOLOGY
return access_list
// -------------------- Science access helpers
/obj/effect/mapping_helpers/airlock/access/all/science
icon_state = "access_helper_sci"
/obj/effect/mapping_helpers/airlock/access/all/science/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_RND
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/research/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/research/get_access()
var/list/access_list = ..()
access_list += ACCESS_RESEARCH
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance/get_access()
var/list/access_list = ..()
access_list += ACCESS_ORDNANCE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance_storage/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance_storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_ORDNANCE_STORAGE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/genetics/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/genetics/get_access()
var/list/access_list = ..()
access_list += ACCESS_GENETICS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/robotics/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/robotics/get_access()
var/list/access_list = ..()
access_list += ACCESS_ROBOTICS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/xenobio/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/xenobio/get_access()
var/list/access_list = ..()
access_list += ACCESS_XENOBIOLOGY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/minisat/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/minisat/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINISAT
return access_list
/obj/effect/mapping_helpers/airlock/access/all/science/rd/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/science/rd/get_access()
var/list/access_list = ..()
access_list += ACCESS_RD
return access_list
// -------------------- Security access helpers
/obj/effect/mapping_helpers/airlock/access/all/security
icon_state = "access_helper_sec"
/obj/effect/mapping_helpers/airlock/access/all/security/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_SECURITY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/security/entrance/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/entrance/get_access()
var/list/access_list = ..()
access_list += ACCESS_BRIG_ENTRANCE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/security/brig/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/brig/get_access()
var/list/access_list = ..()
access_list += ACCESS_BRIG
return access_list
/obj/effect/mapping_helpers/airlock/access/all/security/armory/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/armory/get_access()
var/list/access_list = ..()
access_list += ACCESS_ARMORY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/security/detective/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/detective/get_access()
var/list/access_list = ..()
access_list += ACCESS_FORENSICS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/security/court/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/court/get_access()
var/list/access_list = ..()
access_list += ACCESS_COURT
return access_list
/obj/effect/mapping_helpers/airlock/access/all/security/hos/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/security/hos/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOS
return access_list
// -------------------- Service access helpers
/obj/effect/mapping_helpers/airlock/access/all/service
icon_state = "access_helper_serv"
/obj/effect/mapping_helpers/airlock/access/all/service/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_SERVICE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/kitchen/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/kitchen/get_access()
var/list/access_list = ..()
access_list += ACCESS_KITCHEN
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/bar/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/bar/get_access()
var/list/access_list = ..()
access_list += ACCESS_BAR
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics/get_access()
var/list/access_list = ..()
access_list += ACCESS_HYDROPONICS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/janitor/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/janitor/get_access()
var/list/access_list = ..()
access_list += ACCESS_JANITOR
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office/get_access()
var/list/access_list = ..()
access_list += ACCESS_CHAPEL_OFFICE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium/get_access()
var/list/access_list = ..()
access_list += ACCESS_CREMATORIUM
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium/get_access()
var/list/access_list = ..()
access_list += ACCESS_CREMATORIUM
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/library/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/library/get_access()
var/list/access_list = ..()
access_list += ACCESS_LIBRARY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/library/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/library/get_access()
var/list/access_list = ..()
access_list += ACCESS_THEATRE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/service/lawyer/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/service/lawyer/get_access()
var/list/access_list = ..()
access_list += ACCESS_LAWYER
return access_list
// -------------------- Supply access helpers
/obj/effect/mapping_helpers/airlock/access/all/supply
icon_state = "access_helper_sup"
/obj/effect/mapping_helpers/airlock/access/all/supply/general/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_CARGO
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/mail_sorting/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/mail_sorting/get_access()
var/list/access_list = ..()
access_list += ACCESS_MAILSORTING
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/mining/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/mining/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINING
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/mining_station/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/mining_station/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINING_STATION
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/mineral_storage/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/mineral_storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINERAL_STOREROOM
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/qm/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/qm/get_access()
var/list/access_list = ..()
access_list += ACCESS_QM
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/vault/Initialize()
. = ..()
/obj/effect/mapping_helpers/airlock/access/all/supply/vault/get_access()
var/list/access_list = ..()
access_list += ACCESS_VAULT
return access_list
+38 -3
View File
@@ -107,15 +107,50 @@
. = ..()
if(!mapload)
log_mapping("[src] spawned outside of mapload!")
return INITIALIZE_HINT_QDEL
return
/obj/effect/mapping_helpers/airlock/LateInitialize()
. = ..()
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in loc
if(!airlock)
log_mapping("[src] failed to find an airlock at [AREACOORD(src)]")
else
payload(airlock)
/obj/effect/mapping_helpers/airlock/LateInitialize()
. = ..()
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in loc
if(!airlock)
qdel(src)
return
if(airlock.cyclelinkeddir)
airlock.cyclelinkairlock()
if(airlock.closeOtherId)
airlock.update_other_id()
if(airlock.abandoned)
var/outcome = rand(1,100)
switch(outcome)
if(1 to 9)
var/turf/here = get_turf(src)
for(var/turf/closed/T in range(2, src))
here.PlaceOnTop(T.type)
qdel(src)
return
here.PlaceOnTop(/turf/closed/wall)
qdel(src)
return
if(9 to 11)
airlock.lights = FALSE
airlock.locked = TRUE
if(12 to 15)
airlock.locked = TRUE
if(16 to 23)
airlock.welded = TRUE
if(24 to 30)
airlock.panel_open = TRUE
if(airlock.cutAiWire)
wires.cut(WIRE_AI)
if(airlock.autoname)
name = get_area_name(src, TRUE)
update_appearance()
qdel(src)
/obj/effect/mapping_helpers/airlock/proc/payload(obj/machinery/door/airlock/payload)