From 5cd94e0ee31f049766b36df373c3d32aabe754c0 Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Mon, 15 Sep 2025 01:00:09 -0500 Subject: [PATCH 1/5] Genetic backups --- code/__DEFINES/dcs/signals/signals_datum.dm | 3 + code/datums/records/manifest.dm | 2 + .../modules/mob/dead/new_player/new_player.dm | 8 --- code/modules/paperwork/filingcabinet.dm | 72 ++++++++++++------- 4 files changed, 52 insertions(+), 33 deletions(-) diff --git a/code/__DEFINES/dcs/signals/signals_datum.dm b/code/__DEFINES/dcs/signals/signals_datum.dm index 0c998be19219..1a9681a29f9b 100644 --- a/code/__DEFINES/dcs/signals/signals_datum.dm +++ b/code/__DEFINES/dcs/signals/signals_datum.dm @@ -45,3 +45,6 @@ ///from /datum/bank_account/pay_debt(), after a portion or all the debt has been paid. #define COMSIG_BANK_ACCOUNT_DEBT_PAID "bank_account_debt_paid" + +/// from /datum/manifest/proc/inject(): (datum/record/crew/person) +#define COMSIG_MANIFEST_HUMAN_INJECTED "!manifest_human_injected" diff --git a/code/datums/records/manifest.dm b/code/datums/records/manifest.dm index ac0e3e19e46e..2e9f504e71de 100644 --- a/code/datums/records/manifest.dm +++ b/code/datums/records/manifest.dm @@ -116,6 +116,8 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new) var/datum/dna/stored/record_dna = new() person.dna.copy_dna(record_dna) + SEND_SIGNAL(src, COMSIG_MANIFEST_HUMAN_INJECTED, person) + var/datum/record/locked/lockfile = new( age = person.age, blood_type = "[person.get_blood_type() || "None"]", // NON-MODULE CHANGE / NEEDS TESTING diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 70ef56613f5b..979dbc80f7d9 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -217,7 +217,6 @@ if(humanc) //These procs all expect humans GLOB.manifest.inject(humanc) announce_arrival(humanc, rank, try_queue = TRUE) - AddEmploymentContract(humanc) humanc.increment_scar_slot() humanc.load_persistent_scars() @@ -245,13 +244,6 @@ humanc.put_in_hands(new /obj/item/crowbar/large/emergency(get_turf(humanc))) //if hands full then just drops on the floor log_manifest(character.mind.key,character.mind,character,latejoin = TRUE) -/mob/dead/new_player/proc/AddEmploymentContract(mob/living/carbon/human/employee) - //TODO: figure out a way to exclude wizards/nukeops/demons from this. - for(var/C in GLOB.employmentCabinets) - var/obj/structure/filingcabinet/employment/employmentCabinet = C - if(!employmentCabinet.virgin) - employmentCabinet.addFile(employee) - /// Creates, assigns and returns the new_character to spawn as. Assumes a valid mind.assigned_role exists. /mob/dead/new_player/proc/create_character(atom/destination) spawning = TRUE diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 336cdee4a9be..74ee31e7b537 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -61,9 +61,9 @@ else return ..() -/obj/structure/filingcabinet/attack_hand(mob/living/carbon/user, list/modifiers) - . = ..() - ui_interact(user) +// /obj/structure/filingcabinet/attack_hand(mob/living/carbon/user, list/modifiers) +// . = ..() +// ui_interact(user) /obj/structure/filingcabinet/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -173,33 +173,55 @@ * Employment contract Cabinets */ -GLOBAL_LIST_EMPTY(employmentCabinets) - /obj/structure/filingcabinet/employment icon_state = "employmentcabinet" - ///This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact - var/virgin = TRUE + /// Set to TRUE on first load do indicate lazyloading has already happened + var/lazyloaded = FALSE -/obj/structure/filingcabinet/employment/Initialize(mapload) - . = ..() - GLOB.employmentCabinets += src +/obj/structure/filingcabinet/employment/proc/add_file_comsig(datum/source, mob/living/carbon/human/employee) + SIGNAL_HANDLER + add_file(employee.real_name) -/obj/structure/filingcabinet/employment/Destroy() - GLOB.employmentCabinets -= src - return ..() +/obj/structure/filingcabinet/employment/proc/add_file(employee_name) + new /obj/item/paper/employment_contract(src, employee_name) -/obj/structure/filingcabinet/employment/proc/fillCurrent() - //This proc fills the cabinet with the current crew. - for(var/datum/record/locked/target in GLOB.manifest.locked) - var/datum/mind/filed_mind = target.mind_ref.resolve() - if(filed_mind && ishuman(filed_mind.current)) - addFile(filed_mind.current) +/obj/structure/filingcabinet/employment/interact(mob/user) + if(!lazyloaded) + for(var/datum/record/locked/target as anything in GLOB.manifest.locked) + add_file(target.name) + lazyloaded = TRUE + RegisterSignal(GLOB.manifest, COMSIG_MANIFEST_HUMAN_INJECTED, PROC_REF(add_file_comsig)) -/obj/structure/filingcabinet/employment/proc/addFile(mob/living/carbon/human/employee) - new /obj/item/paper/employment_contract(src, employee.mind.name) + return ..() + +/obj/structure/filingcabinet/genetic_backups + /// Set to TRUE on first load do indicate lazyloading has already happened + var/lazyloaded = FALSE + +/obj/structure/filingcabinet/genetic_backups/proc/make_backup_comsig(datum/source, mob/living/carbon/human/employee) + SIGNAL_HANDLER + var/datum/record/locked/target = find_record(employee.real_name, locked_only = TRUE) + if(target) + make_backup(target) + +/obj/structure/filingcabinet/genetic_backups/proc/make_backup(datum/record/locked/target) + var/obj/item/disk/data/backup = new(src) + backup.name = "genetic backup - '[target.name]'" + backup.read_only = TRUE + backup.genetic_makeup_buffer = list( + "label" = "Genetic Backup: [target.name] / [target.rank]", + "UI" = target.locked_dna.unique_identity, + "UE" = target.locked_dna.unique_enzymes, + "UF" = target.locked_dna.unique_features, + "name" = target.name, + "blood_type" = "[find_blood_type(target.locked_dna.human_blood_type)]", + ) + +/obj/structure/filingcabinet/genetic_backups/interact(mob/user) + if(!lazyloaded) + for(var/datum/record/locked/target as anything in GLOB.manifest.locked) + make_backup(target) + lazyloaded = TRUE + RegisterSignal(GLOB.manifest, COMSIG_MANIFEST_HUMAN_INJECTED, PROC_REF(make_backup_comsig)) -/obj/structure/filingcabinet/employment/interact(mob/user) - if(virgin) - fillCurrent() - virgin = FALSE return ..() From 7040507a21ca3bede3d134e6331c9d501ad9cf3a Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Tue, 27 Jan 2026 17:26:28 -0600 Subject: [PATCH 2/5] Maps --- .../map_files/Deltastation/DeltaStation2.dmm | 17 +- .../map_files/IceBoxStation/IceBoxStation.dmm | 27 +-- _maps/map_files/KiloStation/KiloStation.dmm | 46 +++-- _maps/map_files/LimaStation/LimaStation.dmm | 7 +- _maps/map_files/MetaStation/MetaStation.dmm | 28 ++-- .../map_files/NebulaStation/NebulaStation.dmm | 13 +- _maps/map_files/NorthStar/north_star.dmm | 12 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 157 +++++++++--------- _maps/map_files/tramstation/tramstation.dmm | 26 ++- .../computers/machinery/console_presets.dm | 6 +- code/modules/paperwork/filingcabinet.dm | 12 ++ 11 files changed, 195 insertions(+), 156 deletions(-) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index ac791afb89d0..5e8781f79e3b 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -5171,9 +5171,6 @@ /turf/open/floor/iron, /area/station/security/execution/transfer) "bbw" = ( -/obj/machinery/computer/rdconsole{ - dir = 8 - }, /obj/machinery/camera/directional/east{ c_tag = "Science - Research Director's Office"; name = "science camera"; @@ -5181,6 +5178,9 @@ }, /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/tile/purple, +/obj/machinery/modular_computer/preset/research{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "bbz" = ( @@ -14772,6 +14772,7 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 }, +/obj/item/taperecorder, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "cNd" = ( @@ -15809,12 +15810,8 @@ /turf/open/floor/iron/white, /area/station/science/lobby) "cTP" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/bot, /obj/machinery/status_display/evac/directional/east, -/obj/item/taperecorder{ - pixel_y = 7 - }, /obj/machinery/light_switch/directional/north{ pixel_x = 9; pixel_y = 32 @@ -15823,6 +15820,12 @@ dir = 8 }, /obj/machinery/light/small/directional/east, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) "cTU" = ( diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 14a8c658bb81..16f4a6ebc7ea 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -20497,7 +20497,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/machinery/modular_computer/preset/id{ +/obj/machinery/computer/robotics{ dir = 8 }, /turf/open/floor/iron/smooth_corner{ @@ -43408,7 +43408,12 @@ /obj/effect/mapping_helpers/requests_console/ore_update, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/pdapainter/research, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "mYs" = ( @@ -44044,9 +44049,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "nfW" = ( -/obj/machinery/computer/mecha{ - dir = 1 - }, /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/keycard_auth/wall_mounted/directional/south, /obj/machinery/camera/autoname/directional/south{ @@ -44054,6 +44056,7 @@ network = list("ss13","rd") }, /obj/machinery/light/directional/south, +/obj/machinery/pdapainter/research, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) "ngj" = ( @@ -55737,9 +55740,6 @@ /turf/closed/wall/r_wall, /area/station/engineering/atmos) "qwJ" = ( -/obj/machinery/computer/rdconsole{ - dir = 1 - }, /obj/machinery/button/door/directional/south{ id = "Biohazard"; name = "Biohazard Shutter Control"; @@ -55766,6 +55766,9 @@ pixel_y = -34; req_access = list("xenobiology") }, +/obj/machinery/modular_computer/preset/research{ + dir = 1 + }, /turf/open/floor/iron/white/corner{ dir = 8 }, @@ -59665,15 +59668,15 @@ /turf/open/floor/engine, /area/station/science/explab) "rEd" = ( -/obj/machinery/modular_computer/preset/research{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /obj/structure/sign/plaques/kiddie/gameoflife{ pixel_x = -32 }, +/obj/machinery/computer/mecha{ + dir = 4 + }, /turf/open/floor/iron/smooth_corner, /area/station/command/heads_quarters/rd) "rEe" = ( @@ -74965,7 +74968,7 @@ /area/station/security/prison/workout) "wlW" = ( /obj/item/radio/intercom/directional/south, -/obj/machinery/computer/robotics{ +/obj/machinery/modular_computer/preset/id{ dir = 1 }, /turf/open/floor/iron/white/side{ diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 78c91e0230df..2a30d0221d93 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -28934,10 +28934,6 @@ /turf/open/floor/plating/rust, /area/station/maintenance/port/fore) "eSG" = ( -/obj/machinery/computer/mecha{ - dir = 1 - }, -/obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -28945,6 +28941,12 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -8 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "eSM" = ( @@ -34268,9 +34270,6 @@ /turf/open/floor/plating/plasma/rust, /area/station/maintenance/space_hut/plasmaman) "gCQ" = ( -/obj/machinery/computer/robotics{ - dir = 1 - }, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -34279,6 +34278,9 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/mecha{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "gDp" = ( @@ -41926,10 +41928,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, -/obj/machinery/computer/rdconsole{ - dir = 8 - }, -/obj/effect/turf_decal/bot, +/obj/machinery/pdapainter/research, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "jaD" = ( @@ -49148,14 +49147,17 @@ /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) "ltR" = ( -/obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, -/obj/machinery/pdapainter/research, +/obj/structure/table, +/obj/item/aicard, +/obj/item/pai_card{ + pixel_x = 6 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "lui" = ( @@ -51342,14 +51344,6 @@ /obj/item/hand_labeler, /obj/machinery/airalarm/directional/west, /obj/machinery/light/directional/west, -/obj/item/pai_card{ - pixel_x = 6 - }, -/obj/item/aicard, -/obj/item/taperecorder{ - pixel_x = -6; - pixel_y = 6 - }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, @@ -82115,6 +82109,10 @@ pixel_x = 4 }, /obj/machinery/keycard_auth, +/obj/item/taperecorder{ + pixel_x = -6; + pixel_y = 6 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "wmA" = ( @@ -85327,9 +85325,6 @@ /turf/open/floor/plating, /area/station/maintenance/department/security) "xoq" = ( -/obj/machinery/computer/aifixer{ - dir = 1 - }, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -85338,6 +85333,9 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/robotics{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "xoD" = ( diff --git a/_maps/map_files/LimaStation/LimaStation.dmm b/_maps/map_files/LimaStation/LimaStation.dmm index 12215d857aeb..9ce5098fc995 100644 --- a/_maps/map_files/LimaStation/LimaStation.dmm +++ b/_maps/map_files/LimaStation/LimaStation.dmm @@ -34870,8 +34870,11 @@ /turf/open/floor/grass, /area/station/medical/medbay/lobby) "lhq" = ( -/obj/machinery/computer/rdconsole{ - dir = 4 +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 }, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/rd) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 70080e488c1c..8dd63fc6f6ce 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -44061,10 +44061,15 @@ /obj/effect/turf_decal/siding/blue/corner{ dir = 1 }, -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "oLW" = ( @@ -49953,10 +49958,10 @@ /obj/effect/turf_decal/siding/blue/corner{ dir = 4 }, -/obj/machinery/pdapainter/research, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/structure/table, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "qXH" = ( @@ -53890,13 +53895,13 @@ /turf/open/floor/iron, /area/station/service/hydroponics) "sAI" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 4 - }, /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/computer/mecha{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "sBb" = ( @@ -61917,12 +61922,10 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "vFs" = ( -/obj/machinery/computer/rdconsole{ - dir = 8 - }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 }, +/obj/machinery/pdapainter/research, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "vFN" = ( @@ -64617,9 +64620,6 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "wLY" = ( -/obj/machinery/computer/mecha{ - dir = 8 - }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 }, @@ -64631,6 +64631,9 @@ /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, /obj/machinery/computer/security/telescreen/rd/directional/north, +/obj/machinery/modular_computer/preset/id{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "wMh" = ( @@ -68140,6 +68143,9 @@ /obj/effect/landmark/event_spawn, /obj/structure/cable, /obj/effect/landmark/start/hangover, +/obj/structure/filingcabinet{ + pixel_x = 4 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "ygE" = ( diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm index a6f9737bea90..128974c4ca39 100644 --- a/_maps/map_files/NebulaStation/NebulaStation.dmm +++ b/_maps/map_files/NebulaStation/NebulaStation.dmm @@ -80767,10 +80767,11 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/filingcabinet/chestdrawer, -/obj/item/pen/fountain{ - pixel_x = -1; - pixel_y = 7 +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 }, /turf/open/floor/wood/large, /area/station/command/heads_quarters/rd) @@ -143237,6 +143238,10 @@ pixel_x = 4 }, /obj/item/stamp/head/rd, +/obj/item/pen/fountain{ + pixel_x = -1; + pixel_y = 7 + }, /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) "vnV" = ( diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 725db497bb99..3179b3d8bbbf 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -482,8 +482,8 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 8 }, -/obj/machinery/computer/rdconsole, /obj/machinery/keycard_auth/wall_mounted/directional/east, +/obj/machinery/computer/mecha, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "afD" = ( @@ -55017,14 +55017,20 @@ /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) "odz" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/button/door/directional/north{ id = "rdoffice"; name = "Privacy Control"; - pixel_y = 34; + pixel_y = 40; req_access = list("rd") }, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "odH" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 32a5daa37ba7..ac8569faf716 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -4759,6 +4759,11 @@ "apX" = ( /turf/closed/wall, /area/station/commons/dorms) +"apY" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "aqa" = ( /obj/machinery/power/solar{ id = "portsolar"; @@ -20220,15 +20225,14 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/structure/sink/directional/east, /obj/structure/cable, -/obj/item/radio/intercom/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 }, +/obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) "byF" = ( @@ -20970,34 +20974,30 @@ dir = 5 }, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 }, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, /turf/open/floor/iron/dark/smooth_corner, /area/station/command/heads_quarters/rd) "bBs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/disposal/bin, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, /area/station/command/heads_quarters/rd) "bBu" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, /obj/machinery/button/door/directional/east{ id = "rndshutters"; name = "Research Lockdown"; @@ -21018,11 +21018,15 @@ /obj/effect/turf_decal/tile/purple/half{ dir = 4 }, -/obj/machinery/fax, -/obj/structure/table/glass, /obj/machinery/keycard_auth/wall_mounted/directional/east{ pixel_y = 7 }, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/rd) "bBw" = ( @@ -21290,16 +21294,14 @@ "bCG" = ( /obj/structure/displaycase/labcage, /obj/effect/turf_decal/tile/neutral/full, +/obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/dark/textured_large, /area/station/command/heads_quarters/rd) "bCI" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, /obj/effect/turf_decal/tile/purple/half{ dir = 4 }, +/obj/machinery/pdapainter/research, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/rd) "bCK" = ( @@ -21544,27 +21546,20 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron/dark, /area/station/service/kitchen) -"bDA" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bDB" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, /obj/effect/turf_decal/tile/purple/half{ dir = 8 }, -/obj/machinery/computer/robotics{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/rd) -"bDC" = ( /obj/structure/chair/office/light{ dir = 8 }, /obj/structure/cable, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/station/command/heads_quarters/rd) +"bDC" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 }, @@ -21576,7 +21571,6 @@ }, /area/station/command/heads_quarters/rd) "bDD" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -21880,25 +21874,20 @@ }, /area/station/hallway/primary/aft) "bER" = ( -/obj/machinery/computer/mecha{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/light_switch/directional/west{ - name = "Light Switch" - }, /obj/effect/turf_decal/tile/purple/anticorner{ dir = 8 }, +/obj/structure/table/glass, +/obj/item/aicard, +/obj/item/circuitboard/aicore, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/rd) "bES" = ( -/obj/item/aicard, -/obj/item/circuitboard/aicore, /obj/structure/table/glass, /obj/machinery/newscaster/directional/south, /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/purple/half, +/obj/item/kirbyplants/random/dead/research_director, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/rd) "bET" = ( @@ -21906,11 +21895,11 @@ c_tag = "Research Director's Office"; network = list("ss13","rd") }, -/obj/machinery/suit_storage_unit/rd, -/obj/machinery/airalarm/directional/south, -/obj/machinery/status_display/evac/directional/south, /obj/effect/turf_decal/tile/purple/half, /obj/machinery/light/directional/south, +/obj/structure/table/glass, +/obj/machinery/fax, +/obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/rd) "bEU" = ( @@ -39008,6 +38997,7 @@ pixel_y = -4; pixel_x = -3 }, +/obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) "hVS" = ( @@ -40286,13 +40276,24 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/wood/parquet, /area/station/maintenance/department/engine) -"iWJ" = ( +"iWm" = ( +/obj/machinery/computer/mecha{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/purple/full, /obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/rd) +"iWJ" = ( /obj/effect/turf_decal/tile/purple/half{ dir = 8 }, -/obj/item/kirbyplants/random/dead/research_director, -/turf/open/floor/iron/dark/smooth_large, +/obj/machinery/suit_storage_unit/rd, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, /area/station/command/heads_quarters/rd) "iWV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ @@ -40671,6 +40672,19 @@ }, /turf/open/floor/iron/white/textured, /area/station/medical/virology) +"jpK" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/computer/robotics{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/full, +/obj/machinery/light_switch/directional/west{ + name = "Light Switch"; + pixel_x = -38 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/rd) "jqj" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/neutral/half, @@ -43326,6 +43340,10 @@ /obj/structure/statue/petrified, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"ltQ" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "lui" = ( /obj/machinery/photocopier, /turf/open/floor/iron/grimy, @@ -44234,6 +44252,7 @@ pixel_x = 2; pixel_y = -6 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white/smooth_large, /area/station/science/lab) "mdX" = ( @@ -48179,19 +48198,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"oQi" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "oQr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -50006,12 +50012,6 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "qgk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, @@ -50948,6 +50948,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_edge, /area/station/command/heads_quarters/rd) "qOE" = ( @@ -61576,6 +61577,8 @@ pixel_y = 4; pixel_x = -4 }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /turf/open/floor/iron/dark/smooth_corner{ dir = 8 }, @@ -95503,10 +95506,10 @@ bBX bBX bBX bBX -bva gRb -bDi bTl +apY +ltQ bva bAl bIu @@ -95761,9 +95764,9 @@ bxa byD bAm uaY -oQi -bDA -ccN +bBX +bBX +bBX jSA bHp bIx @@ -96019,9 +96022,9 @@ cJc bBX bBX bBX -bBX -bBX -bBX +jpK +iWm +bBp bvD bIx nej @@ -97301,7 +97304,7 @@ bus rQq bxg mdL -fuP +bBp bBu bCI lnU diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 9afd3f54f874..2d06a5551662 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -11409,11 +11409,14 @@ /turf/closed/wall, /area/station/service/library) "cSC" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, /obj/machinery/light/directional/south, /obj/machinery/digital_clock/directional/south, +/obj/structure/filingcabinet/genetic_backups{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) "cSR" = ( @@ -25556,8 +25559,8 @@ /turf/open/floor/iron/white, /area/station/medical/chemistry) "iiM" = ( -/obj/structure/table, /obj/structure/cable, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) "iiN" = ( @@ -26359,11 +26362,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) -"izy" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/cafeteria, -/area/station/command/heads_quarters/rd) "izL" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -62995,7 +62993,7 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "vkE" = ( -/obj/machinery/computer/rdconsole{ +/obj/machinery/computer/robotics{ dir = 4 }, /turf/open/floor/glass/reinforced, @@ -64114,12 +64112,12 @@ }, /area/station/science/explab) "vDu" = ( -/obj/machinery/computer/robotics{ - dir = 1 - }, /obj/structure/sign/calendar/directional/south, /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/light/directional/south, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) "vDH" = ( @@ -181604,7 +181602,7 @@ dzx hwn qLR iiM -izy +rGj tPu csh pof diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm index 94ff9439e3b1..c61770dbe857 100644 --- a/code/modules/modular_computers/computers/machinery/console_presets.dm +++ b/code/modules/modular_computers/computers/machinery/console_presets.dm @@ -26,11 +26,13 @@ name = "research director's console" desc = "A stationary computer. This one comes preloaded with research programs." starting_programs = list( - /datum/computer_file/program/ntnetmonitor, - /datum/computer_file/program/chatclient, /datum/computer_file/program/ai_restorer, + /datum/computer_file/program/chatclient, + /datum/computer_file/program/ntnetmonitor, /datum/computer_file/program/robocontrol, + /datum/computer_file/program/science, /datum/computer_file/program/scipaper_program, + /datum/computer_file/program/status, ) /obj/machinery/modular_computer/preset/research/away diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 1981bac3209f..24272054bdcf 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -145,6 +145,10 @@ ///This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact var/virgin = TRUE +/obj/structure/filingcabinet/medical/Initialize(mapload) + . = ..() + REGISTER_REQUIRED_MAP_ITEM(1, INFINITY) + /obj/structure/filingcabinet/medical/proc/populate() if(!virgin) return @@ -178,6 +182,10 @@ /// Set to TRUE on first load do indicate lazyloading has already happened var/lazyloaded = FALSE +/obj/structure/filingcabinet/employment/Initialize(mapload) + . = ..() + REGISTER_REQUIRED_MAP_ITEM(1, INFINITY) + /obj/structure/filingcabinet/employment/proc/add_file_comsig(datum/source, mob/living/carbon/human/employee) SIGNAL_HANDLER add_file(employee.real_name) @@ -198,6 +206,10 @@ /// Set to TRUE on first load do indicate lazyloading has already happened var/lazyloaded = FALSE +/obj/structure/filingcabinet/genetic_backups/Initialize(mapload) + . = ..() + REGISTER_REQUIRED_MAP_ITEM(1, 1) + /obj/structure/filingcabinet/genetic_backups/proc/make_backup_comsig(datum/source, mob/living/carbon/human/employee) SIGNAL_HANDLER var/datum/record/locked/target = find_record(employee.real_name, locked_only = TRUE) From bf9cf29fb5e522efa9a2a48b7ec6cbccce098132 Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Tue, 27 Jan 2026 17:37:14 -0600 Subject: [PATCH 3/5] Lint --- _maps/map_files/PubbyStation/PubbyStation.dmm | 1 - 1 file changed, 1 deletion(-) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index ac8569faf716..b049accac08a 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -20989,7 +20989,6 @@ dir = 8 }, /obj/machinery/disposal/bin, -/obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 }, From d13b228da2069854939ca1386c8ce79d596c6d3a Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Tue, 27 Jan 2026 20:46:35 -0600 Subject: [PATCH 4/5] And this --- code/modules/unit_tests/required_map_items.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/unit_tests/required_map_items.dm b/code/modules/unit_tests/required_map_items.dm index 59c6723923b2..6866c0e92188 100644 --- a/code/modules/unit_tests/required_map_items.dm +++ b/code/modules/unit_tests/required_map_items.dm @@ -21,6 +21,9 @@ expected_types += /mob/living/carbon/human/species/monkey/punpun expected_types += /obj/machinery/computer/communications expected_types += /obj/machinery/drone_dispenser + expected_types += /obj/structure/filingcabinet/employment + expected_types += /obj/structure/filingcabinet/medical + expected_types += /obj/structure/filingcabinet/genetic_backups /datum/unit_test/required_map_items/Run() setup_expected_types() From a7994955b5ffafeb3579a136d09d33d153a5914e Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Wed, 28 Jan 2026 00:21:51 -0600 Subject: [PATCH 5/5] More missing cabinets --- .../map_files/IceBoxStation/IceBoxStation.dmm | 75 +++++++------ _maps/map_files/KiloStation/KiloStation.dmm | 41 ++++--- _maps/map_files/MetaStation/MetaStation.dmm | 7 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 82 ++++++++------ _maps/map_files/tramstation/tramstation.dmm | 101 +++++++++--------- code/modules/paperwork/filingcabinet.dm | 4 + 6 files changed, 183 insertions(+), 127 deletions(-) diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 16f4a6ebc7ea..691422f16979 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -1717,12 +1717,13 @@ /area/station/cargo/lobby) "aBi" = ( /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/table/glass, -/obj/machinery/fax{ - fax_name = "Chief Medical Officer's Office"; - name = "Chief Medical Officer's Fax Machine" - }, /obj/machinery/light/cold/directional/south, +/obj/structure/filingcabinet/medical{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "aBw" = ( @@ -11222,8 +11223,6 @@ /turf/open/floor/plating, /area/station/maintenance/central/greater) "dkg" = ( -/obj/structure/table/glass, -/obj/machinery/computer/records/medical/laptop, /obj/effect/turf_decal/tile/blue/full, /obj/machinery/requests_console/directional/north{ department = "Chief Medical Officer's Desk"; @@ -11232,6 +11231,7 @@ /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, /obj/effect/mapping_helpers/requests_console/announcement, +/obj/machinery/pdapainter/medbay, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "dkk" = ( @@ -16302,10 +16302,9 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/chapel) "eLn" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue/full, +/obj/structure/table/glass, +/obj/item/flashlight/lamp, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "eLr" = ( @@ -39880,11 +39879,12 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "lQG" = ( -/obj/structure/table/glass, -/obj/item/flashlight/lamp, -/obj/effect/turf_decal/tile/blue/full, /obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark/smooth_large, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/item/kirbyplants/organic/applebush, +/turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "lQN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -42922,7 +42922,6 @@ /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) "mQr" = ( -/obj/machinery/modular_computer/preset/id, /obj/item/radio/intercom/directional/east, /obj/machinery/camera{ c_tag = "Chief Medical Office North"; @@ -42930,6 +42929,7 @@ network = list("ss13","medbay") }, /obj/effect/turf_decal/tile/blue/full, +/obj/machinery/computer/records/medical, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "mQv" = ( @@ -47709,7 +47709,9 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/machinery/pdapainter/medbay, +/obj/structure/table/glass, +/obj/item/computer_disk/medical, +/obj/item/computer_disk/medical, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "ojf" = ( @@ -52358,6 +52360,9 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "pya" = ( @@ -52688,6 +52693,10 @@ /obj/effect/mapping_helpers/airlock/access/any/security/brig, /turf/open/floor/plating, /area/station/security/prison/visit) +"pDq" = ( +/obj/structure/table/glass, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "pDt" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -53188,7 +53197,7 @@ /area/station/medical/virology) "pKw" = ( /obj/structure/chair/office/light{ - dir = 1 + dir = 2 }, /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/dark, @@ -58327,10 +58336,12 @@ /area/station/medical/virology) "rjt" = ( /obj/structure/table/glass, -/obj/item/computer_disk/medical, -/obj/item/computer_disk/medical, /obj/machinery/status_display/evac/directional/north, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/fax{ + fax_name = "Chief Medical Officer's Office"; + name = "Chief Medical Officer's Fax Machine" + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "rjC" = ( @@ -60159,18 +60170,13 @@ /turf/open/floor/iron, /area/station/commons/dorms) "rMS" = ( -/obj/structure/table/glass, /obj/item/toy/figure/cmo{ pixel_x = -17; pixel_y = -1 }, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/pen, /obj/effect/turf_decal/tile/blue/full, /obj/machinery/light/small/directional/north, +/obj/machinery/modular_computer/preset/id, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "rMY" = ( @@ -61025,6 +61031,7 @@ /area/station/engineering/atmos/project) "rZR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/chair/office/light, /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) @@ -66435,7 +66442,6 @@ /turf/open/floor/plating, /area/mine/laborcamp) "tHi" = ( -/obj/structure/filingcabinet, /obj/machinery/requests_console/directional/west{ department = "Captain's Desk"; name = "Captain's Requests Console" @@ -66443,6 +66449,12 @@ /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/filingcabinet/security{ + pixel_x = -7 + }, +/obj/structure/filingcabinet{ + pixel_x = 7 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "tHj" = ( @@ -66792,10 +66804,13 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/medical/storage) "tLp" = ( -/obj/machinery/computer/records/medical{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue/full, +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/pen, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "tLy" = ( @@ -252764,9 +252779,9 @@ uRM vBG rMS pKw +pDq xcu jQd -jQd wmN rZR bCf diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 2a30d0221d93..ab715228b3e0 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -12367,7 +12367,6 @@ /obj/machinery/light_switch/directional/south{ pixel_x = -8 }, -/obj/structure/filingcabinet, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -12375,8 +12374,11 @@ dir = 8 }, /obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/structure/filingcabinet/security{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/captain/private) @@ -29845,11 +29847,11 @@ /obj/item/stack/package_wrap, /obj/item/storage/briefcase/secure, /obj/item/hand_labeler, -/obj/item/reagent_containers/spray/cleaner, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, /obj/item/radio/intercom/directional/west, /obj/item/wrench/medical, +/obj/machinery/recharger, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "fhl" = ( @@ -31331,6 +31333,7 @@ /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/captain, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/captain/private) "fEA" = ( @@ -46143,20 +46146,16 @@ /area/station/commons/toilet/restrooms) "kvy" = ( /obj/effect/turf_decal/bot, -/obj/structure/table, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/recharger, /obj/machinery/status_display/evac/directional/west, -/obj/item/toy/figure/cmo{ - pixel_x = 9; - pixel_y = 12 +/obj/structure/filingcabinet/medical{ + pixel_x = 7 }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -9; - pixel_y = 10 +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) @@ -46763,6 +46762,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "kFf" = ( @@ -47811,6 +47811,10 @@ pixel_y = 5 }, /obj/structure/table/reinforced/rglass, +/obj/item/toy/figure/cmo{ + pixel_x = 9; + pixel_y = 12 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "kWs" = ( @@ -50926,6 +50930,7 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "mae" = ( @@ -60294,6 +60299,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/captain/private) "phH" = ( @@ -63533,7 +63539,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/structure/filingcabinet/employment, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -63547,6 +63552,12 @@ req_access = list("lawyer") }, /obj/effect/turf_decal/bot, +/obj/structure/filingcabinet/employment{ + pixel_x = 7 + }, +/obj/structure/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/dark, /area/station/service/lawoffice) "qks" = ( @@ -81376,6 +81387,7 @@ /obj/machinery/light/small/directional/north, /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/captain/private) "vYE" = ( @@ -82852,6 +82864,7 @@ dir = 6 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "wCg" = ( @@ -83057,6 +83070,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "wEY" = ( @@ -86702,6 +86716,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "xIH" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 8dd63fc6f6ce..2458c37eaa42 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -46148,9 +46148,14 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "pxX" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/machinery/newscaster/directional/south, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/structure/filingcabinet/medical{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "pyb" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index b049accac08a..ad6791e96f36 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -7153,7 +7153,12 @@ /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) "axW" = ( -/obj/structure/filingcabinet, +/obj/structure/filingcabinet/security{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) "axX" = ( @@ -8291,7 +8296,12 @@ /turf/open/floor/plating, /area/station/maintenance/department/security/brig) "aCe" = ( -/obj/structure/filingcabinet/employment, +/obj/structure/filingcabinet/employment{ + pixel_x = -8 + }, +/obj/structure/filingcabinet{ + pixel_x = 8 + }, /turf/open/floor/wood, /area/station/service/lawoffice) "aCf" = ( @@ -10868,13 +10878,13 @@ }, /area/station/security/checkpoint/supply) "aMk" = ( -/obj/structure/filingcabinet/security, /obj/machinery/airalarm/directional/north, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner{ dir = 4 }, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark/smooth_corner{ dir = 8 }, @@ -19289,13 +19299,13 @@ /turf/open/floor/grass, /area/station/medical/medbay/central) "bvk" = ( -/obj/machinery/computer/crew, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/modular_computer/preset/id, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "bvw" = ( @@ -20147,7 +20157,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/computer/security/telescreen/cmo/directional/west, /turf/open/floor/iron/white, @@ -21200,21 +21209,29 @@ "bCi" = ( /obj/structure/closet/secure_closet/chief_medical, /obj/item/paper/valentine, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /obj/item/computer_disk/medical, /obj/item/computer_disk/medical, /obj/item/computer_disk/medical, /obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/floor/iron, /area/station/command/heads_quarters/cmo) "bCj" = ( /obj/machinery/suit_storage_unit/cmo, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/floor/iron, /area/station/command/heads_quarters/cmo) "bCk" = ( /obj/effect/turf_decal/stripes/line{ @@ -21232,8 +21249,11 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/disposalpipe/segment, /obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 10 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "bCm" = ( @@ -21843,6 +21863,10 @@ dir = 8 }, /obj/machinery/status_display/ai/directional/south, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "bEF" = ( @@ -21927,11 +21951,11 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/rd) "bEW" = ( -/obj/structure/filingcabinet/security, /obj/structure/reagent_dispensers/wall/peppertank/directional/west, /obj/effect/turf_decal/tile/red/anticorner{ dir = 8 }, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark/smooth_corner{ dir = 4 }, @@ -34304,7 +34328,6 @@ network = list("ss13","medbay"); pixel_y = -22 }, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 }, @@ -34319,11 +34342,8 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1; - sortType = 10 - }, /obj/structure/cable, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "eFl" = ( @@ -35689,13 +35709,18 @@ /turf/open/floor/iron/white/smooth_half, /area/station/ai_monitored/turret_protected/ai) "fxP" = ( -/obj/machinery/modular_computer/preset/id, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/structure/filingcabinet/medical{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "fyh" = ( @@ -37682,9 +37707,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, @@ -40761,11 +40783,9 @@ /turf/open/floor/plating, /area/station/maintenance/department/security/brig) "jsj" = ( -/obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/tile/blue{ dir = 8 }, @@ -40776,6 +40796,7 @@ /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/pdapainter/medbay, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "jtf" = ( @@ -42497,13 +42518,13 @@ /turf/open/floor/iron/dark, /area/station/service/bar) "kQy" = ( -/obj/machinery/computer/records/medical, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/computer/crew, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "kQZ" = ( @@ -43277,6 +43298,9 @@ /obj/machinery/keycard_auth/wall_mounted/directional/east{ pixel_y = 5 }, +/obj/machinery/computer/records/medical/laptop{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "lsI" = ( @@ -56981,9 +57005,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "uFc" = ( @@ -60739,7 +60760,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/disposalpipe/segment, /obj/machinery/newscaster/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 2d06a5551662..a99237b97112 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -3186,10 +3186,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/theater) -"arZ" = ( -/obj/machinery/light/dim/directional/south, -/turf/open/floor/wood, -/area/station/service/lawoffice) "asc" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -4540,16 +4536,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) -"aGk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/table/wood, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/spawner/random/decoration/ornament, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "aGs" = ( /obj/structure/chair, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -6105,10 +6091,6 @@ dir = 4 }, /area/station/maintenance/central/greater) -"aXh" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/lawoffice) "aXo" = ( /obj/structure/punching_bag, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -9422,8 +9404,13 @@ /turf/open/floor/iron, /area/station/engineering/break_room) "cgX" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/filingcabinet/medical{ + pixel_x = 7 + }, +/obj/structure/filingcabinet/filingcabinet{ + pixel_x = -7 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "chc" = ( @@ -22743,7 +22730,13 @@ /obj/effect/turf_decal/siding/wood{ dir = 10 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/spawner/random/decoration/ornament, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) "hgG" = ( @@ -30612,14 +30605,13 @@ /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) "jXY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) "jYb" = ( @@ -31745,6 +31737,11 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"kpX" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "kqf" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -31879,10 +31876,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"kse" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/station/service/lawoffice) "ksk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -34255,8 +34248,11 @@ /area/station/security/office) "ljC" = ( /obj/effect/turf_decal/siding/wood, -/obj/effect/landmark/navigate_destination/lawyer, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/filingcabinet{ + pixel_x = 11; + density = 0 + }, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) "ljI" = ( @@ -48084,6 +48080,7 @@ /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) "qel" = ( +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 5 @@ -52779,6 +52776,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/navigate_destination/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) "rOy" = ( @@ -60883,7 +60881,12 @@ /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "uCv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood, +/obj/structure/filingcabinet/employment{ + pixel_x = -11; + density = 0 + }, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) "uCy" = ( @@ -62544,12 +62547,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"vcR" = ( -/obj/structure/aquarium/lawyer, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/lawoffice) "vcS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67252,14 +67249,14 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) "wLP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) "wLR" = ( @@ -99053,11 +99050,11 @@ hLr nCe udP hFr -hFr -hFr -hFr -hFr -hFr +abM +abM +abM +abM +abM abM abM abM @@ -99309,11 +99306,11 @@ nzL jkM adC jmp -iTz -vcR -aXh -mrb -kse +hFr +hFr +hFr +hFr +hFr hFr abM abM @@ -99569,8 +99566,8 @@ vrG iTz fEZ qel -aGk -hPA +mrb +kpX hFr abM abM @@ -99827,7 +99824,7 @@ kKB pxs jXY hgC -xmH +hPA hFr abM abM @@ -100084,7 +100081,7 @@ iTz bFc wLP uCv -arZ +xmH hFr abM abM diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 24272054bdcf..05c8001375d1 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -121,6 +121,10 @@ /obj/structure/filingcabinet/security var/virgin = TRUE +/obj/structure/filingcabinet/security/Initialize(mapload) + . = ..() + REGISTER_REQUIRED_MAP_ITEM(1, INFINITY) + /obj/structure/filingcabinet/security/proc/populate() if(!virgin) return