From 53b537868683a050e3f0bceb4c76e807516365fd Mon Sep 17 00:00:00 2001 From: Markus Date: Tue, 10 Sep 2024 23:46:49 +0200 Subject: [PATCH] initial commit --- _maps/map_files/BoxStation/BoxStation.dmm | 8 +- _maps/map_files/KiloStation/KiloStation.dmm | 4 +- code/game/machinery/doors/door.dm | 4 + code/game/objects/objs.dm | 8 +- code/modules/mapping/mapping_helpers.dm | 210 ++++++++++++++++++++ icons/effects/mapping_helpers.dmi | Bin 13303 -> 13429 bytes 6 files changed, 224 insertions(+), 10 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 62d532a7d9ebd..d4ab35cea25a3 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -1477,8 +1477,7 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Foyer"; - req_one_access_txt = "32" + name = "Engineering Foyer" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -1487,6 +1486,7 @@ dir = 8 }, /obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/station/engineering, /turf/open/floor/iron, /area/engine/break_room) "avy" = ( @@ -34199,8 +34199,7 @@ /area/crew_quarters/bar) "kjp" = ( /obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_access_txt = "63" + name = "Security Office" }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -34212,6 +34211,7 @@ dir = 8 }, /obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/station/security/outpost, /turf/open/floor/iron, /area/security/checkpoint/engineering) "kjL" = ( diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 031e5a1194bb6..3f4af8d630fcd 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -19909,8 +19909,7 @@ "cop" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ - name = "Engineering Desk"; - req_one_access_txt = "10;24" + name = "Engineering Desk" }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -19924,6 +19923,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/construction, /turf/open/floor/iron/dark, /area/engine/break_room) "cot" = ( diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index b303eb31cd972..101d8b1357d4c 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -56,6 +56,10 @@ explosion_block = EXPLOSION_BLOCK_PROC RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(check_security_level)) + //Check for access var edit. + //Check for mapping helper. + //Check for area code. + /obj/machinery/door/examine(mob/user) . = ..() if(red_alert_access) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index f0cee5f78010a..3a7e716b13fe8 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -38,10 +38,10 @@ CREATION_TEST_IGNORE_SELF(/obj) var/list/unique_reskin_icon //List of icons for said options. // Access levels, used in modules\jobs\access.dm - var/list/req_access - var/req_access_txt = "0" - var/list/req_one_access - var/req_one_access_txt = "0" + var/list/req_access = list() + var/req_access_txt = null + var/list/req_one_access = list() + var/req_one_access_txt = null /// Custom fire overlay icon var/custom_fire_overlay diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index f3ab4495cb86c..df964f1502626 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -165,6 +165,216 @@ CREATION_TEST_IGNORE_SUBTYPES(/obj/effect/mapping_helpers) else airlock.abandoned = TRUE +/obj/effect/mapping_helpers/airlock/access + var/access + icon_state = "access_helper" + +/obj/effect/mapping_helpers/airlock/access/payload(obj/machinery/door/airlock/airlock) + if(airlock.req_one_access_txt == "null") + airlock.req_one_access += access + +//SECURITY +/obj/effect/mapping_helpers/airlock/access/station/security + access = ACCESS_SECURITY + color = "#DE3A3A" +/obj/effect/mapping_helpers/airlock/access/station/security/brig + access = ACCESS_BRIG +/obj/effect/mapping_helpers/airlock/access/station/security/armoury + access = ACCESS_ARMORY +/obj/effect/mapping_helpers/airlock/access/station/security/prison + access = ACCESS_PRISONER +/obj/effect/mapping_helpers/airlock/access/station/security/brig_phys + access = ACCESS_BRIGPHYS +/obj/effect/mapping_helpers/airlock/access/station/security/court + access = ACCESS_COURT +/obj/effect/mapping_helpers/airlock/access/station/security/outpost + access = ACCESS_SEC_DOORS +/obj/effect/mapping_helpers/airlock/access/station/security/mech + access = ACCESS_MECH_SECURITY + +//MEDICAL +/obj/effect/mapping_helpers/airlock/access/station/medical + access = ACCESS_MEDICAL + color = "#52B4E9" +/obj/effect/mapping_helpers/airlock/access/station/medical/morgue + access = ACCESS_MORGUE +/obj/effect/mapping_helpers/airlock/access/station/medical/genetics + access = ACCESS_GENETICS +/obj/effect/mapping_helpers/airlock/access/station/medical/chemistry + access = ACCESS_CHEMISTRY +/obj/effect/mapping_helpers/airlock/access/station/medical/virology + access = ACCESS_VIROLOGY +/obj/effect/mapping_helpers/airlock/access/station/medical/surgery + access = ACCESS_SURGERY +/obj/effect/mapping_helpers/airlock/access/station/medical/cloning + access = ACCESS_CLONING +/obj/effect/mapping_helpers/airlock/access/station/medical/mech + access = ACCESS_MECH_MEDICAL + +//SCIENCE +/obj/effect/mapping_helpers/airlock/access/station/science + access = ACCESS_TOX + color = "#D381C9" +/obj/effect/mapping_helpers/airlock/access/station/science/storage + access = ACCESS_TOX_STORAGE +/obj/effect/mapping_helpers/airlock/access/station/science/robotics + access = ACCESS_ROBOTICS +/obj/effect/mapping_helpers/airlock/access/station/science/researchh + access = ACCESS_RESEARCH +/obj/effect/mapping_helpers/airlock/access/station/science/exploration + access = ACCESS_EXPLORATION +/obj/effect/mapping_helpers/airlock/access/station/science/xenobiology + access = ACCESS_XENOBIOLOGY +/obj/effect/mapping_helpers/airlock/access/station/science/servers + access = ACCESS_RD_SERVER +/obj/effect/mapping_helpers/airlock/access/station/science/mech + access = ACCESS_MECH_SCIENCE + +//ENGINEERING +/obj/effect/mapping_helpers/airlock/access/station/engineering + access = ACCESS_CONSTRUCTION + color = "#EFB341" +/obj/effect/mapping_helpers/airlock/access/station/engineering/engineering + access = ACCESS_ENGINE +/obj/effect/mapping_helpers/airlock/access/station/engineering/tech_storage + access = ACCESS_TECH_STORAGE +/obj/effect/mapping_helpers/airlock/access/station/engineering/atmospherics + access = ACCESS_ATMOSPHERICS +/obj/effect/mapping_helpers/airlock/access/station/engineering/telecomms + access = ACCESS_TCOMSAT +/obj/effect/mapping_helpers/airlock/access/station/engineering/mech + access = ACCESS_MECH_ENGINE +/obj/effect/mapping_helpers/airlock/access/station/engineering/maintenance + access = ACCESS_MAINT_TUNNELS +/obj/effect/mapping_helpers/airlock/access/station/engineering/external_airlocks + access = ACCESS_EXTERNAL_AIRLOCKS + +//COMMAND +/obj/effect/mapping_helpers/airlock/access/station/command + access = ACCESS_HEADS + color = "#486091" +/obj/effect/mapping_helpers/airlock/access/station/command/ai_upload + access = ACCESS_AI_UPLOAD +/obj/effect/mapping_helpers/airlock/access/station/command/teleporter + access = ACCESS_TELEPORTER +/obj/effect/mapping_helpers/airlock/access/station/command/eva + access = ACCESS_EVA +/obj/effect/mapping_helpers/airlock/access/station/command/heads/cap + access = ACCESS_CAPTAIN +/obj/effect/mapping_helpers/airlock/access/station/command/heads/cmo + access = ACCESS_CMO +/obj/effect/mapping_helpers/airlock/access/station/command/heads/rd + access = ACCESS_RD +/obj/effect/mapping_helpers/airlock/access/station/command/heads/ce + access = ACCESS_CE +/obj/effect/mapping_helpers/airlock/access/station/command/heads/hop + access = ACCESS_HOP +/obj/effect/mapping_helpers/airlock/access/station/command/heads/hos + access = ACCESS_HOS +/obj/effect/mapping_helpers/airlock/access/station/command/gateway + access = ACCESS_GATEWAY +/obj/effect/mapping_helpers/airlock/access/station/command/mini_sat + access = ACCESS_MINISAT + +//SERVICE +/obj/effect/mapping_helpers/airlock/access/station/service + color = "#9FED58" +/obj/effect/mapping_helpers/airlock/access/station/service/chapel + access = ACCESS_CHAPEL_OFFICE +/obj/effect/mapping_helpers/airlock/access/station/service/bar + access = ACCESS_BAR +/obj/effect/mapping_helpers/airlock/access/station/service/janitor + access = ACCESS_JANITOR +/obj/effect/mapping_helpers/airlock/access/station/service/crematorium + access = ACCESS_CREMATORIUM +/obj/effect/mapping_helpers/airlock/access/station/service/kitchen + access = ACCESS_KITCHEN +/obj/effect/mapping_helpers/airlock/access/station/service/hydroponics + access = ACCESS_HYDROPONICS +/obj/effect/mapping_helpers/airlock/access/station/service/library + access = ACCESS_LIBRARY +/obj/effect/mapping_helpers/airlock/access/station/service/lawyer + access = ACCESS_LAWYER +/obj/effect/mapping_helpers/airlock/access/station/service/theater + access = ACCESS_THEATRE + +//SUPPLY +/obj/effect/mapping_helpers/airlock/access/station/supply + access = ACCESS_CARGO + color = "#A46106" +/obj/effect/mapping_helpers/airlock/access/station/supply/qm + access = ACCESS_QM +/obj/effect/mapping_helpers/airlock/access/station/supply/mining + access = ACCESS_MINING +/obj/effect/mapping_helpers/airlock/access/station/supply/mail + access = ACCESS_MAILSORTING +/obj/effect/mapping_helpers/airlock/access/station/supply/vault + access = ACCESS_VAULT +/obj/effect/mapping_helpers/airlock/access/station/supply/mining_outpost + access = ACCESS_MINING_STATION +/obj/effect/mapping_helpers/airlock/access/station/supply/aux_base + access = ACCESS_AUX_BASE +/obj/effect/mapping_helpers/airlock/access/station/supply/mech + access = ACCESS_MECH_MINING + +//BEGIN CENTCOM ACCESS +/obj/effect/mapping_helpers/airlock/access/admin + access = ACCESS_CENT_GENERAL + color = "#9FED58" +/obj/effect/mapping_helpers/airlock/access/admin/thunder + access = ACCESS_CENT_THUNDER +/obj/effect/mapping_helpers/airlock/access/admin/specops + access = ACCESS_CENT_SPECOPS +/obj/effect/mapping_helpers/airlock/access/admin/medical + access = ACCESS_CENT_MEDICAL +/obj/effect/mapping_helpers/airlock/access/admin/dorms + access = ACCESS_CENT_LIVING +/obj/effect/mapping_helpers/airlock/access/admin/storage + access = ACCESS_CENT_STORAGE +/obj/effect/mapping_helpers/airlock/access/admin/teleporter + access = ACCESS_CENT_TELEPORTER +/obj/effect/mapping_helpers/airlock/access/admin/captain + access = ACCESS_CENT_CAPTAIN +/obj/effect/mapping_helpers/airlock/access/admin/bar + access = ACCESS_CENT_BAR + +//Antagonists +/obj/effect/mapping_helpers/airlock/access/antagonists + color = "#DE3A3A" +/obj/effect/mapping_helpers/airlock/access/antagonists/syndicate + access = ACCESS_SYNDICATE +/obj/effect/mapping_helpers/airlock/access/antagonists/syndicate/leader + access = ACCESS_SYNDICATE_LEADER +/obj/effect/mapping_helpers/airlock/access/antagonists/pirates + access = ACCESS_PIRATES +/obj/effect/mapping_helpers/airlock/access/antagonists/bounty_hunters + access = ACCESS_HUNTERS +/obj/effect/mapping_helpers/airlock/access/antagonists/blood_cult/ + access = ACCESS_BLOODCULT +/obj/effect/mapping_helpers/airlock/access/antagonists/clock_cult/ + access = ACCESS_CLOCKCULT + +//Away Missions or Ruins +/obj/effect/mapping_helpers/airlock/access/away + access = ACCESS_AWAY_GENERAL + color = "#D4D4D4" +/obj/effect/mapping_helpers/airlock/access/away/maintenance + access = ACCESS_AWAY_MAINT +/obj/effect/mapping_helpers/airlock/access/away/medical + access = ACCESS_AWAY_MED +/obj/effect/mapping_helpers/airlock/access/away/security + access = ACCESS_AWAY_SEC +/obj/effect/mapping_helpers/airlock/access/away/engineering + access = ACCESS_AWAY_ENGINE +/obj/effect/mapping_helpers/airlock/access/away/generic1 + access = ACCESS_AWAY_GENERIC1 +/obj/effect/mapping_helpers/airlock/access/away/generic2 + access = ACCESS_AWAY_GENERIC2 +/obj/effect/mapping_helpers/airlock/access/away/generic3 + access = ACCESS_AWAY_GENERIC3 +/obj/effect/mapping_helpers/airlock/access/away/generic4 + access = ACCESS_AWAY_GENERIC4 + //APC helpers /obj/effect/mapping_helpers/apc diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index ca696ef8b0a46ae1d6df26bdf375bd0c7a22868e..0ec34b0c53a1c003b86682249f9bfc183e36bb28 100644 GIT binary patch literal 13429 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 HBC`U;O;KPf)y!V+`YJ4arffxfB5cyZ=Pq9 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