Files
Bubberstation/code/modules/mapping/access_helpers.dm
Jeremiah a3849062b8 Feature: bitrunner, a new supply role (READY) (#77259)
## About The Pull Request
[Design doc](https://hackmd.io/@shadowh4nd/r1P7atPjn) 

Adds a new supply role centered on short dungeon-esque runs with a focus
on unifying the job with the fun part. Some virtual domains are combat
related, some are silly, some focus on "objectives". Avatar health is
linked to your physical presence and retries are limited.


<details>
<summary>Photos, WIP</summary>

Net pod stasis

![netpod](https://github.com/tgstation/tgstation/assets/42397676/d99073a4-2438-4600-83c0-cafb7b3fee55)

Server loaded

![](https://cdn.discordapp.com/attachments/1131433451841662996/1135304774976278759/dreamseeker_N14j6dwLcK.gif)

Server cooldown

![](https://cdn.discordapp.com/attachments/1131433451841662996/1135304775945179217/dreamseeker_NkIwWLJZma.gif)

the quantum console UI
![Screenshot 2023-08-05
105742](https://github.com/tgstation/tgstation/assets/42397676/3a45feaf-8c80-46b2-81c9-355932d1b014)

Cyber police antag page
![Screenshot 2023-08-16
205303](https://github.com/tgstation/tgstation/assets/42397676/fc28bcdd-2a2a-487b-927c-904f224c1b89)

A safehouse

![image](https://github.com/tgstation/tgstation/assets/42397676/c22ac115-4e00-432a-aeeb-b6afdb1ef750)

Domain info page, every domain gets this (and sometimes help text)
![Screenshot 2023-08-04
141859](https://github.com/tgstation/tgstation/assets/42397676/ba9ed6d9-a318-4466-b246-d2da0fa05676)

Me getting steamrolled in one of the missions

![syndicant](https://github.com/tgstation/tgstation/assets/42397676/3eb3099a-f9b2-4431-854d-50d8cad9b7f0)

Ghost roles getting notified that server is kicking them out
![Screenshot 2023-08-04
135454](https://github.com/tgstation/tgstation/assets/42397676/edab916c-6255-4b83-b2e7-155df2f03aab)

Players enjoying the new combat missions
![Screenshot 2023-08-05
005727](https://github.com/tgstation/tgstation/assets/42397676/e302a66f-610d-4fe1-82e0-7c8aec3913ea)

Players exploring some of the virtual maps
![Screenshot 2023-08-06
220919](https://github.com/tgstation/tgstation/assets/42397676/75a92a0b-6aa1-4bac-8fd1-c9fb47c955da)

(Not part of the PR, but)
![Screenshot 2023-08-06
221527](https://github.com/tgstation/tgstation/assets/42397676/012475ec-bfa5-4fd3-9dcb-31d222bb7bef)

New bitrunner vendor

![dreamseeker_V62h2BGdEl](https://github.com/tgstation/tgstation/assets/42397676/37ca8f69-f75e-45c9-b324-e6b31696c7b7)

</details>

## Why It's Good For The Game
Content, firstly, and moreso being supply department content.

The framework that this implements is a great (preauthorized)
replacement for two systems which are collecting dust: BEPIS and the
gateway. They integrate into this system and it's a direct upgrade.

This adds a way for the players on station to generate materials (if
that remains). The nice part about it is that I can throw balance and
believability to the wind, as unlike its unrelated predecessor VR or
away missions, bitrunning entirely washes its hands of the map and mobs
each reboot.

It offers a very expandable map framework to add content and it's all
fairly well documented.

I'd like to add a feature that represents the idea that jobs don't have
to be mundane and "external" jobs can stay tied to the main gameplay
loop.

## Changelog
jlsnow301, kinneb, mmmiracles, ical92, spockye
🆑
add: Adds Bitrunning to supply department- a semi-offstation role that
rewards teamwork.
add: Adds new machines to complement the job- net pod, quantum server,
quantum consoles, and the nexacache vendor.
add: Adds several new maps which can be loaded and unloaded at will.
add: Some flair for the new bitrunning vendor.
add: Adds a new antagonist for the virtual domain only. Short lived
ghost role that fights bitrunners.
del: Removes the BEPIS machine, moves its tech into the Bitrunning
vendor.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Ical <wolfsgamingtips@gmail.com>
Co-authored-by: spockye <79304582+spockye@users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-09-23 11:14:12 +02:00

975 lines
31 KiB
Plaintext

/obj/effect/mapping_helpers/airlock/access
layer = DOOR_ACCESS_HELPER_LAYER
icon_state = "access_helper"
// 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 != null)
log_mapping("[src] at [AREACOORD(src)] tried to set req_one_access, but req_access was already set!")
else
var/list/access_list = get_access()
airlock.req_one_access += access_list
/obj/effect/mapping_helpers/airlock/access/all/payload(obj/machinery/door/airlock/airlock)
if(airlock.req_one_access != null)
log_mapping("[src] at [AREACOORD(src)] tried to set req_one_access, but req_access was already set!")
else
var/list/access_list = get_access()
airlock.req_access += access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_COMMAND
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_TELEPORTER
return access_list
/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/minisat/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINISAT
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOP
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/captain/get_access()
var/list/access_list = ..()
access_list += ACCESS_CAPTAIN
return access_list
/obj/effect/mapping_helpers/airlock/access/any/command/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_COMMAND, ACCESS_MAINT_TUNNELS)
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/get_access()
var/list/access_list = ..()
access_list += ACCESS_ENGINEERING
return access_list
/obj/effect/mapping_helpers/airlock/access/any/engineering/engine_equipment/get_access()
var/list/access_list = ..()
access_list += ACCESS_ENGINE_EQUIP
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_AUX_BASE
return access_list
/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/maintenance/departmental/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_ENGINEERING, ACCESS_MAINT_TUNNELS)
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_TECH_STORAGE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_TCOMMS
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_MEDICAL
return access_list
/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/coroner/get_access()
var/list/access_list = ..()
access_list += ACCESS_MORGUE_SECURE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry/get_access()
var/list/access_list = ..()
access_list += ACCESS_PLUMBING
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SURGERY
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_PHARMACY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/psychology/get_access()
var/list/access_list = ..()
access_list += ACCESS_PSYCHOLOGY
return access_list
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_MEDICAL, ACCESS_MAINT_TUNNELS)
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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SCIENCE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_ORDNANCE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_GENETICS
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_XENOBIOLOGY
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_RD
return access_list
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_SCIENCE, ACCESS_MAINT_TUNNELS)
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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SECURITY
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_BRIG
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_DETECTIVE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOS
return access_list
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_SECURITY, ACCESS_MAINT_TUNNELS)
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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SERVICE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_BAR
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_JANITOR
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_CREMATORIUM
return access_list
/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/theatre/get_access()
var/list/access_list = ..()
access_list += ACCESS_THEATRE
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/lawyer/get_access()
var/list/access_list = ..()
access_list += ACCESS_LAWYER
return access_list
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_SERVICE, ACCESS_MAINT_TUNNELS)
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/get_access()
var/list/access_list = ..()
access_list += ACCESS_CARGO
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/shipping/get_access()
var/list/access_list = ..()
access_list += ACCESS_SHIPPING
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINING_STATION
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_QM
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/vault/get_access()
var/list/access_list = ..()
access_list += ACCESS_VAULT
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CARGO, ACCESS_MAINT_TUNNELS)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den/get_access()
var/list/access_list = ..()
access_list += ACCESS_BIT_DEN
return access_list
// -------------------- Syndicate access helpers
/obj/effect/mapping_helpers/airlock/access/any/syndicate
icon_state = "access_helper_syn"
/obj/effect/mapping_helpers/airlock/access/any/syndicate/general/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_SYNDICATE)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/syndicate/leader/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_SYNDICATE_LEADER)
return access_list
// -------------------- Away access helpers
/obj/effect/mapping_helpers/airlock/access/any/away
icon_state = "access_helper_awy"
/obj/effect/mapping_helpers/airlock/access/any/away/general/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_GENERAL)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/command/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_COMMAND)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/security/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_SEC)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/engineering/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_ENGINEERING)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/medical/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_MEDICAL)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/supply/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_SUPPLY)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/science/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_SCIENCE)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/maintenance/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_MAINTENANCE)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/generic1/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_GENERIC1)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/generic2/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_GENERIC2)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/generic3/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_GENERIC3)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/away/generic4/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_AWAY_GENERIC4)
return access_list
// -------------------- Admin access helpers
/obj/effect/mapping_helpers/airlock/access/any/admin
icon_state = "access_helper_adm"
/obj/effect/mapping_helpers/airlock/access/any/admin/general/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_GENERAL)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/thunderdome/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_THUNDER)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/medical/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_MEDICAL)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/living/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_LIVING)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/storage/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_STORAGE)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/teleporter/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_TELEPORTER)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/captain/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_CAPTAIN)
return access_list
/obj/effect/mapping_helpers/airlock/access/any/admin/bar/get_access()
var/list/access_list = ..()
access_list += list(ACCESS_CENT_CAPTAIN)
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/get_access()
var/list/access_list = ..()
access_list += ACCESS_COMMAND
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_TELEPORTER
return access_list
/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/minisat/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINISAT
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_HOP
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_ENGINEERING
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment/get_access()
var/list/access_list = ..()
access_list += ACCESS_ENGINE_EQUIP
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_AUX_BASE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_EXTERNAL_AIRLOCKS
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_ATMOSPHERICS
return access_list
/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms/get_access()
var/list/access_list = ..()
access_list += ACCESS_TCOMMS
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_MEDICAL
return access_list
/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/coroner/get_access()
var/list/access_list = ..()
access_list += ACCESS_MORGUE_SECURE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry/get_access()
var/list/access_list = ..()
access_list += ACCESS_PLUMBING
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SURGERY
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_PHARMACY
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SCIENCE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_ORDNANCE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_GENETICS
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_XENOBIOLOGY
return access_list
/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/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SECURITY
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_BRIG
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_DETECTIVE
return access_list
/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/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_SERVICE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_BAR
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_JANITOR
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_CREMATORIUM
return access_list
/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/theatre/get_access()
var/list/access_list = ..()
access_list += ACCESS_THEATRE
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_CARGO
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/shipping/get_access()
var/list/access_list = ..()
access_list += ACCESS_SHIPPING
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_MINING_STATION
return access_list
/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/get_access()
var/list/access_list = ..()
access_list += ACCESS_QM
return access_list
/obj/effect/mapping_helpers/airlock/access/all/supply/vault/get_access()
var/list/access_list = ..()
access_list += ACCESS_VAULT
return access_list
// -------------------- Syndicate access helpers
/obj/effect/mapping_helpers/airlock/access/all/syndicate
icon_state = "access_helper_syn"
/obj/effect/mapping_helpers/airlock/access/all/syndicate/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_SYNDICATE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/syndicate/leader/get_access()
var/list/access_list = ..()
access_list += ACCESS_SYNDICATE_LEADER
return access_list
// -------------------- Bounty hunter access helpers
/obj/effect/mapping_helpers/airlock/access/all/hunter
icon_state = "access_helper_hunt"
/obj/effect/mapping_helpers/airlock/access/all/hunter/get_access()
var/list/access_list = ..()
access_list += ACCESS_HUNTER
return access_list
// -------------------- Away access helpers
/obj/effect/mapping_helpers/airlock/access/any/away
icon_state = "access_helper_awy"
/obj/effect/mapping_helpers/airlock/access/all/away/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_GENERAL
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/command/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_COMMAND
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/security/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_SEC
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/engineering/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_ENGINEERING
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/medical/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_MEDICAL
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/supply/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_SUPPLY
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/science/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_SCIENCE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/maintenance/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_MAINTENANCE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/generic1/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_GENERIC1
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/generic2/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_GENERIC2
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/generic3/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_GENERIC3
return access_list
/obj/effect/mapping_helpers/airlock/access/all/away/generic4/get_access()
var/list/access_list = ..()
access_list += ACCESS_AWAY_GENERIC4
return access_list
// -------------------- Admin access helpers
/obj/effect/mapping_helpers/airlock/access/all/admin
icon_state = "access_helper_adm"
/obj/effect/mapping_helpers/airlock/access/all/admin/general/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_GENERAL
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/thunderdome/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_THUNDER
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/medical/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_MEDICAL
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/living/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_LIVING
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/storage/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_STORAGE
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/teleporter/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_TELEPORTER
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/captain/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_CAPTAIN
return access_list
/obj/effect/mapping_helpers/airlock/access/all/admin/bar/get_access()
var/list/access_list = ..()
access_list += ACCESS_CENT_BAR
return access_list