From ec7c064d8592954bd8beedcab014e00f0d5ef2bb Mon Sep 17 00:00:00 2001 From: Venuska1117 <89580971+Venuska1117@users.noreply.github.com> Date: Mon, 17 Jul 2023 16:05:12 +0200 Subject: [PATCH] Add New "Access Windoors" tool to Mapping_Helpers in Map Editor. (#21559) * NanoMap Auto-Update (Sun Jul 2 02:02:08 UTC 2023) * Add New Directional Access for Windoors: - Credits to S34N for helping me with code. * Fixing spaces --------- Co-authored-by: NanoMap Generation --- code/modules/mapping/mapping_helpers.dm | 4 + .../modules/mapping/windoor_access_helpers.dm | 458 ++++++++++++++++++ icons/effects/mapping_helpers.dmi | Bin 9833 -> 17115 bytes paradise.dme | 1 + 4 files changed, 463 insertions(+) create mode 100644 code/modules/mapping/windoor_access_helpers.dm diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 6cffe6da19d..d6a528f1f6f 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -130,3 +130,7 @@ /obj/effect/mapping_helpers/airlock/autoname/payload(obj/machinery/door/airlock) airlock.name = get_area_name(airlock, TRUE) + +//part responsible for windoors (thanks S34N) +/obj/effect/mapping_helpers/airlock/windoor + blacklist = list(/obj/machinery/door/firedoor, /obj/machinery/door/poddoor, /obj/machinery/door/unpowered, /obj/machinery/door/airlock) diff --git a/code/modules/mapping/windoor_access_helpers.dm b/code/modules/mapping/windoor_access_helpers.dm new file mode 100644 index 00000000000..ffb28905e87 --- /dev/null +++ b/code/modules/mapping/windoor_access_helpers.dm @@ -0,0 +1,458 @@ +/obj/effect/mapping_helpers/airlock/windoor/access + layer = DOOR_HELPER_LAYER + icon_state = "access_windoor" + var/access + +// Windoor direction code section (thanks S34M for help with making my dumb idea work as code, all credits to him for this file.) +// These are mutually exclusive; can't have req_any and req_all +/obj/effect/mapping_helpers/airlock/windoor/access/any/payload(obj/machinery/door/window/windoor) + // Check we are applying to the correct windoor + if(windoor.dir != dir) + return + + // Access already set in map edit + if(windoor.req_access_txt != "0") + log_world("[src] at [AREACOORD(src)] tried to set req_one_access, but req_access was already set!") + return + + // Overwrite if there is no access set, otherwise add onto existing access + if(windoor.req_one_access_txt == "0") + windoor.req_one_access_txt = "[access]" + return + + windoor.req_one_access_txt += ";[access]" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/payload(obj/machinery/door/window/windoor) + if(windoor.dir != dir) + return + + if(windoor.req_one_access_txt != "0") + log_world("[src] at [AREACOORD(src)] tried to set req_access, but req_one_access was already set!") + return + + if(windoor.req_access_txt == "0") + windoor.req_access_txt = "[access]" + return + + windoor.req_access_txt += ";[access]" + +// -------------------- Req Any (Only requires ONE of the given accesses to open) +// -------------------- Command access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/command + icon_state = "access_windoor_com" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/general + access = ACCESS_HEADS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/ai_upload + access = ACCESS_AI_UPLOAD + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/teleporter + access = ACCESS_TELEPORTER + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/eva + access = ACCESS_EVA + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/expedition + access = ACCESS_EXPEDITION + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/hop + access = ACCESS_HOP + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/captain + access = ACCESS_CAPTAIN + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/blueshield + access = ACCESS_BLUESHIELD + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/ntrep + access = ACCESS_NTREP + +/obj/effect/mapping_helpers/airlock/windoor/access/any/command/magistrate + access = ACCESS_MAGISTRATE + +// -------------------- Engineering access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering + icon_state = "access_windoor_eng" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/general + access = ACCESS_ENGINE + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/construction + access = ACCESS_CONSTRUCTION + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/maintenance + access = ACCESS_MAINT_TUNNELS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/external + access = ACCESS_EXTERNAL_AIRLOCKS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/tech_storage + access = ACCESS_TECH_STORAGE + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/atmos + access = ACCESS_ATMOSPHERICS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/tcoms + access = ACCESS_TCOMSAT + +/obj/effect/mapping_helpers/airlock/windoor/access/any/engineering/ce + access = ACCESS_CE + +// -------------------- Medical access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical + icon_state = "access_windoor_med" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/general + access = ACCESS_MEDICAL + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/morgue + access = ACCESS_MORGUE + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/chemistry + access = ACCESS_CHEMISTRY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/virology + access = ACCESS_VIROLOGY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/surgery + access = ACCESS_SURGERY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/cmo + access = ACCESS_CMO + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/psychology + access = ACCESS_PSYCHIATRIST + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/genetics + access = ACCESS_GENETICS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/paramedic + access = ACCESS_PARAMEDIC + +// -------------------- Science access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/science + icon_state = "access_windoor_sci" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/research + access = ACCESS_RESEARCH + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/tox + access = ACCESS_TOX + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/tox_storage + access = ACCESS_TOX_STORAGE + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/genetics + access = ACCESS_GENETICS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/robotics + access = ACCESS_ROBOTICS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/xenobio + access = ACCESS_XENOBIOLOGY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/minisat + access = ACCESS_MINISAT + +/obj/effect/mapping_helpers/airlock/windoor/access/any/science/rd + access = ACCESS_RD + +// -------------------- Security access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/security + icon_state = "access_windoor_sec" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/general + access = ACCESS_SECURITY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/doors + access = ACCESS_SEC_DOORS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/brig + access = ACCESS_BRIG + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/armory + access = ACCESS_ARMORY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/court + access = ACCESS_COURT + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/hos + access = ACCESS_HOS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/iaa + access = ACCESS_LAWYER + +// -------------------- Service access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/service + icon_state = "access_windoor_serv" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/kitchen + access = ACCESS_KITCHEN + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/bar + access = ACCESS_BAR + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/hydroponics + access = ACCESS_HYDROPONICS + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/janitor + access = ACCESS_JANITOR + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/chapel_office + access = ACCESS_CHAPEL_OFFICE + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/crematorium + access = ACCESS_CREMATORIUM + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/library + access = ACCESS_LIBRARY + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/library + access = ACCESS_THEATRE + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/clown + access = ACCESS_CLOWN + +/obj/effect/mapping_helpers/airlock/windoor/access/any/service/mime + access = ACCESS_MIME + +// -------------------- Supply access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply + icon_state = "access_windoor_sup" + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/general + access = ACCESS_CARGO + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/mail_sorting + access = ACCESS_MAILSORTING + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/mining + access = ACCESS_MINING + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/mining_station + access = ACCESS_MINING_STATION + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/mineral_storage + access = ACCESS_MINERAL_STOREROOM + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/qm + access = ACCESS_QM + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/vault + access = ACCESS_HEADS_VAULT + +/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/mule_bot + access = ACCESS_CARGO_BOT + +// -------------------- Req All (Requires ALL of the given accesses to open) +// -------------------- Command access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/command + icon_state = "access_windoor_com" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/general + access = ACCESS_HEADS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/ai_upload + access = ACCESS_AI_UPLOAD + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/teleporter + access = ACCESS_TELEPORTER + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/eva + access = ACCESS_EVA + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/expedition + access = ACCESS_EXPEDITION + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/hop + access = ACCESS_HOP + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/captain + access = ACCESS_CAPTAIN + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/blueshield + access = ACCESS_BLUESHIELD + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/ntrep + access = ACCESS_NTREP + +/obj/effect/mapping_helpers/airlock/windoor/access/all/command/magistrate + access = ACCESS_MAGISTRATE + +// -------------------- Engineering access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering + icon_state = "access_windoor_eng" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/general + access = ACCESS_ENGINE + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/construction + access = ACCESS_CONSTRUCTION + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/maintenance + access = ACCESS_MAINT_TUNNELS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/external + access = ACCESS_EXTERNAL_AIRLOCKS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/tech_storage + access = ACCESS_TECH_STORAGE + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/atmos + access = ACCESS_ATMOSPHERICS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/tcoms + access = ACCESS_TCOMSAT + +/obj/effect/mapping_helpers/airlock/windoor/access/all/engineering/ce + access = ACCESS_CE + +// -------------------- Medical access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical + icon_state = "access_windoor_med" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/general + access = ACCESS_MEDICAL + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/morgue + access = ACCESS_MORGUE + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/chemistry + access = ACCESS_CHEMISTRY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/virology + access = ACCESS_VIROLOGY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/surgery + access = ACCESS_SURGERY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/cmo + access = ACCESS_CMO + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/paramedic + access = ACCESS_PARAMEDIC + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/psychology + access = ACCESS_PSYCHIATRIST + +/obj/effect/mapping_helpers/airlock/windoor/access/all/medical/genetics + access = ACCESS_GENETICS + +// -------------------- Science access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/science + icon_state = "access_windoor_sci" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/research + access = ACCESS_RESEARCH + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/tox + access = ACCESS_TOX + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/tox_storage + access = ACCESS_TOX_STORAGE + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/genetics + access = ACCESS_GENETICS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/robotics + access = ACCESS_ROBOTICS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/xenobio + access = ACCESS_XENOBIOLOGY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/minisat + access = ACCESS_MINISAT + +/obj/effect/mapping_helpers/airlock/windoor/access/all/science/rd + access = ACCESS_RD + +// -------------------- Security access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/security + icon_state = "access_windoor_sec" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/general + access = ACCESS_SECURITY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/doors + access = ACCESS_SEC_DOORS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/brig + access = ACCESS_BRIG + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/armory + access = ACCESS_ARMORY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/court + access = ACCESS_COURT + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/hos + access = ACCESS_HOS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/security/iaa + access = ACCESS_LAWYER + +// -------------------- Service access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/service + icon_state = "access_windoor_serv" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/kitchen + access = ACCESS_KITCHEN + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/bar + access = ACCESS_BAR + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/hydroponics + access = ACCESS_HYDROPONICS + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/janitor + access = ACCESS_JANITOR + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/chapel_office + access = ACCESS_CHAPEL_OFFICE + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/crematorium + access = ACCESS_CREMATORIUM + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/crematorium + access = ACCESS_CREMATORIUM + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/library + access = ACCESS_LIBRARY + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/library + access = ACCESS_THEATRE + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/clown + access = ACCESS_CLOWN + +/obj/effect/mapping_helpers/airlock/windoor/access/all/service/mime + access = ACCESS_MIME + +// -------------------- Supply access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply + icon_state = "access_windoor_sup" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/general + access = ACCESS_CARGO + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/mail_sorting + access = ACCESS_MAILSORTING + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/mining + access = ACCESS_MINING + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/mining_station + access = ACCESS_MINING_STATION + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/mineral_storage + access = ACCESS_MINERAL_STOREROOM + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/qm + access = ACCESS_QM + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/vault + access = ACCESS_HEADS_VAULT + +/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/mule_bot + access = ACCESS_CARGO_BOT diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index 3959c8fd205934536ed738ecd4a1647c52443462..e7c5db2b223880cf80f44ee8569d379b07827de2 100644 GIT binary patch literal 17115 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 literal 9833 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 lsb25MsYTX82&KnR2x>R|$++rV#r{GDJW