From bd6873fd4dd6a61d7e46f1d75cd4d90f64c40894 Mon Sep 17 00:00:00 2001 From: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Date: Wed, 28 Jul 2021 16:00:56 -0700 Subject: [PATCH] Remove nanites (#60473) Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> --- .../map_files/Deltastation/DeltaStation2.dmm | 2252 ++++++++--------- .../map_files/IceBoxStation/IceBoxStation.dmm | 1282 +++++----- _maps/map_files/KiloStation/KiloStation.dmm | 1095 ++++---- _maps/map_files/MetaStation/MetaStation.dmm | 1399 +++++----- _maps/map_files/debug/runtimestation.dmm | 139 +- _maps/map_files/tramstation/tramstation.dmm | 1634 +++++------- code/__DEFINES/atom_hud.dm | 2 - code/__DEFINES/dcs/signals.dm | 43 - code/__DEFINES/logging.dm | 1 - code/__DEFINES/machines.dm | 1 - code/__DEFINES/misc.dm | 1 - code/__DEFINES/nanites.dm | 53 - code/__DEFINES/research.dm | 2 - code/__DEFINES/traits.dm | 3 - code/_globalvars/lists/mobs.dm | 1 - .../subsystem/processing/nanites.dm | 22 - code/datums/components/nanites.dm | 479 ---- .../diseases/advance/symptoms/nanites.dm | 71 - .../mood_events/generic_negative_events.dm | 7 - .../mood_events/generic_positive_events.dm | 7 - code/game/area/space_station_13_areas.dm | 4 - code/game/data_huds.dm | 16 +- code/game/machinery/computer/crew.dm | 40 +- code/game/machinery/scan_gate.dm | 17 - .../game/objects/effects/spawners/lootdrop.dm | 5 - .../circuitboards/computer_circuitboards.dm | 10 - .../circuitboards/machine_circuitboards.dm | 47 - code/game/objects/items/devices/scanners.dm | 31 - .../items/implants/implant_deathrattle.dm | 2 +- code/game/objects/items/pinpointer.dm | 2 - code/game/objects/items/storage/boxes.dm | 8 - .../structures/signs/signs_departments.dm | 7 - .../game/turfs/open/floor/plating/asteroid.dm | 4 + code/game/turfs/turf.dm | 4 - code/modules/admin/admin_investigate.dm | 2 +- .../antagonists/disease/disease_abilities.dm | 8 - .../antagonists/slaughter/slaughter.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 4 - .../mob/living/carbon/carbon_defines.dm | 2 +- .../mob/living/carbon/human/human_defines.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 8 - code/modules/mob/living/living_defines.dm | 2 +- .../mob/living/simple_animal/slime/powers.dm | 5 - .../file_system/programs/radar.dm | 2 - code/modules/research/designs.dm | 2 +- .../research/designs/comp_board_designs.dm | 16 - .../research/designs/electronics_designs.dm | 44 - .../research/designs/machine_designs.dm | 32 - .../research/designs/nanite_designs.dm | 573 ----- .../nanites/extra_settings/_extra_setting.dm | 20 - .../nanites/extra_settings/boolean.dm | 27 - .../research/nanites/extra_settings/number.dm | 32 - .../research/nanites/extra_settings/text.dm | 21 - .../research/nanites/extra_settings/type.dm | 18 - .../research/nanites/nanite_chamber.dm | 213 -- .../nanites/nanite_chamber_computer.dm | 108 - .../nanites/nanite_cloud_controller.dm | 261 -- .../research/nanites/nanite_hijacker.dm | 1 - .../research/nanites/nanite_misc_items.dm | 9 - .../research/nanites/nanite_program_hub.dm | 149 -- .../research/nanites/nanite_programmer.dm | 175 -- .../research/nanites/nanite_programs.dm | 335 --- .../nanites/nanite_programs/buffing.dm | 111 - .../nanites/nanite_programs/healing.dm | 230 -- .../nanites/nanite_programs/protocols.dm | 277 -- .../research/nanites/nanite_programs/rogue.dm | 119 - .../nanites/nanite_programs/sensor.dm | 314 --- .../nanites/nanite_programs/suppression.dm | 309 --- .../nanites/nanite_programs/utility.dm | 311 --- .../nanites/nanite_programs/weapon.dm | 186 -- .../modules/research/nanites/nanite_remote.dm | 236 -- .../modules/research/nanites/program_disks.dm | 133 - .../research/nanites/public_chamber.dm | 206 -- code/modules/research/nanites/rules.dm | 150 -- code/modules/research/techweb/all_nodes.dm | 182 -- code/modules/unit_tests/designs.dm | 8 +- .../wiremod/shell/brain_computer_interface.dm | 10 +- icons/mob/actions/actions_items.dmi | Bin 15020 -> 15021 bytes icons/mob/hud.dmi | Bin 14933 -> 14197 bytes icons/obj/computer.dmi | Bin 122826 -> 118220 bytes icons/obj/decals.dmi | Bin 35497 -> 35410 bytes icons/obj/device.dmi | Bin 66695 -> 64780 bytes .../{nanite_chamber.dmi => bci_implanter.dmi} | Bin 14572 -> 14571 bytes icons/obj/machines/research.dmi | Bin 33903 -> 25788 bytes icons/obj/surgery.dmi | Bin 44645 -> 43918 bytes icons/turf/areas.dmi | Bin 42400 -> 42512 bytes strings/cas_white.txt | 2 +- strings/locations.json | 1 - tgstation.dme | 29 - .../tgui/interfaces/NaniteChamberControl.js | 277 -- .../tgui/interfaces/NaniteCloudControl.js | 333 --- .../tgui/interfaces/NaniteProgramHub.js | 145 -- .../tgui/interfaces/NaniteProgrammer.js | 344 --- tgui/packages/tgui/interfaces/NaniteRemote.js | 177 -- tgui/packages/tgui/interfaces/ScannerGate.js | 36 - tgui/packages/tgui/interfaces/Techweb.js | 1 - 96 files changed, 3622 insertions(+), 11269 deletions(-) delete mode 100644 code/__DEFINES/nanites.dm delete mode 100644 code/controllers/subsystem/processing/nanites.dm delete mode 100644 code/datums/components/nanites.dm delete mode 100644 code/datums/diseases/advance/symptoms/nanites.dm delete mode 100644 code/modules/research/designs/nanite_designs.dm delete mode 100644 code/modules/research/nanites/extra_settings/_extra_setting.dm delete mode 100644 code/modules/research/nanites/extra_settings/boolean.dm delete mode 100644 code/modules/research/nanites/extra_settings/number.dm delete mode 100644 code/modules/research/nanites/extra_settings/text.dm delete mode 100644 code/modules/research/nanites/extra_settings/type.dm delete mode 100644 code/modules/research/nanites/nanite_chamber.dm delete mode 100644 code/modules/research/nanites/nanite_chamber_computer.dm delete mode 100644 code/modules/research/nanites/nanite_cloud_controller.dm delete mode 100644 code/modules/research/nanites/nanite_hijacker.dm delete mode 100644 code/modules/research/nanites/nanite_misc_items.dm delete mode 100644 code/modules/research/nanites/nanite_program_hub.dm delete mode 100644 code/modules/research/nanites/nanite_programmer.dm delete mode 100644 code/modules/research/nanites/nanite_programs.dm delete mode 100644 code/modules/research/nanites/nanite_programs/buffing.dm delete mode 100644 code/modules/research/nanites/nanite_programs/healing.dm delete mode 100644 code/modules/research/nanites/nanite_programs/protocols.dm delete mode 100644 code/modules/research/nanites/nanite_programs/rogue.dm delete mode 100644 code/modules/research/nanites/nanite_programs/sensor.dm delete mode 100644 code/modules/research/nanites/nanite_programs/suppression.dm delete mode 100644 code/modules/research/nanites/nanite_programs/utility.dm delete mode 100644 code/modules/research/nanites/nanite_programs/weapon.dm delete mode 100644 code/modules/research/nanites/nanite_remote.dm delete mode 100644 code/modules/research/nanites/program_disks.dm delete mode 100644 code/modules/research/nanites/public_chamber.dm delete mode 100644 code/modules/research/nanites/rules.dm rename icons/obj/machines/{nanite_chamber.dmi => bci_implanter.dmi} (96%) delete mode 100644 tgui/packages/tgui/interfaces/NaniteChamberControl.js delete mode 100644 tgui/packages/tgui/interfaces/NaniteCloudControl.js delete mode 100644 tgui/packages/tgui/interfaces/NaniteProgramHub.js delete mode 100644 tgui/packages/tgui/interfaces/NaniteProgrammer.js delete mode 100644 tgui/packages/tgui/interfaces/NaniteRemote.js diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 521c222e9d5..4ed20435923 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -4182,6 +4182,26 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/dark/corner, /area/engineering/atmos) +"aCt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "aCu" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/start/hangover, @@ -4394,6 +4414,22 @@ }, /turf/open/floor/iron/grimy, /area/hallway/secondary/service) +"aEM" = ( +/obj/machinery/light/directional/east, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "aEN" = ( /obj/effect/spawner/randomarcade{ dir = 1 @@ -5524,6 +5560,29 @@ }, /turf/open/floor/iron, /area/cargo/qm) +"aNy" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "aNC" = ( /obj/effect/landmark/start/prisoner, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -8288,12 +8347,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/ai_monitored/security/armory) -"bly" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "blB" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -11757,17 +11810,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/service/chapel/main) -"bLH" = ( -/obj/machinery/light/directional/north, -/obj/machinery/component_printer, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "bLU" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -12211,6 +12253,13 @@ }, /turf/open/space, /area/space/nearstation) +"bNG" = ( +/obj/structure/sign/poster/official/build{ + pixel_y = -32 + }, +/obj/structure/table/reinforced, +/turf/open/floor/iron/white, +/area/science/misc_lab) "bNM" = ( /obj/machinery/door/poddoor/preopen{ id = "justicechamber"; @@ -13153,6 +13202,24 @@ }, /turf/open/space, /area/space/nearstation) +"bSd" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/matches{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/service/bar) "bSl" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/purple, @@ -13422,6 +13489,22 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/grimy, /area/ai_monitored/turret_protected/aisat_interior) +"bTz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "bTB" = ( /obj/item/kirbyplants/random, /obj/machinery/turretid{ @@ -15360,6 +15443,10 @@ }, /turf/open/floor/iron, /area/hallway/primary/central/aft) +"ccN" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/science/misc_lab) "ccU" = ( /obj/effect/spawner/randomsnackvend, /obj/machinery/light/directional/west, @@ -18387,6 +18474,12 @@ }, /turf/open/space, /area/space/nearstation) +"crF" = ( +/obj/structure/table/reinforced, +/obj/item/screwdriver, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/iron, +/area/science/misc_lab) "crG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -19906,16 +19999,6 @@ }, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) -"cGu" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "cGJ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Chapel Maintenance"; @@ -26188,77 +26271,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/science/genetics) -"djF" = ( -/turf/closed/wall/r_wall, -/area/science/nanite) -"djG" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"djH" = ( -/obj/machinery/nanite_programmer, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"djI" = ( -/obj/machinery/computer/nanite_chamber_control, -/obj/structure/sign/poster/random{ - pixel_y = 32 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"djJ" = ( -/obj/machinery/nanite_chamber, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"djK" = ( -/turf/closed/wall, -/area/science/nanite) "djL" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -26670,57 +26682,6 @@ }, /turf/open/floor/iron/dark, /area/science/genetics) -"dlt" = ( -/obj/machinery/power/apc/auto_name/west, -/obj/structure/cable, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"dlu" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"dlv" = ( -/obj/machinery/light/directional/east, -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "dlz" = ( /obj/structure/sign/warning/nosmoking, /turf/closed/wall, @@ -26898,70 +26859,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/science/genetics) -"dmF" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/science/nanite) -"dmG" = ( -/obj/machinery/nanite_program_hub, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"dmH" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"dmI" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/science/nanite) -"dmJ" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "dmL" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -27783,55 +27680,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/science/genetics) -"dqo" = ( -/obj/structure/table/reinforced, -/obj/item/nanite_scanner{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/nanite_scanner{ - pixel_x = 4; - pixel_y = -4 - }, -/obj/item/nanite_remote{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/nanite_remote{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/science/nanite) -"dqr" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "dqu" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -28078,65 +27926,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/science/genetics) -"drM" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/disks_nanite{ - pixel_x = 4; - pixel_y = -4 - }, -/obj/item/storage/box/disks_nanite{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/machinery/camera{ - c_tag = "Research Division - Nanite Lab"; - dir = 4; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/science/nanite) -"drN" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"drO" = ( -/obj/machinery/light/directional/east, -/obj/machinery/status_display/evac/directional/east, -/obj/effect/turf_decal/loading_area, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "drP" = ( /turf/closed/wall/r_wall, /area/science/mixing) @@ -28493,22 +28282,6 @@ }, /turf/open/floor/iron/dark/telecomms, /area/tcommsat/server) -"dtg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "dti" = ( /obj/structure/closet/bombcloset, /obj/effect/turf_decal/stripes/line{ @@ -28815,57 +28588,6 @@ }, /turf/open/floor/carpet, /area/command/bridge) -"duz" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/science/nanite) -"duD" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) -"duE" = ( -/obj/machinery/computer/nanite_chamber_control{ - dir = 8 - }, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "duF" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -29104,6 +28826,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/science/mixing) +"dwo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "dwt" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -32780,6 +32508,13 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) +"dMi" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/science/misc_lab) "dMt" = ( /obj/structure/closet/firecloset, /obj/machinery/light/small/directional/south, @@ -33764,23 +33499,6 @@ }, /turf/open/floor/iron, /area/medical/virology) -"dQV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron/white, -/area/science/misc_lab) "dQW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37262,12 +36980,6 @@ }, /turf/open/floor/iron, /area/commons/fitness/recreation) -"ehi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "ehq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -38529,20 +38241,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"eAB" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/science/nanite) "eAI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral, @@ -38643,13 +38341,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/hallway/primary/central/aft) -"eCk" = ( -/obj/machinery/status_display/evac/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engineering/atmos/upper) "eCl" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -40672,13 +40363,6 @@ }, /turf/open/floor/iron, /area/engineering/atmos/upper) -"faO" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "faY" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -41072,6 +40756,13 @@ }, /turf/open/floor/iron, /area/service/bar/atrium) +"ffG" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/south, +/turf/open/floor/iron/white, +/area/science/misc_lab) "ffH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -41380,27 +41071,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/engineering/supermatter/room) -"fkO" = ( -/obj/structure/table/reinforced, -/obj/machinery/camera{ - c_tag = "Bar - Fore"; - dir = 4; - name = "service camera" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/displaycase/forsale/kitchen, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/dark, -/area/service/bar) "fkP" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/purple, @@ -41711,6 +41381,22 @@ }, /turf/open/floor/iron/grimy, /area/service/theater/abandoned) +"foP" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/mmi, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "fph" = ( /turf/open/floor/engine/vacuum, /area/engineering/atmos/upper) @@ -42076,29 +41762,6 @@ }, /turf/open/floor/iron, /area/engineering/atmos/upper) -"fuF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Nanite Lab"; - req_access_txt = "47" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/nanite) "fuJ" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/structure/cable, @@ -42874,6 +42537,30 @@ }, /turf/open/floor/iron/dark, /area/engineering/storage/tech) +"fGC" = ( +/obj/machinery/door/airlock/research{ + name = "Research Testing Range"; + req_access_txt = "47" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "fGF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -44251,6 +43938,10 @@ }, /turf/open/floor/iron, /area/security/prison) +"geO" = ( +/obj/machinery/rnd/experimentor, +/turf/open/floor/engine, +/area/science/misc_lab) "geT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -44893,22 +44584,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/hallway/secondary/service) -"gpg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/door/window/brigdoor{ - dir = 4; - name = "Test Range" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "gpk" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/tile/red{ @@ -45165,12 +44840,6 @@ }, /turf/open/floor/engine/co2, /area/engineering/atmos) -"gsi" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/south, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/iron/white, -/area/science/misc_lab) "gsn" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer's Office"; @@ -45346,6 +45015,27 @@ "guL" = ( /turf/closed/wall/r_wall, /area/security/interrogation) +"guN" = ( +/obj/structure/table/reinforced, +/obj/machinery/camera{ + c_tag = "Bar - Fore"; + dir = 4; + name = "service camera" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/displaycase/forsale/kitchen, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/dark, +/area/service/bar) "guW" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/bot, @@ -45385,6 +45075,16 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"gve" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "gvf" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 @@ -45418,14 +45118,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/ai_monitored/command/storage/eva) -"gvD" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/module_duplicator, -/turf/open/floor/iron/white, -/area/science/misc_lab) "gvH" = ( /obj/structure/mirror/directional/west, /obj/effect/turf_decal/tile/red{ @@ -46043,24 +45735,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central/aft) -"gFZ" = ( -/obj/machinery/nanite_program_hub, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "gGK" = ( /obj/machinery/modular_computer/console/preset/id{ dir = 8 @@ -46167,27 +45841,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"gIn" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/flasher/directional/east{ - id = "hopflash"; - pixel_x = 0; - pixel_y = 26 - }, -/turf/open/floor/iron/dark, -/area/hallway/primary/central/fore) "gIw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 5 @@ -46532,10 +46185,6 @@ }, /turf/open/floor/iron/grimy, /area/commons/vacant_room/office) -"gOd" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/service/bar) "gOp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -47741,30 +47390,6 @@ }, /turf/open/floor/iron/white, /area/hallway/primary/central/aft) -"hgS" = ( -/obj/machinery/door/airlock/research{ - name = "Circuits Testing Lab"; - req_access_txt = "47" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "hgT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48354,6 +47979,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/commons/dorms) +"hpL" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/misc_lab) "hpM" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -48480,6 +48109,23 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/security/office) +"hrL" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "hrT" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -50028,12 +49674,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/maintenance/port/fore) -"hOV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "hOZ" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -50708,6 +50348,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"hWj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Atmospherics - Testing Room"; + name = "atmospherics camera" + }, +/obj/machinery/electrolyzer, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/engineering/atmos/upper) "hWu" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, @@ -52002,22 +51657,6 @@ /obj/machinery/power/apc/auto_name/west, /turf/open/floor/iron, /area/cargo/sorting) -"imL" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "imN" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -52111,6 +51750,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/command/gateway) +"iod" = ( +/obj/structure/table/reinforced, +/obj/machinery/camera{ + c_tag = "Science - Experimentation Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/iron, +/area/science/misc_lab) "iog" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; @@ -52871,6 +52520,10 @@ }, /turf/open/floor/iron/dark, /area/security/interrogation) +"iyK" = ( +/obj/effect/turf_decal/tile/purple, +/turf/closed/wall/r_wall, +/area/science/misc_lab) "iyX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53571,6 +53224,23 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/engineering/supermatter/room) +"iJw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "External Waste Ports to Filter" + }, +/turf/open/floor/iron, +/area/engineering/atmos) "iJD" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment{ @@ -53654,6 +53324,10 @@ }, /turf/open/floor/iron, /area/cargo/qm) +"iKP" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/service/bar) "iKS" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ @@ -53918,18 +53592,6 @@ /obj/machinery/power/apc/auto_name/east, /turf/open/floor/iron, /area/cargo/miningoffice) -"iNP" = ( -/obj/structure/sign/poster/official/build{ - pixel_y = -32 - }, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "iNS" = ( /obj/structure/chair/office{ dir = 4 @@ -54442,6 +54104,25 @@ }, /turf/open/floor/iron/white, /area/science/research) +"iTT" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/item/storage/toolbox/electrical{ + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "iUx" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -54840,8 +54521,10 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/command/heads_quarters/hos) -"jcg" = ( -/obj/structure/table/reinforced, +"jca" = ( +/obj/machinery/light/directional/east, +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -54852,13 +54535,8 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/lighter{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/lighter, /turf/open/floor/iron/dark, -/area/service/bar) +/area/science/misc_lab) "jcj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -55579,20 +55257,6 @@ }, /turf/open/floor/carpet, /area/commons/dorms) -"jmM" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/service/bar) "jmU" = ( /obj/effect/landmark/start/station_engineer, /turf/open/floor/engine, @@ -56103,6 +55767,25 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/hallway/primary/central/aft) +"jvd" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/lighter{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/lighter, +/turf/open/floor/iron/dark, +/area/service/bar) "jvy" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall, @@ -56797,6 +56480,10 @@ }, /turf/open/floor/iron/grimy, /area/command/heads_quarters/captain) +"jER" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/science/misc_lab) "jES" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, @@ -57046,19 +56733,6 @@ /obj/item/pen, /turf/open/floor/iron/grimy, /area/command/bridge) -"jHZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/landmark/xeno_spawn, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "jId" = ( /obj/structure/table/wood, /obj/item/lipstick/random{ @@ -59295,15 +58969,6 @@ }, /turf/open/floor/engine/n2, /area/engineering/atmos) -"kon" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "kot" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall, @@ -60234,6 +59899,20 @@ }, /turf/open/floor/iron, /area/engineering/break_room) +"kzS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "kAa" = ( /obj/structure/table/wood/poker, /obj/item/storage/box/matches{ @@ -62023,6 +61702,10 @@ }, /turf/open/floor/iron, /area/service/bar/atrium) +"kYl" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/science/misc_lab) "kYo" = ( /obj/effect/turf_decal/bot, /obj/machinery/firealarm/directional/north, @@ -63847,6 +63530,29 @@ /obj/structure/reagent_dispensers/peppertank/directional/west, /turf/open/floor/iron/dark, /area/command/heads_quarters/hos) +"luI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Circuits Lab"; + req_access_txt = "47" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "lvk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -63896,6 +63602,20 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"lvX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "lvY" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, @@ -65213,6 +64933,22 @@ }, /turf/open/floor/iron, /area/cargo/office) +"lPk" = ( +/obj/machinery/camera{ + c_tag = "Science - Firing Range"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/table/reinforced, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/iron/white, +/area/science/misc_lab) "lPn" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; @@ -66631,6 +66367,11 @@ }, /turf/open/floor/plating, /area/service/abandoned_gambling_den) +"mhV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder, +/turf/open/floor/plating, +/area/science/misc_lab) "mhX" = ( /obj/machinery/camera{ c_tag = "Art Gallery"; @@ -67650,6 +67391,12 @@ }, /turf/open/floor/wood, /area/commons/vacant_room/office) +"muj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "muI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown{ @@ -68490,6 +68237,9 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood, /area/service/library/abandoned) +"mHE" = ( +/turf/open/floor/engine, +/area/science/misc_lab) "mHH" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, @@ -68863,21 +68613,6 @@ }, /turf/open/floor/iron, /area/commons/vacant_room/commissary) -"mLZ" = ( -/obj/structure/closet/crate, -/obj/item/target/alien, -/obj/item/target/alien, -/obj/item/target/clown, -/obj/item/target/clown, -/obj/item/target/syndicate, -/obj/item/gun/energy/laser/practice, -/obj/item/gun/energy/laser/practice, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron/white, -/area/science/misc_lab) "mMg" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/green, @@ -69077,18 +68812,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/commons/toilet/restrooms) -"mPh" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, -/obj/item/gun/energy/laser/practice, -/obj/item/gun/energy/laser/practice{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/window/reinforced, -/turf/open/floor/iron/white, -/area/science/misc_lab) "mPo" = ( /obj/machinery/research/explosive_compressor, /obj/effect/turf_decal/bot, @@ -69322,23 +69045,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/command/meeting_room/council) -"mSq" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/door/window/southright{ - name = "Bar Door"; - req_one_access_txt = "25;28" - }, -/turf/open/floor/iron/dark, -/area/service/bar) "mSA" = ( /obj/structure/window/reinforced{ dir = 8 @@ -70532,23 +70238,6 @@ }, /turf/open/floor/iron, /area/maintenance/port) -"ngP" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "External Waste Ports to Filter" - }, -/turf/open/floor/iron, -/area/engineering/atmos) "ngQ" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -70850,6 +70539,35 @@ }, /turf/open/floor/iron/dark, /area/command/heads_quarters/hos) +"nku" = ( +/obj/structure/table/reinforced, +/obj/machinery/camera{ + c_tag = "Research Division - Circuits Lab"; + dir = 4; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = -2 + }, +/obj/item/multitool{ + pixel_x = 4; + pixel_y = 2 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "nkz" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -71492,6 +71210,13 @@ }, /turf/open/floor/iron/dark, /area/service/electronic_marketing_den) +"nuU" = ( +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engineering/atmos/upper) "nuW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot_white, @@ -72971,6 +72696,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/engineering/atmos/upper) +"nNa" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/science/misc_lab) "nNm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/filingcabinet/filingcabinet, @@ -73472,37 +73201,6 @@ /obj/structure/sign/warning/radiation, /turf/closed/wall/r_wall, /area/engineering/gravity_generator) -"nTq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/research{ - name = "Genetics Lab"; - req_access_txt = "9" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "nTx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -73716,18 +73414,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/maintenance/port/fore) -"nUV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/item/multitool/circuit{ - pixel_x = 7 - }, -/obj/item/multitool/circuit, -/obj/item/multitool/circuit{ - pixel_x = -8 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "nUZ" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -74408,6 +74094,27 @@ "ods" = ( /turf/open/floor/wood, /area/command/heads_quarters/hop) +"odz" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/flasher/directional/east{ + id = "hopflash"; + pixel_x = 0; + pixel_y = 26 + }, +/turf/open/floor/iron/dark, +/area/hallway/primary/central/fore) "odF" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -75093,10 +74800,6 @@ }, /turf/open/floor/iron/white, /area/hallway/primary/central/aft) -"oly" = ( -/obj/machinery/modular_computer/console/preset/civilian, -/turf/open/floor/iron/white, -/area/science/misc_lab) "olC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75415,6 +75118,24 @@ }, /turf/open/floor/iron/dark, /area/engineering/atmos) +"ooQ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "ooT" = ( /obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/red{ @@ -75470,6 +75191,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/cargo/sorting) +"ops" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/controller, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "opA" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -75920,6 +75657,15 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central/fore) +"owI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/electrolyzer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engineering/atmos/upper) "owY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -76283,6 +76029,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) +"oBr" = ( +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/white, +/area/science/misc_lab) "oBs" = ( /turf/closed/wall, /area/cargo/qm) @@ -76580,6 +76331,29 @@ }, /turf/open/floor/iron, /area/maintenance/starboard/fore) +"oFz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/item/multitool/circuit{ + pixel_x = 7 + }, +/obj/item/multitool/circuit{ + pixel_x = -8 + }, +/obj/item/multitool/circuit, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "oFE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral, @@ -78451,6 +78225,20 @@ }, /turf/open/floor/iron, /area/engineering/main) +"pbQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "pcq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ @@ -78874,6 +78662,21 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) +"pkr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/component_printer, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "pkx" = ( /obj/effect/turf_decal/tile/green, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80788,32 +80591,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/hallway/primary/port) -"pLc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "pLf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -81095,6 +80872,28 @@ }, /turf/open/floor/iron/dark/corner, /area/maintenance/disposal/incinerator) +"pPE" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "pPX" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/landmark/start/hangover, @@ -81242,6 +81041,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/service/abandoned_gambling_den) +"pRL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "pRW" = ( /obj/machinery/computer/slot_machine, /obj/effect/decal/cleanable/dirt, @@ -82198,25 +82010,6 @@ }, /turf/open/floor/iron, /area/science/research) -"qdJ" = ( -/obj/machinery/nanite_programmer, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "qdO" = ( /obj/machinery/light/directional/south, /obj/structure/table/reinforced, @@ -83728,15 +83521,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/circuit/green, /area/engineering/main) -"qyo" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/misc_lab) "qyu" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -83861,15 +83645,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/medical/surgery) -"qzv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/electrolyzer, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engineering/atmos/upper) "qzE" = ( /turf/open/floor/engine, /area/engineering/supermatter) @@ -84417,10 +84192,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/hallway/secondary/entry) -"qGq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/science/misc_lab) "qGs" = ( /obj/machinery/light/directional/west, /obj/machinery/camera{ @@ -84697,6 +84468,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engineering/main) +"qKy" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "qKC" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -85500,22 +85277,6 @@ }, /turf/open/floor/iron, /area/cargo/storage) -"qUc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "qUh" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -88538,18 +88299,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/science/research) -"rKf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/controller, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/item/compact_remote, -/obj/item/compact_remote, -/turf/open/floor/iron/white, -/area/science/misc_lab) "rKh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -88824,6 +88573,17 @@ dir = 1 }, /area/hallway/secondary/entry) +"rMT" = ( +/obj/structure/closet/crate, +/obj/item/target/alien, +/obj/item/target/alien, +/obj/item/target/clown, +/obj/item/target/clown, +/obj/item/target/syndicate, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, +/turf/open/floor/iron/white, +/area/science/misc_lab) "rMV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -88938,6 +88698,10 @@ }, /turf/open/floor/iron, /area/cargo/storage) +"rOQ" = ( +/obj/structure/table/reinforced, +/turf/open/floor/iron, +/area/science/misc_lab) "rPb" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/neutral{ @@ -89768,19 +89532,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/medical/medbay/central) -"saJ" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/electrical{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "saQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/virology{ @@ -90529,6 +90280,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/hallway/secondary/entry) +"sle" = ( +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/open/floor/engine, +/area/science/misc_lab) "slt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -92592,21 +92349,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/service/library/abandoned) -"sKv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Atmospherics - Testing Room"; - name = "atmospherics camera" - }, -/obj/machinery/electrolyzer, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/engineering/atmos/upper) "sKy" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -92677,15 +92419,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/medical/virology) -"sKO" = ( -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/structure/rack, -/obj/item/integrated_circuit/loaded/speech_relay, -/obj/item/integrated_circuit/loaded/hello_world, -/turf/open/floor/iron/white, -/area/science/misc_lab) "sKP" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -93003,6 +92736,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/maintenance/port/fore) +"sPX" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "sQk" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow{ @@ -93177,6 +92924,12 @@ }, /turf/open/floor/iron, /area/maintenance/starboard/aft) +"sSW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "sTm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -93462,6 +93215,26 @@ }, /turf/open/floor/iron, /area/security/office) +"sWs" = ( +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/integrated_circuit/loaded/speech_relay, +/obj/item/integrated_circuit/loaded/hello_world, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "sWu" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -93559,6 +93332,21 @@ }, /turf/open/floor/iron, /area/cargo/miningoffice) +"sXf" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "sXh" = ( /obj/structure/transit_tube/horizontal, /obj/effect/turf_decal/tile/neutral{ @@ -95218,13 +95006,6 @@ }, /turf/open/floor/iron, /area/maintenance/starboard/fore) -"tuj" = ( -/obj/structure/chair/office/light{ - dir = 1; - pixel_y = 3 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "tuq" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/red{ @@ -95748,21 +95529,6 @@ }, /turf/open/floor/iron, /area/maintenance/starboard/aft) -"tCD" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/service/bar) "tCG" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -96790,6 +96556,37 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"tNB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + name = "Genetics Lab"; + req_access_txt = "9" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "tNO" = ( /obj/structure/table/wood, /obj/item/taperecorder, @@ -98469,6 +98266,23 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engineering/main) +"umc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/door/window/southright{ + name = "Bar Door"; + req_one_access_txt = "25;28" + }, +/turf/open/floor/iron/dark, +/area/service/bar) "ume" = ( /obj/machinery/door/window/brigdoor{ dir = 1; @@ -98760,6 +98574,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/central/fore) +"uqk" = ( +/obj/machinery/power/apc/auto_name/west, +/obj/structure/cable, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/compact_remote, +/obj/item/compact_remote, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "uqr" = ( /obj/structure/table/wood, /obj/item/newspaper{ @@ -99784,6 +99617,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/grimy, /area/command/heads_quarters/hos) +"uCC" = ( +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/structure/rack, +/turf/open/floor/iron, +/area/science/misc_lab) "uCT" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -100183,24 +100023,6 @@ }, /turf/open/floor/iron, /area/security/prison) -"uHW" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/matches{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/service/bar) "uIe" = ( /obj/machinery/door/airlock{ id_tag = "AuxCabinB"; @@ -100256,6 +100078,21 @@ }, /turf/open/floor/iron, /area/command/heads_quarters/ce) +"uIy" = ( +/obj/effect/landmark/start/scientist, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "uID" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -100327,10 +100164,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) -"uJJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white, -/area/science/misc_lab) "uJK" = ( /obj/machinery/button/crematorium{ id = "cremawheat"; @@ -100506,6 +100339,20 @@ heat_capacity = 1e+006 }, /area/commons/fitness/recreation) +"uMh" = ( +/obj/effect/landmark/xeno_spawn, +/obj/machinery/door/window/brigdoor{ + dir = 4; + name = "Test Range" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/misc_lab) "uMi" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -101132,6 +100979,10 @@ }, /turf/open/floor/iron, /area/cargo/storage) +"uWD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/science/misc_lab) "uWH" = ( /obj/structure/table/wood, /obj/item/storage/photo_album, @@ -101557,18 +101408,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/command/heads_quarters/captain) -"veb" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "vec" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/tank_holder/emergency_oxygen, @@ -102411,6 +102250,21 @@ }, /turf/open/floor/iron, /area/cargo/miningoffice) +"voj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/module_duplicator, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "voq" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/purple{ @@ -102872,20 +102726,6 @@ }, /turf/open/floor/iron, /area/service/hydroponics) -"vwU" = ( -/obj/effect/landmark/start/scientist, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "vxa" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -103761,13 +103601,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, /turf/open/floor/iron, /area/engineering/supermatter/room) -"vJu" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Nanite Lab Maintenance"; - req_access_txt = "47" - }, -/turf/open/floor/plating, -/area/maintenance/port) "vJB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/morgue{ @@ -104662,6 +104495,13 @@ }, /turf/open/floor/iron, /area/cargo/sorting) +"vUT" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Circuits Lab Maintenance"; + req_access_txt = "47" + }, +/turf/open/floor/plating, +/area/maintenance/port) "vVc" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -105197,28 +105037,6 @@ }, /turf/open/floor/carpet, /area/service/chapel/office) -"wbX" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus{ - pixel_x = 5; - pixel_y = 10 - }, -/obj/item/stock_parts/cell/high/plus, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Research Division - Circuits"; - dir = 4; - name = "science camera"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "wcg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/xeno_spawn, @@ -105704,23 +105522,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/aisat/exterior) -"wjF" = ( -/obj/structure/chair/office/light{ - dir = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "wjG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -107187,6 +106988,20 @@ /obj/structure/cable, /turf/open/floor/plating, /area/command/meeting_room/council) +"wEH" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/service/bar) "wEL" = ( /obj/structure/window/reinforced{ dir = 8 @@ -107426,6 +107241,9 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/aisat/exterior) +"wId" = ( +/turf/open/floor/plating, +/area/science/misc_lab) "wIn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -107640,6 +107458,11 @@ dir = 1 }, /area/engineering/atmos) +"wMH" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/turf/open/floor/iron, +/area/science/misc_lab) "wMU" = ( /obj/machinery/button/flasher{ id = "Cell 5"; @@ -108047,22 +107870,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard) -"wTa" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "wTb" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral{ @@ -108298,26 +108105,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engineering/storage) -"wVN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "wWd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/effect/turf_decal/tile/yellow{ @@ -108537,6 +108324,23 @@ }, /turf/open/floor/iron, /area/maintenance/solars/port/aft) +"wZp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "wZs" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, @@ -109496,28 +109300,6 @@ }, /turf/open/floor/iron, /area/service/hydroponics) -"xot" = ( -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "xox" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -109527,17 +109309,6 @@ }, /turf/open/floor/iron/dark/corner, /area/engineering/atmos) -"xoY" = ( -/obj/structure/cable, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/science/misc_lab) "xpb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -109805,6 +109576,14 @@ }, /turf/open/floor/iron/grimy, /area/service/chapel/office) +"xsp" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_one_access_txt = "12;47" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/science/misc_lab) "xsP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -111002,6 +110781,14 @@ }, /turf/open/floor/iron, /area/command/heads_quarters/rd) +"xKi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/misc_lab) "xKt" = ( /obj/structure/filingcabinet/employment, /obj/machinery/airalarm/directional/east, @@ -111051,9 +110838,6 @@ /obj/machinery/atmospherics/components/binary/thermomachine/freezer, /turf/open/floor/iron, /area/science/mixing) -"xLa" = ( -/turf/open/floor/iron/white, -/area/science/misc_lab) "xLd" = ( /obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ @@ -112142,32 +111926,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"ybh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "ybi" = ( /turf/open/floor/iron/grimy, /area/command/heads_quarters/hos) @@ -112610,6 +112368,21 @@ "yhJ" = ( /turf/open/floor/plating/airless, /area/space/nearstation) +"yhN" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/service/bar) "yhU" = ( /obj/structure/table/wood, /obj/item/taperecorder{ @@ -112801,6 +112574,23 @@ }, /turf/open/floor/iron, /area/command/heads_quarters/cmo) +"ykV" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "ykY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow{ @@ -137534,11 +137324,11 @@ exk swm pfQ tCh +crF +rOQ +gSi map vGv -vGv -vGv -vGv lmF gSi dul @@ -137791,10 +137581,10 @@ ced wXQ moY tCh +iod +qKy +gSi mLI -xKO -xKO -xKO bfJ aST gSi @@ -137990,7 +137780,7 @@ sBH bUP qAf qhK -ngP +iJw glG yjF kPH @@ -138048,11 +137838,11 @@ cMY ceb moY tCh +wMH +nNa +gSi uRm -qGq -ehi -ehi -faO +xKO aST gSi dlg @@ -138305,11 +138095,11 @@ cMY cea kEw tCh +nNa +nNa +gSi mLI xKO -xKO -xKO -ehi mGu gSi dum @@ -138561,12 +138351,12 @@ dcb cMY cea laE -tCh -kon -qyo -qyo -qyo -jHZ +xsp +jER +muj +gSi +mLI +sSW aST gSi yjc @@ -138819,11 +138609,11 @@ cMY deX aiu tCh -nUV -saJ -wbX -mPh -gpg +nNa +dwo +gSi +gve +uMh nGU gSi dun @@ -139076,12 +138866,12 @@ cMY deX joJ tCh -oly -tuj -xLa -xLa -xoY -gsi +mhV +ccN +gSi +lPk +xKi +ffG gSi duo dmu @@ -139333,12 +139123,12 @@ cMY deY oAw tCh -bLH -bly -xLa -uJJ +wId +xKO +gSi +oBr ifR -veb +dMi gSi dup dlg @@ -139590,12 +139380,12 @@ cMY cjp hST tCh -cGu -hOV -hOV -hOV +wId +wId +gSi +kYl oox -iNP +bNG gSi duq dlh @@ -139847,11 +139637,11 @@ cMY deZ joJ tCh -sKO -rKf -gvD -mLZ -dQV +uCC +uWD +iyK +rMT +oox qhk gSi dur @@ -140023,10 +139813,10 @@ wLZ nXp twf awb -sKv -qzv +hWj +owI xpD -eCk +nuU awb ipq fsB @@ -140108,7 +139898,7 @@ tCh tCh gSi sUT -hgS +fGC gSi gSi dus @@ -142674,16 +142464,16 @@ cNd cOM dgt cMY -djF -djF -djF -nTq -djF -djF -djF -djF -djF -djF +gSi +gSi +gSi +tNB +gSi +gSi +gSi +gSi +gSi +gSi cxO oFE caE @@ -142931,16 +142721,16 @@ ddR cNd cNd cMY -djG -dlt -dmG -ybh -dqo -drM -gFZ -duz -wTa -djF +foP +uqk +ops +aNy +oFz +iTT +nku +ooQ +ykV +gSi dzp pxk caE @@ -143188,16 +142978,16 @@ vHZ vHZ vHZ cMY -djH -dlu -dmH -pLc -drN -vwU -dtg -dtg -dtg -vJu +voj +sXf +kzS +aNy +pRL +uIy +bTz +bTz +bTz +vUT cxN wJa dBY @@ -143445,16 +143235,16 @@ cNd cON eAA cMY -djI -wjF -dmI -wVN -eAB -imL -drN -duD -qUc -djF +sWs +pRL +pbQ +aCt +lvX +wZp +mHE +geO +mHE +gSi dzo oks exk @@ -143702,16 +143492,16 @@ ddR cNd cNd cMY -djJ -dlv -dmJ -xot -dqr -drO -djJ -duE -qdJ -djF +pkr +jca +sPX +pPE +hrL +aEM +mHE +sle +mHE +gSi tbn cjq dBZ @@ -143959,16 +143749,16 @@ cNc cMY cMY dhU -djK -djK -dmF -fuF -dmF -djF -djF -djF -djF -djF +tCh +tCh +hpL +luI +hpL +gSi +gSi +gSi +gSi +gSi drP drP drP @@ -148030,7 +147820,7 @@ sKa pTo kcH wpW -gIn +odz wIy oxN lgC @@ -149533,7 +149323,7 @@ aXI hFM wtr unM -fkO +guN stu pqt ofO @@ -149790,7 +149580,7 @@ aXI vWE xXQ hXi -jcg +jvd jOV ofO qUo @@ -150047,7 +149837,7 @@ aXI wrg euO vsR -jmM +wEH jOV bDy gJj @@ -150304,7 +150094,7 @@ aXI kUs iJD mvD -uHW +bSd gbz ofO gJj @@ -150561,7 +150351,7 @@ aXI ude euO unM -tCD +yhN jOV ofO gJj @@ -150818,7 +150608,7 @@ aXI dZu jNP krF -jmM +wEH bBg ofO tuq @@ -151075,7 +150865,7 @@ aXI mvi qMY snN -mSq +umc fqv mMT ofO @@ -151332,7 +151122,7 @@ aXI aXI aXI aXI -gOd +iKP ncV ncV uZJ diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index ae831f5881a..8a59befed37 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -1656,6 +1656,10 @@ /obj/structure/table, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"ahT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/maintenance/fore/secondary) "ahU" = ( /obj/structure/closet{ name = "Evidence Closet" @@ -2484,6 +2488,23 @@ /obj/item/trash/can, /turf/open/floor/iron, /area/security/prison) +"akE" = ( +/obj/structure/sign/warning/deathsposal{ + pixel_y = 32 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/disposal/bin, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "akF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 10 @@ -3360,6 +3381,12 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/security/courtroom) +"anD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "anE" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -3695,6 +3722,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"aoL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "aoM" = ( /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) @@ -3834,6 +3868,29 @@ /obj/machinery/meter/atmos/layer4, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"apw" = ( +/obj/effect/landmark/blobstart, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apx" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Maintenance"; + req_access_txt = "12;24" + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apy" = ( +/obj/item/wrench, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "apz" = ( /obj/machinery/hydroponics/soil, /obj/item/shovel/spade, @@ -4011,6 +4068,34 @@ /obj/structure/reagent_dispensers/servingdish, /turf/open/floor/iron, /area/security/prison) +"aqp" = ( +/obj/structure/rack, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/gas, +/obj/item/extinguisher, +/obj/item/clothing/head/hardhat/red, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/binary/pump/on/general/visible/layer4{ + dir = 4; + name = "Air In" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqq" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "aqt" = ( /obj/structure/toilet/greyscale{ dir = 8; @@ -7699,14 +7784,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/hallway/primary/central) -"aOB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "aOE" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -7895,20 +7972,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"aQx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/science/nanite) -"aQy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/science/nanite) "aQB" = ( /obj/structure/sign/warning/securearea{ pixel_x = 32 @@ -8013,6 +8076,16 @@ icon_state = "damaged2" }, /area/icemoon/surface/outdoors) +"aRs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/flora/rock/pile/icy{ + pixel_x = 6; + pixel_y = 4 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "aRK" = ( /turf/open/floor/iron, /area/command/heads_quarters/ce) @@ -8950,12 +9023,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/starboard) -"baz" = ( -/obj/item/cigbutt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "baC" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -9706,6 +9773,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"bfs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "bfv" = ( /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) @@ -10183,6 +10260,9 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/science/lab) +"bia" = ( +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "bic" = ( /obj/item/radio/intercom/directional/north, /obj/structure/table/glass, @@ -12862,16 +12942,6 @@ /obj/item/clothing/shoes/winterboots, /turf/open/floor/plating, /area/maintenance/starboard) -"bwt" = ( -/obj/structure/table, -/obj/item/stock_parts/cell/high, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/science/misc_lab) "bwv" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -13205,6 +13275,13 @@ }, /turf/open/floor/plating, /area/maintenance/disposal/incinerator) +"byw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "byL" = ( /obj/structure/chair/office{ dir = 1 @@ -13215,6 +13292,14 @@ }, /turf/open/floor/iron, /area/security/checkpoint/supply) +"byO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "byP" = ( /obj/structure/sign/warning/securearea{ pixel_y = 32 @@ -13309,6 +13394,13 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors) +"bzr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "bzs" = ( /turf/closed/wall, /area/maintenance/aft) @@ -13379,6 +13471,12 @@ }, /turf/open/floor/iron/dark, /area/science/genetics) +"bzQ" = ( +/obj/item/cigbutt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "bzS" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -13827,6 +13925,13 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"bCf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "bCq" = ( /turf/closed/wall, /area/maintenance/port/aft) @@ -14267,6 +14372,11 @@ }, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) +"bEy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/electrolyzer, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "bEC" = ( /turf/closed/wall/r_wall, /area/science/mixing) @@ -17323,10 +17433,6 @@ }, /turf/open/floor/iron, /area/science/misc_lab) -"cbe" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "cbh" = ( /obj/structure/table, /obj/item/folder/white, @@ -17806,11 +17912,38 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/maintenance/port/aft) +"chm" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/airalarm/all_access{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "chw" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /turf/open/floor/carpet, /area/command/heads_quarters/captain) +"chC" = ( +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_y = 5 + }, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/science/misc_lab) "chH" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -18725,6 +18858,12 @@ "cuf" = ( /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat/service) +"cuh" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar/red, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) "cui" = ( /obj/machinery/atmospherics/components/tank/air, /turf/open/floor/plating, @@ -18747,6 +18886,10 @@ /obj/machinery/recharge_station, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat/service) +"cuq" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) "cur" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -18825,6 +18968,10 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/service) +"cuL" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/atmos) "cuN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -18835,6 +18982,13 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/atmos) +"cuO" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/atmos) "cuQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -21213,6 +21367,12 @@ /obj/item/reagent_containers/food/drinks/flask/gold, /turf/open/floor/carpet, /area/command/heads_quarters/captain) +"dky" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "dkZ" = ( /obj/machinery/light/small/directional/west, /mob/living/simple_animal/mouse/brown/tom, @@ -21752,12 +21912,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/service/kitchen) -"dFk" = ( -/obj/machinery/nanite_program_hub, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark, -/area/science/nanite) "dFo" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 8 @@ -22430,9 +22584,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors) -"dYq" = ( -/turf/closed/wall, -/area/science/nanite) "dYC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -22762,13 +22913,6 @@ }, /turf/open/floor/iron, /area/commons/dorms) -"eja" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/computer/nanite_chamber_control{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "ejg" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -22993,12 +23137,6 @@ }, /turf/open/floor/iron/dark, /area/medical/virology) -"epI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/nanite) "epN" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ dir = 4 @@ -23018,6 +23156,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/ai_monitored/command/nuke_storage) +"epW" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engineering/atmos) "eqa" = ( /obj/machinery/atmospherics/components/trinary/mixer{ dir = 8 @@ -23074,6 +23222,10 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/security/processing) +"esv" = ( +/obj/machinery/module_duplicator, +/turf/open/floor/iron, +/area/science/misc_lab) "esy" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -23099,10 +23251,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine/n2, /area/engineering/atmos) -"eta" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/atmos) "etg" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/tile/red{ @@ -23301,6 +23449,12 @@ }, /turf/open/floor/iron, /area/engineering/main) +"eAd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "eAh" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/light/directional/east, @@ -23478,6 +23632,15 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/maintenance/port/fore) +"eGA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "eGU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -23723,10 +23886,6 @@ }, /turf/open/floor/engine, /area/engineering/supermatter/room) -"eOa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/maintenance/fore/secondary) "eOk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23943,6 +24102,13 @@ /obj/machinery/light/small/directional/east, /turf/open/openspace/icemoon, /area/security/execution/transfer) +"eXz" = ( +/obj/effect/turf_decal/bot, +/obj/structure/frame/machine{ + anchored = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "eXP" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -24089,11 +24255,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/command/nuke_storage) -"faQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/electrolyzer, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "faR" = ( /obj/effect/loot_site_spawner, /turf/open/floor/plating{ @@ -24103,6 +24264,10 @@ "fbm" = ( /turf/open/floor/iron, /area/command/heads_quarters/rd) +"fbx" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/science/research) "fbH" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -24133,6 +24298,12 @@ }, /turf/open/floor/plating, /area/engineering/storage/tech) +"fcy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "fdf" = ( /obj/machinery/power/apc/auto_name/west, /obj/machinery/camera{ @@ -24608,6 +24779,17 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat/maint) +"frS" = ( +/obj/structure/table, +/obj/machinery/requests_console/directional/east{ + department = "Circuits Lab"; + departmentType = 2; + name = "Circuits Lab Requests Console"; + receive_ore_updates = 1 + }, +/obj/item/clothing/shoes/wheelys/skishoes, +/turf/open/floor/iron/dark, +/area/science/research) "frW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -25849,6 +26031,16 @@ /obj/item/trash/semki, /turf/open/floor/iron, /area/maintenance/port/fore) +"gaD" = ( +/obj/structure/table, +/obj/item/stock_parts/cell/high, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/science/misc_lab) "gaT" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -26265,15 +26457,6 @@ "gnP" = ( /turf/closed/wall, /area/cargo/storage) -"gnX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/chair/office/light{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/nanite) "gor" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26532,25 +26715,6 @@ }, /turf/open/floor/iron, /area/ai_monitored/command/storage/eva) -"gwd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/nanite) -"gwm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "gxp" = ( /obj/machinery/light_switch/directional/north, /obj/structure/cable, @@ -26876,6 +27040,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/commons/fitness) +"gHf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/statue/snow/snowman{ + pixel_x = 6 + }, +/obj/item/toy/snowball{ + pixel_x = 16; + pixel_y = 4 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "gHj" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -27029,12 +27206,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/plating, /area/security/prison/safe) -"gLd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "gLf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -27318,6 +27489,17 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/science/robotics/lab) +"gTG" = ( +/obj/structure/statue/snow/snowman, +/obj/item/toy/snowball{ + pixel_x = -10; + pixel_y = 4 + }, +/obj/item/food/snowcones/pwrgame{ + pixel_x = 12 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "gTH" = ( /obj/structure/rack, /obj/item/clothing/shoes/magboots, @@ -27992,6 +28174,11 @@ }, /turf/open/floor/iron/freezer, /area/maintenance/starboard/fore) +"hrr" = ( +/obj/structure/table, +/obj/item/food/grown/carrot, +/turf/open/floor/iron/dark, +/area/science/research) "hrF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -28245,6 +28432,18 @@ /obj/effect/turf_decal/loading_area, /turf/open/floor/iron, /area/engineering/main) +"hze" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/binary/pump/on/general/visible/layer4{ + dir = 8; + name = "Air Out" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "hzs" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/techstorage/tcomms, @@ -28292,11 +28491,6 @@ }, /turf/open/floor/iron, /area/ai_monitored/command/storage/eva) -"hAK" = ( -/obj/structure/table, -/obj/item/storage/box/disks_nanite, -/turf/open/floor/iron/dark, -/area/science/nanite) "hBg" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment, @@ -29169,9 +29363,6 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/engineering/atmos) -"hZk" = ( -/turf/open/floor/iron, -/area/science/nanite) "hZo" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/r_wall, @@ -29238,11 +29429,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white, /area/science/mixing) -"ibG" = ( -/obj/machinery/nanite_programmer, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "ibP" = ( /obj/machinery/door/airlock/external{ name = "External Access"; @@ -29273,10 +29459,6 @@ }, /turf/open/floor/engine, /area/engineering/supermatter/room) -"icS" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/science/nanite) "icU" = ( /obj/machinery/status_display/evac/directional/east, /obj/effect/turf_decal/tile/red{ @@ -29548,6 +29730,11 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/dark, /area/hallway/primary/aft) +"ini" = ( +/obj/effect/turf_decal/loading_area, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/dark, +/area/science/research) "ink" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -29859,6 +30046,10 @@ "iwd" = ( /turf/open/floor/carpet, /area/service/chapel/main) +"iwz" = ( +/obj/structure/flora/tree/dead, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "iwH" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -31125,6 +31316,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/engineering/atmos) +"jiO" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd2"; + name = "research lab shutters" + }, +/turf/open/floor/plating, +/area/science/research) "jjv" = ( /turf/open/floor/iron/freezer, /area/commons/toilet/locker) @@ -32090,15 +32289,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/science/mixing) -"jKN" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_y = 5 - }, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/science/misc_lab) "jLf" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -32786,6 +32976,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/cargo/storage) +"kfx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "kfV" = ( /obj/structure/sink/kitchen{ pixel_y = 28 @@ -32907,14 +33103,6 @@ }, /turf/open/floor/wood, /area/service/library) -"kja" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Maintenance"; - req_access_txt = "12;24" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "kjD" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/brown{ @@ -33354,14 +33542,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/cargo/qm) -"kvA" = ( -/obj/item/wrench, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "kwf" = ( /turf/open/floor/iron, /area/command/gateway) @@ -33388,6 +33568,15 @@ /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"kwD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/north, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "kxf" = ( /obj/structure/cable, /mob/living/simple_animal/sloth/paperwork, @@ -33443,15 +33632,6 @@ }, /turf/open/floor/iron/white, /area/science/genetics) -"kxK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/science/misc_lab) "kyo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -33999,6 +34179,10 @@ }, /turf/open/floor/iron, /area/commons/dorms) +"kPz" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "kPF" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -34318,6 +34502,11 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/command/heads_quarters/hos) +"kYW" = ( +/obj/structure/table, +/obj/item/clothing/shoes/wheelys/skishoes, +/turf/open/floor/iron/dark, +/area/science/research) "kZi" = ( /obj/machinery/air_sensor/atmos/nitrogen_tank, /turf/open/floor/engine/n2, @@ -34704,15 +34893,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/engineering/engine_smes) -"llI" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/structure/cable, -/obj/machinery/light_switch/directional/north, -/obj/structure/closet/radiation, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "llU" = ( /obj/structure/table, /obj/item/camera_film, @@ -35618,13 +35798,6 @@ }, /turf/open/floor/plating, /area/engineering/atmos) -"lLp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/science/nanite) "lLw" = ( /obj/effect/landmark/blobstart, /obj/effect/landmark/blobstart, @@ -35639,6 +35812,16 @@ /obj/item/crowbar, /turf/open/floor/iron, /area/command/teleporter) +"lLD" = ( +/obj/machinery/door/airlock/security{ + name = "Interrogation"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/security/interrogation) "lMe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35795,28 +35978,6 @@ }, /turf/open/floor/iron, /area/cargo/sorting) -"lQm" = ( -/obj/machinery/camera{ - c_tag = "Nanite Lab"; - dir = 4; - network = list("ss13","rd") - }, -/obj/machinery/computer/nanite_cloud_controller, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) -"lQq" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/chair/stool/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/binary/pump/on/general/visible/layer4{ - dir = 8; - name = "Air Out" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "lQz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -36216,13 +36377,6 @@ "lYu" = ( /turf/open/floor/iron, /area/commons/locker) -"lZb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "lZm" = ( /obj/machinery/washing_machine, /obj/machinery/light/directional/south, @@ -37199,15 +37353,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"mBm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/nanite) "mBy" = ( /obj/structure/urinal/directional/north, /turf/open/floor/iron/freezer, @@ -37369,6 +37514,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/hallway/primary/starboard) +"mFt" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/bot, +/obj/structure/frame/machine{ + anchored = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "mFv" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -37414,14 +37567,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/command/nuke_storage) -"mGC" = ( -/obj/machinery/power/apc/auto_name/west, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/science/nanite) "mGX" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -38110,16 +38255,6 @@ /obj/item/wirecutters, /turf/open/floor/plating, /area/engineering/storage/tech) -"mYX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/turf_decal/bot, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "mYY" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -38304,12 +38439,6 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/cargo/miningdock) -"nee" = ( -/obj/machinery/light/directional/south, -/obj/machinery/nanite_program_hub, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "nes" = ( /obj/machinery/light/directional/east, /obj/item/radio/intercom/directional/east, @@ -38436,11 +38565,6 @@ /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/iron, /area/security/office) -"nhP" = ( -/obj/effect/turf_decal/loading_area, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/dark, -/area/science/nanite) "nhQ" = ( /turf/open/floor/carpet, /area/service/library) @@ -38457,16 +38581,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/engineering/supermatter/room) -"niE" = ( -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Airlock"; - req_access_txt = "24" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plating, -/area/engineering/atmos) "njb" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -39397,6 +39511,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/service/bar) +"nIs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "nIt" = ( /obj/machinery/porta_turret/ai{ dir = 4; @@ -39445,12 +39565,6 @@ /obj/structure/closet/crate/maint, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"nKl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "nKz" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, @@ -39952,15 +40066,6 @@ }, /turf/open/floor/iron/dark, /area/engineering/supermatter/room) -"oaD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Incinerator"; - dir = 4 - }, -/obj/machinery/atmospherics/components/tank/toxins, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "obi" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -40002,6 +40107,15 @@ icon_state = "platingdmg1" }, /area/maintenance/port/fore) +"ocR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Incinerator"; + dir = 4 + }, +/obj/machinery/atmospherics/components/tank/toxins, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "odh" = ( /obj/structure/chair{ dir = 8 @@ -40425,10 +40539,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/security/office) -"oqr" = ( -/obj/machinery/module_duplicator, -/turf/open/floor/iron, -/area/science/misc_lab) "oqA" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -41153,6 +41263,15 @@ }, /turf/open/floor/iron, /area/ai_monitored/command/storage/eva) +"oLK" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/obj/machinery/light_switch/directional/north, +/obj/structure/closet/radiation, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "oLZ" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -41189,12 +41308,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/commons/storage/tools) -"oMN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/science/nanite) "oMZ" = ( /obj/item/radio/intercom/directional/south, /obj/effect/landmark/event_spawn, @@ -41558,13 +41671,6 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/commons/toilet/locker) -"oYU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "oZj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -41778,6 +41884,14 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/command/teleporter) +"peS" = ( +/obj/effect/turf_decal/bot, +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/research) "pfQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/button/crematorium{ @@ -42121,18 +42235,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/security/office) +"pnZ" = ( +/obj/machinery/power/apc/auto_name/west, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/science/research) +"poa" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/science/research) "ppl" = ( /obj/effect/landmark/xeno_spawn, /obj/structure/cable, /turf/open/floor/plating, /area/engineering/storage/tech) -"ppD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "ppE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42562,13 +42682,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/command/heads_quarters/hos) -"pAq" = ( -/obj/effect/landmark/blobstart, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "pAx" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -42734,11 +42847,6 @@ }, /turf/open/floor/iron/white, /area/medical/virology) -"pDu" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "pEc" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/turf_decal/tile/blue{ @@ -42829,6 +42937,10 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/cargo/office) +"pFJ" = ( +/obj/structure/flora/grass/brown, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "pFO" = ( /obj/machinery/camera{ c_tag = "Holodeck - Fore"; @@ -43078,15 +43190,6 @@ }, /turf/open/floor/plating/icemoon, /area/security/execution/transfer) -"pMx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/north, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "pMA" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, @@ -43174,6 +43277,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/service/library) +"pOq" = ( +/obj/machinery/camera{ + c_tag = "Circuits Lab"; + dir = 4; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/bot, +/obj/structure/frame/machine{ + anchored = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "pOt" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -43236,10 +43351,6 @@ dir = 4 }, /area/service/chapel/main) -"pPU" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/atmos) "pQf" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -43813,15 +43924,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/ai_monitored/command/storage/eva) -"qea" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/nanite) "qek" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/blue, @@ -43870,15 +43972,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/command/heads_quarters/captain) -"qeQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/nanite) "qfA" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -44282,24 +44375,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/cafeteria, /area/service/kitchen) -"qtz" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/airalarm/all_access{ - dir = 8; - pixel_x = 24 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "qtI" = ( /obj/structure/closet/toolcloset, /turf/open/floor/plating, @@ -44614,12 +44689,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay) -"qGG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/nanite) "qGO" = ( /obj/structure/window/reinforced{ dir = 8 @@ -45388,6 +45457,15 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"rcN" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/bot, +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/research) "ren" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/autolathe, @@ -46013,13 +46091,6 @@ /obj/item/assembly/flash/handheld, /turf/open/floor/iron, /area/security/office) -"rxM" = ( -/obj/machinery/ai_slipper{ - uses = 10 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/atmos) "rxV" = ( /obj/machinery/power/rad_collector/anchored, /obj/structure/window/plasma/reinforced{ @@ -46586,14 +46657,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"rIN" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/nanite_chamber_control{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "rIW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ @@ -46790,6 +46853,15 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/wood, /area/commons/vacant_room/office) +"rOb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "rOc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47053,6 +47125,10 @@ dir = 9 }, /area/science/research) +"rXF" = ( +/obj/effect/turf_decal/loading_area, +/turf/open/floor/iron/dark, +/area/science/research) "rXH" = ( /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/tile/red, @@ -47467,10 +47543,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/circuit, /area/ai_monitored/command/nuke_storage) -"sjr" = ( -/obj/effect/turf_decal/loading_area, -/turf/open/floor/iron/dark, -/area/science/nanite) "sjv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 5 @@ -47876,13 +47948,6 @@ }, /turf/open/floor/plating, /area/security/office) -"suU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/science/nanite) "suY" = ( /obj/machinery/vending/cigarette, /turf/open/floor/wood, @@ -48153,12 +48218,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/vacuum, /area/science/mixing/chamber) -"sDW" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/nanite_chamber, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "sEt" = ( /obj/machinery/power/rad_collector/anchored, /obj/structure/window/plasma/reinforced{ @@ -48767,6 +48826,12 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"sVf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "sVk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -49138,16 +49203,6 @@ }, /turf/open/floor/iron, /area/science/xenobiology) -"tgl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/iron, -/area/science/nanite) "tgF" = ( /obj/structure/table, /obj/item/wrench, @@ -50442,17 +50497,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"tTk" = ( -/obj/structure/table, -/obj/item/nanite_remote, -/obj/machinery/requests_console/directional/east{ - department = "Nanite Lab"; - departmentType = 2; - name = "Nanite Lab Requests Console"; - receive_ore_updates = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "tTm" = ( /obj/structure/chair{ dir = 8 @@ -50486,16 +50530,6 @@ }, /turf/open/floor/plating, /area/cargo/storage) -"tTU" = ( -/obj/machinery/door/airlock/security{ - name = "Interrogation"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/security/interrogation) "tUg" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/blue{ @@ -51028,6 +51062,16 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/command/heads_quarters/captain) +"uhT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "uhY" = ( /obj/machinery/conveyor{ dir = 4; @@ -51075,6 +51119,14 @@ }, /turf/open/floor/carpet, /area/command/heads_quarters/captain) +"uji" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/south, +/obj/structure/frame/machine{ + anchored = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "ujx" = ( /obj/structure/cable, /obj/structure/sign/poster/random{ @@ -51796,12 +51848,6 @@ }, /turf/open/floor/iron/cafeteria, /area/command/heads_quarters/rd) -"uzl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/science/nanite) "uzt" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/mug/coco{ @@ -51893,6 +51939,15 @@ /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, /area/engineering/main) +"uBX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "uBY" = ( /obj/machinery/power/apc/auto_name/north, /obj/structure/cable, @@ -51959,16 +52014,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/service/library) -"uDL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "uDP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52688,6 +52733,17 @@ dir = 8 }, /area/science/research) +"vdD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/science/misc_lab) "vdE" = ( /obj/structure/chair/office{ dir = 1 @@ -52742,12 +52798,6 @@ }, /turf/open/floor/iron, /area/command/bridge) -"vfj" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "vfk" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -52998,17 +53048,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"vqd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/science/misc_lab) "vqt" = ( /obj/structure/window/reinforced, /obj/structure/table/wood, @@ -53456,23 +53495,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/hallway/primary/fore) -"vBX" = ( -/obj/structure/sign/warning/deathsposal{ - pixel_y = 32 - }, -/obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/disposal/bin, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "vCa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -53738,6 +53760,16 @@ }, /turf/open/floor/iron/dark, /area/command/gateway) +"vIe" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "vIi" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/turf_decal/tile/red{ @@ -53760,6 +53792,10 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/service/hydroponics) +"vKo" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "vKs" = ( /obj/machinery/modular_computer/console/preset/civilian{ dir = 4 @@ -54711,14 +54747,6 @@ /obj/item/assembly/timer, /turf/open/floor/iron, /area/security/office) -"wkN" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "rnd2"; - name = "research lab shutters" - }, -/turf/open/floor/plating, -/area/science/nanite) "wld" = ( /turf/open/floor/iron, /area/commons/fitness) @@ -54795,23 +54823,6 @@ }, /turf/open/floor/iron, /area/commons/fitness) -"wmG" = ( -/obj/structure/rack, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/mask/gas, -/obj/item/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/components/binary/pump/on/general/visible/layer4{ - dir = 4; - name = "Air In" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "wmO" = ( /obj/structure/janitorialcart, /turf/open/floor/iron, @@ -54910,11 +54921,6 @@ /obj/item/trash/cheesie, /turf/open/floor/plating, /area/maintenance/port) -"wpH" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/science/nanite) "wpS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/securearea{ @@ -54948,11 +54954,6 @@ /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/commons/storage/emergency/port) -"wqH" = ( -/obj/machinery/nanite_chamber, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "wqZ" = ( /obj/machinery/field/generator, /turf/open/floor/plating, @@ -55551,17 +55552,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"wMs" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +"wLA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 10 }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "wME" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment, @@ -55576,6 +55579,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/science/mixing) +"wMX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/item/stack/sheet/mineral/snow{ + pixel_x = -3; + pixel_y = 5 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "wNj" = ( /obj/structure/sign/warning/securearea{ pixel_x = -32 @@ -56126,12 +56139,6 @@ icon_state = "panelscorched" }, /area/maintenance/starboard/aft) -"xcf" = ( -/obj/structure/rack, -/obj/item/wrench, -/obj/item/crowbar/red, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/atmos) "xct" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -56215,6 +56222,14 @@ }, /turf/open/floor/iron/white, /area/science/genetics) +"xeS" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/bot, +/obj/structure/frame/machine{ + anchored = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "xfb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56367,6 +56382,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/aft) +"xje" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/flora/grass/both{ + pixel_x = -4; + pixel_y = -4 + }, +/turf/open/floor/plating/asteroid/snow/standard_air, +/area/science/research) "xju" = ( /obj/structure/chair/office{ dir = 1 @@ -56894,13 +56919,6 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) -"xwc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/nosmoking{ - pixel_x = -28 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "xwi" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -57200,11 +57218,6 @@ }, /turf/open/floor/iron, /area/commons/storage/primary) -"xEM" = ( -/obj/structure/table, -/obj/item/nanite_scanner, -/turf/open/floor/iron/dark, -/area/science/nanite) "xFn" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57235,6 +57248,15 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"xGt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/science/misc_lab) "xGS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/directional/west, @@ -58243,16 +58265,6 @@ /obj/machinery/power/apc/auto_name/east, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"yiW" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "yjo" = ( /obj/machinery/camera{ c_tag = "Chapel South"; @@ -84422,7 +84434,7 @@ hOb msq jAh dUA -tTU +lLD ajA akp agj @@ -92913,7 +92925,7 @@ anc anc bkV fXZ -vfj +anD vqW baY lXa @@ -93169,9 +93181,9 @@ ahn tFJ anF ahn -eOa -kja -eOa +ahT +apx +ahT baY iAf wld @@ -93426,9 +93438,9 @@ ahn ahn anE ahn -lQq -pAq -wmG +hze +apw +aqp baY eNF wld @@ -93683,9 +93695,9 @@ boP ahn anG ahn -lZb -kvA -wMs +aoL +apy +aqq baY yiO wld @@ -94537,7 +94549,7 @@ nQw puJ pss nxB -niE +epW pjX pjX pjX @@ -95562,11 +95574,11 @@ thh thh tQo bxo -pMx -xwc -oaD -ppD -faQ +kwD +bzr +ocR +bCf +bEy bxo boP boP @@ -95590,10 +95602,10 @@ boP boP pjX ctZ -xcf -eta +cuh +cuq bmL -pPU +cuL cuY cvj mYE @@ -95818,8 +95830,8 @@ gAK gAK gAK tQo -llI -aOB +oLK +byO cjr ods suK @@ -95848,9 +95860,9 @@ boP boP ctZ cui -eta +cuq bmL -rxM +cuO bmL cvP kiC @@ -96076,7 +96088,7 @@ xxZ eaP tQo mXd -oYU +byw cjr bAQ bDX @@ -96332,8 +96344,8 @@ gAK hLx kXW tQo -mYX -oYU +uhT +byw bzB bBg bEu @@ -96590,8 +96602,8 @@ xJc hiM kev bxE -uDL -baz +bfs +bzQ bEL bEL bEL @@ -96846,9 +96858,9 @@ pHc cGN cdO tQo -vBX -gwm -nKl +akE +wLA +nIs bBl bEv bEV @@ -97104,7 +97116,7 @@ gAK gAK tQo cga -qtz +chm mMs bBo qxz @@ -104038,7 +104050,7 @@ pby tJy uWL hFE -bwt +gaD bQZ bTC uTB @@ -104295,7 +104307,7 @@ dov dov wgT dov -jKN +chC bQZ mIV iLm @@ -104551,8 +104563,8 @@ eOr fZt caW nPK -vqd -kxK +vdD +xGt gWT qJG jsw @@ -105036,13 +105048,13 @@ boB qaX jrH sve -dYq -dYq -dYq -wkN -wkN -wkN -dYq +bhA +bhA +bhA +jiO +jiO +jiO +bhA bhA xtW ovK @@ -105064,7 +105076,7 @@ bPN uOi cba gZY -oqr +esv bQZ nlW xIk @@ -105293,13 +105305,13 @@ iEK bpZ uIv bta -mGC -nhP -sDW -eja -hAK -ibG -lQm +pnZ +ini +xeS +peS +hrr +eXz +pOq bEC bEC bGc @@ -105550,13 +105562,13 @@ bng boQ brx bro -aQx -suU -qeQ -tgl -qGG -oMN -wpH +uBX +kfx +dky +dky +gHf +aRs +poa bEC umY uej @@ -105807,13 +105819,13 @@ boA bpZ bqf bBD -gLd -qea -hZk -hZk -hZk -icS -nee +sVf +eGA +pFJ +bia +bia +kPz +mFt pLE nCs gLx @@ -106064,13 +106076,13 @@ bnk bpo bqk bBD -gLd -gwd -hZk -hZk -hZk -icS -dFk +sVf +eAd +iwz +gTG +vKo +kPz +uji pLE ont eeA @@ -106321,13 +106333,13 @@ biW bpZ bth brn -aQy -lLp -mBm -gnX -epI -uzl -cbe +rOb +xje +fcy +fcy +fcy +wMX +fbx pLE kdp dFZ @@ -106578,13 +106590,13 @@ bnl bpq vdl kXt -yiW -sjr -wqH -rIN -xEM -tTk -pDu +vIe +rXF +eXz +rcN +kYW +frS +eXz pLE tZf mqf @@ -106840,8 +106852,8 @@ bpE bpE bpE bpE -dYq -dYq +boB +boB pLE qSi sql diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 73939e16189..c80ee5f72eb 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -5023,6 +5023,15 @@ icon_state = "platingdmg1" }, /area/maintenance/starboard/fore) +"aow" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/bounty_board/directional/north, +/turf/open/floor/iron/dark, +/area/science/research) "aox" = ( /turf/closed/wall, /area/maintenance/central) @@ -5780,6 +5789,11 @@ /obj/machinery/power/apc/auto_name/north, /turf/open/floor/carpet, /area/medical/psychology) +"aqQ" = ( +/obj/effect/turf_decal/sand/plating, +/obj/item/stack/sheet/glass, +/turf/open/floor/plating/airless, +/area/space/nearstation) "aqR" = ( /obj/machinery/door/airlock/maintenance{ name = "morgue maintenance"; @@ -11572,6 +11586,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/hallway/primary/fore) +"aNt" = ( +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "aNu" = ( /turf/closed/wall, /area/medical/morgue) @@ -15445,15 +15462,6 @@ /obj/structure/tank_dispenser, /turf/open/floor/iron/dark, /area/science/mixing) -"aXE" = ( -/obj/machinery/nanite_chamber, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) "aXH" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -15603,23 +15611,6 @@ "aXW" = ( /turf/closed/wall/rust, /area/maintenance/starboard/fore) -"aXX" = ( -/obj/structure/chair/office/light{ - dir = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) "aXY" = ( /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -15866,21 +15857,6 @@ icon_state = "panelscorched" }, /area/maintenance/central) -"aYN" = ( -/obj/machinery/nanite_program_hub, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/research) "aYO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/highsecurity{ @@ -15904,58 +15880,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/research) -"aYR" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) -"aYS" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) -"aYT" = ( -/obj/machinery/nanite_programmer, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) -"aYU" = ( -/obj/machinery/nanite_program_hub, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/research) "aYY" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -16167,21 +16091,6 @@ dir = 1 }, /area/hallway/primary/fore) -"aZt" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/science/research) "aZu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -16482,23 +16391,6 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"aZX" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/computer/nanite_chamber_control{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) "aZZ" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -16989,17 +16881,6 @@ "bbi" = ( /turf/closed/wall/r_wall, /area/science/mixing/chamber) -"bbj" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/storage/box/disks_nanite{ - pixel_y = 4 - }, -/obj/item/hand_labeler, -/turf/open/floor/iron/dark, -/area/science/research) "bbk" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -17162,17 +17043,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/hallway/primary/starboard) -"bbJ" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) "bbK" = ( /obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior, /obj/effect/mapping_helpers/airlock/locked, @@ -17181,17 +17051,6 @@ }, /turf/open/floor/engine, /area/science/mixing/chamber) -"bbL" = ( -/obj/machinery/nanite_chamber, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/research) "bbN" = ( /turf/closed/wall, /area/science/mixing) @@ -18182,23 +18041,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/science/research) -"beE" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/iron/dark, -/area/science/research) "beI" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/turf_decal/bot, @@ -31610,6 +31452,37 @@ }, /turf/open/floor/plating, /area/security/prison) +"cfs" = ( +/obj/structure/cable, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/stack/sheet/glass/fifty, +/obj/structure/closet/crate/engineering/electrical, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) "cft" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -37018,24 +36891,6 @@ icon_state = "platingdmg3" }, /area/maintenance/port/aft) -"cxk" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/frame/computer{ - anchored = 1; - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/maintenance/solars/port/aft) "cxl" = ( /obj/structure/sign/warning/nosmoking{ pixel_x = 30 @@ -37803,6 +37658,14 @@ /obj/machinery/power/apc/auto_name/west, /turf/open/floor/iron/dark, /area/security/processing) +"czz" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "czA" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -41006,24 +40869,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/engineering/supermatter/room) -"cYO" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/landmark/start/research_director, -/turf/open/floor/iron/showroomfloor, -/area/command/heads_quarters/rd) "cYR" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -41496,6 +41341,22 @@ /obj/structure/cable, /turf/open/floor/plating, /area/command/heads_quarters/hos) +"dkL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera{ + c_tag = "Toxins Launch Site"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/module_duplicator, +/turf/open/floor/iron/dark, +/area/science/test_area) "dkX" = ( /obj/structure/sign/poster/contraband/random, /turf/closed/wall/rust, @@ -42005,18 +41866,6 @@ /obj/effect/landmark/start/bartender, /turf/open/floor/wood, /area/service/bar) -"dyq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/rebels_unite{ - pixel_x = -32; - pixel_y = 32 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 1 - }, -/turf/open/floor/plating/plasma/rust, -/area/maintenance/space_hut/plasmaman) "dyu" = ( /obj/structure/flora/grass/jungle{ icon_state = "bushb1" @@ -42897,6 +42746,24 @@ dir = 1 }, /area/service/chapel/main) +"dWe" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/port/aft) "dWo" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -43363,14 +43230,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/security/prison) -"ehM" = ( -/mob/living/simple_animal/hostile/carp{ - environment_smash = 0; - name = "Tuna"; - real_name = "Tuna" - }, -/turf/open/floor/plating/asteroid/airless, -/area/space/nearstation) "eih" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -43819,6 +43678,23 @@ }, /turf/open/floor/engine, /area/engineering/supermatter) +"erH" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/research_director, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "erO" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -44839,6 +44715,24 @@ /obj/effect/landmark/start/cook, /turf/open/floor/iron/showroomfloor, /area/service/kitchen) +"eML" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Research Hallway"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/research) "eNm" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -46447,6 +46341,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) +"fxL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/rebels_unite{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 8 + }, +/obj/item/toy/plush/plasmamanplushie{ + name = "Dianion XV" + }, +/turf/open/floor/plating/plasma/rust, +/area/maintenance/space_hut/plasmaman) "fyi" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -47506,19 +47417,6 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/engineering/break_room) -"fRy" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/computer/rdconsole{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/command/heads_quarters/rd) "fSn" = ( /turf/closed/wall/r_wall/rust, /area/medical/psychology) @@ -48952,6 +48850,27 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/service/library) +"gCO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/turf/open/floor/plating/plasma/rust, +/area/maintenance/space_hut/plasmaman) +"gCQ" = ( +/obj/machinery/computer/robotics{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/command/heads_quarters/rd) "gDl" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -49299,6 +49218,11 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/service/chapel/main) +"gOl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/purple/filled/line, +/turf/open/floor/plating/plasma/rust, +/area/maintenance/space_hut/plasmaman) "gOw" = ( /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, @@ -49993,22 +49917,6 @@ luminosity = 2 }, /area/engineering/storage/tech) -"hdL" = ( -/obj/structure/chair/office/light, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/landmark/start/research_director, -/turf/open/floor/iron/showroomfloor, -/area/command/heads_quarters/rd) "hdT" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -50071,11 +49979,6 @@ /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, /area/engineering/supermatter/room) -"heK" = ( -/obj/effect/turf_decal/sand/plating, -/obj/item/stack/sheet/glass, -/turf/open/floor/plating/airless, -/area/space/nearstation) "hfo" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral{ @@ -50286,6 +50189,16 @@ /obj/structure/sign/departments/custodian, /turf/closed/wall/rust, /area/service/janitor) +"hiG" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/chair/office/light, +/obj/effect/landmark/start/research_director, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "hjs" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -50502,27 +50415,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/engine, /area/engineering/supermatter/room) -"hop" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/clipboard, -/obj/item/nanite_remote{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/item/nanite_scanner{ - pixel_x = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/dark, -/area/science/research) "hoE" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -50653,6 +50545,11 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) +"hsn" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable, +/turf/open/floor/iron/solarpanel/airless, +/area/solars/starboard/aft) "hsu" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/closed/wall/rust, @@ -50765,6 +50662,22 @@ /obj/machinery/bounty_board/directional/north, /turf/open/floor/iron/dark, /area/medical/storage) +"hwx" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/mug/coco, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "hwB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -52939,6 +52852,12 @@ }, /turf/open/floor/iron/dark, /area/security/office) +"ivb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "ivj" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -52983,21 +52902,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/cargo/warehouse) -"iwO" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/research/explosive_compressor, -/turf/open/floor/iron/showroomfloor, -/area/science/test_area) "iwW" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -54415,6 +54319,19 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/engineering/atmos) +"iYZ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/item/kirbyplants/potty, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "iZc" = ( /obj/structure/chair/sofa{ color = "#c45c57" @@ -54465,6 +54382,20 @@ /obj/structure/cable, /turf/open/floor/plating, /area/maintenance/starboard) +"jaC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/rdconsole{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/command/heads_quarters/rd) "jaD" = ( /obj/effect/turf_decal/delivery, /obj/machinery/space_heater, @@ -56164,37 +56095,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/dark, /area/engineering/supermatter/room) -"jPh" = ( -/obj/structure/cable, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/stack/sheet/glass/fifty, -/obj/structure/closet/crate/engineering/electrical, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) "jPk" = ( /obj/structure/table/glass, /obj/item/storage/box/rxglasses{ @@ -58111,27 +58011,6 @@ }, /turf/open/floor/engine, /area/engineering/supermatter/room) -"kzj" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/computer/nanite_chamber_control, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Nanite Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/dark, -/area/science/research) "kzk" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/decal/cleanable/dirt, @@ -60780,6 +60659,23 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/command/heads_quarters/hop) +"lGH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/rebels_unite{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 4 + }, +/obj/item/toy/plush/plasmamanplushie{ + name = "Lithium II" + }, +/turf/open/floor/plating/plasma/rust, +/area/maintenance/space_hut/plasmaman) "lGO" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -64258,6 +64154,16 @@ icon_state = "panelscorched" }, /area/maintenance/disposal/incinerator) +"njW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/research) "nlh" = ( /obj/structure/frame/machine, /obj/effect/turf_decal/stripes/line{ @@ -65411,20 +65317,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/iron/dark, /area/cargo/warehouse) -"nOe" = ( -/obj/machinery/computer/aifixer{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/command/heads_quarters/rd) "nOQ" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -65572,6 +65464,18 @@ }, /turf/open/floor/engine, /area/engineering/storage/tech) +"nRi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/rebels_unite{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 1 + }, +/turf/open/floor/plating/plasma/rust, +/area/maintenance/space_hut/plasmaman) "nRr" = ( /obj/machinery/power/solar{ id = "aftstarboard"; @@ -68729,6 +68633,26 @@ icon_state = "platingdmg1" }, /area/maintenance/disposal/incinerator) +"pid" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/computer/shuttle/mining/common, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/commons/fitness/recreation) "pie" = ( /obj/machinery/power/port_gen/pacman, /obj/structure/sign/warning/electricshock{ @@ -69113,11 +69037,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/ai_monitored/command/storage/eva) -"pqf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/purple/filled/line, -/turf/open/floor/plating/plasma/rust, -/area/maintenance/space_hut/plasmaman) "pqg" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -70923,6 +70842,11 @@ }, /turf/open/floor/iron/dark, /area/cargo/miningoffice) +"pZk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/electrolyzer, +/turf/open/floor/iron/dark, +/area/maintenance/disposal/incinerator) "pZn" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -72090,23 +72014,6 @@ /obj/machinery/vending/drugs, /turf/open/floor/iron/showroomfloor, /area/medical/surgery) -"qBh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/rebels_unite{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 4 - }, -/obj/item/toy/plush/plasmamanplushie{ - name = "Lithium II" - }, -/turf/open/floor/plating/plasma/rust, -/area/maintenance/space_hut/plasmaman) "qCn" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -72880,6 +72787,18 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"qRl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/dark, +/area/science/research) "qRs" = ( /obj/effect/turf_decal/bot, /obj/machinery/conveyor{ @@ -73487,6 +73406,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) +"rhC" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/sheet/glass, +/turf/open/space/basic, +/area/solars/port/aft) "rhG" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral{ @@ -74194,11 +74118,6 @@ }, /turf/open/floor/iron/dark/corner, /area/hallway/primary/port) -"rtX" = ( -/obj/effect/turf_decal/box, -/obj/structure/cable, -/turf/open/floor/iron/solarpanel/airless, -/area/solars/starboard/aft) "rtZ" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -74244,6 +74163,20 @@ dir = 4 }, /area/service/chapel/main) +"rvF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/holopad, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/research) "rwo" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -75021,6 +74954,26 @@ "rPt" = ( /turf/closed/wall/r_wall/rust, /area/command/heads_quarters/captain) +"rPu" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/showroomfloor, +/area/command/heads_quarters/rd) "rQj" = ( /obj/effect/turf_decal/arrows/white{ dir = 4 @@ -76020,27 +75973,6 @@ icon_state = "platingdmg3" }, /area/maintenance/port/aft) -"smq" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 10 - }, -/obj/effect/landmark/start/research_director, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/showroomfloor, -/area/command/heads_quarters/rd) "sns" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -78220,11 +78152,6 @@ /obj/structure/noticeboard/directional/north, /turf/open/floor/iron/dark, /area/security/office) -"toP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/electrolyzer, -/turf/open/floor/iron/dark, -/area/maintenance/disposal/incinerator) "toV" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/secure_closet/hydroponics, @@ -79461,10 +79388,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/commons/fitness/recreation) -"tMV" = ( -/obj/item/circuitboard/computer/solar_control, -/turf/open/floor/plating/asteroid/airless, -/area/space/nearstation) "tNa" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -79478,6 +79401,21 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"tNe" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/research/explosive_compressor, +/turf/open/floor/iron/showroomfloor, +/area/science/test_area) "tNt" = ( /turf/open/floor/plating, /area/maintenance/disposal/incinerator) @@ -79631,19 +79569,6 @@ }, /turf/open/floor/iron, /area/engineering/break_room) -"tOW" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 10 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/showroomfloor, -/area/command/heads_quarters/rd) "tPt" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/wood, @@ -79976,20 +79901,6 @@ /obj/structure/flora/ausbushes/ywflowers, /turf/open/floor/grass, /area/service/chapel/main) -"tWx" = ( -/obj/machinery/computer/robotics{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/command/heads_quarters/rd) "tXc" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -81384,15 +81295,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/cargo/warehouse) -"uBq" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/command/heads_quarters/rd) "uBS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -82477,6 +82379,21 @@ icon_state = "platingdmg3" }, /area/maintenance/starboard/aft) +"vbD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/structure/table, +/obj/structure/sign/poster/contraband/rebels_unite{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner, +/obj/item/flashlight/lamp, +/turf/open/floor/plating/plasma/rust, +/area/maintenance/space_hut/plasmaman) "vbO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -82592,11 +82509,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"vcT" = ( -/obj/structure/lattice/catwalk, -/obj/item/stack/sheet/glass, -/turf/open/space/basic, -/area/solars/port/aft) "vdd" = ( /obj/effect/landmark/event_spawn, /obj/effect/landmark/start/hangover, @@ -83312,22 +83224,6 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) -"vse" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/folder, -/obj/item/nanite_scanner{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/nanite_remote, -/obj/machinery/light/directional/east, -/obj/machinery/bounty_board/directional/north, -/turf/open/floor/iron/dark, -/area/science/research) "vsF" = ( /obj/machinery/light/directional/north, /obj/effect/spawner/structure/window/hollow/reinforced/middle{ @@ -83523,22 +83419,6 @@ }, /turf/open/floor/iron/dark, /area/security/office) -"vxi" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera{ - c_tag = "Toxins Launch Site"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/module_duplicator, -/turf/open/floor/iron/dark, -/area/science/test_area) "vxD" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -83671,13 +83551,6 @@ dir = 1 }, /area/maintenance/aft) -"vzj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/turf/open/floor/plating/plasma/rust, -/area/maintenance/space_hut/plasmaman) "vzr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -85152,21 +85025,6 @@ }, /turf/open/floor/iron/dark, /area/commons/storage/primary) -"wiR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/tank/internals/plasmaman/belt/full, -/obj/structure/table, -/obj/structure/sign/poster/contraband/rebels_unite{ - pixel_x = 32; - pixel_y = -32 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner, -/obj/item/flashlight/lamp, -/turf/open/floor/plating/plasma/rust, -/area/maintenance/space_hut/plasmaman) "wje" = ( /obj/structure/table/glass, /obj/machinery/computer/med_data/laptop, @@ -85509,6 +85367,12 @@ icon_state = "platingdmg1" }, /area/security/office) +"woi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/research) "woB" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "ceprivate"; @@ -85530,6 +85394,14 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"woH" = ( +/mob/living/simple_animal/hostile/carp{ + environment_smash = 0; + name = "Tuna"; + real_name = "Tuna" + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) "woL" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ @@ -87098,26 +86970,6 @@ }, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) -"wYW" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/computer/shuttle/mining/common, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/commons/fitness/recreation) "wZx" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/sand/plating, @@ -87451,6 +87303,10 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/science/test_area) +"xfU" = ( +/obj/item/circuitboard/computer/solar_control, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) "xgo" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -87804,6 +87660,20 @@ }, /turf/open/floor/iron/dark, /area/engineering/atmos) +"xoq" = ( +/obj/machinery/computer/aifixer{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/command/heads_quarters/rd) "xoK" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/delivery, @@ -89359,23 +89229,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/command/heads_quarters/ce) -"xUP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/rebels_unite{ - pixel_x = -32; - pixel_y = -32 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 8 - }, -/obj/item/toy/plush/plasmamanplushie{ - name = "Dianion XV" - }, -/turf/open/floor/plating/plasma/rust, -/area/maintenance/space_hut/plasmaman) "xUW" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -89512,6 +89365,18 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/service/bar) +"xYR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/research) "xZt" = ( /obj/structure/chair/stool/directional/north, /obj/structure/cable, @@ -102346,7 +102211,7 @@ tnI oUy aau aeU -heK +aqQ jOe jOe jOe @@ -102862,7 +102727,7 @@ asO cmU cmU foo -vcT +rhC foo foo foo @@ -104337,7 +104202,7 @@ aeu aeU aeU coy -ehM +woH aDS nBm bFI @@ -104662,7 +104527,7 @@ acK cmU aeU aUz -tMV +xfU aeU cnS cuU @@ -105437,7 +105302,7 @@ vIb cnO kuW cuZ -cxk +dWe cnN aeu aeU @@ -107714,7 +107579,7 @@ wrV wrV wrV ich -wYW +pid ney vqR qlh @@ -115736,7 +115601,7 @@ vAc dCE pwM rFl -toP +pZk ute qeZ wvg @@ -127992,12 +127857,12 @@ ifJ rYN aWW aZv -vse -aXE +aow +aXI +aXI aXI -aYR beD -bbj +woi aOi bep aZi @@ -128250,10 +128115,10 @@ iOj vlS rJG rJG -kzj -aXX -aYS -aZt +eML +xYR +xYR +rvF bbl aOi cmg @@ -128508,10 +128373,10 @@ ltR mjr vlS vlS -aYN -aYT -aYS -bbJ +vlS +vlS +njW +bbl aOo bgj aYe @@ -128763,11 +128628,11 @@ aww wtC uNr lov -nOe +iYZ +hwx +xoq vlS -vlS -aYU -beE +njW bbl aOi aRp @@ -129020,12 +128885,12 @@ aWU iOj hea hRI -cYO -tWx +aNt +hiG +gCQ vlS -vlS -aZX -bbL +njW +bbl aOi bep baU @@ -129277,12 +129142,12 @@ baJ iOj pvu xsN -uBq -hdL +ivb +czz eSG vlS rJG -hop +qRl aOr aRB aSJ @@ -129533,8 +129398,8 @@ fsn bcH iOj tGO -smq -tOW +rPu +erH dPy fPK qOj @@ -129792,7 +129657,7 @@ iOj iOj pgF swx -fRy +jaC oAb tJP vlS @@ -129867,7 +129732,7 @@ erS deb aeu ckU -jPh +cfs cGv cGV clb @@ -131920,10 +131785,10 @@ aeu aUz cmU nRr -rtX -rtX -rtX -rtX +hsn +hsn +hsn +hsn kuv nRr nRr @@ -132435,15 +132300,15 @@ aeU cmU nRr nRr -rtX -rtX -rtX +hsn +hsn +hsn kuv nRr nRr nRr -rtX -rtX +hsn +hsn acm aeo acm @@ -132629,7 +132494,7 @@ bbi caT xpL pbn -iwO +tNe xEu xEu gVX @@ -132884,7 +132749,7 @@ cbk aOU kRX qoN -vxi +dkL sln cHQ sLE @@ -132948,7 +132813,7 @@ aeU cmU nRr nRr -rtX +hsn nRr nRr xOh @@ -133464,12 +133329,12 @@ nRr nRr nRr nRr -rtX +hsn xOh kuv xOh -rtX -rtX +hsn +hsn nRr nRr nRr @@ -133981,9 +133846,9 @@ nRr nRr nRr kuv -rtX -rtX -rtX +hsn +hsn +hsn nRr nRr acm @@ -139831,8 +139696,8 @@ aaa aeo aaa pFC -dyq -xUP +nRi +fxL pFC viq aaa @@ -140088,8 +139953,8 @@ aaa aaQ aaa pFC -pqf -vzj +gOl +gCO pFC viq aaa @@ -140345,8 +140210,8 @@ aaa aeo aaa pFC -qBh -wiR +lGH +vbD pFC viq aaa diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 85f3805a5fb..164edfdd93a 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -1405,6 +1405,37 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/cargo/sorting) +"ajN" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Entrance"; + req_access_txt = "47" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "ajO" = ( /obj/structure/closet, /obj/item/clothing/gloves/color/fyellow, @@ -4745,16 +4776,6 @@ icon_state = "platingdmg1" }, /area/maintenance/port/fore) -"aLn" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/science/nanite) "aLs" = ( /obj/structure/sign/plaques/kiddie{ pixel_y = 32 @@ -6017,21 +6038,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"aXh" = ( -/obj/machinery/door/window/northleft{ - name = "Nanite Lab" - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/science/nanite) "aXm" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/disposalpipe/segment{ @@ -7069,6 +7075,21 @@ }, /turf/open/floor/iron, /area/security/brig) +"bih" = ( +/obj/structure/chair/comfy{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/iron, +/area/science/research) "bio" = ( /obj/machinery/camera{ c_tag = "AI Chamber - Aft"; @@ -7279,20 +7300,6 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) -"bkv" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/nanite) "bkB" = ( /obj/item/extinguisher, /turf/open/floor/plating, @@ -7531,14 +7538,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"bmT" = ( -/obj/machinery/nanite_program_hub, -/obj/machinery/requests_console/directional/north{ - department = "Nanite Lab"; - name = "Nanite Lab Requests Console" - }, -/turf/open/floor/circuit/green, -/area/science/nanite) "bmX" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -7820,6 +7819,21 @@ }, /turf/open/floor/iron, /area/security/checkpoint/customs) +"bpx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "bpF" = ( /obj/structure/toilet{ pixel_y = 8 @@ -8409,17 +8423,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/medical/storage) -"bwo" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/violet/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/thermomachine/heater{ - dir = 8 - }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "bwN" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -8853,6 +8856,17 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, /turf/open/floor/iron/dark, /area/engineering/atmos) +"bDe" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/violet/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/thermomachine/heater{ + dir = 8 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "bDt" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -10773,6 +10787,14 @@ /obj/machinery/atmospherics/components/unary/cryo_cell, /turf/open/floor/iron/dark/textured, /area/medical/cryo) +"cah" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/turf/open/floor/circuit/green/off, +/area/science/research) "car" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -12864,9 +12886,6 @@ }, /turf/open/floor/engine, /area/engineering/supermatter/room) -"ctL" = ( -/turf/closed/wall/r_wall, -/area/science/nanite) "ctU" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Post - Cargo"; @@ -12899,6 +12918,23 @@ }, /turf/open/floor/wood, /area/cargo/qm) +"cui" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/research) "cuj" = ( /obj/machinery/camera{ c_tag = "Supermatter Chamber"; @@ -14225,6 +14261,18 @@ }, /turf/open/floor/iron, /area/security/checkpoint/science) +"cHh" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/reagent_containers/food/drinks/britcup{ + pixel_y = 2 + }, +/turf/open/floor/iron, +/area/science/research) "cHu" = ( /obj/structure/cable, /obj/machinery/camera{ @@ -15500,6 +15548,22 @@ }, /turf/open/space/basic, /area/space) +"cTr" = ( +/obj/structure/chair/comfy{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Science Break Room"; + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron, +/area/science/research) "cTz" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -15524,13 +15588,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) -"cTN" = ( -/obj/structure/sign/warning/securearea, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/science/nanite) "cTU" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/north, @@ -16543,6 +16600,17 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/maintenance/fore) +"dhj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/iron, +/area/science/research) "dhn" = ( /obj/structure/table, /obj/item/poster/random_contraband, @@ -16800,6 +16868,26 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/science/lab) +"dkc" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1; + sortType = 28 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "dki" = ( /obj/machinery/atmospherics/pipe/smart/simple/supply/visible, /turf/closed/wall/r_wall, @@ -18547,16 +18635,6 @@ }, /turf/open/floor/iron/white, /area/medical/pharmacy) -"dMl" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/science/nanite) "dMw" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/status_display/evac/directional/south, @@ -19113,6 +19191,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/service/bar) +"dWO" = ( +/obj/structure/chair/comfy{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/science/research) "dWU" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -19614,44 +19703,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/science/mixing) -"efA" = ( -/obj/structure/closet/crate/secure/weapon{ - desc = "A secure clothing crate."; - name = "formal uniform crate"; - req_access_txt = "3" - }, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/suit/security/officer, -/obj/item/clothing/suit/security/officer, -/obj/item/clothing/suit/security/officer, -/obj/item/clothing/suit/security/officer, -/obj/item/clothing/suit/security/officer, -/obj/item/clothing/suit/security/officer, -/obj/item/clothing/under/rank/security/warden/formal, -/obj/item/clothing/suit/security/warden, -/obj/item/clothing/under/rank/security/head_of_security/formal, -/obj/item/clothing/suit/security/hos, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navywarden, -/obj/item/clothing/head/hos/beret/navyhos, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/security/office) "efD" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -22019,20 +22070,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"eQK" = ( -/obj/structure/table/glass, -/obj/item/storage/box/disks_nanite{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/storage/box/disks_nanite{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/machinery/light_switch/directional/north, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "eRa" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -22456,6 +22493,17 @@ }, /turf/open/floor/iron/dark, /area/command/bridge) +"eWT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/duct, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/medical/cryo) "eWV" = ( /obj/structure/table, /obj/item/paper/fluff/holodeck/disclaimer, @@ -22758,17 +22806,6 @@ /obj/item/shard, /turf/open/space/basic, /area/space/nearstation) -"fde" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/nanite) "fdq" = ( /obj/structure/chair/stool/directional/north, /obj/structure/disposalpipe/segment{ @@ -25061,15 +25098,6 @@ }, /turf/open/floor/iron/white, /area/science/mixing) -"fQU" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/science/nanite) "fRh" = ( /obj/item/radio/intercom/directional/west, /obj/structure/table/glass, @@ -25323,6 +25351,18 @@ /obj/item/pen/invisible, /turf/open/floor/engine/cult, /area/service/library) +"fVN" = ( +/obj/structure/cable, +/obj/machinery/light/directional/north, +/obj/machinery/power/apc/auto_name/north, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/mob/living/simple_animal/pet/dog/corgi/puppy/void{ + dir = 4 + }, +/turf/open/floor/grass, +/area/science/research) "fWg" = ( /obj/structure/chair, /obj/machinery/computer/security/telescreen/interrogation{ @@ -25360,6 +25400,20 @@ }, /turf/open/floor/circuit/green, /area/science/robotics/mechbay) +"fXt" = ( +/obj/structure/cable, +/obj/item/food/cracker, +/obj/item/food/cracker{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/trash/boritos{ + desc = "Why does it look like boritos? Nobody would feed unhealthy snacks to pets, right?"; + name = "cracker bag"; + pixel_x = -14 + }, +/turf/open/floor/grass, +/area/science/research) "fXC" = ( /obj/structure/window/reinforced{ dir = 8 @@ -25721,11 +25775,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"gdG" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/circuit/green, -/area/science/nanite) "gdY" = ( /obj/machinery/photocopier{ pixel_y = 3 @@ -25912,6 +25961,12 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"ghY" = ( +/mob/living/simple_animal/pet/penguin/baby{ + dir = 8 + }, +/turf/open/floor/grass, +/area/science/research) "gib" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment, @@ -26666,6 +26721,14 @@ }, /turf/open/floor/iron/freezer, /area/security/prison) +"gvE" = ( +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/mob/living/simple_animal/pet/dog/corgi/puppy/slime, +/turf/open/floor/grass, +/area/science/research) "gvH" = ( /obj/structure/lattice/catwalk, /obj/item/barcodescanner, @@ -26915,37 +26978,6 @@ }, /turf/open/floor/engine, /area/science/xenobiology) -"gAI" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Nanite Laboratory"; - req_access_txt = "47" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/nanite) "gAP" = ( /obj/structure/sign/departments/cargo, /turf/closed/wall, @@ -27444,6 +27476,10 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, /area/commons/locker) +"gHY" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/aft) "gId" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -27584,32 +27620,6 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) -"gLm" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/airlock/research{ - name = "Xenobiology Space Bridge"; - req_access_txt = "55" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "xeno_blastdoor"; - name = "biohazard containment door" - }, -/turf/open/floor/iron/white, -/area/science/nanite) "gMj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -27856,6 +27866,31 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/engineering/main) +"gTG" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Access"; + req_access_txt = "47" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/science/research) "gTQ" = ( /obj/machinery/light/directional/east, /obj/structure/disposalpipe/segment, @@ -28141,6 +28176,13 @@ /obj/effect/spawner/lootdrop/glowstick, /turf/open/floor/iron/white, /area/medical/abandoned) +"gZq" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/grass, +/area/science/research) "gZM" = ( /obj/structure/sign/warning/pods, /turf/closed/wall/r_wall, @@ -30792,17 +30834,6 @@ }, /turf/open/floor/iron, /area/service/hydroponics) -"hXe" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/camera{ - c_tag = "Science Maintenance Corridor"; - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/science/nanite) "hXg" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -30997,14 +31028,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/command/heads_quarters/captain/private) -"iay" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/machinery/module_duplicator, -/turf/open/floor/iron/white, -/area/science/misc_lab) "iaC" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -31761,18 +31784,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/commons/dorms) -"inN" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/science/nanite) "inS" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/neutral{ @@ -31799,23 +31810,6 @@ /obj/effect/turf_decal/trimline/brown/warning, /turf/open/floor/iron/white, /area/hallway/primary/central) -"iog" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/nanite) "iov" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -31938,6 +31932,18 @@ }, /turf/open/floor/engine/plasma, /area/engineering/atmos) +"iqC" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/science/research) "iqL" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow{ @@ -33344,6 +33350,18 @@ }, /turf/open/floor/iron, /area/service/hydroponics/garden) +"iQR" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/science/research) "iQX" = ( /obj/machinery/porta_turret/ai, /obj/machinery/flasher/directional/north{ @@ -33742,6 +33760,16 @@ "iXC" = ( /turf/open/floor/engine/air, /area/engineering/atmos) +"iXU" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/science/research) "iYi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35345,6 +35373,10 @@ }, /turf/open/floor/iron, /area/service/hydroponics) +"jBe" = ( +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/iron/white, +/area/science/research) "jBf" = ( /obj/structure/table/glass, /obj/item/paper_bin{ @@ -35729,6 +35761,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/hallway/secondary/service) +"jJh" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/science/research) "jJq" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -38618,6 +38663,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"kId" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/science/research) "kIj" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ @@ -39486,6 +39546,12 @@ }, /turf/open/floor/iron, /area/cargo/miningoffice) +"kXQ" = ( +/obj/structure/frame/machine{ + anchored = 1 + }, +/turf/open/floor/circuit/green/off, +/area/science/research) "kYe" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -40809,13 +40875,6 @@ }, /turf/open/floor/iron/white, /area/science/storage) -"lta" = ( -/obj/machinery/computer/nanite_chamber_control{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/circuit/green, -/area/science/nanite) "ltg" = ( /obj/machinery/door/airlock/grunge{ name = "Prison Workshop" @@ -43561,6 +43620,10 @@ /obj/effect/spawner/lootdrop/gross_decal_spawner, /turf/open/floor/iron/white, /area/medical/abandoned) +"mpa" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/science/research) "mph" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, @@ -43951,6 +44014,12 @@ /obj/structure/cable, /turf/open/floor/wood, /area/service/lawoffice) +"mvj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/grass, +/area/science/research) "mvv" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/cobweb, @@ -44288,6 +44357,20 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"mAN" = ( +/obj/machinery/door/window/northleft{ + name = "Petting Zoo" + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/science/research) "mBw" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -44414,6 +44497,13 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/commons/dorms) +"mCH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/grass, +/area/science/research) "mDk" = ( /obj/machinery/power/rad_collector/anchored, /obj/structure/window/plasma/reinforced{ @@ -45200,13 +45290,6 @@ /obj/machinery/libraryscanner, /turf/open/floor/wood, /area/service/library) -"mQQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/siding/green{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "mQU" = ( /obj/structure/plasticflaps, /obj/structure/window/reinforced{ @@ -46394,6 +46477,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/command/heads_quarters/hos) +"niR" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/science/research) "niS" = ( /obj/machinery/light/directional/east, /obj/structure/disposalpipe/segment, @@ -46489,11 +46590,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/commons/storage/primary) -"nkS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/science/nanite) "nkV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -46711,31 +46807,6 @@ }, /turf/open/floor/iron/dark, /area/service/chapel/main) -"noS" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Nanite and Xenobiology Access"; - req_access_txt = "47" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/science/research) "noT" = ( /obj/structure/table/glass, /obj/item/food/chips{ @@ -46933,20 +47004,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"nsC" = ( -/obj/machinery/door/window/northright{ - name = "Nanite Lab" - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/science/nanite) "nsG" = ( /obj/machinery/hydroponics/soil, /obj/machinery/camera{ @@ -48008,17 +48065,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/service/chapel/office) -"nIx" = ( -/obj/structure/chair/comfy{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/science/nanite) "nID" = ( /obj/machinery/door/airlock/maintenance{ name = "Genetics Maintenance"; @@ -48113,6 +48159,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/port) +"nJl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/grass, +/area/science/research) "nJN" = ( /obj/machinery/power/apc/auto_name/east, /obj/structure/cable, @@ -49152,6 +49205,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/maintenance/port/fore) +"obj" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/camera{ + c_tag = "Science Maintenance Corridor"; + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/science/research) "obv" = ( /obj/structure/sign/poster/contraband/random{ pixel_x = 32 @@ -49553,6 +49617,44 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"ohR" = ( +/obj/structure/closet/crate/secure/weapon{ + desc = "A secure clothing crate."; + name = "formal uniform crate"; + req_access_txt = "3" + }, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/suit/security/officer, +/obj/item/clothing/suit/security/officer, +/obj/item/clothing/suit/security/officer, +/obj/item/clothing/suit/security/officer, +/obj/item/clothing/suit/security/officer, +/obj/item/clothing/suit/security/officer, +/obj/item/clothing/under/rank/security/warden/formal, +/obj/item/clothing/suit/security/warden, +/obj/item/clothing/under/rank/security/head_of_security/formal, +/obj/item/clothing/suit/security/hos, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navywarden, +/obj/item/clothing/head/hos/beret/navyhos, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/security/office) "ohX" = ( /obj/machinery/camera{ c_tag = "Bar - Backroom" @@ -49791,17 +49893,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/hallway/primary/port) -"onG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/duct, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/medical/cryo) "onR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass{ @@ -50088,20 +50179,6 @@ }, /turf/open/floor/iron, /area/security/brig) -"orG" = ( -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/nanite) "orL" = ( /obj/machinery/biogenerator, /obj/effect/decal/cleanable/dirt, @@ -50732,18 +50809,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white, /area/medical/medbay/central) -"oDK" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/aft) "oDQ" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -51423,15 +51488,6 @@ /obj/structure/cable/multilayer/connected, /turf/open/floor/iron/dark, /area/ai_monitored/aisat/exterior) -"oOD" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/green{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "oOF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -51714,6 +51770,10 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/command/heads_quarters/hos) +"oTI" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/grass, +/area/science/research) "oTJ" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -51754,11 +51814,6 @@ dir = 1 }, /area/hallway/primary/central) -"oTY" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/science/nanite) "oUb" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/purple{ @@ -52607,6 +52662,21 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"pgi" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/science/research) "pgt" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, @@ -54528,16 +54598,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"pPZ" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/green{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "pQi" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -54932,6 +54992,10 @@ }, /turf/open/floor/iron, /area/science/robotics/lab) +"pWO" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall/r_wall, +/area/science/research) "pWR" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -54970,6 +55034,20 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark, /area/engineering/storage/tech) +"pXA" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "pXT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -56663,20 +56741,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/security/office) -"qCP" = ( -/obj/structure/chair/comfy{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/nanite) "qCQ" = ( /obj/structure/window/reinforced{ dir = 1; @@ -57228,22 +57292,6 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/engineering/atmos) -"qMf" = ( -/obj/structure/chair/comfy{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Science Break Room"; - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron, -/area/science/nanite) "qMr" = ( /turf/closed/wall, /area/service/kitchen/coldroom) @@ -58267,14 +58315,6 @@ icon_state = "platingdmg3" }, /area/solars/port/fore) -"rdZ" = ( -/obj/structure/cable, -/obj/effect/landmark/start/scientist, -/obj/effect/turf_decal/siding/green{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "rec" = ( /obj/docking_port/stationary/random{ dir = 4; @@ -58857,16 +58897,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"rnM" = ( -/obj/machinery/computer/nanite_chamber_control{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Science Nanites Lab"; - dir = 8 - }, -/turf/open/floor/circuit/green, -/area/science/nanite) "rnV" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/r_wall, @@ -59039,26 +59069,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"rqN" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 1; - sortType = 28 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/nanite) "rqO" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -59073,6 +59083,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/security/brig) +"rqT" = ( +/obj/machinery/camera{ + c_tag = "Science Petting Zoo"; + dir = 8 + }, +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/turf/open/floor/circuit/green/off, +/area/science/research) "rrj" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room"; @@ -59237,19 +59258,6 @@ }, /turf/open/floor/iron, /area/engineering/break_room) -"rsu" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/nanite) "rtc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -61185,10 +61193,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/command/heads_quarters/captain/private) -"rYp" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/maintenance/aft) "rYC" = ( /turf/open/floor/plating{ icon_state = "platingdmg2" @@ -61323,6 +61327,14 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) +"sbQ" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/flora/ausbushes/brflowers, +/turf/open/floor/grass, +/area/science/research) "sbW" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -62153,6 +62165,20 @@ "soZ" = ( /turf/open/floor/wood, /area/command/corporate_showroom) +"spa" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/research) "spg" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/plating, @@ -62183,10 +62209,6 @@ dir = 1 }, /area/engineering/atmos) -"spG" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/science/nanite) "spT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -62882,6 +62904,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/robotics/mechbay) +"sBX" = ( +/obj/structure/table, +/obj/machinery/microwave, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/science/research) "sCb" = ( /obj/machinery/door/airlock/command{ name = "Command Desk"; @@ -62951,6 +62983,12 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"sDy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/grass, +/area/science/research) "sDL" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66691,21 +66729,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/command/bridge) -"tOv" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/nanite) "tOw" = ( /obj/structure/sink{ dir = 8; @@ -66955,6 +66978,11 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, /area/science/storage) +"tSb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/electrolyzer, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "tSf" = ( /obj/structure/closet/secure_closet/courtroom, /obj/machinery/light_switch/directional/north, @@ -67616,23 +67644,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/science/robotics/mechbay) -"ueO" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/nanite) "ueU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -68660,6 +68671,13 @@ }, /turf/open/floor/iron, /area/commons/locker) +"uuh" = ( +/obj/structure/sign/warning/securearea, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/science/research) "uui" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -68747,6 +68765,32 @@ }, /turf/open/floor/iron, /area/engineering/gravity_generator) +"uvd" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Space Bridge"; + req_access_txt = "55" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "biohazard containment door" + }, +/turf/open/floor/iron/white, +/area/science/research) "uvj" = ( /obj/structure/closet/lasertag/blue, /obj/effect/turf_decal/tile/neutral{ @@ -68894,21 +68938,6 @@ }, /turf/open/floor/iron/dark, /area/science/genetics) -"uxi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/science/nanite) "uxy" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -69213,6 +69242,11 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) +"uDl" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/grass, +/area/science/research) "uDq" = ( /obj/structure/sign/poster/contraband/random{ pixel_x = -32 @@ -69325,18 +69359,6 @@ }, /turf/open/floor/plating, /area/engineering/supermatter/room) -"uFU" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/science/nanite) "uFV" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -69353,10 +69375,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/science/robotics/lab) -"uFZ" = ( -/obj/machinery/nanite_programmer, -/turf/open/floor/circuit/green, -/area/science/nanite) "uGc" = ( /obj/structure/girder, /obj/structure/grille, @@ -69721,6 +69739,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/engineering/main) +"uML" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) "uMZ" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/wood, @@ -69746,14 +69772,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white/smooth_large, /area/medical/treatment_center) -"uNj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/aft) "uNx" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/techstorage/security, @@ -69868,6 +69886,19 @@ }, /turf/open/floor/iron/dark, /area/command/gateway) +"uPi" = ( +/obj/machinery/door/window/northright{ + name = "Petting Zoo" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/science/research) "uPD" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -70581,10 +70612,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"uZY" = ( -/obj/machinery/nanite_chamber, -/turf/open/floor/circuit/green, -/area/science/nanite) "vaD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71571,21 +71598,6 @@ icon_state = "wood-broken5" }, /area/service/library) -"vqp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/nanite) "vqw" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -72848,11 +72860,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron/white, /area/science/xenobiology) -"vMe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/electrolyzer, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) "vMx" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -73210,6 +73217,18 @@ }, /turf/open/floor/iron/white, /area/science/cytology) +"vSv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) "vSJ" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/camera{ @@ -74015,10 +74034,6 @@ }, /turf/open/floor/iron, /area/security/warden) -"whv" = ( -/obj/structure/sign/warning/securearea, -/turf/closed/wall, -/area/science/nanite) "whB" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, @@ -75416,20 +75431,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/engineering/gravity_generator) -"wHW" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/nanite) "wHY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue{ @@ -76731,6 +76732,14 @@ /obj/effect/landmark/start/research_director, /turf/open/floor/iron/dark, /area/command/heads_quarters/rd) +"xev" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/machinery/module_duplicator, +/turf/open/floor/iron/white, +/area/science/misc_lab) "xeO" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Quarter Solar Access"; @@ -77236,12 +77245,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, /area/commons/locker) -"xmN" = ( -/obj/effect/turf_decal/siding/green{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "xmT" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -77439,10 +77442,6 @@ /obj/effect/landmark/start/chaplain, /turf/open/floor/iron/dark, /area/service/chapel/main) -"xrs" = ( -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/iron/white, -/area/science/nanite) "xrA" = ( /obj/machinery/air_sensor/atmos/carbon_tank, /turf/open/floor/engine/co2, @@ -78595,30 +78594,6 @@ }, /turf/open/floor/iron, /area/maintenance/department/science/xenobiology) -"xJV" = ( -/obj/item/nanite_scanner{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/nanite_scanner{ - pixel_x = 4; - pixel_y = -4 - }, -/obj/item/nanite_remote{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/nanite_remote{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/table/glass, -/obj/structure/cable, -/obj/machinery/light/directional/north, -/obj/machinery/power/apc/auto_name/north, -/turf/open/floor/iron/dark, -/area/science/nanite) "xJX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -79734,6 +79709,20 @@ }, /turf/open/floor/iron/dark, /area/security/brig) +"ydr" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/research) "ydE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -79776,12 +79765,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/solars/port/aft) -"yeh" = ( -/obj/effect/turf_decal/siding/green{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "yej" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -100818,7 +100801,7 @@ bLd css lUJ olq -onG +eWT tqf aiX mRw @@ -103164,8 +103147,8 @@ dqj cEP cFS cGN -oDK -uNj +vSv +uML cJr qqO cLd @@ -103422,7 +103405,7 @@ wEy tfh fTw tay -rYp +gHY diR aQv pfR @@ -108712,7 +108695,7 @@ aaa fwb aaa fNA -efA +ohR ruv gOP nYI @@ -113932,7 +113915,7 @@ yjC lGi eAF xAx -iay +xev nhL oLk kYe @@ -116255,7 +116238,7 @@ cIg cIg cIg dpV -noS +gTG dpV nOc bjK @@ -116511,9 +116494,9 @@ xZW eZf gXs wmS -vqp -rqN -uxi +bpx +dkc +kId gkv uhC fsL @@ -116768,9 +116751,9 @@ dwL cmY ifi ovj -hXe -orG -xrs +obj +pXA +jBe dvY kQY lFg @@ -117022,12 +117005,12 @@ ovj ovj ovj dwL -ctL -ctL -ctL -cTN -gAI -whv +cgo +cgo +cgo +uuh +ajN +mpa nOc dyc bjK @@ -117278,14 +117261,14 @@ myQ xZF gGR nGT -ctL -uFZ -lta -uZY -tOv -ueO -qMf -ctL +cgo +kXQ +cah +kXQ +pgi +cui +cTr +cgo cEz bjK dyc @@ -117535,14 +117518,14 @@ ovj cpJ ten ovj -ctL -xJV -pPZ -xmN -rsu -ueO -fQU -ctL +cgo +fVN +gZq +mCH +jJh +cui +cHh +cgo qfG jTf xaN @@ -117792,14 +117775,14 @@ cos dxh hPn crZ -ctL -bmT -rdZ -nkS -aXh -iog -qCP -ctL +cgo +mvj +fXt +uDl +mAN +niR +bih +cgo vPM ciL sgX @@ -118049,14 +118032,14 @@ cot cnb cra csa -ctL -gdG -mQQ -oTY -nsC -uFU -nIx -ctL +cgo +sbQ +ghY +oTI +uPi +iQR +dWO +cgo dww cFu dyc @@ -118306,14 +118289,14 @@ nbv nbv cou csb -ctL -eQK -oOD -yeh -bkv -wHW -dMl -ctL +cgo +gvE +sDy +nJl +spa +ydr +iXU +cgo dvY dvY dvY @@ -118563,14 +118546,14 @@ mhf nbv rYC csc -ctL -uFZ -rnM -uZY -inN -fde -aLn -ctL +cgo +kXQ +rqT +kXQ +iqC +dhj +sBX +cgo aaa aaa aaa @@ -118821,13 +118804,13 @@ cpK cwG pPA dwL -ctL -ctL -ctL -spG -gLm -spG -ctL +cgo +cgo +cgo +pWO +uvd +pWO +cgo aaa aaa aaa @@ -119578,11 +119561,11 @@ qUk apc qYi nuA -vMe +tSb adk afQ ejw -bwo +bDe oeB bGV uAj diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 066fffbf7e2..adaecc5ce3e 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -1472,10 +1472,6 @@ }, /turf/open/floor/plating, /area/cargo/storage) -"fd" = ( -/obj/structure/sign/departments/nanites, -/turf/closed/wall/r_wall, -/area/construction) "fe" = ( /obj/machinery/computer/cargo{ dir = 8 @@ -2053,11 +2049,9 @@ /turf/open/floor/iron, /area/hallway/primary/central) "kp" = ( -/obj/machinery/computer/rdconsole{ - dir = 1 - }, +/obj/structure/server, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "kQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 8 @@ -2092,7 +2086,7 @@ dir = 8 }, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "nq" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -2136,12 +2130,6 @@ /obj/machinery/door/airlock, /turf/open/floor/plating, /area/engineering/atmos) -"qd" = ( -/obj/machinery/airalarm/unlocked{ - pixel_y = 23 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "qQ" = ( /turf/open/floor/engine, /area/cargo/miningoffice) @@ -2164,10 +2152,9 @@ /turf/open/floor/iron, /area/hallway/primary/central) "sr" = ( -/obj/machinery/public_nanite_chamber, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron, -/area/hallway/secondary/entry) +/obj/machinery/door/airlock/shell, +/turf/open/floor/iron/dark, +/area/construction) "sE" = ( /obj/machinery/power/rtg/advanced, /obj/structure/cable, @@ -2178,6 +2165,10 @@ /obj/item/storage/box/shipping, /turf/open/floor/iron, /area/commons/storage/primary) +"tE" = ( +/obj/machinery/door/airlock/research, +/turf/open/floor/iron/dark, +/area/construction) "tG" = ( /obj/docking_port/stationary/random{ id = "pod_lavaland"; @@ -2185,6 +2176,10 @@ }, /turf/open/space/basic, /area/space) +"tV" = ( +/obj/structure/bot, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "uf" = ( /obj/structure/fans/tiny/invisible, /obj/effect/turf_decal/stripes/line{ @@ -2212,14 +2207,25 @@ /turf/open/floor/iron, /area/commons/storage/primary) "uQ" = ( -/obj/machinery/nanite_programmer, /obj/machinery/light/directional/west, +/obj/structure/table, +/obj/item/compact_remote, +/obj/item/compact_remote, +/obj/item/compact_remote{ + pixel_x = -5 + }, +/obj/item/controller{ + pixel_x = 5 + }, +/obj/item/controller{ + pixel_x = 5 + }, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "vm" = ( -/obj/machinery/computer/nanite_cloud_controller, +/mob/living/circuit_drone, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "vv" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, @@ -2272,7 +2278,7 @@ /area/hallway/primary/central) "wU" = ( /turf/closed/wall/r_wall, -/area/science/nanite) +/area/science/misc_lab) "yK" = ( /obj/structure/fans/tiny/invisible, /obj/effect/turf_decal/stripes/line{ @@ -2286,9 +2292,11 @@ /turf/open/floor/iron, /area/engineering/atmos) "AE" = ( -/obj/item/disk/tech_disk/debug, +/obj/machinery/airalarm/unlocked{ + pixel_y = 23 + }, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "AP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 8 @@ -2326,11 +2334,9 @@ /turf/open/floor/iron, /area/cargo/miningoffice) "CT" = ( -/obj/machinery/computer/nanite_chamber_control{ - dir = 8 - }, +/obj/machinery/component_printer, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "CV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/structure/cable, @@ -2338,9 +2344,11 @@ /area/medical/chemistry) "Df" = ( /obj/machinery/light/directional/east, -/mob/living/carbon/human, +/obj/item/integrated_circuit/loaded/hello_world, +/obj/item/integrated_circuit/loaded/speech_relay, +/obj/structure/rack, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "DW" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -2397,7 +2405,7 @@ "Ir" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/science/nanite) +/area/science/misc_lab) "Iy" = ( /obj/structure/closet/secure_closet/research_director{ locked = 0 @@ -2444,13 +2452,13 @@ /turf/open/floor/iron/dark, /area/medical/chemistry) "LH" = ( -/obj/machinery/door/airlock, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/science/nanite) +/obj/machinery/door/airlock/research, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "LW" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -2471,9 +2479,9 @@ /turf/open/floor/iron, /area/engineering/atmos) "Nb" = ( -/obj/machinery/nanite_chamber, +/obj/machinery/bci_implanter, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "Nc" = ( /obj/machinery/chem_recipe_debug, /turf/open/floor/iron, @@ -2488,9 +2496,13 @@ /turf/open/floor/iron, /area/science) "Ov" = ( -/obj/machinery/nanite_program_hub, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/bluespace, +/obj/item/stock_parts/cell/bluespace, +/obj/item/stock_parts/cell/bluespace, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "OU" = ( /obj/item/disk/tech_disk/debug, /turf/open/floor/iron, @@ -2574,7 +2586,7 @@ dir = 4 }, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "Vy" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -2605,6 +2617,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/engineering/gravity_generator) +"WK" = ( +/obj/structure/money_bot, +/turf/open/floor/iron/dark, +/area/science/misc_lab) "WT" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -2634,16 +2650,17 @@ /area/science) "XN" = ( /obj/structure/table, -/obj/item/nanite_remote{ - pixel_x = -4; - pixel_y = 4 +/obj/item/organ/cyberimp/bci{ + pixel_y = 5 }, -/obj/item/nanite_scanner{ - pixel_x = 4; - pixel_y = -4 +/obj/item/organ/cyberimp/bci{ + pixel_y = 5 + }, +/obj/item/organ/cyberimp/bci{ + pixel_y = 5 }, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "XR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 9 @@ -2661,9 +2678,15 @@ /area/commons/storage/primary) "Ym" = ( /obj/structure/table, -/obj/item/storage/box/disks_nanite, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool/circuit{ + pixel_x = -4 + }, +/obj/item/multitool{ + pixel_x = 4 + }, /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) "Yy" = ( /obj/machinery/light/directional/north, /obj/machinery/rnd/production/circuit_imprinter/department, @@ -2677,7 +2700,7 @@ /area/engineering/atmos) "ZP" = ( /turf/open/floor/iron/dark, -/area/science/nanite) +/area/science/misc_lab) (1,1,1) = {" aa @@ -5851,7 +5874,7 @@ eh eh eh rn -sr +eh eh ge aa @@ -6125,11 +6148,11 @@ dn dn dn dL -ef +sr nn ZP ZP -ZP +WK Ir aa aa @@ -6217,7 +6240,7 @@ dn dn dn dL -ef +cN AE kp XN @@ -6309,11 +6332,11 @@ dn dn dn dL -cN -qd +tE ZP ZP ZP +tV Ir aa aa @@ -6401,7 +6424,7 @@ dn dn dn dL -fd +cN ZP Df Nb diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index eaa524601cc..8a40af6c2c0 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -332,16 +332,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"abe" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 5 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/hallway/primary/port) "abg" = ( /obj/machinery/door/airlock/external{ name = "Port Docking Bay 1"; @@ -350,16 +340,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/hallway/secondary/entry) -"abi" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/hallway/primary/port) "abj" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -565,10 +545,6 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/security/prison) -"abP" = ( -/obj/item/assembly/igniter, -/turf/closed/mineral/random/stationside/asteroid, -/area/maintenance/department/medical) "abU" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -613,16 +589,6 @@ /obj/structure/ladder, /turf/open/floor/iron/dark, /area/ai_monitored/command/nuke_storage) -"ace" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/security/courtroom) "acg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -1673,11 +1639,6 @@ }, /turf/open/floor/iron, /area/security/courtroom) -"afR" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/service/library) "afU" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -2556,12 +2517,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/command/gateway) -"ajj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plating, -/area/commons/vacant_room/commissary) "ajk" = ( /obj/structure/closet/secure_closet/quartermaster, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -2758,25 +2713,6 @@ /obj/structure/closet/wardrobe/mixed, /turf/open/floor/iron/cafeteria, /area/commons/locker) -"ajT" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/landmark/start/hangover, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark, -/area/hallway/primary/port) "ajU" = ( /obj/structure/railing/corner, /turf/open/floor/glass, @@ -3295,17 +3231,6 @@ }, /turf/open/floor/iron, /area/maintenance/tram/mid) -"alu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/science/nanite) "alx" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/stripes/line{ @@ -3734,17 +3659,6 @@ dir = 8 }, /area/service/chapel) -"anf" = ( -/obj/machinery/computer/nanite_chamber_control, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - department = "Nanite Lab"; - name = "Nanite Lab Requests Console" - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "anj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -4779,11 +4693,6 @@ }, /turf/open/floor/iron, /area/security/brig) -"aqf" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood, -/area/service/library) "aqg" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -4836,13 +4745,6 @@ /obj/machinery/power/apc/auto_name/north, /turf/open/floor/carpet, /area/security/detectives_office) -"aqo" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/hallway/primary/tram/left) "aqp" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -5782,14 +5684,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/service/bar) -"asL" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/north, -/turf/open/floor/iron/dark, -/area/science/nanite) "asM" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -6250,22 +6144,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/command/gateway) -"auc" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/item/storage/box/disks_nanite{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/storage/box/disks_nanite{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/science/nanite) "auf" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -6585,13 +6463,6 @@ /obj/item/stamp/hos, /turf/open/floor/carpet, /area/command/heads_quarters/hos) -"avj" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/hallway/primary/tram/left) "avk" = ( /obj/effect/turf_decal/trimline/white/filled/line{ dir = 1 @@ -6815,29 +6686,11 @@ }, /turf/open/floor/iron, /area/hallway/primary/tram/center) -"avX" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/hallway/primary/tram/center) "avY" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/hallway/primary/tram/right) -"awe" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/hallway/primary/tram/right) "awf" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/structure/disposalpipe/segment{ @@ -7149,10 +7002,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/engineering/break_room) -"awX" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/service/lawoffice) "awY" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7710,9 +7559,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/service/kitchen) -"ayQ" = ( -/turf/closed/wall/r_wall, -/area/science/nanite) "ayR" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -7724,6 +7570,15 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/security/detectives_office) +"ayT" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/electrolyzer, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "ayU" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -8180,16 +8035,6 @@ /obj/item/radio/intercom, /turf/open/floor/iron, /area/security/courtroom) -"aAs" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/firealarm/directional/north, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/dark, -/area/security/courtroom) "aAt" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -8595,15 +8440,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/arrow_ccw, /turf/open/floor/iron, /area/hallway/primary/tram/center) -"aBS" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/lawyer, -/obj/machinery/firealarm/directional/south, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/service/lawoffice) "aBU" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/machinery/door/poddoor/shutters{ @@ -8953,13 +8789,6 @@ }, /turf/open/floor/wood, /area/service/library) -"aCU" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/hallway/primary/tram/left) "aDa" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, @@ -9009,23 +8838,6 @@ }, /turf/open/floor/carpet, /area/security/detectives_office) -"aDo" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/hallway/primary/tram/center) -"aDp" = ( -/obj/structure/chair/comfy/beige{ - dir = 8 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/grimy, -/area/hallway/secondary/entry) "aDq" = ( /obj/structure/sign/warning/vacuum/external{ pixel_y = 32 @@ -9359,20 +9171,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/hallway/primary/tram/left) -"aEo" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/dark, -/area/service/chapel) -"aEp" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/hallway/primary/tram/right) "aEq" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -9496,12 +9294,6 @@ "aEJ" = ( /turf/closed/wall, /area/construction/mining/aux_base) -"aEK" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/neutral/filled/warning, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron, -/area/hallway/primary/tram/left) "aEL" = ( /obj/effect/turf_decal/trimline/yellow/warning, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -10421,16 +10213,6 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron, /area/commons/storage/art) -"aHM" = ( -/obj/structure/table/wood, -/obj/machinery/computer/med_data/laptop, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/medical/psychology) "aHN" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -10621,18 +10403,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/tram/left) -"aIs" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/light_switch/directional/east, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/science/nanite) "aIu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -10711,6 +10481,11 @@ name = "Holodeck Projector Floor" }, /area/holodeck/rec_center) +"aIK" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/vending/drugs, +/turf/open/floor/iron/dark, +/area/medical/storage) "aIL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -10757,14 +10532,6 @@ name = "Holodeck Projector Floor" }, /area/holodeck/rec_center) -"aIT" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/science/nanite) "aIU" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -12897,6 +12664,15 @@ /obj/item/stack/package_wrap, /turf/open/floor/iron, /area/commons/storage/primary) +"aWS" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/lawyer, +/obj/machinery/firealarm/directional/south, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/service/lawoffice) "aWV" = ( /obj/machinery/vending/wardrobe/chap_wardrobe, /turf/open/floor/iron/grimy, @@ -13286,29 +13062,16 @@ }, /turf/open/floor/plating/airless, /area/mine/explored) -"bap" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/purple/filled/line{ +"bav" = ( +/obj/structure/table/wood, +/obj/machinery/computer/med_data/laptop, +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/obj/item/nanite_scanner{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/nanite_scanner{ - pixel_x = 4; - pixel_y = -4 - }, -/obj/item/nanite_remote{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/nanite_remote{ - pixel_x = 4; - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) +/obj/machinery/firealarm/directional/west, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/medical/psychology) "baB" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, @@ -13357,14 +13120,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/hallway/primary/tram/right) -"baY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/science/nanite) "bbb" = ( /obj/machinery/door/airlock/maintenance_hatch{ req_one_access_txt = "12" @@ -13484,6 +13239,20 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit) +"bdd" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/service/bar) "bdh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -14311,10 +14080,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"bsR" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/science/nanite) "bsW" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -14338,14 +14103,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/tcommsat/computer) -"btO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "rnd2"; - name = "research lab shutters" - }, -/turf/open/floor/plating, -/area/science/nanite) "btP" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -14365,6 +14122,17 @@ }, /turf/open/floor/iron/dark, /area/service/hydroponics) +"bum" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/service/bar) "bup" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -14587,14 +14355,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/engineering/atmos) -"byG" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 6 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron, -/area/service/hydroponics/garden) "byJ" = ( /obj/structure/table/glass, /obj/machinery/light/directional/west, @@ -14687,6 +14447,14 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) +"bAL" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/engineering/break_room) "bAS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/robot_debris, @@ -14926,15 +14694,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/commons/storage/art) -"bFL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "bFS" = ( /obj/structure/grille, /obj/effect/decal/cleanable/dirt, @@ -15194,11 +14953,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/commons/storage/tools) -"bKr" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/vending/drugs, -/turf/open/floor/iron/dark, -/area/medical/storage) "bKx" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -15337,23 +15091,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"bMh" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/science/research) -"bMz" = ( -/obj/machinery/nanite_programmer, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/circuit/green, -/area/science/nanite) "bMC" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -15550,6 +15287,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/tram/center) +"bQd" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/camera{ + c_tag = "Civilian - Library Back Room"; + dir = 5 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/grimy, +/area/service/library) "bQC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -16183,21 +15929,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /turf/open/floor/iron/dark, /area/science/xenobiology) -"cdt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron/white, -/area/medical/medbay/central) "cdu" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, @@ -17245,6 +16976,14 @@ }, /turf/open/floor/iron/white, /area/science/research) +"czW" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/hallway/primary/tram/center) "cAa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17292,13 +17031,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/maintenance/central/secondary) -"cAT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "cAU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17611,17 +17343,6 @@ /obj/effect/spawner/lootdrop/food_packaging, /turf/open/floor/plating, /area/maintenance/central) -"cII" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark, -/area/service/bar) "cIN" = ( /obj/structure/rack, /obj/item/stack/sheet/iron/ten, @@ -18330,13 +18051,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/command/heads_quarters/ce) -"cWg" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 - }, -/obj/machinery/module_duplicator, -/turf/open/floor/iron, -/area/science/misc_lab) "cWr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18543,18 +18257,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"dbl" = ( -/obj/machinery/nanite_chamber, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Science - Nanite Lab"; - dir = 6; - network = list("ss13","science") - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "dbr" = ( /obj/machinery/door/airlock/medical/glass{ name = "Treatment Center"; @@ -18910,6 +18612,10 @@ }, /turf/open/floor/iron, /area/security/checkpoint/medical) +"djm" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/wood, +/area/service/lawoffice) "djI" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/delivery, @@ -18925,16 +18631,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/central/secondary) -"dkt" = ( -/obj/machinery/computer/atmos_alert{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/dark, -/area/engineering/engine_smes) "dku" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -20035,13 +19731,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) -"dFo" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/iron/dark, -/area/science/nanite) "dFv" = ( /obj/effect/spawner/lootdrop/food_packaging, /obj/effect/decal/cleanable/dirt, @@ -21115,6 +20804,16 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"dZf" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/science/lab) "dZO" = ( /obj/machinery/light/directional/west, /obj/machinery/camera/motion{ @@ -21751,15 +21450,6 @@ }, /turf/open/floor/iron, /area/security/prison) -"emO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Civilian - Library Back Room"; - dir = 5 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/grimy, -/area/service/library) "emS" = ( /obj/machinery/light/small/directional/south, /obj/machinery/button/door/directional/west{ @@ -22345,6 +22035,13 @@ /obj/item/clothing/shoes/sneakers/orange, /turf/open/floor/iron/cafeteria, /area/security/prison) +"ewP" = ( +/obj/effect/spawner/randomcolavend, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/science/breakroom) "ewQ" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -22617,6 +22314,16 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"eCL" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/hallway/primary/tram/right) "eCN" = ( /obj/effect/landmark/start/depsec/supply, /obj/structure/chair/office{ @@ -23446,6 +23153,10 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit) +"eWl" = ( +/obj/item/assembly/igniter, +/turf/closed/mineral/random/stationside/asteroid, +/area/mine/explored) "eWn" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -23653,13 +23364,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"fat" = ( -/obj/effect/spawner/randomcolavend, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/science/breakroom) "fay" = ( /obj/machinery/modular_computer/console/preset/engineering{ dir = 4 @@ -23859,6 +23563,14 @@ "ffq" = ( /turf/open/floor/iron, /area/hallway/secondary/command) +"ffr" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/cargo/miningdock) "ffs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -25296,20 +25008,6 @@ }, /turf/open/floor/iron, /area/maintenance/tram/mid) -"fIg" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/directional/west, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/commons/dorms) "fIp" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/oil/slippery, @@ -26481,9 +26179,6 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/science/research) -"gfd" = ( -/turf/open/floor/circuit/green, -/area/science/nanite) "gfe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -26610,6 +26305,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/medical/medbay/central) +"ghR" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/security/courtroom) "ghY" = ( /obj/effect/turf_decal/trimline/yellow/warning, /obj/machinery/light/small/directional/north, @@ -26962,6 +26667,16 @@ }, /turf/open/floor/plating, /area/maintenance/tram/mid) +"gqH" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/dark, +/area/engineering/engine_smes) "gqQ" = ( /obj/machinery/door/airlock/virology{ name = "Break Room"; @@ -27732,6 +27447,27 @@ /obj/item/flashlight/lamp/green, /turf/open/floor/carpet, /area/commons/vacant_room/office) +"gGs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/engineering/main) +"gGD" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 9 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/port) "gGM" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -28616,14 +28352,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/engineering/supermatter/room) -"gXR" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/engineering/break_room) "gYh" = ( /obj/machinery/computer/operating{ dir = 8 @@ -28955,6 +28683,13 @@ /obj/structure/cable, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"hdD" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/hallway/primary/tram/left) "hdK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 9 @@ -29758,26 +29493,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) -"hqq" = ( -/obj/machinery/door/airlock/research{ - name = "Nanite Laboratory"; - req_one_access_txt = "7" - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "hqr" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -30989,19 +30704,6 @@ }, /turf/open/floor/iron, /area/cargo/office) -"hPF" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "hPX" = ( /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, @@ -31524,17 +31226,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/hallway/primary/port) -"idv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/west, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/engineering/atmos) "idX" = ( /obj/machinery/door/airlock/maintenance_hatch{ req_one_access_txt = "12" @@ -31809,6 +31500,19 @@ }, /turf/open/floor/iron, /area/engineering/main) +"iiG" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/east, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/commons/dorms) "iiH" = ( /turf/open/openspace, /area/science/research) @@ -32191,18 +31895,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/grimy, /area/service/chapel/office) -"ist" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/plasteel{ - amount = 15 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "isF" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 @@ -32433,18 +32125,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/command/bridge) -"ixu" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Science - Lower Main South"; - dir = 6; - network = list("ss13","science") - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/science/research) "ixB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -33302,6 +32982,21 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"iLM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron/white, +/area/medical/medbay/central) "iLW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ @@ -33940,15 +33635,16 @@ }, /turf/open/floor/iron/dark, /area/medical/psychology) -"iWO" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 +"iWB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/electrolyzer, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/firealarm/directional/north, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/dark, +/area/security/courtroom) "iWV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -34807,13 +34503,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/science/explab) -"jqL" = ( -/obj/machinery/nanite_program_hub, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/circuit/green, -/area/science/nanite) "jqQ" = ( /turf/open/floor/engine, /area/engineering/supermatter/room) @@ -34946,6 +34635,12 @@ }, /turf/open/floor/iron/white, /area/medical/treatment_center) +"jtT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plating, +/area/commons/vacant_room/commissary) "jtY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria{ @@ -35373,6 +35068,13 @@ "jCF" = ( /turf/open/floor/iron, /area/command/heads_quarters/ce) +"jCN" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/hallway/primary/tram/left) "jDb" = ( /obj/structure/table, /obj/item/paper/pamphlet/radstorm, @@ -35780,6 +35482,27 @@ }, /turf/open/floor/iron, /area/service/hydroponics/garden) +"jKG" = ( +/obj/machinery/requests_console/directional/north{ + announcementConsole = 1; + department = "Head of Personnel's Desk"; + departmentType = 5; + name = "Head of Personnel's Requests Console" + }, +/obj/structure/table/wood, +/obj/item/storage/secure/briefcase{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/storage/box/silver_ids{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8 + }, +/turf/open/floor/wood, +/area/command/heads_quarters/hop) "jKR" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/trimline/white/line{ @@ -37010,6 +36733,19 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/science/misc_lab) +"kgy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/requests_console/directional/north{ + department = "Medbay"; + departmentType = 1; + name = "Medbay Requests Console" + }, +/obj/structure/closet/l3closet, +/turf/open/floor/iron/white, +/area/medical/storage) "kgP" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -38081,11 +37817,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/command/teleporter) -"kzT" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "kzW" = ( /obj/effect/spawner/lootdrop/garbage_spawner, /obj/effect/decal/cleanable/dirt, @@ -38272,13 +38003,6 @@ }, /turf/closed/wall/r_wall, /area/engineering/supermatter) -"kDj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/medical/medbay/central) "kDm" = ( /obj/structure/chair/plastic{ dir = 1 @@ -38372,6 +38096,16 @@ }, /turf/open/floor/engine/vacuum, /area/engineering/atmos) +"kEQ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/commons/lounge) "kFd" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/north, @@ -39258,14 +38992,6 @@ }, /turf/open/floor/engine, /area/engineering/supermatter/room) -"kXA" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/cargo/qm) "kXD" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ @@ -41007,6 +40733,13 @@ }, /turf/open/floor/iron, /area/cargo/storage) +"lCz" = ( +/obj/structure/chair/comfy/beige{ + dir = 8 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/grimy, +/area/hallway/secondary/entry) "lCG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -41119,6 +40852,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/security/prison) +"lGl" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/head/welding, +/obj/item/clothing/glasses/welding, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "lGw" = ( /obj/machinery/door/airlock/security{ name = "Permanent Cell 5" @@ -43021,6 +42766,25 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white, /area/medical/medbay/central) +"mvS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/effect/landmark/start/hangover, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/hallway/primary/port) "mvV" = ( /obj/effect/turf_decal/trimline/purple/filled/corner, /obj/effect/landmark/start/geneticist, @@ -44715,6 +44479,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/maintenance/port/fore) +"nie" = ( +/obj/machinery/biogenerator, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 6 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/service/hydroponics/garden) "niO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 10 @@ -44728,16 +44500,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"nju" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/commons/lounge) "njM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -44761,21 +44523,6 @@ /obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/commons/locker) -"nkz" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "nkC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -44889,6 +44636,18 @@ }, /turf/open/floor/iron/dark, /area/command/bridge) +"nnC" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Science - Lower Main South"; + dir = 6; + network = list("ss13","science") + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/science/research) "nnQ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Tunnel Access"; @@ -45066,6 +44825,11 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/science/lab) +"nrv" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/wood, +/area/service/library) "nrF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -47389,6 +47153,20 @@ }, /turf/open/floor/iron, /area/ai_monitored/command/storage/eva) +"ond" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/directional/west, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/commons/dorms) "one" = ( /turf/closed/wall/r_wall, /area/engineering/atmos) @@ -48769,6 +48547,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/central) +"oPN" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/structure/rack, +/obj/machinery/light/directional/south, +/obj/item/controller, +/obj/item/compact_remote, +/obj/item/integrated_circuit/loaded/hello_world, +/obj/item/integrated_circuit/loaded/speech_relay, +/obj/item/compact_remote, +/turf/open/floor/iron, +/area/science/misc_lab) "oPY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -49056,20 +48847,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/security/brig) -"oUr" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark, -/area/service/bar) "oUw" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -49634,11 +49411,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/engineering/atmospherics_engine) -"pfi" = ( -/obj/effect/turf_decal/trimline/purple/filled/corner, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/science/nanite) "pfo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 1 @@ -49808,6 +49580,13 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/central/secondary) +"pie" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 + }, +/obj/machinery/module_duplicator, +/turf/open/floor/iron, +/area/science/misc_lab) "pil" = ( /obj/structure/railing/corner{ dir = 1 @@ -51358,6 +51137,16 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/central) +"pNm" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/hallway/primary/tram/center) "pNt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51722,6 +51511,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/tram/left) +"pTk" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/medical/medbay/central) "pTG" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -51746,10 +51542,6 @@ }, /turf/open/floor/iron/dark, /area/security/brig) -"pUB" = ( -/obj/machinery/computer/nanite_cloud_controller, -/turf/open/floor/circuit/green, -/area/science/nanite) "pUM" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron, @@ -52007,16 +51799,6 @@ }, /turf/open/floor/iron, /area/security/prison) -"qab" = ( -/obj/structure/cable, -/obj/machinery/light_switch/directional/north{ - pixel_x = 12 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/command/heads_quarters/rd) "qan" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -52054,6 +51836,23 @@ /obj/effect/spawner/lootdrop/food_packaging, /turf/open/floor/plating, /area/maintenance/starboard/central) +"qbv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/hallway/secondary/construction/engineering) "qbC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -52206,6 +52005,24 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"qeq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/multitool, +/obj/machinery/camera/emp_proof{ + c_tag = "Secure - Telecomms Control Room"; + dir = 6 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/tcommsat/computer) "qes" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -52358,14 +52175,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/airless, /area/mine/explored) -"qiA" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/cargo/miningdock) "qiW" = ( /turf/open/floor/iron, /area/security/processing) @@ -53616,6 +53425,16 @@ }, /turf/open/floor/iron/dark, /area/tcommsat/computer) +"qJo" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "qJp" = ( /obj/effect/decal/cleanable/dirt, /obj/item/chair, @@ -54386,13 +54205,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, /turf/open/floor/iron/white, /area/science/mixing) -"rbD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "rbI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -55434,26 +55246,6 @@ }, /turf/open/floor/iron, /area/security/office) -"rwO" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "rwY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 10 @@ -58876,6 +58668,20 @@ }, /turf/open/floor/iron, /area/hallway/secondary/construction/engineering) +"sPg" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "sPj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61359,12 +61165,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/disposal) -"tJq" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "tJC" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -61700,16 +61500,6 @@ }, /turf/open/floor/iron, /area/engineering/atmos) -"tOO" = ( -/obj/machinery/door/airlock/research{ - name = "Nanite Laboratory"; - req_one_access_txt = "7" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/science/nanite) "tOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -61844,17 +61634,6 @@ }, /turf/open/floor/iron, /area/service/hydroponics/garden) -"tRs" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/engineering/main) "tRt" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 @@ -62762,19 +62541,6 @@ }, /turf/open/floor/vault, /area/hallway/primary/tram/center) -"uhs" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/east, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/commons/dorms) "uht" = ( /turf/closed/wall, /area/medical/treatment_center) @@ -62812,6 +62578,17 @@ }, /turf/open/floor/iron, /area/maintenance/tram/right) +"uiu" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/west, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/engineering/atmos) "uiJ" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -63083,6 +62860,16 @@ /obj/structure/railing, /turf/open/floor/plating, /area/maintenance/tram/right) +"uoz" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/hallway/primary/tram/right) "uoJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/purple/filled/corner{ @@ -63373,6 +63160,16 @@ }, /turf/open/floor/carpet, /area/service/library) +"utD" = ( +/obj/structure/cable, +/obj/machinery/light_switch/directional/north{ + pixel_x = 12 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/command/heads_quarters/rd) "utP" = ( /obj/structure/fluff/tram_rail/end{ dir = 8 @@ -63734,19 +63531,6 @@ "uEX" = ( /turf/closed/wall, /area/security/checkpoint/escape) -"uFJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/requests_console/directional/north{ - department = "Medbay"; - departmentType = 1; - name = "Medbay Requests Console" - }, -/obj/structure/closet/l3closet, -/turf/open/floor/iron/white, -/area/medical/storage) "uFL" = ( /obj/structure/closet, /obj/effect/decal/cleanable/dirt, @@ -64084,16 +63868,6 @@ /obj/item/clothing/mask/breath, /turf/open/floor/iron, /area/engineering/atmos) -"uLU" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/science/lab) "uLZ" = ( /obj/effect/turf_decal/trimline/red/corner, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -64314,20 +64088,6 @@ "uQe" = ( /turf/open/floor/plating, /area/science/mixing) -"uQm" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/science/nanite) "uQq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -64337,24 +64097,11 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"uQs" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/multitool, -/obj/machinery/camera/emp_proof{ - c_tag = "Secure - Telecomms Control Room"; - dir = 6 - }, +"uQv" = ( +/obj/structure/table/wood, /obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/tcommsat/computer) +/turf/open/floor/wood, +/area/service/library) "uQB" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medical Freezer"; @@ -64412,14 +64159,6 @@ icon_state = "wood-broken3" }, /area/maintenance/central) -"uRy" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line, -/turf/open/floor/iron/dark, -/area/science/nanite) "uRU" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 1 @@ -64431,6 +64170,28 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/commons/dorms) +"uRZ" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Civilian - Lounge South"; + dir = 6 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/commons/lounge) "uSn" = ( /obj/machinery/door/airlock/hatch, /obj/effect/decal/cleanable/dirt, @@ -65042,10 +64803,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/central) -"vfl" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/circuit/green, -/area/science/nanite) "vfo" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -65689,6 +65446,16 @@ /obj/structure/table, /turf/open/floor/iron/dark, /area/security/interrogation) +"vqD" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 5 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/port) "vrc" = ( /obj/machinery/telecomms/bus/preset_two, /turf/open/floor/iron/dark/telecomms, @@ -65764,19 +65531,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/maintenance/starboard/secondary) -"vux" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "vuO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -65812,27 +65566,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/central/secondary) -"vxi" = ( -/obj/machinery/requests_console/directional/north{ - announcementConsole = 1; - department = "Head of Personnel's Desk"; - departmentType = 5; - name = "Head of Personnel's Requests Console" - }, -/obj/structure/table/wood, -/obj/item/storage/secure/briefcase{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/storage/box/silver_ids{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/assembly/flash/handheld{ - pixel_x = -8 - }, -/turf/open/floor/wood, -/area/command/heads_quarters/hop) "vxz" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/start/hangover, @@ -66150,20 +65883,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"vDR" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/science/research) "vDX" = ( /obj/structure/grille, /obj/effect/decal/cleanable/dirt, @@ -67637,18 +67356,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) -"wdt" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/clothing/head/welding, -/obj/item/clothing/glasses/welding, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "wdJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -67757,23 +67464,6 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/cargo/miningdock) -"wfD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/hallway/secondary/construction/engineering) "wfN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 9 @@ -68152,6 +67842,12 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron, /area/hallway/secondary/entry) +"wmU" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/neutral/filled/warning, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/hallway/primary/tram/left) "wnM" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -68559,6 +68255,13 @@ }, /turf/open/floor/iron/dark, /area/service/hydroponics) +"wuT" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/tram/left) "wuW" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -69750,6 +69453,10 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, /area/tcommsat/computer) +"wOc" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/dark, +/area/service/chapel) "wOm" = ( /obj/structure/table, /obj/machinery/light/directional/north, @@ -70641,28 +70348,6 @@ }, /turf/open/floor/plating/airless, /area/mine/explored) -"xib" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/obj/machinery/camera{ - c_tag = "Civilian - Lounge South"; - dir = 6 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/commons/lounge) "xif" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ @@ -72525,6 +72210,18 @@ }, /turf/open/floor/iron, /area/hallway/primary/tram/right) +"xQT" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/plasteel{ + amount = 15 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "xQU" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -72551,19 +72248,6 @@ }, /turf/open/floor/iron/white, /area/medical/virology) -"xRv" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/structure/rack, -/obj/machinery/light/directional/south, -/obj/item/controller, -/obj/item/compact_remote, -/obj/item/integrated_circuit/loaded/hello_world, -/obj/item/integrated_circuit/loaded/speech_relay, -/obj/item/compact_remote, -/turf/open/floor/iron, -/area/science/misc_lab) "xRE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -72937,6 +72621,14 @@ }, /turf/open/floor/iron, /area/engineering/atmos) +"xXj" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/cargo/qm) "xXn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -88974,7 +88666,7 @@ aCa arm aqW awG -emO +bQd aeB bfh jIX @@ -91796,7 +91488,7 @@ fyx ahI lmq aCa -aqf +uQv rBn dQU ahj @@ -91806,7 +91498,7 @@ ufR aeQ dQU jBt -afR +nrv aCa rCB fNa @@ -92548,7 +92240,7 @@ aXi aXi aXi aej -oUr +bdd aLM aej aae @@ -94362,7 +94054,7 @@ aMK ldH aNF aOP -nju +kEQ jAa aQb aQy @@ -95411,7 +95103,7 @@ aOP aOP aOP aOP -xib +uRZ itG arc aUD @@ -98202,7 +97894,7 @@ aam aam aam aej -cII +bum aLM aej cIH @@ -100284,7 +99976,7 @@ awp ann cRi ain -aEo +wOc axc axc axc @@ -100553,7 +100245,7 @@ nSi guA xBP sXN -uQs +qeq tYP pcR tnM @@ -103372,7 +103064,7 @@ awy awy awy aUb -dkt +gqH aln kZF aIG @@ -103633,7 +103325,7 @@ aUb aUb aUb aIG -tRs +gGs iTQ nsJ lAN @@ -105164,7 +104856,7 @@ ahg dCy iiQ afB -wfD +qbv aim iXL ntM @@ -105915,7 +105607,7 @@ aBM aBM aBM aiF -ajj +jtT cuP akO alh @@ -106195,7 +105887,7 @@ afB fxN gcl iXL -gXR +bAL gOs kSp vNq @@ -106720,7 +106412,7 @@ uYT imM viG otN -idv +uiu pJF pVU kIo @@ -112131,7 +111823,7 @@ rzp tWb jbA diU -iWO +ayT jyz jaO eDs @@ -115403,7 +115095,7 @@ aae aae aae sHb -qiA +ffr svb bWH aht @@ -115441,7 +115133,7 @@ adS vkh ifA xaQ -fat +ewP uJg gJC awJ @@ -116481,7 +116173,7 @@ bJd bJd bJd bJd -ixu +nnC vyG fls aRL @@ -119580,7 +119272,7 @@ xVI omI kgw nAo -cWg +pie der mkm czI @@ -119837,7 +119529,7 @@ pft ixB utS vVw -xRv +oPN der der der @@ -155534,7 +155226,7 @@ dDP koi jKC aGt -byG +nie abG yee yee @@ -156037,7 +155729,7 @@ oev aBa erb tjo -aDp +lCz tpy aFB tjo @@ -158084,7 +157776,7 @@ ahu ahu ahu aak -ajT +mvS akz alV iZU @@ -158869,7 +158561,7 @@ azw axV axV aEX -aCU +jCN aEx anG iSC @@ -159607,7 +159299,7 @@ aae aae aak aak -abe +vqD act adf adK @@ -159655,7 +159347,7 @@ wBq sXx sXx vkV -uhs +iiG kGg uRU aOb @@ -159888,7 +159580,7 @@ aGY auf aGY aGY -aqo +wuT auY awK axX @@ -161954,7 +161646,7 @@ qbg axX aBH bxq -aEK +wmU aJV aJV pwy @@ -162177,7 +161869,7 @@ aae aae aak aak -abi +gGD acv adl adM @@ -162225,7 +161917,7 @@ kqJ qhf qhf kqJ -fIg +ond iiX dGK aOb @@ -162973,7 +162665,7 @@ ptd aZQ aZQ ara -avj +hdD aEn axZ aYE @@ -163462,7 +163154,7 @@ aae aae aae aFF -aAs +iWB epC bTH wQD @@ -163475,7 +163167,7 @@ aFF api doY aep -aBS +aWS abW ahu ahu @@ -164760,7 +164452,7 @@ aFF aJc aBE ahv -awX +djm abW aae aae @@ -165004,7 +164696,7 @@ aae ccM ccM aFF -ace +ghR aSe jiB oXV @@ -167628,7 +167320,7 @@ gkW xZF bsl ofE -uFJ +kgy tOs oeG rIE @@ -168403,7 +168095,7 @@ mJp nEg mhz ozN -bKr +aIK snA aae aae @@ -169149,7 +168841,7 @@ iBv ibO ayf aFa -aDo +pNm iUK avn avn @@ -170200,7 +169892,7 @@ aIk uYR uht uht -kDj +pTk dJz xCV jyn @@ -171446,7 +171138,7 @@ vGu iEx jgJ vGu -vxi +jKG dUE vGR qWH @@ -172244,7 +171936,7 @@ nbz nbz aHr eLP -cdt +iLM uht uht qch @@ -173253,7 +172945,7 @@ bhS aLX xyy atB -avX +czW aEy ayn uZH @@ -173787,7 +173479,7 @@ rKf kdk vKS eVQ -aHM +bav adD hVT aez @@ -176633,7 +176325,7 @@ agq lbM jwN sYs -agq +aae aae aae aae @@ -176890,7 +176582,7 @@ jOR wEN fwP fwP -agq +aae aae aae aae @@ -177135,7 +176827,7 @@ aae aae aae aae -agq +aae lbM agq xCz @@ -177146,8 +176838,8 @@ fwP jOR aEg lAc -agq -agq +aae +aae aae aae aae @@ -177383,7 +177075,7 @@ aBM aae aae dyg -ist +xQT hHc ooo cVj @@ -177403,8 +177095,8 @@ wWv jOR aEg hYK -abP -agq +eWl +aae aae aae aae @@ -177652,16 +177344,16 @@ aae lbM tAu sYs -agq -agq +aae +aae wEN oWE lbM jOR -agq -agq -agq -agq +aae +aae +aae +aae aae aae aae @@ -177908,14 +177600,14 @@ dyg aae lbM lbM -ayQ -ayQ -ayQ -ayQ -ayQ -ayQ -ayQ -ayQ +aae +aae +aae +aae +aae +aae +aae +aae aae aae aae @@ -178154,7 +177846,7 @@ wbP akA bdB gIt -wdt +lGl tuP aPX kvX @@ -178165,14 +177857,14 @@ dyg aae aae aae -ayQ -bap -auc -alu -bMz -vfl -pUB -ayQ +aae +aae +aae +aae +aae +aae +aae +aae aae aae aae @@ -178422,14 +178114,14 @@ dyg aae aae aae -ayQ -anf -dFo -cAT -vux -uQm -gfd -ayQ +aae +aae +aae +aae +aae +aae +aae +aae aae aae aae @@ -178679,14 +178371,14 @@ dyg der der der -ayQ -dbl -kzT -cAT -rwO -vux -jqL -ayQ +der +aae +aae +aae +aae +aae +aae +aae aae aae aae @@ -178936,14 +178628,14 @@ dyg bwc dCn pto -ayQ -asL -bsR -hPF -baY -bFL -uRy -ayQ +der +aae +aae +aae +aae +aae +aae +aae aae aae aae @@ -179193,13 +178885,13 @@ dyg lSU wtF jhg -ayQ -aIs -rbD -nkz -pfi -tJq -aIT +der +aae +aae +aae +aae +aae +aae lQG lQG lQG @@ -179408,7 +179100,7 @@ gJG okm jZN bSv -kXA +xXj ari scx tEA @@ -179421,7 +179113,7 @@ vfE uEE oDL atP -awe +eCL aEE ayw hlI @@ -179450,13 +179142,13 @@ dyg der jFq der -ayQ -ayQ -btO -hqq -tOO -btO -ayQ +der +der +der +der +der +der +der lQG dGu dGu @@ -179710,8 +179402,8 @@ ydX eaF eaF eaF -vDR -bMh +sPg +qJo fgV czV lQG @@ -180733,7 +180425,7 @@ yju hIG jrL vmv -qab +utD lev lev lev @@ -182008,7 +181700,7 @@ ojc ngB buy kvg -uLU +dZf vLU kkY ply @@ -183541,7 +183233,7 @@ aAS ayA ayA aFi -aEp +uoz aGb aod dCt diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 6495c88136e..855e4d72427 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -38,8 +38,6 @@ #define GLAND_HUD "17" #define SENTIENT_DISEASE_HUD "18" #define AI_DETECT_HUD "19" -#define NANITE_HUD "20" -#define DIAG_NANITE_FULL_HUD "21" /// Displays launchpads' targeting reticle #define DIAG_LAUNCHPAD_HUD "22" //for antag huds. these are used at the /mob level diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index e256f65ab54..e3ab85a2a13 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -1107,49 +1107,6 @@ ///(customer, container) venue signal sent when a venue sells an item. source is the thing sold, which can be a datum, so we send container for location checks #define COMSIG_ITEM_SOLD_TO_CUSTOMER "item_sold_to_customer" -//Nanites - -///() returns TRUE if nanites are found -#define COMSIG_HAS_NANITES "has_nanites" -///() returns TRUE if nanites have stealth -#define COMSIG_NANITE_IS_STEALTHY "nanite_is_stealthy" -///() deletes the nanite component -#define COMSIG_NANITE_DELETE "nanite_delete" -///(list/nanite_programs) - makes the input list a copy the nanites' program list -#define COMSIG_NANITE_GET_PROGRAMS "nanite_get_programs" -///(amount) Returns nanite amount -#define COMSIG_NANITE_GET_VOLUME "nanite_get_volume" -///(amount) Sets current nanite volume to the given amount -#define COMSIG_NANITE_SET_VOLUME "nanite_set_volume" -///(amount) Adjusts nanite volume by the given amount -#define COMSIG_NANITE_ADJUST_VOLUME "nanite_adjust" -///(amount) Sets maximum nanite volume to the given amount -#define COMSIG_NANITE_SET_MAX_VOLUME "nanite_set_max_volume" -///(amount(0-100)) Sets cloud ID to the given amount -#define COMSIG_NANITE_SET_CLOUD "nanite_set_cloud" -///(method) Modify cloud sync status. Method can be toggle, enable or disable -#define COMSIG_NANITE_SET_CLOUD_SYNC "nanite_set_cloud_sync" -///(amount) Sets safety threshold to the given amount -#define COMSIG_NANITE_SET_SAFETY "nanite_set_safety" -///(amount) Sets regeneration rate to the given amount -#define COMSIG_NANITE_SET_REGEN "nanite_set_regen" -///(code(1-9999)) Called when sending a nanite signal to a mob. -#define COMSIG_NANITE_SIGNAL "nanite_signal" -///(comm_code(1-9999), comm_message) Called when sending a nanite comm signal to a mob. -#define COMSIG_NANITE_COMM_SIGNAL "nanite_comm_signal" -///(mob/user, full_scan) - sends to chat a scan of the nanites to the user, returns TRUE if nanites are detected -#define COMSIG_NANITE_SCAN "nanite_scan" -///(list/data, scan_level) - adds nanite data to the given data list - made for ui_data procs -#define COMSIG_NANITE_UI_DATA "nanite_ui_data" -///(datum/nanite_program/new_program, datum/nanite_program/source_program) Called when adding a program to a nanite component -#define COMSIG_NANITE_ADD_PROGRAM "nanite_add_program" - ///Installation successful - #define COMPONENT_PROGRAM_INSTALLED (1<<0) - ///Installation failed, but there are still nanites - #define COMPONENT_PROGRAM_NOT_INSTALLED (1<<1) -///(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component -#define COMSIG_NANITE_SYNC "nanite_sync" - // /datum/component/storage signals ///() - returns bool. diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index 863c65f05ce..755f30e908a 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -14,7 +14,6 @@ #define INVESTIGATE_HALLUCINATIONS "hallucinations" #define INVESTIGATE_RADIATION "radiation" #define INVESTIGATE_EXONET "exonet" -#define INVESTIGATE_NANITES "nanites" #define INVESTIGATE_PRESENTS "presents" #define INVESTIGATE_HYPERTORUS "hypertorus" #define INVESTIGATE_ACCESSCHANGES "id_card_changes" diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 0958d7472ce..6e47918df52 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -41,7 +41,6 @@ #define BIOGENERATOR (1<<4) //Uses biomass #define LIMBGROWER (1<<5) //Uses synthetic flesh #define SMELTER (1<<6) //uses various minerals -#define NANITE_COMPILER (1<<7) //Prints nanite disks /// Protolathes for offstation roles. More limited tech tree. #define AWAY_LATHE (1<<8) /// Imprinters for offstation roles. More limited tech tree. diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 50fa8e13b8e..6cc07276f5b 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -485,7 +485,6 @@ GLOBAL_LIST_INIT(pda_styles, sortList(list(MONO, VT, ORBITRON, SHARE))) #define VOMIT_TOXIC 1 #define VOMIT_PURPLE 2 -#define VOMIT_NANITE 3 //chem grenades defines #define GRENADE_EMPTY 1 diff --git a/code/__DEFINES/nanites.dm b/code/__DEFINES/nanites.dm deleted file mode 100644 index abd2327dd52..00000000000 --- a/code/__DEFINES/nanites.dm +++ /dev/null @@ -1,53 +0,0 @@ -#define NANITE_SYNC_DELAY 300 - -#define NANITE_SHOCK_IMMUNE 1 -#define NANITE_EMP_IMMUNE 2 - -#define NANITE_PROGRAM_LIMIT 20 - - -#define NANITE_BASE_RESEARCH 3.5 - -#define NANITE_CLOUD_TOGGLE 1 -#define NANITE_CLOUD_DISABLE 2 -#define NANITE_CLOUD_ENABLE 3 - -//Nanite excess thresholds -#define NANITE_EXCESS_MINOR 25 -#define NANITE_EXCESS_VOMIT 100 -#define NANITE_EXCESS_BURST 350 - -///Nanite Protocol types -#define NANITE_PROTOCOL_REPLICATION "nanite_replication" -#define NANITE_PROTOCOL_STORAGE "nanite_storage" - -///Nanite extra settings types: used to help uis know what type an extra setting is -#define NESTYPE_TEXT "text" -#define NESTYPE_NUMBER "number" -#define NESTYPE_TYPE "type" -#define NESTYPE_BOOLEAN "boolean" - -///Nanite Extra Settings - Note that these will also be the names displayed in the UI -#define NES_SENT_CODE "Sent Code" -#define NES_DELAY "Delay" -#define NES_MODE "Mode" -#define NES_COMM_CODE "Comm Code" -#define NES_RELAY_CHANNEL "Relay Channel" -#define NES_HEALTH_PERCENT "Health Percent" -#define NES_DIRECTION "Direction" -#define NES_NANITE_PERCENT "Nanite Percent" -#define NES_DAMAGE_TYPE "Damage Type" -#define NES_DAMAGE "Damage" -#define NES_SENTENCE "Sentence" -#define NES_MESSAGE "Message" -#define NES_DIRECTIVE "Directive" -#define NES_INCLUSIVE_MODE "Inclusive Mode" -#define NES_RACE "Race" -#define NES_HALLUCINATION_TYPE "Hallucination Type" -#define NES_HALLUCINATION_DETAIL "Hallucination Detail" -#define NES_MOOD_MESSAGE "Mood Message" -#define NES_PROGRAM_OVERWRITE "Program Overwrite" -#define NES_CLOUD_OVERWRITE "Cloud Overwrite" -#define NES_SCAN_TYPE "Scan Type" -#define NES_BUTTON_NAME "Button Name" -#define NES_ICON "Icon" diff --git a/code/__DEFINES/research.dm b/code/__DEFINES/research.dm index d8db678bc29..a43053e262c 100644 --- a/code/__DEFINES/research.dm +++ b/code/__DEFINES/research.dm @@ -22,14 +22,12 @@ //! Techweb names for new point types. Can be used to define specific point values for specific types of research (science, security, engineering, etc.) #define TECHWEB_POINT_TYPE_GENERIC "General Research" -#define TECHWEB_POINT_TYPE_NANITES "Nanite Research" #define TECHWEB_POINT_TYPE_DEFAULT TECHWEB_POINT_TYPE_GENERIC //! Associative names for techweb point values, see: [all_nodes][code/modules/research/techweb/all_nodes.dm] #define TECHWEB_POINT_TYPE_LIST_ASSOCIATIVE_NAMES list(\ TECHWEB_POINT_TYPE_GENERIC = "General Research",\ - TECHWEB_POINT_TYPE_NANITES = "Nanite Research"\ ) /// Amount of cash you can get from a maxcap diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 4c740d88bb5..c499c088f23 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -293,8 +293,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_PERMANENTLY_ONFIRE "permanently_onfire" /// Galactic Common Sign Language #define TRAIT_SIGN_LANG "sign_language" -/// The mob's nanites are sending a monitoring signal visible on diag HUD -#define TRAIT_NANITE_MONITORING "nanite_monitoring" /// nobody can use martial arts on this mob #define TRAIT_MARTIAL_ARTS_IMMUNE "martial_arts_immune" /// You've been cursed with a living duffelbag, and can't have more added @@ -598,7 +596,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define GENETICS_SPELL "genetics_spell" #define EYES_COVERED "eyes_covered" #define HYPNOCHAIR_TRAIT "hypnochair" -#define NANITES_TRAIT "nanites" #define FLASHLIGHT_EYES "flashlight_eyes" #define IMPURE_OCULINE "impure_oculine" #define BLINDFOLD_TRAIT "blindfolded" diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 5669eba92aa..1ccd4a338e0 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -39,7 +39,6 @@ GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs GLOBAL_LIST_EMPTY(bots_list) GLOBAL_LIST_EMPTY(aiEyes) GLOBAL_LIST_EMPTY(suit_sensors_list) //all people with suit sensors on -GLOBAL_LIST_EMPTY(nanite_sensors_list) //app people with nanite monitoring program /// All alive mobs with clients. GLOBAL_LIST_EMPTY(alive_player_list) diff --git a/code/controllers/subsystem/processing/nanites.dm b/code/controllers/subsystem/processing/nanites.dm deleted file mode 100644 index b8109a904af..00000000000 --- a/code/controllers/subsystem/processing/nanites.dm +++ /dev/null @@ -1,22 +0,0 @@ -PROCESSING_SUBSYSTEM_DEF(nanites) - name = "Nanites" - flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT - wait = 1 SECONDS - - var/list/datum/nanite_cloud_backup/cloud_backups = list() - var/list/mob/living/nanite_monitored_mobs = list() - var/list/datum/nanite_program/relay/nanite_relays = list() - var/neural_network_count = 0 - -/datum/controller/subsystem/processing/nanites/proc/check_hardware(datum/nanite_cloud_backup/backup) - if(QDELETED(backup.storage) || (backup.storage.machine_stat & (NOPOWER|BROKEN))) - return FALSE - return TRUE - -/datum/controller/subsystem/processing/nanites/proc/get_cloud_backup(cloud_id, force = FALSE) - for(var/I in cloud_backups) - var/datum/nanite_cloud_backup/backup = I - if(!force && !check_hardware(backup)) - return - if(backup.cloud_id == cloud_id) - return backup diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm deleted file mode 100644 index 4004e1b0a12..00000000000 --- a/code/datums/components/nanites.dm +++ /dev/null @@ -1,479 +0,0 @@ -#define HARMONIC_REGEN_BOOST 0.1 - -/datum/component/nanites - dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS - - var/mob/living/host_mob - var/nanite_volume = 100 //amount of nanites in the system, used as fuel for nanite programs - var/max_nanites = 500 //maximum amount of nanites in the system - var/regen_rate = 0.5 //nanites generated per second - var/safety_threshold = 50 //how low nanites will get before they stop processing/triggering - var/cloud_id = 0 //0 if not connected to the cloud, 1-100 to set a determined cloud backup to draw from - var/cloud_active = TRUE //if false, won't sync to the cloud - var/next_sync = 0 - var/list/datum/nanite_program/programs = list() - var/max_programs = NANITE_PROGRAM_LIMIT - - var/list/datum/nanite_program/protocol/protocols = list() ///Separate list of protocol programs, to avoid looping through the whole programs list when cheking for conflicts - var/start_time = 0 ///Timestamp to when the nanites were first inserted in the host - var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans - var/diagnostics = FALSE //if TRUE, displays program list when scanned by nanite scanners - -/datum/component/nanites/Initialize(amount = 100, cloud = 0) - if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) - return COMPONENT_INCOMPATIBLE - - nanite_volume = amount - cloud_id = cloud - - //Nanites without hosts are non-interactive through normal means - if(isliving(parent)) - host_mob = parent - - if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) //Shouldn't happen, but this avoids HUD runtimes in case a silicon gets them somehow. - return COMPONENT_INCOMPATIBLE - - start_time = world.time - - host_mob.hud_set_nanite_indicator() - START_PROCESSING(SSnanites, src) - - if(cloud_id && cloud_active) - cloud_sync() - -/datum/component/nanites/RegisterWithParent() - RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) - RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth) - RegisterSignal(parent, COMSIG_NANITE_DELETE, .proc/delete_nanites) - RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) - RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) - RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) - RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites) - RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume) - RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud) - RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, .proc/set_cloud_sync) - RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety) - RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen) - RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) - RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) - RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) - - if(isliving(parent)) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) - RegisterSignal(parent, COMSIG_LIVING_DEATH, .proc/on_death) - RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access) - RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock) - RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, .proc/on_minor_shock) - RegisterSignal(parent, COMSIG_SPECIES_GAIN, .proc/check_viable_biotype) - RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal) - RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal) - -/datum/component/nanites/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_HAS_NANITES, - COMSIG_NANITE_IS_STEALTHY, - COMSIG_NANITE_DELETE, - COMSIG_NANITE_UI_DATA, - COMSIG_NANITE_GET_PROGRAMS, - COMSIG_NANITE_SET_VOLUME, - COMSIG_NANITE_ADJUST_VOLUME, - COMSIG_NANITE_SET_MAX_VOLUME, - COMSIG_NANITE_SET_CLOUD, - COMSIG_NANITE_SET_CLOUD_SYNC, - COMSIG_NANITE_SET_SAFETY, - COMSIG_NANITE_SET_REGEN, - COMSIG_NANITE_ADD_PROGRAM, - COMSIG_NANITE_SCAN, - COMSIG_NANITE_SYNC, - COMSIG_ATOM_EMP_ACT, - COMSIG_LIVING_DEATH, - COMSIG_MOB_ALLOWED, - COMSIG_LIVING_ELECTROCUTE_ACT, - COMSIG_LIVING_MINOR_SHOCK, - COMSIG_MOVABLE_HEAR, - COMSIG_SPECIES_GAIN, - COMSIG_NANITE_SIGNAL, - COMSIG_NANITE_COMM_SIGNAL)) - -/datum/component/nanites/Destroy() - STOP_PROCESSING(SSnanites, src) - QDEL_LIST(programs) - if(host_mob) - set_nanite_bar(TRUE) - host_mob.hud_set_nanite_indicator() - host_mob = null - return ..() - -/datum/component/nanites/InheritComponent(datum/component/nanites/new_nanites, i_am_original, amount, cloud) - if(new_nanites) - adjust_nanites(null, new_nanites.nanite_volume) - else - adjust_nanites(null, amount) //just add to the nanite volume - -/datum/component/nanites/process(delta_time) - if(!IS_IN_STASIS(host_mob)) - adjust_nanites(null, (regen_rate + (SSresearch.science_tech.researched_nodes["nanite_harmonic"] ? HARMONIC_REGEN_BOOST : 0)) * delta_time) - add_research() - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_process() - if(cloud_id && cloud_active && world.time > next_sync) - cloud_sync() - next_sync = world.time + NANITE_SYNC_DELAY - set_nanite_bar() - -///Deletes nanites! -/datum/component/nanites/proc/delete_nanites() - SIGNAL_HANDLER - - qdel(src) - -///Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status) -/datum/component/nanites/proc/sync(datum/signal_source, datum/component/nanites/source, full_overwrite = TRUE, copy_activation = FALSE) - SIGNAL_HANDLER - - var/list/programs_to_remove = programs.Copy() - var/list/programs_to_add = source.programs.Copy() - for(var/X in programs) - var/datum/nanite_program/NP = X - for(var/Y in programs_to_add) - var/datum/nanite_program/SNP = Y - if(NP.type == SNP.type) - programs_to_remove -= NP - programs_to_add -= SNP - SNP.copy_programming(NP, copy_activation) - break - if(full_overwrite) - for(var/X in programs_to_remove) - qdel(X) - for(var/X in programs_to_add) - var/datum/nanite_program/SNP = X - add_program(null, SNP.copy()) - -///Syncs the nanites to their assigned cloud copy, if it is available. If it is not, there is a small chance of a software error instead. -/datum/component/nanites/proc/cloud_sync() - if(cloud_id) - var/datum/nanite_cloud_backup/backup = SSnanites.get_cloud_backup(cloud_id) - if(backup) - var/datum/component/nanites/cloud_copy = backup.nanites - if(cloud_copy) - sync(null, cloud_copy) - return - //Without cloud syncing nanites can accumulate errors and/or defects - if(prob(8) && programs.len) - var/datum/nanite_program/NP = pick(programs) - NP.software_error() - -///Adds a nanite program, replacing existing unique programs of the same type. A source program can be specified to copy its programming onto the new one. -/datum/component/nanites/proc/add_program(datum/source, datum/nanite_program/new_program, datum/nanite_program/source_program) - SIGNAL_HANDLER - - for(var/X in programs) - var/datum/nanite_program/NP = X - if(NP.unique && NP.type == new_program.type) - qdel(NP) - if(programs.len >= max_programs) - return COMPONENT_PROGRAM_NOT_INSTALLED - if(source_program) - source_program.copy_programming(new_program) - programs += new_program - new_program.on_add(src) - return COMPONENT_PROGRAM_INSTALLED - -/datum/component/nanites/proc/consume_nanites(amount, force = FALSE) - if(!force && safety_threshold && (nanite_volume - amount < safety_threshold)) - return FALSE - adjust_nanites(null, -amount) - return (nanite_volume > 0) - -///Modifies the current nanite volume, then checks if the nanites are depleted or exceeding the maximum amount -/datum/component/nanites/proc/adjust_nanites(datum/source, amount) - SIGNAL_HANDLER - - nanite_volume += amount - if(nanite_volume > max_nanites) - reject_excess_nanites() - if(nanite_volume <= 0) //oops we ran out - qdel(src) - -/** - * Handles how nanites leave the host's body if they find out that they're currently exceeding the maximum supported amount - * - * IC explanation: - * Normally nanites simply discard excess volume by slowing replication or 'sweating' it out in imperceptible amounts, - * but if there is a large excess volume, likely due to a programming change that leaves them unable to support their current volume, - * the nanites attempt to leave the host as fast as necessary to prevent nanite poisoning. This can range from minor oozing to nanites - * rapidly bursting out from every possible pathway, causing temporary inconvenience to the host. - */ -/datum/component/nanites/proc/reject_excess_nanites() - var/excess = nanite_volume - max_nanites - nanite_volume = max_nanites - - switch(excess) - if(0 to NANITE_EXCESS_MINOR) //Minor excess amount, the extra nanites are quietly expelled without visible effects - return - if((NANITE_EXCESS_MINOR + 0.1) to NANITE_EXCESS_VOMIT) //Enough nanites getting rejected at once to be visible to the naked eye - host_mob.visible_message(span_warning("A grainy grey slurry starts oozing out of [host_mob]."), span_warning("A grainy grey slurry starts oozing out of your skin."), null, 4); - if((NANITE_EXCESS_VOMIT + 0.1) to NANITE_EXCESS_BURST) //Nanites getting rejected in massive amounts, but still enough to make a semi-orderly exit through vomit - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - host_mob.visible_message(span_warning("[host_mob] vomits a grainy grey slurry!"), span_warning("You suddenly vomit a metallic-tasting grainy grey slurry!"), null); - C.vomit(0, FALSE, TRUE, FLOOR(excess / 100, 1), FALSE, VOMIT_NANITE, FALSE, TRUE, 0) - else - host_mob.visible_message(span_warning("A metallic grey slurry bursts out of [host_mob]'s skin!"), span_userdanger("A metallic grey slurry violently bursts out of your skin!"), null); - if(isturf(host_mob.drop_location())) - var/turf/T = host_mob.drop_location() - T.add_vomit_floor(host_mob, VOMIT_NANITE, 0) - if((NANITE_EXCESS_BURST + 0.1) to INFINITY) //Way too many nanites, they just leave through the closest exit before they harm/poison the host - host_mob.visible_message(span_warning("A torrent of metallic grey slurry violently bursts out of [host_mob]'s face and floods out of [host_mob.p_their()] skin!"), - span_userdanger("A torrent of metallic grey slurry violently bursts out of your eyes, ears, and mouth, and floods out of your skin!")); - - host_mob.blind_eyes(15) //nanites coming out of your eyes - host_mob.Paralyze(120) - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/obj/item/organ/ears/ears = C.getorganslot(ORGAN_SLOT_EARS) - if(ears) - ears.adjustEarDamage(0, 30) //nanites coming out of your ears - C.vomit(0, FALSE, TRUE, 2, FALSE, VOMIT_NANITE, FALSE, TRUE, 0) //nanites coming out of your mouth - - //nanites everywhere - if(isturf(host_mob.drop_location())) - var/turf/T = host_mob.drop_location() - T.add_vomit_floor(host_mob, VOMIT_NANITE, 0) - for(var/turf/adjacent_turf in oview(host_mob, 1)) - if(adjacent_turf.density || !adjacent_turf.Adjacent(T)) - continue - adjacent_turf.add_vomit_floor(host_mob, VOMIT_NANITE, 0) - -///Updates the nanite volume bar visible in diagnostic HUDs -/datum/component/nanites/proc/set_nanite_bar(remove = FALSE) - var/image/holder = host_mob.hud_list[DIAG_NANITE_FULL_HUD] - var/icon/I = icon(host_mob.icon, host_mob.icon_state, host_mob.dir) - holder.pixel_y = I.Height() - world.icon_size - holder.icon_state = null - if(remove || stealth) - return //bye icon - var/nanite_percent = (nanite_volume / max_nanites) * 100 - nanite_percent = clamp(CEILING(nanite_percent, 10), 10, 100) - holder.icon_state = "nanites[nanite_percent]" - -/datum/component/nanites/proc/on_emp(datum/source, severity) - SIGNAL_HANDLER - - nanite_volume *= (rand(60, 90) * 0.01) //Lose 10-40% of nanites - adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume - if(prob(40/severity)) - cloud_id = 0 - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_emp(severity) - - -/datum/component/nanites/proc/on_shock(datum/source, shock_damage, siemens_coeff = 1, flags = NONE) - SIGNAL_HANDLER - - if(flags & SHOCK_ILLUSION || shock_damage < 1) - return - - if(!HAS_TRAIT_NOT_FROM(host_mob, TRAIT_SHOCKIMMUNE, "nanites"))//Another shock protection must protect nanites too, but nanites protect only host - nanite_volume *= (rand(45, 80) * 0.01) //Lose 20-55% of nanites - adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_shock(shock_damage) - -/datum/component/nanites/proc/on_minor_shock(datum/source) - SIGNAL_HANDLER - - adjust_nanites(null, -(rand(5, 15))) //Lose 5-15 flat nanite volume - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_minor_shock() - -/datum/component/nanites/proc/check_stealth(datum/source) - SIGNAL_HANDLER - - return stealth - -/datum/component/nanites/proc/on_death(datum/source, gibbed) - SIGNAL_HANDLER - - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_death(gibbed) - -/datum/component/nanites/proc/receive_signal(datum/source, code, source = "an unidentified source") - SIGNAL_HANDLER - - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.receive_signal(code, source) - -/datum/component/nanites/proc/receive_comm_signal(datum/source, comm_code, comm_message, comm_source = "an unidentified source") - SIGNAL_HANDLER - - for(var/X in programs) - if(istype(X, /datum/nanite_program/comm)) - var/datum/nanite_program/comm/NP = X - NP.receive_comm_signal(comm_code, comm_message, comm_source) - -/datum/component/nanites/proc/check_viable_biotype() - SIGNAL_HANDLER - - if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) - qdel(src) //bodytype no longer sustains nanites - -/datum/component/nanites/proc/check_access(datum/source, obj/O) - SIGNAL_HANDLER - - for(var/datum/nanite_program/access/access_program in programs) - if(access_program.activated) - return O.check_access_list(access_program.access) - else - return FALSE - return FALSE - -/datum/component/nanites/proc/set_volume(datum/source, amount) - SIGNAL_HANDLER - - nanite_volume = clamp(amount, 0, max_nanites) - -/datum/component/nanites/proc/set_max_volume(datum/source, amount) - SIGNAL_HANDLER - - max_nanites = max(1, amount) - -/datum/component/nanites/proc/set_cloud(datum/source, amount) - SIGNAL_HANDLER - - cloud_id = clamp(amount, 0, 100) - -/datum/component/nanites/proc/set_cloud_sync(datum/source, method) - SIGNAL_HANDLER - - switch(method) - if(NANITE_CLOUD_TOGGLE) - cloud_active = !cloud_active - if(NANITE_CLOUD_DISABLE) - cloud_active = FALSE - if(NANITE_CLOUD_ENABLE) - cloud_active = TRUE - -/datum/component/nanites/proc/set_safety(datum/source, amount) - SIGNAL_HANDLER - - safety_threshold = clamp(amount, 0, max_nanites) - -/datum/component/nanites/proc/set_regen(datum/source, amount) - SIGNAL_HANDLER - - regen_rate = amount - -/datum/component/nanites/proc/confirm_nanites() - SIGNAL_HANDLER - - return TRUE //yup i exist - -/datum/component/nanites/proc/get_programs(datum/source, list/nanite_programs) - SIGNAL_HANDLER - - nanite_programs |= programs - -/datum/component/nanites/proc/add_research() - var/research_value = NANITE_BASE_RESEARCH - if(!ishuman(host_mob)) - if(!iscarbon(host_mob)) - research_value *= 0.4 - else - research_value *= 0.8 - if(!host_mob.client) - research_value *= 0.5 - if(host_mob.stat == DEAD) - research_value *= 0.75 - SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_NANITES = research_value)) - -/datum/component/nanites/proc/nanite_scan(datum/source, mob/user, full_scan) - SIGNAL_HANDLER - - if(!full_scan) - if(!stealth) - to_chat(user, span_notice("Nanites Detected")) - to_chat(user, span_notice("Saturation: [nanite_volume]/[max_nanites]")) - return TRUE - else - to_chat(user, span_info("NANITES DETECTED")) - to_chat(user, span_info("================")) - to_chat(user, span_info("Saturation: [nanite_volume]/[max_nanites]")) - to_chat(user, span_info("Safety Threshold: [safety_threshold]")) - to_chat(user, span_info("Cloud ID: [cloud_id ? cloud_id : "None"]")) - to_chat(user, span_info("Cloud Sync: [cloud_active ? "Active" : "Disabled"]")) - to_chat(user, span_info("================")) - to_chat(user, span_info("Program List:")) - if(!diagnostics) - to_chat(user, span_alert("Nanite debugging disabled.")) - else - for(var/X in programs) - var/datum/nanite_program/NP = X - to_chat(user, span_info("[NP.name] | [NP.activated ? "Active" : "Inactive"]")) - return TRUE - -/datum/component/nanites/proc/nanite_ui_data(datum/source, list/data, scan_level) - SIGNAL_HANDLER - - data["has_nanites"] = TRUE - data["nanite_volume"] = nanite_volume - data["regen_rate"] = regen_rate + (SSresearch.science_tech.researched_nodes["nanite_harmonic"] ? HARMONIC_REGEN_BOOST : 0) - data["safety_threshold"] = safety_threshold - data["cloud_id"] = cloud_id - data["cloud_active"] = cloud_active - var/list/mob_programs = list() - var/id = 1 - for(var/X in programs) - var/datum/nanite_program/P = X - var/list/mob_program = list() - mob_program["name"] = P.name - mob_program["desc"] = P.desc - mob_program["id"] = id - - if(scan_level >= 2) - mob_program["activated"] = P.activated - mob_program["use_rate"] = P.use_rate - mob_program["can_trigger"] = P.can_trigger - mob_program["trigger_cost"] = P.trigger_cost - mob_program["trigger_cooldown"] = P.trigger_cooldown / 10 - - if(scan_level >= 3) - mob_program["timer_restart"] = P.timer_restart / 10 - mob_program["timer_shutdown"] = P.timer_shutdown / 10 - mob_program["timer_trigger"] = P.timer_trigger / 10 - mob_program["timer_trigger_delay"] = P.timer_trigger_delay / 10 - var/list/extra_settings = P.get_extra_settings_frontend() - mob_program["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - mob_program["has_extra_settings"] = TRUE - else - mob_program["has_extra_settings"] = FALSE - - if(scan_level >= 4) - mob_program["activation_code"] = P.activation_code - mob_program["deactivation_code"] = P.deactivation_code - mob_program["kill_code"] = P.kill_code - mob_program["trigger_code"] = P.trigger_code - var/list/rules = list() - var/rule_id = 1 - for(var/Z in P.rules) - var/datum/nanite_rule/nanite_rule = Z - var/list/rule = list() - rule["display"] = nanite_rule.display() - rule["program_id"] = id - rule["id"] = rule_id - rules += list(rule) - rule_id++ - mob_program["rules"] = rules - if(LAZYLEN(rules)) - mob_program["has_rules"] = TRUE - id++ - mob_programs += list(mob_program) - data["mob_programs"] = mob_programs - -#undef HARMONIC_REGEN_BOOST diff --git a/code/datums/diseases/advance/symptoms/nanites.dm b/code/datums/diseases/advance/symptoms/nanites.dm deleted file mode 100644 index 1ca11b28e27..00000000000 --- a/code/datums/diseases/advance/symptoms/nanites.dm +++ /dev/null @@ -1,71 +0,0 @@ -/datum/symptom/nano_boost - name = "Nano-symbiosis" - desc = "The virus reacts to nanites in the host's bloodstream by enhancing their replication cycle." - stealth = 0 - resistance = 2 - stage_speed = 2 - transmittable = -1 - level = 7 - severity = 0 - symptom_delay_min = 1 - symptom_delay_max = 1 - var/reverse_boost = FALSE - threshold_descs = list( - "Transmission 5" = "Increases the virus' growth rate while nanites are present.", - "Stage Speed 7" = "Increases the replication boost." - ) - -/datum/symptom/nano_boost/Start(datum/disease/advance/A) - . = ..() - if(!.) - return - if(A.totalTransmittable() >= 5) //reverse boost - reverse_boost = TRUE - if(A.totalStageSpeed() >= 7) //more nanites - power = 2 - -/datum/symptom/nano_boost/Activate(datum/disease/advance/A) - . = ..() - if(!.) - return - var/mob/living/carbon/M = A.affected_mob - SEND_SIGNAL(M, COMSIG_NANITE_ADJUST_VOLUME, 0.5 * power) - if(reverse_boost && SEND_SIGNAL(M, COMSIG_HAS_NANITES)) - if(prob(A.stage_prob)) - A.stage = min(A.stage + 1,A.max_stages) - -/datum/symptom/nano_destroy - name = "Silicolysis" - desc = "The virus reacts to nanites in the host's bloodstream by attacking and consuming them." - stealth = 0 - resistance = 4 - stage_speed = -1 - transmittable = 1 - level = 7 - severity = 0 - symptom_delay_min = 1 - symptom_delay_max = 1 - var/reverse_boost = FALSE - threshold_descs = list( - "Stage Speed 5" = "Increases the virus' growth rate while nanites are present.", - "Resistance 7" = "Severely increases the rate at which the nanites are destroyed." - ) - -/datum/symptom/nano_destroy/Start(datum/disease/advance/A) - . = ..() - if(!.) - return - if(A.totalStageSpeed() >= 5) //reverse boost - reverse_boost = TRUE - if(A.totalResistance() >= 7) //more nanites - power = 3 - -/datum/symptom/nano_destroy/Activate(datum/disease/advance/A) - . = ..() - if(!.) - return - var/mob/living/carbon/M = A.affected_mob - SEND_SIGNAL(M, COMSIG_NANITE_ADJUST_VOLUME, -0.4 * power) - if(reverse_boost && SEND_SIGNAL(M, COMSIG_HAS_NANITES)) - if(prob(A.stage_prob)) - A.stage = min(A.stage + 1,A.max_stages) diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index cb6774ee6b6..b9e02d4a074 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -279,13 +279,6 @@ description = "THEY'RE CUTTING ME OPEN!!\n" mood_change = -8 -/datum/mood_event/nanite_sadness - description = "+++++++HAPPINESS SUPPRESSION+++++++\n" - mood_change = -7 - -/datum/mood_event/nanite_sadness/add_effects(message) - description = "+++++++[message]+++++++\n" - /datum/mood_event/bald description = "I need something to cover my head...\n" mood_change = -3 diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 5be193843ed..ef8db10eefa 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -186,13 +186,6 @@ description = "What a peculiar emblem. It makes me feel hopeful for my future.\n" mood_change = 10 -/datum/mood_event/nanite_happiness - description = "+++++++HAPPINESS ENHANCEMENT+++++++\n" - mood_change = 7 - -/datum/mood_event/nanite_happiness/add_effects(message) - description = "+++++++[message]+++++++\n" - /datum/mood_event/area description = "" //Fill this out in the area mood_change = 0 diff --git a/code/game/area/space_station_13_areas.dm b/code/game/area/space_station_13_areas.dm index 967bcb5255b..307ddf61fe0 100644 --- a/code/game/area/space_station_13_areas.dm +++ b/code/game/area/space_station_13_areas.dm @@ -1413,10 +1413,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "abandoned_sci" sound_environment = SOUND_AREA_SMALL_ENCLOSED -/area/science/nanite - name = "Nanite Lab" - icon_state = "nanite" - // Telecommunications Satellite /area/tcommsat diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 50b0770604b..5da00a215bd 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -18,7 +18,7 @@ /datum/atom_hud/data /datum/atom_hud/data/human/medical - hud_icons = list(STATUS_HUD, HEALTH_HUD, NANITE_HUD) + hud_icons = list(STATUS_HUD, HEALTH_HUD) /datum/atom_hud/data/human/medical/basic @@ -47,7 +47,7 @@ hud_icons = list(ID_HUD) /datum/atom_hud/data/human/security/advanced - hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD, NANITE_HUD) + hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD) /datum/atom_hud/data/human/fan_hud hud_icons = list(FAN_HUD) @@ -55,10 +55,10 @@ /datum/atom_hud/data/diagnostic /datum/atom_hud/data/diagnostic/basic - hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_NANITE_FULL_HUD, DIAG_LAUNCHPAD_HUD) + hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_LAUNCHPAD_HUD) /datum/atom_hud/data/diagnostic/advanced - hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_NANITE_FULL_HUD, DIAG_LAUNCHPAD_HUD, DIAG_PATH_HUD) + hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_LAUNCHPAD_HUD, DIAG_PATH_HUD) /datum/atom_hud/data/bot_path hud_icons = list(DIAG_PATH_HUD) @@ -300,14 +300,6 @@ Security HUDs! Basic mode shows only the job. Diagnostic HUDs! ************************************************/ -/mob/living/proc/hud_set_nanite_indicator() - var/image/holder = hud_list[NANITE_HUD] - var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size - holder.icon_state = null - if(HAS_TRAIT(src, TRAIT_NANITE_MONITORING)) - holder.icon_state = "nanite_ping" - //For Diag health and cell bars! /proc/RoundDiagBar(value) switch(value * 100) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 4ad557c379f..8978260532e 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -189,9 +189,9 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) return data_by_z["[z]"] var/list/results = list() - for(var/tracked_mob in GLOB.suit_sensors_list | GLOB.nanite_sensors_list) + for(var/tracked_mob in GLOB.suit_sensors_list) if(!tracked_mob) - stack_trace("Null entry in suit sensors or nanite sensors list.") + stack_trace("Null entry in suit sensors list.") continue var/mob/living/tracked_living_mob = tracked_mob @@ -208,31 +208,25 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) if(pos.z != z && (!is_station_level(pos.z) || !is_station_level(z))) continue - var/sensor_mode + var/mob/living/carbon/human/tracked_human = tracked_living_mob - // Set sensor level based on whether we're in the nanites list or the suit sensor list. - if(tracked_living_mob in GLOB.nanite_sensors_list) - sensor_mode = SENSOR_COORDS - else - var/mob/living/carbon/human/tracked_human = tracked_living_mob + // Check their humanity. + if(!ishuman(tracked_human)) + stack_trace("Non-human mob is in suit_sensors_list: [tracked_living_mob] ([tracked_living_mob.type])") + continue - // Check their humanity. - if(!ishuman(tracked_human)) - stack_trace("Non-human mob is in suit_sensors_list: [tracked_living_mob] ([tracked_living_mob.type])") - continue + // Check they have a uniform + var/obj/item/clothing/under/uniform = tracked_human.w_uniform + if (!istype(uniform)) + stack_trace("Human without a suit sensors compatible uniform is in suit_sensors_list: [tracked_human] ([tracked_human.type]) ([uniform?.type])") + continue - // Check they have a uniform - var/obj/item/clothing/under/uniform = tracked_human.w_uniform - if (!istype(uniform)) - stack_trace("Human without a suit sensors compatible uniform is in suit_sensors_list: [tracked_human] ([tracked_human.type]) ([uniform?.type])") - continue + // Check if their uniform is in a compatible mode. + if((uniform.has_sensor <= NO_SENSORS) || !uniform.sensor_mode) + stack_trace("Human without active suit sensors is in suit_sensors_list: [tracked_human] ([tracked_human.type]) ([uniform.type])") + continue - // Check if their uniform is in a compatible mode. - if((uniform.has_sensor <= NO_SENSORS) || !uniform.sensor_mode) - stack_trace("Human without active suit sensors is in suit_sensors_list: [tracked_human] ([tracked_human.type]) ([uniform.type])") - continue - - sensor_mode = uniform.sensor_mode + var/sensor_mode = uniform.sensor_mode // The entry for this human var/list/entry = list( diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm index 9fd3f0d8519..c052f69fe77 100644 --- a/code/game/machinery/scan_gate.dm +++ b/code/game/machinery/scan_gate.dm @@ -1,6 +1,5 @@ #define SCANGATE_NONE "Off" #define SCANGATE_MINDSHIELD "Mindshield" -#define SCANGATE_NANITES "Nanites" #define SCANGATE_DISEASE "Disease" #define SCANGATE_GUNS "Guns" #define SCANGATE_WANTED "Wanted" @@ -36,8 +35,6 @@ var/scangate_mode = SCANGATE_NONE ///Is searching for a disease, what severity is enough to trigger the gate? var/disease_threshold = DISEASE_SEVERITY_MINOR - ///If scanning for a nanite strain, what cloud is it looking for? - var/nanite_cloud = 1 ///If scanning for a specific species, what species is it looking for? var/detect_species = SCANGATE_HUMAN ///Flips all scan results for inverse scanning. Signals if scan returns false. @@ -134,14 +131,6 @@ if(SCANGATE_MINDSHIELD) if(HAS_TRAIT(M, TRAIT_MINDSHIELD)) beep = TRUE - if(SCANGATE_NANITES) - if(SEND_SIGNAL(M, COMSIG_HAS_NANITES)) - if(nanite_cloud) - var/datum/component/nanites/nanites = M.GetComponent(/datum/component/nanites) - if(nanites && nanites.cloud_id == nanite_cloud) - beep = TRUE - else - beep = TRUE if(SCANGATE_DISEASE) if(iscarbon(M)) var/mob/living/carbon/C = M @@ -227,7 +216,6 @@ data["locked"] = locked data["scan_mode"] = scangate_mode data["reverse"] = reverse - data["nanite_cloud"] = nanite_cloud data["disease_threshold"] = disease_threshold data["target_species"] = detect_species data["target_nutrition"] = detect_nutrition @@ -254,10 +242,6 @@ var/new_threshold = params["new_threshold"] disease_threshold = new_threshold . = TRUE - if("set_nanite_cloud") - var/new_cloud = text2num(params["new_cloud"]) - nanite_cloud = clamp(round(new_cloud, 1), 1, 100) - . = TRUE //Some species are not scannable, like abductors (too unknown), androids (too artificial) or skeletons (too magic) if("set_target_species") var/new_species = params["new_species"] @@ -279,7 +263,6 @@ #undef SCANGATE_NONE #undef SCANGATE_MINDSHIELD -#undef SCANGATE_NANITES #undef SCANGATE_DISEASE #undef SCANGATE_GUNS #undef SCANGATE_WANTED diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 9e52d8279dc..9bf1f1ed282 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -489,11 +489,6 @@ /obj/item/circuitboard/computer/teleporter, /obj/item/circuitboard/machine/destructive_analyzer, /obj/item/circuitboard/computer/rdconsole, - /obj/item/circuitboard/computer/nanite_chamber_control, - /obj/item/circuitboard/computer/nanite_cloud_controller, - /obj/item/circuitboard/machine/nanite_chamber, - /obj/item/circuitboard/machine/nanite_programmer, - /obj/item/circuitboard/machine/nanite_program_hub, /obj/item/circuitboard/computer/scan_consolenew, /obj/item/circuitboard/machine/dnascanner ) diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 6c01db3872d..b37d5c7d87c 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -364,16 +364,6 @@ greyscale_colors = CIRCUIT_COLOR_SCIENCE build_path = /obj/machinery/computer/mecha -/obj/item/circuitboard/computer/nanite_chamber_control - name = "Nanite Chamber Control (Computer Board)" - greyscale_colors = CIRCUIT_COLOR_SCIENCE - build_path = /obj/machinery/computer/nanite_chamber_control - -/obj/item/circuitboard/computer/nanite_cloud_controller - name = "Nanite Cloud Control (Computer Board)" - greyscale_colors = CIRCUIT_COLOR_SCIENCE - build_path = /obj/machinery/computer/nanite_cloud_controller - /obj/item/circuitboard/computer/rdconsole name = "R&D Console (Computer Board)" greyscale_colors = CIRCUIT_COLOR_SCIENCE diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 9a8c25187b3..a43f6bd92fe 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -885,32 +885,6 @@ /obj/item/stock_parts/manipulator = 1) needs_anchored = FALSE -/obj/item/circuitboard/machine/nanite_chamber - name = "Nanite Chamber (Machine Board)" - greyscale_colors = CIRCUIT_COLOR_SCIENCE - build_path = /obj/machinery/nanite_chamber - req_components = list( - /obj/item/stock_parts/scanning_module = 2, - /obj/item/stock_parts/micro_laser = 2, - /obj/item/stock_parts/manipulator = 1) - -/obj/item/circuitboard/machine/nanite_program_hub - name = "Nanite Program Hub (Machine Board)" - greyscale_colors = CIRCUIT_COLOR_SCIENCE - build_path = /obj/machinery/nanite_program_hub - req_components = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/stock_parts/manipulator = 1) - -/obj/item/circuitboard/machine/nanite_programmer - name = "Nanite Programmer (Machine Board)" - greyscale_colors = CIRCUIT_COLOR_SCIENCE - build_path = /obj/machinery/nanite_programmer - req_components = list( - /obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/micro_laser = 2, - /obj/item/stock_parts/scanning_module = 1) - /obj/item/circuitboard/machine/processor/slime name = "Slime Processor (Machine Board)" greyscale_colors = CIRCUIT_COLOR_SCIENCE @@ -921,27 +895,6 @@ greyscale_colors = CIRCUIT_COLOR_SCIENCE build_path = /obj/machinery/rnd/production/protolathe/department/science -/obj/item/circuitboard/machine/public_nanite_chamber - name = "Public Nanite Chamber (Machine Board)" - greyscale_colors = CIRCUIT_COLOR_SCIENCE - build_path = /obj/machinery/public_nanite_chamber - var/cloud_id = 1 - req_components = list( - /obj/item/stock_parts/micro_laser = 2, - /obj/item/stock_parts/manipulator = 1) - -/obj/item/circuitboard/machine/public_nanite_chamber/multitool_act(mob/living/user) - . = ..() - var/new_cloud = input("Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id) as num|null - if(!new_cloud || (loc != user)) - to_chat(user, span_warning("You must hold the circuitboard to change its Cloud ID!")) - return - cloud_id = clamp(round(new_cloud, 1), 1, 100) - -/obj/item/circuitboard/machine/public_nanite_chamber/examine(mob/user) - . = ..() - . += "Cloud ID is currently set to [cloud_id]." - /obj/item/circuitboard/machine/quantumpad name = "Quantum Pad (Machine Board)" greyscale_colors = CIRCUIT_COLOR_SCIENCE diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 5b76faea2f2..183022b1712 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -6,7 +6,6 @@ T-RAY HEALTH ANALYZER GAS ANALYZER SLIME SCANNER -NANITE SCANNER GENE SCANNER */ @@ -412,7 +411,6 @@ GENE SCANNER render_list += "Detected cybernetic modifications:\n" render_list += "[cyberimp_detect]\n" - SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, FALSE) to_chat(user, jointext(render_list, ""), trailing_newline = FALSE) // we handled the last
so we don't need handholding /proc/chemscan(mob/living/user, mob/living/M) @@ -778,35 +776,6 @@ GENE SCANNER \n[span_notice("Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]")]" to_chat(user, to_render + "\n========================") - -/obj/item/nanite_scanner - name = "nanite scanner" - icon = 'icons/obj/device.dmi' - icon_state = "nanite_scanner" - inhand_icon_state = "electronic" - worn_icon_state = "electronic" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - desc = "A hand-held body scanner able to detect nanites and their programming." - flags_1 = CONDUCT_1 - item_flags = NOBLUDGEON - slot_flags = ITEM_SLOT_BELT - throwforce = 3 - w_class = WEIGHT_CLASS_TINY - throw_speed = 3 - throw_range = 7 - custom_materials = list(/datum/material/iron=200) - -/obj/item/nanite_scanner/attack(mob/living/M, mob/living/carbon/human/user) - user.visible_message(span_notice("[user] analyzes [M]'s nanites."), \ - span_notice("You analyze [M]'s nanites.")) - - add_fingerprint(user) - - var/response = SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, TRUE) - if(!response) - to_chat(user, span_info("No nanites detected in the subject.")) - /obj/item/sequence_scanner name = "genetic sequence scanner" icon = 'icons/obj/device.dmi' diff --git a/code/game/objects/items/implants/implant_deathrattle.dm b/code/game/objects/items/implants/implant_deathrattle.dm index dd41812cb5c..a7afe701c2a 100644 --- a/code/game/objects/items/implants/implant_deathrattle.dm +++ b/code/game/objects/items/implants/implant_deathrattle.dm @@ -68,7 +68,7 @@ if(implant.imp_in == owner || !implant.imp_in) continue - // Deliberately the same message framing as nanite message + ghost deathrattle + // Deliberately the same message framing as ghost deathrattle var/mob/living/recipient = implant.imp_in to_chat(recipient, "You hear a strange, robotic voice in your head... \"[span_robot("[name] has died at [area].")]\"") recipient.playsound_local(get_turf(recipient), sound, vol = 75, vary = FALSE, pressure_affected = FALSE, use_reverb = FALSE) diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 072dc87cbd1..53b65285c80 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -100,8 +100,6 @@ var/turf/here = get_turf(src) var/turf/there = get_turf(H) if(here && there && (there.z == here.z || (is_station_level(here.z) && is_station_level(there.z)))) // Device and target should be on the same level or different levels of the same station - if (H in GLOB.nanite_sensors_list) - return TRUE if (istype(H.w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/U = H.w_uniform if(U.has_sensor && (U.sensor_mode >= SENSOR_COORDS || ignore_suit_sensor_level)) // Suit sensors must be on maximum or a contractor pinpointer diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 1faabc352f4..3dd39d019a7 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -105,14 +105,6 @@ for(var/i in 1 to 7) new /obj/item/disk/data(src) -/obj/item/storage/box/disks_nanite - name = "nanite program disks box" - illustration = "disk_kit" - -/obj/item/storage/box/disks_nanite/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/disk/nanite_program(src) - // Ordinary survival box /obj/item/storage/box/survival name = "survival box" diff --git a/code/game/objects/structures/signs/signs_departments.dm b/code/game/objects/structures/signs/signs_departments.dm index 0483fd5f579..222c2dc2733 100644 --- a/code/game/objects/structures/signs/signs_departments.dm +++ b/code/game/objects/structures/signs/signs_departments.dm @@ -77,13 +77,6 @@ icon_state = "xenobio" is_editable = TRUE -/obj/structure/sign/departments/nanites - name = "\improper Nanite Lab sign" - sign_change_name = "Department - Science: Nanites" - desc = "A sign labelling an area where testing and development of nanites is performed." - icon_state = "nanites" - is_editable = TRUE - ///////SERVICE /obj/structure/sign/departments/botany diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index 10fc2bda648..6b9bc4ff1e1 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -214,3 +214,7 @@ /turf/open/floor/plating/asteroid/snow/atmosphere initial_gas_mix = FROZEN_ATMOS planetary_atmos = FALSE + +/turf/open/floor/plating/asteroid/snow/standard_air + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index f51dd30bbf3..01d33e4f330 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -586,10 +586,6 @@ GLOBAL_LIST_EMPTY(station_turfs) V.icon_state = "vomitpurp_[pick(1,4)]" else if (toxvomit == VOMIT_TOXIC) V.icon_state = "vomittox_[pick(1,4)]" - else if (toxvomit == VOMIT_NANITE) - V.name = "metallic slurry" - V.desc = "A puddle of metallic slurry that looks vaguely like very fine sand. It almost seems like it's moving..." - V.icon_state = "vomitnanite_[pick(1,4)]" if (purge_ratio && iscarbon(M)) clear_reagents_to_vomit_pool(M, V, purge_ratio) diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index ee1a3e97325..9bd7304a622 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -10,7 +10,7 @@ if(!holder) return - var/list/investigates = list(INVESTIGATE_RESEARCH, INVESTIGATE_EXONET, INVESTIGATE_PORTAL, INVESTIGATE_SINGULO, INVESTIGATE_WIRES, INVESTIGATE_TELESCI, INVESTIGATE_GRAVITY, INVESTIGATE_RECORDS, INVESTIGATE_CARGO, INVESTIGATE_SUPERMATTER, INVESTIGATE_ATMOS, INVESTIGATE_EXPERIMENTOR, INVESTIGATE_BOTANY, INVESTIGATE_HALLUCINATIONS, INVESTIGATE_RADIATION, INVESTIGATE_NANITES, INVESTIGATE_PRESENTS, INVESTIGATE_HYPERTORUS, INVESTIGATE_ACCESSCHANGES) + var/list/investigates = list(INVESTIGATE_RESEARCH, INVESTIGATE_EXONET, INVESTIGATE_PORTAL, INVESTIGATE_SINGULO, INVESTIGATE_WIRES, INVESTIGATE_TELESCI, INVESTIGATE_GRAVITY, INVESTIGATE_RECORDS, INVESTIGATE_CARGO, INVESTIGATE_SUPERMATTER, INVESTIGATE_ATMOS, INVESTIGATE_EXPERIMENTOR, INVESTIGATE_BOTANY, INVESTIGATE_HALLUCINATIONS, INVESTIGATE_RADIATION, INVESTIGATE_PRESENTS, INVESTIGATE_HYPERTORUS, INVESTIGATE_ACCESSCHANGES) var/list/logs_present = list("notes, memos, watchlist") var/list/logs_missing = list("---") diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm index 527969b9b34..21459ce28ce 100644 --- a/code/modules/antagonists/disease/disease_abilities.dm +++ b/code/modules/antagonists/disease/disease_abilities.dm @@ -23,8 +23,6 @@ new /datum/disease_ability/symptom/powerful/narcolepsy, new /datum/disease_ability/symptom/medium/fever, new /datum/disease_ability/symptom/medium/chills, new /datum/disease_ability/symptom/medium/headache, -new /datum/disease_ability/symptom/medium/nano_boost, -new /datum/disease_ability/symptom/medium/nano_destroy, new /datum/disease_ability/symptom/medium/viraladaptation, new /datum/disease_ability/symptom/medium/viralevolution, new /datum/disease_ability/symptom/medium/disfiguration, @@ -362,12 +360,6 @@ new /datum/disease_ability/symptom/powerful/youth /datum/disease_ability/symptom/medium/headache symptoms = list(/datum/symptom/headache) -/datum/disease_ability/symptom/medium/nano_boost - symptoms = list(/datum/symptom/nano_boost) - -/datum/disease_ability/symptom/medium/nano_destroy - symptoms = list(/datum/symptom/nano_destroy) - /datum/disease_ability/symptom/medium/viraladaptation symptoms = list(/datum/symptom/viraladaptation) short_desc = "Cause your infection to become more resistant to detection and eradication." diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index aed8644a728..52df098bfd1 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -282,7 +282,7 @@ if(new_stat == DEAD) return - // Someone we've eaten has spontaneously revived; maybe nanites, maybe a changeling + // Someone we've eaten has spontaneously revived; maybe regen coma, maybe a changeling victim.forceMove(get_turf(src)) victim.exit_blood_effect() victim.visible_message(span_warning("[victim] falls out of the air, covered in blood, with a confused look on their face.")) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 5fe2c1c8b04..ae9f0da5472 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -128,10 +128,6 @@ Des: Removes all infected images from the alien. new_xeno.real_name = real_name if(mind) mind.transfer_to(new_xeno) - var/datum/component/nanites/nanites = GetComponent(/datum/component/nanites) - if(nanites) - new_xeno.AddComponent(/datum/component/nanites, nanites.nanite_volume) - SEND_SIGNAL(new_xeno, COMSIG_NANITE_SYNC, nanites) qdel(src) /mob/living/carbon/alien/can_hold_items(obj/item/I) diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 3bddf261130..e4e68a0e566 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -2,7 +2,7 @@ blood_volume = BLOOD_VOLUME_NORMAL gender = MALE pressure_resistance = 15 - hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD) has_limbs = 1 held_items = list(null, null) num_legs = 0 //Populated on init through list/bodyparts diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index f32122e7336..f96ad786f29 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -5,7 +5,7 @@ icon = 'icons/mob/human.dmi' icon_state = "human_basic" appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE - hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD, NANITE_HUD, DIAG_NANITE_FULL_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,FAN_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,FAN_HUD) hud_type = /datum/hud/human pressure_resistance = 25 can_buckle = TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index b02137ca51d..2455a6c3dc4 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -240,14 +240,6 @@ spare.domutcheck() spare.Move(get_step(H.loc, pick(NORTH,SOUTH,EAST,WEST))) - - var/datum/component/nanites/owner_nanites = H.GetComponent(/datum/component/nanites) - if(owner_nanites) - //copying over nanite programs/cloud sync with 50% saturation in host and spare - owner_nanites.nanite_volume *= 0.5 - spare.AddComponent(/datum/component/nanites, owner_nanites.nanite_volume) - SEND_SIGNAL(spare, COMSIG_NANITE_SYNC, owner_nanites, TRUE, TRUE) //The trues are to copy activation as well - H.blood_volume *= 0.45 H.notransform = 0 diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index baee489db08..68a60f2e013 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -2,7 +2,7 @@ see_invisible = SEE_INVISIBLE_LIVING sight = 0 see_in_dark = 2 - hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD) pressure_resistance = 10 hud_type = /datum/hud/living diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index dfc87f87121..46f017044eb 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -175,7 +175,6 @@ var/list/babies = list() var/new_nutrition = round(nutrition * 0.9) var/new_powerlevel = round(powerlevel / 4) - var/datum/component/nanites/original_nanites = GetComponent(/datum/component/nanites) var/turf/drop_loc = drop_location() for(var/i=1,i<=4,i++) @@ -198,10 +197,6 @@ M.mutation_chance = clamp(mutation_chance+(rand(5,-5)),0,100) SSblackbox.record_feedback("tally", "slime_babies_born", 1, M.colour) - if(original_nanites) - M.AddComponent(/datum/component/nanites, original_nanites.nanite_volume*0.25) - SEND_SIGNAL(M, COMSIG_NANITE_SYNC, original_nanites, TRUE, TRUE) //The trues are to copy activation as well - var/mob/living/simple_animal/slime/new_slime = pick(babies) new_slime.set_combat_mode(TRUE) if(src.mind) diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm index f7abfc7a63f..4b14a611527 100644 --- a/code/modules/modular_computers/file_system/programs/radar.dm +++ b/code/modules/modular_computers/file_system/programs/radar.dm @@ -243,8 +243,6 @@ if(!humanoid || !istype(humanoid)) return FALSE if(..()) - if (humanoid in GLOB.nanite_sensors_list) - return TRUE if (istype(humanoid.w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/uniform = humanoid.w_uniform if(uniform.has_sensor && uniform.sensor_mode >= SENSOR_COORDS) // Suit sensors must be on maximum diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index ac6172b62c2..effbeb88c47 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -27,7 +27,7 @@ other types of metals and chemistry for reagents). var/desc = "Desc" /// The ID of the design. Used for quick reference. Alphanumeric, lower-case, no symbols var/id = DESIGN_ID_IGNORE - /// Bitflags indicating what machines this design is compatable with. ([IMPRINTER]|[AWAY_IMPRINTER]|[PROTOLATHE]|[AWAY_LATHE]|[AUTOLATHE]|[MECHFAB]|[BIOGENERATOR]|[LIMBGROWER]|[SMELTER]|[NANITE_COMPILER]) + /// Bitflags indicating what machines this design is compatable with. ([IMPRINTER]|[AWAY_IMPRINTER]|[PROTOLATHE]|[AWAY_LATHE]|[AUTOLATHE]|[MECHFAB]|[BIOGENERATOR]|[LIMBGROWER]|[SMELTER]) var/build_type = null /// List of materials required to create one unit of the product. Format is (typepath or caregory) -> amount var/list/materials = list() diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 94d8224da8e..3d1d0b998fa 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -275,22 +275,6 @@ category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING -/datum/design/board/nanite_chamber_control - name = "Computer Design (Nanite Chamber Control)" - desc = "Allows for the construction of circuit boards used to build a new nanite chamber control console." - id = "nanite_chamber_control" - build_path = /obj/item/circuitboard/computer/nanite_chamber_control - category = list("Computer Boards") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/nanite_cloud_control - name = "Computer Design (Nanite Cloud Control)" - desc = "Allows for the construction of circuit boards used to build a new nanite cloud control console." - id = "nanite_cloud_control" - build_path = /obj/item/circuitboard/computer/nanite_cloud_controller - category = list("Computer Boards") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/advanced_camera name = "Computer Design (Advanced Camera Console)" desc = "Allows for the construction of circuit boards used to build advanced camera consoles." diff --git a/code/modules/research/designs/electronics_designs.dm b/code/modules/research/designs/electronics_designs.dm index 7706a3053d6..7cb94cfda0e 100644 --- a/code/modules/research/designs/electronics_designs.dm +++ b/code/modules/research/designs/electronics_designs.dm @@ -33,40 +33,6 @@ category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/////////////////////////////////// -//////////Nanite Devices/////////// -/////////////////////////////////// -/datum/design/nanite_remote - name = "Nanite Remote" - desc = "Allows for the construction of a nanite remote." - id = "nanite_remote" - build_type = PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/glass = 500, /datum/material/iron = 500) - build_path = /obj/item/nanite_remote - category = list("Electronics") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/nanite_comm_remote - name = "Nanite Communication Remote" - desc = "Allows for the construction of a nanite communication remote." - id = "nanite_comm_remote" - build_type = PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/glass = 500, /datum/material/iron = 500) - build_path = /obj/item/nanite_remote/comm - category = list("Electronics") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/nanite_scanner - name = "Nanite Scanner" - desc = "Allows for the construction of a nanite scanner." - id = "nanite_scanner" - build_type = PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/glass = 500, /datum/material/iron = 500) - build_path = /obj/item/nanite_scanner - category = list("Electronics") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - - //////////////////////////////////////// //////////Disk Construction Disks/////// //////////////////////////////////////// @@ -99,13 +65,3 @@ build_path = /obj/item/disk/tech_disk category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/nanite_disk - name = "Nanite Program Disk" - desc = "Stores nanite programs." - id = "nanite_disk" - build_type = PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = 300, /datum/material/glass = 100) - build_path = /obj/item/disk/nanite_program - category = list("Electronics") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index a1a81a566ea..742809a2a43 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -298,38 +298,6 @@ category = list("Research Machinery") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/datum/design/board/nanite_chamber - name = "Machine Design (Nanite Chamber Board)" - desc = "The circuit board for a Nanite Chamber." - id = "nanite_chamber" - build_path = /obj/item/circuitboard/machine/nanite_chamber - category = list("Research Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/public_nanite_chamber - name = "Machine Design (Public Nanite Chamber Board)" - desc = "The circuit board for a Public Nanite Chamber." - id = "public_nanite_chamber" - build_path = /obj/item/circuitboard/machine/public_nanite_chamber - category = list("Research Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/nanite_programmer - name = "Machine Design (Nanite Programmer Board)" - desc = "The circuit board for a Nanite Programmer." - id = "nanite_programmer" - build_path = /obj/item/circuitboard/machine/nanite_programmer - category = list("Research Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/nanite_program_hub - name = "Machine Design (Nanite Program Hub Board)" - desc = "The circuit board for a Nanite Program Hub." - id = "nanite_program_hub" - build_path = /obj/item/circuitboard/machine/nanite_program_hub - category = list("Research Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/dnascanner name = "Machine Design (DNA Scanner)" desc = "The circuit board for a DNA Scanner." diff --git a/code/modules/research/designs/nanite_designs.dm b/code/modules/research/designs/nanite_designs.dm deleted file mode 100644 index d1e61c86b09..00000000000 --- a/code/modules/research/designs/nanite_designs.dm +++ /dev/null @@ -1,573 +0,0 @@ -/datum/design/nanites - name = "None" - desc = "Warn a coder if you see this." - id = "default_nanites" - build_type = NANITE_COMPILER - construction_time = 50 - category = list() - research_icon = 'icons/obj/device.dmi' - research_icon_state = "nanite_program" - var/program_type = /datum/nanite_program - -////////////////////UTILITY NANITES////////////////////////////////////// - -/datum/design/nanites/metabolic_synthesis - name = "Metabolic Synthesis" - desc = "The nanites use the metabolic cycle of the host to speed up their replication rate, using their extra nutrition as fuel." - id = "metabolic_nanites" - program_type = /datum/nanite_program/metabolic_synthesis - category = list("Utility Nanites") - -/datum/design/nanites/viral - name = "Viral Replica" - desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters." - id = "viral_nanites" - program_type = /datum/nanite_program/viral - category = list("Utility Nanites") - -/datum/design/nanites/monitoring - name = "Monitoring" - desc = "The nanites monitor the host's vitals and location, sending them to the suit sensor network." - id = "monitoring_nanites" - program_type = /datum/nanite_program/monitoring - category = list("Utility Nanites") - -/datum/design/nanites/self_scan - name = "Host Scan" - desc = "The nanites display a detailed readout of a body scan to the host." - id = "selfscan_nanites" - program_type = /datum/nanite_program/self_scan - category = list("Utility Nanites") - -/datum/design/nanites/dermal_button - name = "Dermal Button" - desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites." - id = "dermal_button_nanites" - program_type = /datum/nanite_program/dermal_button - category = list("Utility Nanites") - -/datum/design/nanites/stealth - name = "Stealth" - desc = "The nanites hide their activity and programming from superficial scans." - id = "stealth_nanites" - program_type = /datum/nanite_program/stealth - category = list("Utility Nanites") - -/datum/design/nanites/nanite_debugging - name = "Nanite Debugging" - desc = "Enables various high-cost diagnostics in the nanites, making them able to communicate their program list to portable scanners. \ - Doing so uses some power, slightly decreasing their replication speed." - id = "debugging_nanites" - program_type = /datum/nanite_program/nanite_debugging - category = list("Utility Nanites") - -/datum/design/nanites/access - name = "Subdermal ID" - desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." - id = "access_nanites" - program_type = /datum/nanite_program/access - category = list("Utility Nanites") - -/datum/design/nanites/relay - name = "Relay" - desc = "The nanites receive and relay long-range nanite signals." - id = "relay_nanites" - program_type = /datum/nanite_program/relay - category = list("Utility Nanites") - -/datum/design/nanites/repeater - name = "Signal Repeater" - desc = "When triggered, sends another signal to the nanites, optionally with a delay." - id = "repeater_nanites" - program_type = /datum/nanite_program/sensor/repeat - category = list("Utility Nanites") - -/datum/design/nanites/relay_repeater - name = "Relay Signal Repeater" - desc = "When triggered, sends another signal to a relay channel, optionally with a delay." - id = "relay_repeater_nanites" - program_type = /datum/nanite_program/sensor/relay_repeat - category = list("Utility Nanites") - -/datum/design/nanites/emp - name = "Electromagnetic Resonance" - desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" - id = "emp_nanites" - program_type = /datum/nanite_program/emp - category = list("Utility Nanites") - -/datum/design/nanites/spreading - name = "Infective Exo-Locomotion" - desc = "The nanites gain the ability to survive for brief periods outside of the human body, as well as the ability to start new colonies without an integration process; \ - resulting in an extremely infective strain of nanites." - id = "spreading_nanites" - program_type = /datum/nanite_program/spreading - category = list("Utility Nanites") - -/datum/design/nanites/nanite_sting - name = "Nanite Sting" - desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster." - id = "nanite_sting_nanites" - program_type = /datum/nanite_program/nanite_sting - category = list("Utility Nanites") - -/datum/design/nanites/mitosis - name = "Mitosis" - desc = "The nanites gain the ability to self-replicate, using bluespace to power the process, instead of drawing from a template. This rapidly speeds up the replication rate,\ - but it causes occasional software errors due to faulty copies." - id = "mitosis_nanites" - program_type = /datum/nanite_program/mitosis - category = list("Utility Nanites") - -////////////////////MEDICAL NANITES////////////////////////////////////// -/datum/design/nanites/regenerative - name = "Accelerated Regeneration" - desc = "The nanites boost the host's natural regeneration, increasing their healing speed." - id = "regenerative_nanites" - program_type = /datum/nanite_program/regenerative - category = list("Medical Nanites") - -/datum/design/nanites/regenerative_advanced - name = "Bio-Reconstruction" - desc = "The nanites manually repair and replace organic cells, acting much faster than normal regeneration. \ - However, this program cannot detect the difference between harmed and unharmed, causing it to consume nanites even if it has no effect." - id = "regenerative_plus_nanites" - program_type = /datum/nanite_program/regenerative_advanced - category = list("Medical Nanites") - -/datum/design/nanites/temperature - name = "Temperature Adjustment" - desc = "The nanites adjust the host's internal temperature to an ideal level." - id = "temperature_nanites" - program_type = /datum/nanite_program/temperature - category = list("Medical Nanites") - -/datum/design/nanites/purging - name = "Blood Purification" - desc = "The nanites purge toxins and chemicals from the host's bloodstream." - id = "purging_nanites" - program_type = /datum/nanite_program/purging - category = list("Medical Nanites") - -/datum/design/nanites/purging_advanced - name = "Selective Blood Purification" - desc = "The nanites purge toxins and dangerous chemicals from the host's bloodstream, while ignoring beneficial chemicals. \ - The added processing power required to analyze the chemicals severely increases the nanite consumption rate." - id = "purging_plus_nanites" - program_type = /datum/nanite_program/purging_advanced - category = list("Medical Nanites") - -/datum/design/nanites/brain_heal - name = "Neural Regeneration" - desc = "The nanites fix neural connections in the host's brain, reversing brain damage and minor traumas." - id = "brainheal_nanites" - program_type = /datum/nanite_program/brain_heal - category = list("Medical Nanites") - -/datum/design/nanites/brain_heal_advanced - name = "Neural Reimaging" - desc = "The nanites are able to backup and restore the host's neural connections, potentially replacing entire chunks of missing or damaged brain matter." - id = "brainheal_plus_nanites" - program_type = /datum/nanite_program/brain_heal_advanced - category = list("Medical Nanites") - -/datum/design/nanites/blood_restoring - name = "Blood Regeneration" - desc = "The nanites stimulate and boost blood cell production in the host." - id = "bloodheal_nanites" - program_type = /datum/nanite_program/blood_restoring - category = list("Medical Nanites") - -/datum/design/nanites/repairing - name = "Mechanical Repair" - desc = "The nanites fix damage in the host's mechanical limbs." - id = "repairing_nanites" - program_type = /datum/nanite_program/repairing - category = list("Medical Nanites") - -/datum/design/nanites/defib - name = "Defibrillation" - desc = "The nanites, when triggered, send a defibrillating shock to the host's heart." - id = "defib_nanites" - program_type = /datum/nanite_program/defib - category = list("Medical Nanites") - - -////////////////////AUGMENTATION NANITES////////////////////////////////////// - -/datum/design/nanites/nervous - name = "Nerve Support" - desc = "The nanites act as a secondary nervous system, reducing the amount of time the host is stunned." - id = "nervous_nanites" - program_type = /datum/nanite_program/nervous - category = list("Augmentation Nanites") - -/datum/design/nanites/hardening - name = "Dermal Hardening" - desc = "The nanites form a mesh under the host's skin, protecting them from melee and bullet impacts." - id = "hardening_nanites" - program_type = /datum/nanite_program/hardening - category = list("Augmentation Nanites") - -/datum/design/nanites/refractive - name = "Dermal Refractive Surface" - desc = "The nanites form a membrane above the host's skin, reducing the effect of laser and energy impacts." - id = "refractive_nanites" - program_type = /datum/nanite_program/refractive - category = list("Augmentation Nanites") - -/datum/design/nanites/coagulating - name = "Vein Repressurization" - desc = "The nanites re-route circulating blood away from open wounds, dramatically reducing bleeding rate." - id = "coagulating_nanites" - program_type = /datum/nanite_program/coagulating - category = list("Augmentation Nanites") - -/datum/design/nanites/conductive - name = "Electric Conduction" - desc = "The nanites act as a grounding rod for electric shocks, protecting the host. Shocks can still damage the nanites themselves." - id = "conductive_nanites" - program_type = /datum/nanite_program/conductive - category = list("Augmentation Nanites") - -/datum/design/nanites/mindshield - name = "Mental Barrier" - desc = "The nanites form a protective membrane around the host's brain, shielding them from abnormal influences while they're active." - id = "mindshield_nanites" - program_type = /datum/nanite_program/mindshield - category = list("Augmentation Nanites") - -////////////////////DEFECTIVE NANITES////////////////////////////////////// - -/datum/design/nanites/glitch - name = "Glitch" - desc = "A heavy software corruption that causes nanites to gradually break down." - id = "glitch_nanites" - program_type = /datum/nanite_program/glitch - category = list("Defective Nanites") - -/datum/design/nanites/necrotic - name = "Necrosis" - desc = "The nanites attack internal tissues indiscriminately, causing widespread damage." - id = "necrotic_nanites" - program_type = /datum/nanite_program/necrotic - category = list("Defective Nanites") - -/datum/design/nanites/toxic - name = "Toxin Buildup" - desc = "The nanites cause a slow but constant toxin buildup inside the host." - id = "toxic_nanites" - program_type = /datum/nanite_program/toxic - category = list("Defective Nanites") - -/datum/design/nanites/suffocating - name = "Hypoxemia" - desc = "The nanites prevent the host's blood from absorbing oxygen efficiently." - id = "suffocating_nanites" - program_type = /datum/nanite_program/suffocating - category = list("Defective Nanites") - -/datum/design/nanites/brain_misfire - name = "Brain Misfire" - desc = "The nanites interfere with neural pathways, causing minor psychological disturbances." - id = "brainmisfire_nanites" - program_type = /datum/nanite_program/brain_misfire - category = list("Defective Nanites") - -/datum/design/nanites/skin_decay - name = "Dermalysis" - desc = "The nanites attack skin cells, causing irritation, rashes, and minor damage." - id = "skindecay_nanites" - program_type = /datum/nanite_program/skin_decay - category = list("Defective Nanites") - -/datum/design/nanites/nerve_decay - name = "Nerve Decay" - desc = "The nanites attack the host's nerves, causing lack of coordination and short bursts of paralysis." - id = "nervedecay_nanites" - program_type = /datum/nanite_program/nerve_decay - category = list("Defective Nanites") - -/datum/design/nanites/brain_decay - name = "Brain-Eating Nanites" - desc = "Damages brain cells, gradually decreasing the host's cognitive functions." - id = "braindecay_nanites" - program_type = /datum/nanite_program/brain_decay - category = list("Defective Nanites") - -////////////////////WEAPONIZED NANITES///////////////////////////////////// - -/datum/design/nanites/flesh_eating - name = "Cellular Breakdown" - desc = "The nanites destroy cellular structures in the host's body, causing brute damage." - id = "flesheating_nanites" - program_type = /datum/nanite_program/flesh_eating - category = list("Weaponized Nanites") - -/datum/design/nanites/poison - name = "Poisoning" - desc = "The nanites deliver poisonous chemicals to the host's internal organs, causing toxin damage and vomiting." - id = "poison_nanites" - program_type = /datum/nanite_program/poison - category = list("Weaponized Nanites") - -/datum/design/nanites/memory_leak - name = "Memory Leak" - desc = "This program invades the memory space used by other programs, causing frequent corruptions and errors." - id = "memleak_nanites" - program_type = /datum/nanite_program/memory_leak - category = list("Weaponized Nanites") - -/datum/design/nanites/aggressive_replication - name = "Aggressive Replication" - desc = "Nanites will consume organic matter to improve their replication rate, damaging the host." - id = "aggressive_nanites" - program_type = /datum/nanite_program/aggressive_replication - category = list("Weaponized Nanites") - -/datum/design/nanites/meltdown - name = "Meltdown" - desc = "Causes an internal meltdown inside the nanites, causing internal burns inside the host as well as rapidly destroying the nanite population.\ - Sets the nanites' safety threshold to 0 when activated." - id = "meltdown_nanites" - program_type = /datum/nanite_program/meltdown - category = list("Weaponized Nanites") - -/datum/design/nanites/cryo - name = "Cryogenic Treatment" - desc = "The nanites rapidly skin heat through the host's skin, lowering their temperature." - id = "cryo_nanites" - program_type = /datum/nanite_program/cryo - category = list("Weaponized Nanites") - -/datum/design/nanites/pyro - name = "Sub-Dermal Combustion" - desc = "The nanites cause buildup of flammable fluids under the host's skin, then ignites them." - id = "pyro_nanites" - program_type = /datum/nanite_program/pyro - category = list("Weaponized Nanites") - -/datum/design/nanites/heart_stop - name = "Heart-Stopper" - desc = "Stops the host's heart when triggered; restarts it if triggered again." - id = "heartstop_nanites" - program_type = /datum/nanite_program/heart_stop - category = list("Weaponized Nanites") - -/datum/design/nanites/explosive - name = "Chain Detonation" - desc = "Blows up all the nanites inside the host in a chain reaction when triggered." - id = "explosive_nanites" - program_type = /datum/nanite_program/explosive - category = list("Weaponized Nanites") - -/datum/design/nanites/mind_control - name = "Mind Control" - desc = "The nanites imprint an absolute directive onto the host's brain while they're active." - id = "mindcontrol_nanites" - program_type = /datum/nanite_program/comm/mind_control - category = list("Weaponized Nanites") - -////////////////////SUPPRESSION NANITES////////////////////////////////////// - -/datum/design/nanites/shock - name = "Electric Shock" - desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!" - id = "shock_nanites" - program_type = /datum/nanite_program/shocking - category = list("Suppression Nanites") - -/datum/design/nanites/stun - name = "Neural Shock" - desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period." - id = "stun_nanites" - program_type = /datum/nanite_program/stun - category = list("Suppression Nanites") - -/datum/design/nanites/sleepy - name = "Sleep Induction" - desc = "The nanites cause rapid narcolepsy when triggered." - id = "sleep_nanites" - program_type = /datum/nanite_program/sleepy - category = list("Suppression Nanites") - -/datum/design/nanites/paralyzing - name = "Paralysis" - desc = "The nanites actively suppress nervous pulses, effectively paralyzing the host." - id = "paralyzing_nanites" - program_type = /datum/nanite_program/paralyzing - category = list("Suppression Nanites") - -/datum/design/nanites/fake_death - name = "Death Simulation" - desc = "The nanites induce a death-like coma into the host, able to fool most medical scans." - id = "fakedeath_nanites" - program_type = /datum/nanite_program/fake_death - category = list("Suppression Nanites") - -/datum/design/nanites/pacifying - name = "Pacification" - desc = "The nanites suppress the aggression center of the brain, preventing the host from causing direct harm to others." - id = "pacifying_nanites" - program_type = /datum/nanite_program/pacifying - category = list("Suppression Nanites") - -/datum/design/nanites/blinding - name = "Blindness" - desc = "The nanites suppress the host's ocular nerves, blinding them while they're active." - id = "blinding_nanites" - program_type = /datum/nanite_program/blinding - category = list("Suppression Nanites") - -/datum/design/nanites/mute - name = "Mute" - desc = "The nanites suppress the host's speech, making them mute while they're active." - id = "mute_nanites" - program_type = /datum/nanite_program/mute - category = list("Suppression Nanites") - -/datum/design/nanites/voice - name = "Skull Echo" - desc = "The nanites echo a synthesized message inside the host's skull." - id = "voice_nanites" - program_type = /datum/nanite_program/comm/voice - category = list("Suppression Nanites") - -/datum/design/nanites/speech - name = "Forced Speech" - desc = "The nanites force the host to say a pre-programmed sentence when triggered." - id = "speech_nanites" - program_type = /datum/nanite_program/comm/speech - category = list("Suppression Nanites") - -/datum/design/nanites/hallucination - name = "Hallucination" - desc = "The nanites make the host see and hear things that aren't real." - id = "hallucination_nanites" - program_type = /datum/nanite_program/comm/hallucination - category = list("Suppression Nanites") - -/datum/design/nanites/good_mood - name = "Happiness Enhancer" - desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." - id = "good_mood_nanites" - program_type = /datum/nanite_program/good_mood - category = list("Suppression Nanites") - -/datum/design/nanites/bad_mood - name = "Happiness Suppressor" - desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." - id = "bad_mood_nanites" - program_type = /datum/nanite_program/bad_mood - category = list("Suppression Nanites") - -////////////////////SENSOR NANITES////////////////////////////////////// - -/datum/design/nanites/sensor_health - name = "Health Sensor" - desc = "The nanites receive a signal when the host's health is above/below a certain percentage." - id = "sensor_health_nanites" - program_type = /datum/nanite_program/sensor/health - category = list("Sensor Nanites") - -/datum/design/nanites/sensor_damage - name = "Damage Sensor" - desc = "The nanites receive a signal when a host's specific damage type is above/below a target value." - id = "sensor_damage_nanites" - program_type = /datum/nanite_program/sensor/damage - category = list("Sensor Nanites") - -/datum/design/nanites/sensor_crit - name = "Critical Health Sensor" - desc = "The nanites receive a signal when the host first reaches critical health." - id = "sensor_crit_nanites" - program_type = /datum/nanite_program/sensor/crit - category = list("Sensor Nanites") - -/datum/design/nanites/sensor_death - name = "Death Sensor" - desc = "The nanites receive a signal when they detect the host is dead." - id = "sensor_death_nanites" - program_type = /datum/nanite_program/sensor/death - category = list("Sensor Nanites") - -/datum/design/nanites/sensor_voice - name = "Voice Sensor" - desc = "Sends a signal when the nanites hear a determined word or sentence." - id = "sensor_voice_nanites" - program_type = /datum/nanite_program/sensor/voice - category = list("Sensor Nanites") - -/datum/design/nanites/sensor_nanite_volume - name = "Nanite Volume Sensor" - desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage." - id = "sensor_nanite_volume" - program_type = /datum/nanite_program/sensor/nanite_volume - category = list("Sensor Nanites") - -/datum/design/nanites/sensor_species - name = "Species Sensor" - desc = "When triggered, the nanites scan the host to determine their species and output a signal depending on the conditions set in the settings." - id = "sensor_species_nanites" - program_type = /datum/nanite_program/sensor/species - category = list("Sensor Nanites") - -////////////////////NANITE PROTOCOLS////////////////////////////////////// -//Note about the category name: The UI cuts the last 8 characters from the category name to remove the " Nanites" in the other categories -//Because of this, Protocols was getting cut down to "P", so i had to add some padding -/datum/design/nanites/kickstart - name = "Kickstart Protocol" - desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation." - id = "kickstart_nanites" - program_type = /datum/nanite_program/protocol/kickstart - category = list("Protocols_Nanites") - -/datum/design/nanites/factory - name = "Factory Protocol" - desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time. The factory decays if the protocol is not active." - id = "factory_nanites" - program_type = /datum/nanite_program/protocol/factory - category = list("Protocols_Nanites") - -/datum/design/nanites/pyramid - name = "Pyramid Protocol" - desc = "Replication Protocol: the nanites implement an alternate cooperative replication protocol that is more efficient as long as the saturation level is above 80%." - id = "pyramid_nanites" - program_type = /datum/nanite_program/protocol/pyramid - category = list("Protocols_Nanites") - -/datum/design/nanites/offline - name = "Eclipse Protocol" - desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly." - id = "offline_nanites" - program_type = /datum/nanite_program/protocol/offline - category = list("Protocols_Nanites") - -/datum/design/nanites/hive - name = "Hive Protocol" - desc = "Storage Protocol: the nanites use a more efficient grid arrangment for volume storage, increasing maximum volume in a host." - id = "hive_nanites" - program_type = /datum/nanite_program/protocol/hive - category = list("Protocols_Nanites") - -/datum/design/nanites/zip - name = "Zip Protocol" - desc = "Storage Protocol: the nanites are disassembled and compacted when unused, greatly increasing the maximum volume while in a host. However, the process slows down the replication rate slightly." - id = "zip_nanites" - program_type = /datum/nanite_program/protocol/zip - category = list("Protocols_Nanites") - -/datum/design/nanites/free_range - name = "Free-range Protocol" - desc = "Storage Protocol: the nanites discard their default storage protocols in favour of a cheaper and more organic approach. Reduces maximum volume, but increases the replication rate." - id = "free_range_nanites" - program_type = /datum/nanite_program/protocol/free_range - category = list("Protocols_Nanites") - -/datum/design/nanites/unsafe_storage - name = "S.L.O. Protocol" - desc = "Storage Protocol: 'S.L.O.P.', or Storage Level Override Protocol, completely disables the safety measures normally present in nanites,\ - allowing them to reach much higher saturation levels, but at the risk of causing internal damage to the host." - id = "unsafe_storage_nanites" - program_type = /datum/nanite_program/protocol/unsafe_storage - category = list("Protocols_Nanites") diff --git a/code/modules/research/nanites/extra_settings/_extra_setting.dm b/code/modules/research/nanites/extra_settings/_extra_setting.dm deleted file mode 100644 index b3bef77eb40..00000000000 --- a/code/modules/research/nanites/extra_settings/_extra_setting.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/nanite_extra_setting - var/setting_type - var/value - -/datum/nanite_extra_setting/proc/get_value() - return value - -/datum/nanite_extra_setting/proc/set_value(value) - src.value = value - -/datum/nanite_extra_setting/proc/get_copy() - return - -//I made the choice to send the name as part of the parameter instead of storing it directly on -//this datum as a way of avoiding duplication of data between the containing assoc list -//and this datum. -//Also make sure to double wrap the list when implementing this as -//+= is interpreted as a combine on lists, so the outer list gets unwrapped -/datum/nanite_extra_setting/proc/get_frontend_list(name) - return diff --git a/code/modules/research/nanites/extra_settings/boolean.dm b/code/modules/research/nanites/extra_settings/boolean.dm deleted file mode 100644 index 7d66eb988ea..00000000000 --- a/code/modules/research/nanites/extra_settings/boolean.dm +++ /dev/null @@ -1,27 +0,0 @@ -/datum/nanite_extra_setting/boolean - setting_type = NESTYPE_BOOLEAN - var/true_text - var/false_text - -/datum/nanite_extra_setting/boolean/New(initial, true_text, false_text) - value = initial - src.true_text = true_text - src.false_text = false_text - -/datum/nanite_extra_setting/boolean/set_value(value) - if(isnull(value)) - src.value = !src.value - return - . = ..() - -/datum/nanite_extra_setting/boolean/get_copy() - return new /datum/nanite_extra_setting/boolean(value, true_text, false_text) - -/datum/nanite_extra_setting/boolean/get_frontend_list(name) - return list(list( - "name" = name, - "type" = setting_type, - "value" = value, - "true_text" = true_text, - "false_text" = false_text - )) diff --git a/code/modules/research/nanites/extra_settings/number.dm b/code/modules/research/nanites/extra_settings/number.dm deleted file mode 100644 index 75489635f55..00000000000 --- a/code/modules/research/nanites/extra_settings/number.dm +++ /dev/null @@ -1,32 +0,0 @@ -/datum/nanite_extra_setting/number - setting_type = NESTYPE_NUMBER - var/min - var/max - var/unit = "" - -/datum/nanite_extra_setting/number/New(initial, min, max, unit) - value = initial - src.min = min - src.max = max - if(unit) - src.unit = unit - -/datum/nanite_extra_setting/number/set_value(value) - if(istext(value)) - value = text2num(value) - if(!value || !isnum(value)) - return - src.value = clamp(value, min, max) - -/datum/nanite_extra_setting/number/get_copy() - return new /datum/nanite_extra_setting/number(value, min, max, unit) - -/datum/nanite_extra_setting/number/get_frontend_list(name) - return list(list( - "name" = name, - "type" = setting_type, - "value" = value, - "min" = min, - "max" = max, - "unit" = unit - )) diff --git a/code/modules/research/nanites/extra_settings/text.dm b/code/modules/research/nanites/extra_settings/text.dm deleted file mode 100644 index d3cad27bcf5..00000000000 --- a/code/modules/research/nanites/extra_settings/text.dm +++ /dev/null @@ -1,21 +0,0 @@ -/datum/nanite_extra_setting/text - setting_type = NESTYPE_TEXT - -/datum/nanite_extra_setting/text/New(initial) - value = initial - -/datum/nanite_extra_setting/text/set_value(value) - src.value = trim(value) - -/datum/nanite_extra_setting/text/get_copy() - return new /datum/nanite_extra_setting/text(value) - -/datum/nanite_extra_setting/text/get_value() - return html_encode(value) - -/datum/nanite_extra_setting/text/get_frontend_list(name) - return list(list( - "name" = name, - "type" = setting_type, - "value" = value - )) diff --git a/code/modules/research/nanites/extra_settings/type.dm b/code/modules/research/nanites/extra_settings/type.dm deleted file mode 100644 index 2085ba510c4..00000000000 --- a/code/modules/research/nanites/extra_settings/type.dm +++ /dev/null @@ -1,18 +0,0 @@ -/datum/nanite_extra_setting/type - setting_type = NESTYPE_TYPE - var/list/types - -/datum/nanite_extra_setting/type/New(initial, types) - value = initial - src.types = types - -/datum/nanite_extra_setting/type/get_copy() - return new /datum/nanite_extra_setting/type(value, types) - -/datum/nanite_extra_setting/type/get_frontend_list(name) - return list(list( - "name" = name, - "type" = setting_type, - "value" = value, - "types" = types - )) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm deleted file mode 100644 index c35f4705000..00000000000 --- a/code/modules/research/nanites/nanite_chamber.dm +++ /dev/null @@ -1,213 +0,0 @@ -/obj/machinery/nanite_chamber - name = "nanite chamber" - desc = "A device that can scan, reprogram, and inject nanites." - circuit = /obj/item/circuitboard/machine/nanite_chamber - icon = 'icons/obj/machines/nanite_chamber.dmi' - icon_state = "nanite_chamber" - base_icon_state = "nanite_chamber" - layer = ABOVE_WINDOW_LAYER - use_power = IDLE_POWER_USE - anchored = TRUE - density = TRUE - obj_flags = NO_BUILD // Becomes undense when the door is open - idle_power_usage = 50 - active_power_usage = 300 - - var/locked = FALSE - var/breakout_time = 1200 - var/scan_level - var/busy = FALSE - var/busy_icon_state - var/busy_message - var/message_cooldown = 0 - -/obj/machinery/nanite_chamber/Initialize() - . = ..() - occupant_typecache = GLOB.typecache_living - -/obj/machinery/nanite_chamber/RefreshParts() - scan_level = 0 - for(var/obj/item/stock_parts/scanning_module/P in component_parts) - scan_level += P.rating - -/obj/machinery/nanite_chamber/examine(mob/user) - . = ..() - if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads: Scanning module has been upgraded to level [scan_level].") - -/obj/machinery/nanite_chamber/proc/set_busy(status, message, working_icon) - busy = status - busy_message = message - busy_icon_state = working_icon - update_appearance() - -/obj/machinery/nanite_chamber/proc/set_safety(threshold) - if(!occupant) - return - SEND_SIGNAL(occupant, COMSIG_NANITE_SET_SAFETY, threshold) - -/obj/machinery/nanite_chamber/proc/set_cloud(cloud_id) - if(!occupant) - return - SEND_SIGNAL(occupant, COMSIG_NANITE_SET_CLOUD, cloud_id) - -/obj/machinery/nanite_chamber/proc/inject_nanites() - if(machine_stat & (NOPOWER|BROKEN)) - return - if((machine_stat & MAINT) || panel_open) - return - if(!occupant || busy) - return - - var/locked_state = locked - locked = TRUE - - //TODO OMINOUS MACHINE SOUNDS - set_busy(TRUE, "Initializing injection protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Priming nanites...", "[initial(icon_state)]_active"),40) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Injecting...", "[initial(icon_state)]_active"),70) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Activating nanites...", "[initial(icon_state)]_falling"),110) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state),130) - -/obj/machinery/nanite_chamber/proc/complete_injection(locked_state) - //TODO MACHINE DING - locked = locked_state - set_busy(FALSE) - if(!occupant) - return - occupant.AddComponent(/datum/component/nanites, 100) - -/obj/machinery/nanite_chamber/proc/remove_nanites(datum/nanite_program/NP) - if(machine_stat & (NOPOWER|BROKEN)) - return - if((machine_stat & MAINT) || panel_open) - return - if(!occupant || busy) - return - - var/locked_state = locked - locked = TRUE - - //TODO OMINOUS MACHINE SOUNDS - set_busy(TRUE, "Initializing cleanup protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) - addtimer(CALLBACK(src, .proc/complete_removal, locked_state),130) - -/obj/machinery/nanite_chamber/proc/complete_removal(locked_state) - //TODO MACHINE DING - locked = locked_state - set_busy(FALSE) - if(!occupant) - return - SEND_SIGNAL(occupant, COMSIG_NANITE_DELETE) - -/obj/machinery/nanite_chamber/update_icon_state() - //running and someone in there - if(occupant) - icon_state = busy ? busy_icon_state : "[base_icon_state]_occupied" - return ..() - //running - icon_state = "[base_icon_state][state_open ? "_open" : null]" - return ..() - -/obj/machinery/nanite_chamber/update_overlays() - . = ..() - - if((machine_stat & MAINT) || panel_open) - . += "maint" - return - - if(machine_stat & (NOPOWER|BROKEN)) - return - - if(busy || locked) - . += "red" - if(locked) - . += "bolted" - return - - . += "green" - -/obj/machinery/nanite_chamber/proc/toggle_open(mob/user) - if(panel_open) - to_chat(user, span_notice("Close the maintenance panel first.")) - return - - if(state_open) - close_machine() - return - - else if(locked) - to_chat(user, span_notice("The bolts are locked down, securing the door shut.")) - return - - open_machine() - -/obj/machinery/nanite_chamber/container_resist_act(mob/living/user) - if(!locked) - open_machine() - return - if(busy) - return - user.changeNext_move(CLICK_CD_BREAKOUT) - user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ - span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ - span_hear("You hear a metallic creaking from [src].")) - if(do_after(user,(breakout_time), target = src)) - if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) - return - locked = FALSE - user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ - span_notice("You successfully break out of [src]!")) - open_machine() - -/obj/machinery/nanite_chamber/close_machine(mob/living/carbon/user) - if(!state_open) - return FALSE - - ..(user) - return TRUE - -/obj/machinery/nanite_chamber/open_machine() - if(state_open) - return FALSE - - ..() - - return TRUE - -/obj/machinery/nanite_chamber/relaymove(mob/living/user, direction) - if(user.stat || locked) - if(message_cooldown <= world.time) - message_cooldown = world.time + 50 - to_chat(user, span_warning("[src]'s door won't budge!")) - return - open_machine() - -/obj/machinery/nanite_chamber/attackby(obj/item/I, mob/user, params) - if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed - return - - if(default_pry_open(I)) - return - - if(default_deconstruction_crowbar(I)) - return - - return ..() - -/obj/machinery/nanite_chamber/interact(mob/user) - toggle_open(user) - -/obj/machinery/nanite_chamber/MouseDrop_T(mob/target, mob/user) - if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) || !Adjacent(target) || !user.Adjacent(target) || !iscarbon(target)) - return - if(close_machine(target)) - log_combat(user, target, "inserted", null, "into [src].") - add_fingerprint(user) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm deleted file mode 100644 index c18364de1a2..00000000000 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ /dev/null @@ -1,108 +0,0 @@ -/obj/machinery/computer/nanite_chamber_control - name = "nanite chamber control console" - desc = "Controls a connected nanite chamber. Can inoculate nanites, load programs, and analyze existing nanite swarms." - var/obj/machinery/nanite_chamber/chamber - icon_screen = "nanite_chamber_control" - circuit = /obj/item/circuitboard/computer/nanite_chamber_control - -/obj/machinery/computer/nanite_chamber_control/Initialize() - . = ..() - find_chamber() - -/obj/machinery/computer/nanite_chamber_control/proc/find_chamber() - for(var/direction in GLOB.cardinals) - var/C = locate(/obj/machinery/nanite_chamber, get_step(src, direction)) - if(C) - var/obj/machinery/nanite_chamber/NC = C - set_connected_chamber(NC) - -/obj/machinery/computer/nanite_chamber_control/interact() - if(!chamber) - find_chamber() - ..() - -/obj/machinery/computer/nanite_chamber_control/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "NaniteChamberControl", name) - ui.open() - -/obj/machinery/computer/nanite_chamber_control/ui_data() - var/list/data = list() - - if(!chamber) - data["status_msg"] = "No chamber detected." - return data - - if(!chamber.occupant) - data["status_msg"] = "No occupant detected." - return data - - var/mob/living/L = chamber.occupant - - if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) - data["status_msg"] = "Occupant not compatible with nanites." - return data - - if(chamber.busy) - data["status_msg"] = chamber.busy_message - return data - - data["status_msg"] = null - data["scan_level"] = chamber.scan_level - data["locked"] = chamber.locked - data["occupant_name"] = chamber.occupant.name - - SEND_SIGNAL(L, COMSIG_NANITE_UI_DATA, data, chamber.scan_level) - - return data - -/obj/machinery/computer/nanite_chamber_control/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("toggle_lock") - chamber.locked = !chamber.locked - chamber.update_appearance() - . = TRUE - if("set_safety") - var/threshold = text2num(params["value"]) - if(!isnull(threshold)) - chamber.set_safety(clamp(round(threshold, 1),0,500)) - playsound(src, "terminal_type", 25, FALSE) - chamber.occupant.investigate_log("'s nanites' safety threshold was set to [threshold] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) - . = TRUE - if("set_cloud") - var/cloud_id = text2num(params["value"]) - if(!isnull(cloud_id)) - chamber.set_cloud(clamp(round(cloud_id, 1),0,100)) - playsound(src, "terminal_type", 25, FALSE) - chamber.occupant.investigate_log("'s nanites' cloud id was set to [cloud_id] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) - . = TRUE - if("connect_chamber") - find_chamber() - . = TRUE - if("remove_nanites") - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) - chamber.remove_nanites() - log_combat(usr, chamber.occupant, "cleared nanites from", null, "via [src]") - chamber.occupant.investigate_log("'s nanites were cleared by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) - . = TRUE - if("nanite_injection") - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) - chamber.inject_nanites() - log_combat(usr, chamber.occupant, "injected", null, "with nanites via [src]") - chamber.occupant.investigate_log("was injected with nanites by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) - . = TRUE - -/obj/machinery/computer/nanite_chamber_control/proc/set_connected_chamber(new_chamber) - if(chamber) - UnregisterSignal(chamber, COMSIG_PARENT_QDELETING) - chamber = new_chamber - if(chamber) - RegisterSignal(chamber, COMSIG_PARENT_QDELETING, .proc/react_to_chamber_del) - -/obj/machinery/computer/nanite_chamber_control/proc/react_to_chamber_del(datum/source) - SIGNAL_HANDLER - set_connected_chamber(null) diff --git a/code/modules/research/nanites/nanite_cloud_controller.dm b/code/modules/research/nanites/nanite_cloud_controller.dm deleted file mode 100644 index fcfe181c607..00000000000 --- a/code/modules/research/nanites/nanite_cloud_controller.dm +++ /dev/null @@ -1,261 +0,0 @@ -/obj/machinery/computer/nanite_cloud_controller - name = "nanite cloud controller" - desc = "Stores and controls nanite cloud backups." - icon = 'icons/obj/machines/research.dmi' - icon_state = "nanite_cloud_controller" - circuit = /obj/item/circuitboard/computer/nanite_cloud_controller - icon_screen = "nanite_cloud_controller_screen" - icon_keyboard = null - - var/obj/item/disk/nanite_program/disk - var/list/datum/nanite_cloud_backup/cloud_backups = list() - var/current_view = 0 //0 is the main menu, any other number is the page of the backup with that ID - var/new_backup_id = 1 - -/obj/machinery/computer/nanite_cloud_controller/Destroy() - QDEL_LIST(cloud_backups) //rip backups - eject() - return ..() - -/obj/machinery/computer/nanite_cloud_controller/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if (user.transferItemToLoc(N, src)) - to_chat(user, span_notice("You insert [N] into [src].")) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) - if(disk) - eject(user) - disk = N - else - ..() - -/obj/machinery/computer/nanite_cloud_controller/AltClick(mob/user) - if(disk && user.canUseTopic(src, !issilicon(user))) - to_chat(user, span_notice("You take out [disk] from [src].")) - eject(user) - return - -/obj/machinery/computer/nanite_cloud_controller/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) ||!user.put_in_active_hand(disk)) - disk.forceMove(drop_location()) - disk = null - -/obj/machinery/computer/nanite_cloud_controller/proc/get_backup(cloud_id) - for(var/I in cloud_backups) - var/datum/nanite_cloud_backup/backup = I - if(backup.cloud_id == cloud_id) - return backup - -/obj/machinery/computer/nanite_cloud_controller/proc/generate_backup(cloud_id, mob/user) - if(SSnanites.get_cloud_backup(cloud_id, TRUE)) - to_chat(user, span_warning("Cloud ID already registered.")) - return - - var/datum/nanite_cloud_backup/backup = new(src) - var/datum/component/nanites/cloud_copy = backup.AddComponent(/datum/component/nanites) - backup.cloud_id = cloud_id - backup.nanites = cloud_copy - investigate_log("[key_name(user)] created a new nanite cloud backup with id #[cloud_id]", INVESTIGATE_NANITES) - -/obj/machinery/computer/nanite_cloud_controller/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "NaniteCloudControl", name) - ui.open() - -/obj/machinery/computer/nanite_cloud_controller/ui_data() - var/list/data = list() - - if(disk) - data["has_disk"] = TRUE - var/list/disk_data = list() - var/datum/nanite_program/P = disk.program - if(P) - data["has_program"] = TRUE - disk_data["name"] = P.name - disk_data["desc"] = P.desc - disk_data["use_rate"] = P.use_rate - disk_data["can_trigger"] = P.can_trigger - disk_data["trigger_cost"] = P.trigger_cost - disk_data["trigger_cooldown"] = P.trigger_cooldown / 10 - - disk_data["activated"] = P.activated - disk_data["activation_code"] = P.activation_code - disk_data["deactivation_code"] = P.deactivation_code - disk_data["kill_code"] = P.kill_code - disk_data["trigger_code"] = P.trigger_code - disk_data["timer_restart"] = P.timer_restart / 10 - disk_data["timer_shutdown"] = P.timer_shutdown / 10 - disk_data["timer_trigger"] = P.timer_trigger / 10 - disk_data["timer_trigger_delay"] = P.timer_trigger_delay / 10 - - var/list/extra_settings = P.get_extra_settings_frontend() - disk_data["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - disk_data["has_extra_settings"] = TRUE - if(istype(P, /datum/nanite_program/sensor)) - var/datum/nanite_program/sensor/sensor = P - if(sensor.can_rule) - disk_data["can_rule"] = TRUE - data["disk"] = disk_data - else - data["has_disk"] = FALSE - - data["new_backup_id"] = new_backup_id - - data["current_view"] = current_view - if(current_view) - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - var/datum/component/nanites/nanites = backup.nanites - data["cloud_backup"] = TRUE - var/list/cloud_programs = list() - var/id = 1 - for(var/datum/nanite_program/P in nanites.programs) - var/list/cloud_program = list() - cloud_program["name"] = P.name - cloud_program["desc"] = P.desc - cloud_program["id"] = id - cloud_program["use_rate"] = P.use_rate - cloud_program["can_trigger"] = P.can_trigger - cloud_program["trigger_cost"] = P.trigger_cost - cloud_program["trigger_cooldown"] = P.trigger_cooldown / 10 - cloud_program["activated"] = P.activated - cloud_program["timer_restart"] = P.timer_restart / 10 - cloud_program["timer_shutdown"] = P.timer_shutdown / 10 - cloud_program["timer_trigger"] = P.timer_trigger / 10 - cloud_program["timer_trigger_delay"] = P.timer_trigger_delay / 10 - - cloud_program["activation_code"] = P.activation_code - cloud_program["deactivation_code"] = P.deactivation_code - cloud_program["kill_code"] = P.kill_code - cloud_program["trigger_code"] = P.trigger_code - var/list/rules = list() - var/rule_id = 1 - for(var/X in P.rules) - var/datum/nanite_rule/nanite_rule = X - var/list/rule = list() - rule["display"] = nanite_rule.display() - rule["program_id"] = id - rule["id"] = rule_id - rules += list(rule) - rule_id++ - cloud_program["rules"] = rules - if(LAZYLEN(rules)) - cloud_program["has_rules"] = TRUE - cloud_program["all_rules_required"] = P.all_rules_required - - var/list/extra_settings = P.get_extra_settings_frontend() - cloud_program["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - cloud_program["has_extra_settings"] = TRUE - id++ - cloud_programs += list(cloud_program) - data["cloud_programs"] = cloud_programs - else - var/list/backup_list = list() - for(var/X in cloud_backups) - var/datum/nanite_cloud_backup/backup = X - var/list/cloud_backup = list() - cloud_backup["cloud_id"] = backup.cloud_id - backup_list += list(cloud_backup) - data["cloud_backups"] = backup_list - return data - -/obj/machinery/computer/nanite_cloud_controller/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("eject") - eject(usr) - . = TRUE - if("set_view") - current_view = text2num(params["view"]) - . = TRUE - if("update_new_backup_value") - var/backup_value = text2num(params["value"]) - new_backup_id = backup_value - if("create_backup") - var/cloud_id = new_backup_id - if(!isnull(cloud_id)) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) - cloud_id = clamp(round(cloud_id, 1),1,100) - generate_backup(cloud_id, usr) - . = TRUE - if("delete_backup") - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) - qdel(backup) - investigate_log("[key_name(usr)] deleted the nanite cloud backup #[current_view]", INVESTIGATE_NANITES) - . = TRUE - if("upload_program") - if(disk?.program) - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) - var/datum/component/nanites/nanites = backup.nanites - nanites.add_program(null, disk.program.copy()) - investigate_log("[key_name(usr)] uploaded program [disk.program.name] to cloud #[current_view]", INVESTIGATE_NANITES) - . = TRUE - if("remove_program") - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) - var/datum/component/nanites/nanites = backup.nanites - var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] - investigate_log("[key_name(usr)] deleted program [P.name] from cloud #[current_view]", INVESTIGATE_NANITES) - qdel(P) - . = TRUE - if("add_rule") - if(disk && disk.program && istype(disk.program, /datum/nanite_program/sensor)) - var/datum/nanite_program/sensor/rule_template = disk.program - if(!rule_template.can_rule) - return - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) - var/datum/component/nanites/nanites = backup.nanites - var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] - var/datum/nanite_rule/rule = rule_template.make_rule(P) - - investigate_log("[key_name(usr)] added rule [rule.display()] to program [P.name] in cloud #[current_view]", INVESTIGATE_NANITES) - . = TRUE - if("remove_rule") - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) - var/datum/component/nanites/nanites = backup.nanites - var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] - var/datum/nanite_rule/rule = P.rules[text2num(params["rule_id"])] - rule.remove() - - investigate_log("[key_name(usr)] removed rule [rule.display()] from program [P.name] in cloud #[current_view]", INVESTIGATE_NANITES) - . = TRUE - if("toggle_rule_logic") - var/datum/nanite_cloud_backup/backup = get_backup(current_view) - if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) - var/datum/component/nanites/nanites = backup.nanites - var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] - P.all_rules_required = !P.all_rules_required - investigate_log("[key_name(usr)] edited rule logic for program [P.name] into [P.all_rules_required ? "All" : "Any"] in cloud #[current_view]", INVESTIGATE_NANITES) - . = TRUE - -/datum/nanite_cloud_backup - var/cloud_id = 0 - var/datum/component/nanites/nanites - var/obj/machinery/computer/nanite_cloud_controller/storage - -/datum/nanite_cloud_backup/New(obj/machinery/computer/nanite_cloud_controller/_storage) - storage = _storage - storage.cloud_backups += src - SSnanites.cloud_backups += src - -/datum/nanite_cloud_backup/Destroy() - storage.cloud_backups -= src - SSnanites.cloud_backups -= src - return ..() diff --git a/code/modules/research/nanites/nanite_hijacker.dm b/code/modules/research/nanites/nanite_hijacker.dm deleted file mode 100644 index 8b137891791..00000000000 --- a/code/modules/research/nanites/nanite_hijacker.dm +++ /dev/null @@ -1 +0,0 @@ - diff --git a/code/modules/research/nanites/nanite_misc_items.dm b/code/modules/research/nanites/nanite_misc_items.dm deleted file mode 100644 index 6837543d111..00000000000 --- a/code/modules/research/nanites/nanite_misc_items.dm +++ /dev/null @@ -1,9 +0,0 @@ -/obj/item/nanite_injector - name = "nanite injector (FOR TESTING)" - desc = "Injects nanites into the user." - w_class = WEIGHT_CLASS_SMALL - icon = 'icons/obj/device.dmi' - icon_state = "nanite_remote" - -/obj/item/nanite_injector/attack_self(mob/user) - user.AddComponent(/datum/component/nanites, 150) diff --git a/code/modules/research/nanites/nanite_program_hub.dm b/code/modules/research/nanites/nanite_program_hub.dm deleted file mode 100644 index 3039dea9704..00000000000 --- a/code/modules/research/nanites/nanite_program_hub.dm +++ /dev/null @@ -1,149 +0,0 @@ -/obj/machinery/nanite_program_hub - name = "nanite program hub" - desc = "Compiles nanite programs from the techweb servers and downloads them into disks." - icon = 'icons/obj/machines/research.dmi' - icon_state = "nanite_program_hub" - use_power = IDLE_POWER_USE - anchored = TRUE - density = TRUE - circuit = /obj/item/circuitboard/machine/nanite_program_hub - - var/obj/item/disk/nanite_program/disk - var/datum/techweb/linked_techweb - var/current_category = "Main" - var/detail_view = TRUE - var/categories = list( - list(name = "Utility Nanites"), - list(name = "Medical Nanites"), - list(name = "Sensor Nanites"), - list(name = "Augmentation Nanites"), - list(name = "Suppression Nanites"), - list(name = "Weaponized Nanites"), - list(name = "Protocols"), - ) - -/obj/machinery/nanite_program_hub/Initialize() - . = ..() - linked_techweb = SSresearch.science_tech - -/obj/machinery/nanite_program_hub/update_overlays() - . = ..() - if((machine_stat & (NOPOWER|MAINT|BROKEN)) || panel_open) - return - . += mutable_appearance(icon, "nanite_program_hub_on") - . += emissive_appearance(icon, "nanite_program_hub_on") - -/obj/machinery/nanite_program_hub/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if(user.transferItemToLoc(N, src)) - to_chat(user, span_notice("You insert [N] into [src].")) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) - if(disk) - eject(user) - disk = N - else - ..() - -/obj/machinery/nanite_program_hub/screwdriver_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - - return default_deconstruction_screwdriver(user, "nanite_program_hub_t", "nanite_program_hub", I) - -/obj/machinery/nanite_program_hub/crowbar_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - - return default_deconstruction_crowbar(I) - -/obj/machinery/nanite_program_hub/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) || !user.put_in_active_hand(disk)) - disk.forceMove(drop_location()) - disk = null - -/obj/machinery/nanite_program_hub/AltClick(mob/user) - if(disk && user.canUseTopic(src, !issilicon(user))) - to_chat(user, span_notice("You take out [disk] from [src].")) - eject(user) - return - -/obj/machinery/nanite_program_hub/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "NaniteProgramHub", name) - ui.open() - -/obj/machinery/nanite_program_hub/ui_data() - var/list/data = list() - if(disk) - data["has_disk"] = TRUE - var/list/disk_data = list() - var/datum/nanite_program/P = disk.program - if(P) - data["has_program"] = TRUE - disk_data["name"] = P.name - disk_data["desc"] = P.desc - data["disk"] = disk_data - else - data["has_disk"] = FALSE - - data["detail_view"] = detail_view - - return data - -/obj/machinery/nanite_program_hub/ui_static_data(mob/user) - var/list/data = list() - data["programs"] = list() - for(var/i in linked_techweb.researched_designs) - var/datum/design/nanites/D = SSresearch.techweb_design_by_id(i) - if(!istype(D)) - continue - var/cat_name = D.category[1] //just put them in the first category fuck it - if(isnull(data["programs"][cat_name])) - data["programs"][cat_name] = list() - var/list/program_design = list() - program_design["id"] = D.id - program_design["name"] = D.name - program_design["desc"] = D.desc - data["programs"][cat_name] += list(program_design) - - if(!length(data["programs"])) - data["programs"] = null - - return data - -/obj/machinery/nanite_program_hub/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("eject") - eject(usr) - . = TRUE - if("download") - if(!disk) - return - var/datum/design/nanites/downloaded = linked_techweb.isDesignResearchedID(params["program_id"]) //check if it's a valid design - if(!istype(downloaded)) - return - if(disk.program) - qdel(disk.program) - disk.program = new downloaded.program_type - disk.name = "[initial(disk.name)] \[[disk.program.name]\]" - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) - . = TRUE - if("refresh") - update_static_data(usr) - . = TRUE - if("toggle_details") - detail_view = !detail_view - . = TRUE - if("clear") - if(disk?.program) - qdel(disk.program) - disk.program = null - disk.name = initial(disk.name) - . = TRUE diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm deleted file mode 100644 index f06c21aa79f..00000000000 --- a/code/modules/research/nanites/nanite_programmer.dm +++ /dev/null @@ -1,175 +0,0 @@ -/obj/machinery/nanite_programmer - name = "nanite programmer" - desc = "A device that can edit nanite program disks to adjust their functionality." - var/obj/item/disk/nanite_program/disk - var/datum/nanite_program/program - icon = 'icons/obj/machines/research.dmi' - icon_state = "nanite_programmer" - use_power = IDLE_POWER_USE - anchored = TRUE - density = TRUE - circuit = /obj/item/circuitboard/machine/nanite_programmer - -/obj/machinery/nanite_programmer/Initialize() - . = ..() - become_hearing_sensitive(trait_source = ROUNDSTART_TRAIT) - -/obj/machinery/nanite_programmer/update_overlays() - . = ..() - if((machine_stat & (NOPOWER|MAINT|BROKEN)) || panel_open) - return - . += mutable_appearance(icon, "nanite_programmer_on") - . += emissive_appearance(icon, "nanite_programmer_on") - -/obj/machinery/nanite_programmer/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if(user.transferItemToLoc(N, src)) - to_chat(user, span_notice("You insert [N] into [src]")) - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) - if(disk) - eject(user) - disk = N - program = N.program - else - ..() - -/obj/machinery/nanite_programmer/screwdriver_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - - return default_deconstruction_screwdriver(user, "nanite_programmer_t", "nanite_programmer", I) - -/obj/machinery/nanite_programmer/crowbar_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - - return default_deconstruction_crowbar(I) - -/obj/machinery/nanite_programmer/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) || !user.put_in_active_hand(disk)) - disk.forceMove(drop_location()) - disk = null - program = null - -/obj/machinery/nanite_programmer/AltClick(mob/user) - if(disk && user.canUseTopic(src, !issilicon(user))) - to_chat(user, span_notice("You take out [disk] from [src].")) - eject(user) - return - -/obj/machinery/nanite_programmer/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "NaniteProgrammer", name) - ui.open() - -/obj/machinery/nanite_programmer/ui_data() - var/list/data = list() - data["has_disk"] = istype(disk) - data["has_program"] = istype(program) - if(program) - data["name"] = program.name - data["desc"] = program.desc - data["use_rate"] = program.use_rate - data["can_trigger"] = program.can_trigger - data["trigger_cost"] = program.trigger_cost - data["trigger_cooldown"] = program.trigger_cooldown / 10 - - data["activated"] = program.activated - data["activation_code"] = program.activation_code - data["deactivation_code"] = program.deactivation_code - data["kill_code"] = program.kill_code - data["trigger_code"] = program.trigger_code - data["timer_restart"] = program.timer_restart / 10 - data["timer_shutdown"] = program.timer_shutdown / 10 - data["timer_trigger"] = program.timer_trigger / 10 - data["timer_trigger_delay"] = program.timer_trigger_delay / 10 - - var/list/extra_settings = program.get_extra_settings_frontend() - data["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - data["has_extra_settings"] = TRUE - - return data - -/obj/machinery/nanite_programmer/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("eject") - eject(usr) - . = TRUE - if("toggle_active") - playsound(src, "terminal_type", 25, FALSE) - program.activated = !program.activated //we don't use the activation procs since we aren't in a mob - investigate_log("[key_name(usr)] edited [program.name]'s initial activation status into [program.activated ? "Activated" : "Deactivated"]", INVESTIGATE_NANITES) - . = TRUE - if("set_code") - var/new_code = text2num(params["code"]) - playsound(src, "terminal_type", 25, FALSE) - var/target_code = params["target_code"] - switch(target_code) - if("activation") - program.activation_code = clamp(round(new_code, 1),0,9999) - investigate_log("[key_name(usr)] edited [program.name]'s activation code into [program.activation_code]", INVESTIGATE_NANITES) - if("deactivation") - program.deactivation_code = clamp(round(new_code, 1),0,9999) - investigate_log("[key_name(usr)] edited [program.name]'s deactivation code into [program.deactivation_code]", INVESTIGATE_NANITES) - if("kill") - program.kill_code = clamp(round(new_code, 1),0,9999) - investigate_log("[key_name(usr)] edited [program.name]'s kill code into [program.kill_code]", INVESTIGATE_NANITES) - if("trigger") - program.trigger_code = clamp(round(new_code, 1),0,9999) - investigate_log("[key_name(usr)] edited [program.name]'s trigger code into [program.trigger_code]", INVESTIGATE_NANITES) - . = TRUE - if("set_extra_setting") - program.set_extra_setting(params["target_setting"], params["value"]) - investigate_log("[key_name(usr)] edited [program.name]'s extra setting '[params["target_setting"]]' into [params["value"]]", INVESTIGATE_NANITES) - playsound(src, "terminal_type", 25, FALSE) - . = TRUE - if("set_restart_timer") - var/timer = text2num(params["delay"]) - if(!isnull(timer)) - playsound(src, "terminal_type", 25, FALSE) - timer = clamp(round(timer, 1), 0, 3600) - timer *= 10 //convert to deciseconds - program.timer_restart = timer - investigate_log("[key_name(usr)] edited [program.name]'s restart timer into [timer/10] s", INVESTIGATE_NANITES) - . = TRUE - if("set_shutdown_timer") - var/timer = text2num(params["delay"]) - if(!isnull(timer)) - playsound(src, "terminal_type", 25, FALSE) - timer = clamp(round(timer, 1), 0, 3600) - timer *= 10 //convert to deciseconds - program.timer_shutdown = timer - investigate_log("[key_name(usr)] edited [program.name]'s shutdown timer into [timer/10] s", INVESTIGATE_NANITES) - . = TRUE - if("set_trigger_timer") - var/timer = text2num(params["delay"]) - if(!isnull(timer)) - playsound(src, "terminal_type", 25, FALSE) - timer = clamp(round(timer, 1), 0, 3600) - timer *= 10 //convert to deciseconds - program.timer_trigger = timer - investigate_log("[key_name(usr)] edited [program.name]'s trigger timer into [timer/10] s", INVESTIGATE_NANITES) - . = TRUE - if("set_timer_trigger_delay") - var/timer = text2num(params["delay"]) - if(!isnull(timer)) - playsound(src, "terminal_type", 25, FALSE) - timer = clamp(round(timer, 1), 0, 3600) - timer *= 10 //convert to deciseconds - program.timer_trigger_delay = timer - investigate_log("[key_name(usr)] edited [program.name]'s trigger delay timer into [timer/10] s", INVESTIGATE_NANITES) - . = TRUE - -/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list()) - . = ..() - var/static/regex/when = regex("(?:^\\W*when|when\\W*$)", "i") //starts or ends with when - if(findtext(raw_message, when) && !istype(speaker, /obj/machinery/nanite_programmer)) - say("When you code it!!") diff --git a/code/modules/research/nanites/nanite_programs.dm b/code/modules/research/nanites/nanite_programs.dm deleted file mode 100644 index 0b26b4e79f0..00000000000 --- a/code/modules/research/nanites/nanite_programs.dm +++ /dev/null @@ -1,335 +0,0 @@ -/datum/nanite_program - var/name = "Generic Nanite Program" - var/desc = "Warn a coder if you can read this." - - var/datum/component/nanites/nanites - var/mob/living/host_mob - - var/use_rate = 0 //Amount of nanites used while active - var/unique = TRUE //If there can be more than one copy in the same nanites - var/can_trigger = FALSE //If the nanites have a trigger function (used for the programming UI) - var/trigger_cost = 0 //Amount of nanites required to trigger - var/trigger_cooldown = 50 //Deciseconds required between each trigger activation - var/next_trigger = 0 //World time required for the next trigger activation - - var/program_flags = NONE - var/passive_enabled = FALSE //If the nanites have an on/off-style effect, it's tracked by this var - - var/list/rogue_types = list(/datum/nanite_program/glitch) //What this can turn into if it glitches. - //As a rule of thumb, these should be: - //A: simpler - //B: negative - //C: affecting the same parts of the body, roughly - //B is mostly a consequence of A: it's always going to be simpler to cause damage than to repair it, so a software bug will not randomly make the flesh eating - //nanites learn how to repair cells. - //Given enough glitch-swapping you'll end up with stuff like necrotic or toxic nanites, which are very simple as they just try to eat what's in front of them - //or just lie around polluting the blood - - - //The following vars are customizable - var/activated = TRUE //If FALSE, the program won't process, disables passive effects, can't trigger and doesn't consume nanites - - var/timer_restart = 0 //When deactivated, the program will wait X deciseconds before self-reactivating. Also works if the program begins deactivated. - var/timer_shutdown = 0 //When activated, the program will wait X deciseconds before self-deactivating. Also works if the program begins activated. - var/timer_trigger = 0 //[Trigger only] While active, the program will attempt to trigger once every x deciseconds. - var/timer_trigger_delay = 0 //[Trigger only] While active, the program will delay trigger signals by X deciseconds. - - //Indicates the next world.time tick where these timers will act - var/timer_restart_next = 0 - var/timer_shutdown_next = 0 - var/timer_trigger_next = 0 - var/timer_trigger_delay_next = 0 - - //Signal codes, these handle remote input to the nanites. If set to 0 they'll ignore signals. - var/activation_code = 0 //Code that activates the program [1-9999] - var/deactivation_code = 0 //Code that deactivates the program [1-9999] - var/kill_code = 0 //Code that permanently removes the program [1-9999] - var/trigger_code = 0 //Code that triggers the program (if available) [1-9999] - - //Extra settings - ///Don't ever override this or I will come to your house and stand menacingly behind a bush - VAR_FINAL/list/extra_settings = list() - - //Rules - //Rules that automatically manage if the program's active without requiring separate sensor programs - var/list/datum/nanite_rule/rules = list() - var/all_rules_required = TRUE //Whether all rules are required for positive condition or any of specified - -/datum/nanite_program/New() - . = ..() - register_extra_settings() - -/datum/nanite_program/Destroy() - extra_settings = null - if(host_mob) - if(activated) - deactivate() - if(passive_enabled) - disable_passive_effect() - on_mob_remove() - if(nanites) - nanites.programs -= src - for(var/datum/nanite_rule/rule as anything in rules) - rule.remove() - rules.Cut() - return ..() - -/datum/nanite_program/proc/copy() - var/datum/nanite_program/new_program = new type() - copy_programming(new_program, TRUE) - - return new_program - -/datum/nanite_program/proc/copy_programming(datum/nanite_program/target, copy_activated = TRUE) - if(copy_activated) - target.activated = activated - target.timer_restart = timer_restart - target.timer_shutdown = timer_shutdown - target.timer_trigger = timer_trigger - target.timer_trigger_delay = timer_trigger_delay - target.activation_code = activation_code - target.deactivation_code = deactivation_code - target.kill_code = kill_code - target.trigger_code = trigger_code - - target.rules = list() - for(var/R in rules) - var/datum/nanite_rule/rule = R - rule.copy_to(target) - target.all_rules_required = all_rules_required - - if(istype(target,src)) - copy_extra_settings_to(target) - -/// Register extra settings by overriding this. -/// -/// `extra_settings[name] = new typepath()` for each extra setting. -/datum/nanite_program/proc/register_extra_settings() - return - -///You can override this if you need to have special behavior after setting certain settings. -/datum/nanite_program/proc/set_extra_setting(setting, value) - var/datum/nanite_extra_setting/ES = extra_settings[setting] - return ES.set_value(value) - -///You probably shouldn't be overriding this one, but I'm not a cop. -/datum/nanite_program/proc/get_extra_setting_value(setting) - var/datum/nanite_extra_setting/ES = extra_settings[setting] - return ES.get_value() - -///Used for getting information about the extra settings to the frontend -/datum/nanite_program/proc/get_extra_settings_frontend() - var/list/out = list() - for(var/name in extra_settings) - var/datum/nanite_extra_setting/ES = extra_settings[name] - out += ES.get_frontend_list(name) - return out - -///Copy of the list instead of direct reference for obvious reasons -/datum/nanite_program/proc/copy_extra_settings_to(datum/nanite_program/target) - var/list/copy_list = list() - for(var/ns_name in extra_settings) - var/datum/nanite_extra_setting/extra_setting = extra_settings[ns_name] - copy_list[ns_name] = extra_setting.get_copy() - target.extra_settings = copy_list - -/datum/nanite_program/proc/on_add(datum/component/nanites/_nanites) - nanites = _nanites - if(nanites.host_mob) - on_mob_add() - -/datum/nanite_program/proc/on_mob_add() - host_mob = nanites.host_mob - if(activated) //apply activation effects depending on initial status; starts the restart and shutdown timers - activate() - else - deactivate() - -/datum/nanite_program/proc/on_mob_remove() - return - -/datum/nanite_program/proc/toggle() - if(!activated) - activate() - else - deactivate() - -/datum/nanite_program/proc/activate() - activated = TRUE - if(timer_shutdown) - timer_shutdown_next = world.time + timer_shutdown - -/datum/nanite_program/proc/deactivate() - if(passive_enabled) - disable_passive_effect() - activated = FALSE - if(timer_restart) - timer_restart_next = world.time + timer_restart - -/datum/nanite_program/proc/on_process() - if(!activated) - if(timer_restart_next && world.time > timer_restart_next) - activate() - timer_restart_next = 0 - return - - if(timer_shutdown_next && world.time > timer_shutdown_next) - deactivate() - timer_shutdown_next = 0 - return - - if(timer_trigger && world.time > timer_trigger_next) - trigger() - timer_trigger_next = world.time + timer_trigger - return - - if(timer_trigger_delay_next && world.time > timer_trigger_delay_next) - trigger(delayed = TRUE) - timer_trigger_delay_next = 0 - return - - if(check_conditions() && consume_nanites(use_rate)) - if(!passive_enabled) - enable_passive_effect() - active_effect() - else - if(passive_enabled) - disable_passive_effect() - -//If false, disables active, passive effects, and triggers without consuming nanites -//Can be used to avoid consuming nanites for nothing -/datum/nanite_program/proc/check_conditions() - if (!LAZYLEN(rules)) - return TRUE - for(var/R in rules) - var/datum/nanite_rule/rule = R - if(!all_rules_required && rule.check_rule()) - return TRUE - if(all_rules_required && !rule.check_rule()) - return FALSE - return all_rules_required ? TRUE : FALSE - -//Constantly procs as long as the program is active -/datum/nanite_program/proc/active_effect() - return - -//Procs once when the program activates -/datum/nanite_program/proc/enable_passive_effect() - passive_enabled = TRUE - -//Procs once when the program deactivates -/datum/nanite_program/proc/disable_passive_effect() - passive_enabled = FALSE - -//Checks conditions then fires the nanite trigger effect -/datum/nanite_program/proc/trigger(delayed = FALSE, comm_message) - if(!can_trigger) - return - if(!activated) - return - if(timer_trigger_delay && !delayed) - timer_trigger_delay_next = world.time + timer_trigger_delay - return - if(world.time < next_trigger) - return - if(!check_conditions()) - return - if(!consume_nanites(trigger_cost)) - return - next_trigger = world.time + trigger_cooldown - on_trigger(comm_message) - -//Nanite trigger effect, requires can_trigger to be used -/datum/nanite_program/proc/on_trigger(comm_message) - return - -/datum/nanite_program/proc/consume_nanites(amount, force = FALSE) - return nanites.consume_nanites(amount, force) - -/datum/nanite_program/proc/on_emp(severity) - if(program_flags & NANITE_EMP_IMMUNE) - return - if(prob(80 / severity)) - host_mob.investigate_log("[src] nanite program received a software error due to emp.", INVESTIGATE_NANITES) - software_error() - -/datum/nanite_program/proc/on_shock(shock_damage) - if(!(program_flags & NANITE_SHOCK_IMMUNE)) - if(prob(10)) - host_mob.investigate_log("[src] nanite program received a software error due to shock.", INVESTIGATE_NANITES) - software_error() - else if(prob(33)) - host_mob.investigate_log("[src] nanite program was deleted due to shock.", INVESTIGATE_NANITES) - qdel(src) - -/datum/nanite_program/proc/on_minor_shock() - if(!(program_flags & NANITE_SHOCK_IMMUNE)) - if(prob(10)) - host_mob.investigate_log("[src] nanite program received a software error due to minor shock.", INVESTIGATE_NANITES) - software_error() - -/datum/nanite_program/proc/on_death() - return - -/datum/nanite_program/proc/software_error(type) - if(!type) - type = rand(1,5) - switch(type) - if(1) - host_mob.investigate_log("[src] nanite program was deleted by software error.", INVESTIGATE_NANITES) - qdel(src) //kill switch - return - if(2) //deprogram codes - host_mob.investigate_log("[src] nanite program was de-programmed by software error.", INVESTIGATE_NANITES) - activation_code = 0 - deactivation_code = 0 - kill_code = 0 - trigger_code = 0 - if(3) - host_mob.investigate_log("[src] nanite program was toggled by software error.", INVESTIGATE_NANITES) - toggle() //enable/disable - if(4) - if(can_trigger) - host_mob.investigate_log("[src] nanite program was triggered by software error.", INVESTIGATE_NANITES) - trigger() - if(5) //Program is scrambled and does something different - var/rogue_type = pick(rogue_types) - var/datum/nanite_program/rogue = new rogue_type - host_mob.investigate_log("[src] nanite program was converted into [rogue.name] by software error.", INVESTIGATE_NANITES) - nanites.add_program(null, rogue, src) - qdel(src) - -/datum/nanite_program/proc/receive_signal(code, source) - if(activation_code && code == activation_code && !activated) - activate() - host_mob.investigate_log("'s [name] nanite program was activated by [source] with code [code].", INVESTIGATE_NANITES) - else if(deactivation_code && code == deactivation_code && activated) - deactivate() - host_mob.investigate_log("'s [name] nanite program was deactivated by [source] with code [code].", INVESTIGATE_NANITES) - if(can_trigger && trigger_code && code == trigger_code) - trigger() - host_mob.investigate_log("'s [name] nanite program was triggered by [source] with code [code].", INVESTIGATE_NANITES) - if(kill_code && code == kill_code) - host_mob.investigate_log("'s [name] nanite program was deleted by [source] with code [code].", INVESTIGATE_NANITES) - qdel(src) - -///A nanite program containing a behaviour protocol. Only one protocol of each class can be active at once. -/datum/nanite_program/protocol - name = "Nanite Protocol" - var/protocol_class = NONE - -/datum/nanite_program/protocol/check_conditions() - . = ..() - for(var/protocol in nanites.protocols) - var/datum/nanite_program/protocol/P = protocol - if(P != src && P.activated && P.protocol_class == protocol_class) - return FALSE - -/datum/nanite_program/protocol/on_add(datum/component/nanites/_nanites) - ..() - nanites.protocols += src - -/datum/nanite_program/protocol/Destroy() - if(nanites) - nanites.protocols -= src - return ..() diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm deleted file mode 100644 index 5987105a08e..00000000000 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ /dev/null @@ -1,111 +0,0 @@ -//Programs that buff the host in generally passive ways. - -/datum/nanite_program/nervous - name = "Nerve Support" - desc = "The nanites act as a secondary nervous system, reducing the amount of time the host is stunned." - use_rate = 1.5 - rogue_types = list(/datum/nanite_program/nerve_decay) - -/datum/nanite_program/nervous/enable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.stun_mod *= 0.5 - -/datum/nanite_program/nervous/disable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.stun_mod *= 2 - -/datum/nanite_program/hardening - name = "Dermal Hardening" - desc = "The nanites form a mesh under the host's skin, protecting them from melee and bullet impacts." - use_rate = 0.5 - rogue_types = list(/datum/nanite_program/skin_decay) - -//TODO on_hit effect that turns skin grey for a moment - -/datum/nanite_program/hardening/enable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.armor.melee += 25 - H.physiology.armor.bullet += 20 - -/datum/nanite_program/hardening/disable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.armor.melee -= 25 - H.physiology.armor.bullet -= 20 - -/datum/nanite_program/refractive - name = "Dermal Refractive Surface" - desc = "The nanites form a membrane above the host's skin, reducing the effect of laser and energy impacts." - use_rate = 0.50 - rogue_types = list(/datum/nanite_program/skin_decay) - -/datum/nanite_program/refractive/enable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.armor.laser += 25 - H.physiology.armor.energy += 20 - -/datum/nanite_program/refractive/disable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.armor.laser -= 25 - H.physiology.armor.energy -= 20 - -/datum/nanite_program/coagulating - name = "Vein Repressurization" - desc = "The nanites re-route circulating blood away from open wounds, dramatically reducing bleeding rate." - use_rate = 0.20 - rogue_types = list(/datum/nanite_program/suffocating) - -/datum/nanite_program/coagulating/enable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.bleed_mod *= 0.5 - -/datum/nanite_program/coagulating/disable_passive_effect() - . = ..() - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - H.physiology.bleed_mod *= 2 - -/datum/nanite_program/conductive - name = "Electric Conduction" - desc = "The nanites act as a grounding rod for electric shocks, protecting the host. Shocks can still damage the nanites themselves." - use_rate = 0.20 - program_flags = NANITE_SHOCK_IMMUNE - rogue_types = list(/datum/nanite_program/nerve_decay) - -/datum/nanite_program/conductive/enable_passive_effect() - . = ..() - ADD_TRAIT(host_mob, TRAIT_SHOCKIMMUNE, NANITES_TRAIT) - -/datum/nanite_program/conductive/disable_passive_effect() - . = ..() - REMOVE_TRAIT(host_mob, TRAIT_SHOCKIMMUNE, NANITES_TRAIT) - -/datum/nanite_program/mindshield - name = "Mental Barrier" - desc = "The nanites form a protective membrane around the host's brain, shielding them from abnormal influences while they're active." - use_rate = 0.40 - rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - -/datum/nanite_program/mindshield/enable_passive_effect() - . = ..() - if(!host_mob.mind.has_antag_datum(/datum/antagonist/rev, TRUE)) //won't work if on a rev, to avoid having implanted revs. - ADD_TRAIT(host_mob, TRAIT_MINDSHIELD, NANITES_TRAIT) - host_mob.sec_hud_set_implants() - -/datum/nanite_program/mindshield/disable_passive_effect() - . = ..() - REMOVE_TRAIT(host_mob, TRAIT_MINDSHIELD, NANITES_TRAIT) - host_mob.sec_hud_set_implants() diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm deleted file mode 100644 index 6356026121a..00000000000 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ /dev/null @@ -1,230 +0,0 @@ -//Programs that heal the host in some way. - -/datum/nanite_program/regenerative - name = "Accelerated Regeneration" - desc = "The nanites boost the host's natural regeneration, increasing their healing speed. Will not consume nanites while the host is unharmed." - use_rate = 0.5 - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/regenerative/check_conditions() - if(!host_mob.getBruteLoss() && !host_mob.getFireLoss()) - return FALSE - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = BODYPART_ORGANIC) - if(!parts.len) - return FALSE - return ..() - -/datum/nanite_program/regenerative/active_effect() - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = BODYPART_ORGANIC) - if(!parts.len) - return - for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(0.5/parts.len, 0.5/parts.len, null, BODYPART_ORGANIC)) - host_mob.update_damage_overlays() - else - host_mob.adjustBruteLoss(-0.5, TRUE) - host_mob.adjustFireLoss(-0.5, TRUE) - -/datum/nanite_program/temperature - name = "Temperature Adjustment" - desc = "The nanites adjust the host's internal temperature to an ideal level. Will not consume nanites while the host is at a normal body temperature." - use_rate = 3.5 - rogue_types = list(/datum/nanite_program/skin_decay) - -/datum/nanite_program/temperature/check_conditions() - if(host_mob.bodytemperature > (host_mob.get_body_temp_normal(apply_change=FALSE) - 30) && host_mob.bodytemperature < (host_mob.get_body_temp_normal(apply_change=FALSE) + 30)) - return FALSE - return ..() - -/datum/nanite_program/temperature/active_effect() - var/target_temp = host_mob.get_body_temp_normal(apply_change=FALSE) - if(host_mob.bodytemperature > target_temp) - host_mob.adjust_bodytemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) - else if(host_mob.bodytemperature < (target_temp + 1)) - host_mob.adjust_bodytemperature(40 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, target_temp) - -/datum/nanite_program/purging - name = "Blood Purification" - desc = "The nanites purge toxins and chemicals from the host's bloodstream. Consumes nanites even if it has no effect." - use_rate = 1 - rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) - -/datum/nanite_program/purging/check_conditions() - . = ..() - if(!. || !host_mob.reagents) - return FALSE // No trying to purge simple mobs - -/datum/nanite_program/purging/active_effect() - host_mob.adjustToxLoss(-1) - for(var/datum/reagent/R in host_mob.reagents.reagent_list) - host_mob.reagents.remove_reagent(R.type,1) - -/datum/nanite_program/brain_heal - name = "Neural Regeneration" - desc = "The nanites fix neural connections in the host's brain, reversing brain damage and minor traumas. Will not consume nanites while it would not have an effect." - use_rate = 1.5 - rogue_types = list(/datum/nanite_program/brain_decay) - -/datum/nanite_program/brain_heal/check_conditions() - if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN) > 0) - return ..() - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - if ( C.has_trauma_type( resilience = TRAUMA_RESILIENCE_BASIC) ) - return ..() - return FALSE - -/datum/nanite_program/brain_heal/active_effect() - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1) - if(iscarbon(host_mob) && prob(10)) - var/mob/living/carbon/C = host_mob - C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) - -/datum/nanite_program/blood_restoring - name = "Blood Regeneration" - desc = "The nanites stimulate and boost blood cell production in the host. Will not consume nanites while the host has a safe blood level." - use_rate = 1 - rogue_types = list(/datum/nanite_program/suffocating) - -/datum/nanite_program/blood_restoring/check_conditions() - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - if(C.blood_volume >= BLOOD_VOLUME_SAFE) - return FALSE - else - return FALSE - return ..() - -/datum/nanite_program/blood_restoring/active_effect() - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - C.blood_volume += 2 - -/datum/nanite_program/repairing - name = "Mechanical Repair" - desc = "The nanites fix damage in the host's mechanical limbs. Will not consume nanites while the host's mechanical limbs are undamaged, or while the host has no mechanical limbs." - use_rate = 0.5 - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/repairing/check_conditions() - if(!host_mob.getBruteLoss() && !host_mob.getFireLoss()) - return FALSE - - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE, TRUE, status = BODYPART_ROBOTIC) - if(!parts.len) - return FALSE - else - if(!(host_mob.mob_biotypes & MOB_ROBOTIC)) - return FALSE - return ..() - -/datum/nanite_program/repairing/active_effect(mob/living/M) - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE, TRUE, status = BODYPART_ROBOTIC) - if(!parts.len) - return - var/update = FALSE - for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(1/parts.len, 1/parts.len, null, BODYPART_ROBOTIC)) //much faster than organic healing - update = TRUE - if(update) - host_mob.update_damage_overlays() - else - host_mob.adjustBruteLoss(-1, TRUE) - host_mob.adjustFireLoss(-1, TRUE) - -/datum/nanite_program/purging_advanced - name = "Selective Blood Purification" - desc = "The nanites purge toxins and dangerous chemicals from the host's bloodstream, while ignoring beneficial chemicals. \ - The added processing power required to analyze the chemicals severely increases the nanite consumption rate. Consumes nanites even if it has no effect." - use_rate = 2 - rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) - -/datum/nanite_program/purging_advanced/check_conditions() - . = ..() - if(!. || !host_mob.reagents) - return FALSE - -/datum/nanite_program/purging_advanced/active_effect() - host_mob.adjustToxLoss(-1) - for(var/datum/reagent/toxin/R in host_mob.reagents.reagent_list) - host_mob.reagents.remove_reagent(R.type,1) - -/datum/nanite_program/regenerative_advanced - name = "Bio-Reconstruction" - desc = "The nanites manually repair and replace organic cells, acting much faster than normal regeneration. \ - However, this program cannot detect the difference between harmed and unharmed, causing it to consume nanites even if it has no effect." - use_rate = 5.5 - rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) - -/datum/nanite_program/regenerative_advanced/active_effect() - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = BODYPART_ORGANIC) - if(!parts.len) - return - var/update = FALSE - for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(2/parts.len, 2/parts.len, null, BODYPART_ORGANIC)) - update = TRUE - if(update) - host_mob.update_damage_overlays() - else - host_mob.adjustBruteLoss(-2, TRUE) - host_mob.adjustFireLoss(-2, TRUE) - -/datum/nanite_program/brain_heal_advanced - name = "Neural Reimaging" - desc = "The nanites are able to backup and restore the host's neural connections, potentially replacing entire chunks of missing or damaged brain matter. Consumes nanites even if it has no effect." - use_rate = 3 - rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - -/datum/nanite_program/brain_heal_advanced/active_effect() - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2) - if(iscarbon(host_mob) && prob(10)) - var/mob/living/carbon/C = host_mob - C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_LOBOTOMY) - -/datum/nanite_program/defib - name = "Defibrillation" - desc = "The nanites shock the host's heart when triggered, bringing them back to life if the body can sustain it." - can_trigger = TRUE - trigger_cost = 25 - trigger_cooldown = 120 - rogue_types = list(/datum/nanite_program/shocking) - -/datum/nanite_program/defib/on_trigger(comm_message) - host_mob.notify_ghost_cloning("Your heart is being defibrillated by nanites. Re-enter your corpse if you want to be revived!") - addtimer(CALLBACK(src, .proc/zap), 50) - -/datum/nanite_program/defib/proc/check_revivable() - if(!iscarbon(host_mob)) //nonstandard biology - return FALSE - var/mob/living/carbon/C = host_mob - if(C.get_ghost()) - return FALSE - return C.can_defib() == DEFIB_POSSIBLE - -/datum/nanite_program/defib/proc/zap() - var/mob/living/carbon/C = host_mob - playsound(C, 'sound/machines/defib_charge.ogg', 50, FALSE) - sleep(30) - playsound(C, 'sound/machines/defib_zap.ogg', 50, FALSE) - if(check_revivable()) - playsound(C, 'sound/machines/defib_success.ogg', 50, FALSE) - C.set_heartattack(FALSE) - C.revive(full_heal = FALSE, admin_revive = FALSE) - C.emote("gasp") - C.Jitter(100) - SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK) - log_game("[C] has been successfully defibrillated by nanites.") - else - playsound(C, 'sound/machines/defib_failed.ogg', 50, FALSE) - diff --git a/code/modules/research/nanites/nanite_programs/protocols.dm b/code/modules/research/nanites/nanite_programs/protocols.dm deleted file mode 100644 index c0198f67a74..00000000000 --- a/code/modules/research/nanites/nanite_programs/protocols.dm +++ /dev/null @@ -1,277 +0,0 @@ -//Replication Protocols -/datum/nanite_program/protocol/kickstart - name = "Kickstart Protocol" - desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation, \ - resulting in an additional 420 nanite volume being produced during the first two minutes." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_REPLICATION - var/boost_duration = 1200 - -/datum/nanite_program/protocol/kickstart/check_conditions() - if(!(world.time < nanites.start_time + boost_duration)) - return FALSE - return ..() - -/datum/nanite_program/protocol/kickstart/active_effect() - nanites.adjust_nanites(null, 3.5) - -/datum/nanite_program/protocol/factory - name = "Factory Protocol" - desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time, \ - granting a maximum of 2 additional nanite production after roughly 17 minutes. \ - The factory decays if the protocol is not active, or if the nanites are disrupted by shocks or EMPs." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_REPLICATION - var/factory_efficiency = 0 - var/max_efficiency = 1000 //Goes up to 2 bonus regen per tick after 16 minutes and 40 seconds - -/datum/nanite_program/protocol/factory/on_process() - if(!activated || !check_conditions()) - factory_efficiency = max(0, factory_efficiency - 5) - ..() - -/datum/nanite_program/protocol/factory/on_emp(severity) - ..() - factory_efficiency = max(0, factory_efficiency - 300) - -/datum/nanite_program/protocol/factory/on_shock(shock_damage) - ..() - factory_efficiency = max(0, factory_efficiency - 200) - -/datum/nanite_program/protocol/factory/on_minor_shock() - ..() - factory_efficiency = max(0, factory_efficiency - 100) - -/datum/nanite_program/protocol/factory/active_effect() - factory_efficiency = min(factory_efficiency + 1, max_efficiency) - nanites.adjust_nanites(null, round(0.002 * factory_efficiency, 0.1)) - -/datum/nanite_program/protocol/pyramid - name = "Pyramid Protocol" - desc = "Replication Protocol: the nanites implement an alternate cooperative replication protocol that is active as long as the nanite saturation level is above 80%, \ - resulting in an additional volume production of 1.2 per second." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_REPLICATION - var/boost = 1.2 - -/datum/nanite_program/protocol/pyramid/check_conditions() - if((nanites.nanite_volume / nanites.max_nanites) < 0.8) - return FALSE - - return ..() - -/datum/nanite_program/protocol/pyramid/active_effect() - nanites.adjust_nanites(null, boost) - -/datum/nanite_program/protocol/offline - name = "Eclipse Protocol" - desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_REPLICATION - var/boost = 3 - - -/datum/nanite_program/protocol/offline/check_conditions() - if(nanites.host_mob.stat == CONSCIOUS) - return FALSE - return ..() - - -/datum/nanite_program/protocol/offline/active_effect() - nanites.adjust_nanites(null, boost) - -/datum/nanite_program/protocol/hive - name = "Hive Protocol" - desc = "Storage Protocol: the nanites use a more efficient grid arrangment for volume storage, increasing maximum volume to 750." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_STORAGE - var/extra_volume = 250 - -/datum/nanite_program/protocol/hive/enable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites + extra_volume) - -/datum/nanite_program/protocol/hive/disable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites - extra_volume) - -/datum/nanite_program/protocol/zip - name = "Zip Protocol" - desc = "Storage Protocol: the nanites are disassembled and compacted when unused, increasing the maximum volume to 1000. However, the process slows down their replication rate slightly." - use_rate = 0.2 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_STORAGE - var/extra_volume = 500 - -/datum/nanite_program/protocol/zip/enable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites + extra_volume) - -/datum/nanite_program/protocol/zip/disable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites - extra_volume) - -/datum/nanite_program/protocol/free_range - name = "Free-range Protocol" - desc = "Storage Protocol: the nanites discard their default storage protocols in favour of a cheaper and more organic approach. Reduces maximum volume to 250, but increases the replication rate by 0.5." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_STORAGE - var/boost = 0.5 - var/extra_volume = -250 - -/datum/nanite_program/protocol/free_range/enable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites + extra_volume) - -/datum/nanite_program/protocol/free_range/disable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites - extra_volume) - -/datum/nanite_program/protocol/free_range/active_effect() - nanites.adjust_nanites(null, boost) - -/datum/nanite_program/protocol/unsafe_storage - name = "S.L.O. Protocol" - desc = "Storage Protocol: 'S.L.O.P.', or Storage Level Override Protocol, completely disables the safety measures normally present in nanites, \ - allowing them to reach a whopping maximum volume level of 2000, but at the risk of causing damage to the host at nanite concentrations above the standard limit of 500." - use_rate = 0 - rogue_types = list(/datum/nanite_program/necrotic) - protocol_class = NANITE_PROTOCOL_STORAGE - var/extra_volume = 1500 - var/next_warning = 0 - var/min_warning_cooldown = 120 - var/max_warning_cooldown = 350 - var/volume_warnings_stage_1 = list("You feel a dull pain in your abdomen.", - "You feel a tickling sensation in your abdomen.") - var/volume_warnings_stage_2 = list("You feel a dull pain in your stomach.", - "You feel a dull pain when breathing.", - "Your stomach grumbles.", - "You feel a tickling sensation in your throat.", - "You feel a tickling sensation in your lungs.", - "You feel a tickling sensation in your stomach.", - "Your lungs feel stiff.") - var/volume_warnings_stage_3 = list("You feel a dull pain in your chest.", - "You hear a faint buzzing coming from nowhere.", - "You hear a faint buzzing inside your head.", - "Your head aches.") - var/volume_warnings_stage_4 = list("You feel a dull pain in your ears.", - "You feel a dull pain behind your eyes.", - "You hear a loud, echoing buzz inside your ears.", - "You feel dizzy.", - "You feel an itch coming from behind your eyes.", - "Your eardrums itch.", - "You see tiny grey motes drifting in your field of view.") - var/volume_warnings_stage_5 = list("You feel sick.", - "You feel a dull pain from every part of your body.", - "You feel nauseous.") - var/volume_warnings_stage_6 = list("Your skin itches and burns.", - "Your muscles ache.", - "You feel tired.", - "You feel something skittering under your skin.",) - -/datum/nanite_program/protocol/unsafe_storage/enable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites + extra_volume) - -/datum/nanite_program/protocol/unsafe_storage/disable_passive_effect() - . = ..() - nanites.set_max_volume(null, nanites.max_nanites - extra_volume) - -/datum/nanite_program/protocol/unsafe_storage/active_effect() - if(!iscarbon(host_mob)) - if(prob(10)) - host_mob.adjustBruteLoss(((max(nanites.nanite_volume - 450, 0) / 450) ** 2 ) * 0.5) // 0.5 -> 2 -> 4.5 -> 8 damage per successful tick - return - - var/mob/living/carbon/C = host_mob - - if(nanites.nanite_volume < 500) - return - - var/current_stage = 0 - if(nanites.nanite_volume > 500) //Liver is the main hub of nanite replication and the first to be threatened by excess volume - if(prob(10)) - var/obj/item/organ/liver/liver = C.getorganslot(ORGAN_SLOT_LIVER) - if(liver) - liver.applyOrganDamage(0.6) - current_stage++ - if(nanites.nanite_volume > 750) //Extra volume spills out in other central organs - if(prob(10)) - var/obj/item/organ/stomach/stomach = C.getorganslot(ORGAN_SLOT_STOMACH) - if(stomach) - stomach.applyOrganDamage(0.75) - if(prob(10)) - var/obj/item/organ/lungs/lungs = C.getorganslot(ORGAN_SLOT_LUNGS) - if(lungs) - lungs.applyOrganDamage(0.75) - current_stage++ - if(nanites.nanite_volume > 1000) //Extra volume spills out in more critical organs - if(prob(10)) - var/obj/item/organ/heart/heart = C.getorganslot(ORGAN_SLOT_HEART) - if(heart) - heart.applyOrganDamage(0.75) - if(prob(10)) - var/obj/item/organ/brain/brain = C.getorganslot(ORGAN_SLOT_BRAIN) - if(brain) - brain.applyOrganDamage(0.75) - current_stage++ - if(nanites.nanite_volume > 1250) //Excess nanites start invading smaller organs for more space, including sensory organs - if(prob(13)) - var/obj/item/organ/eyes/eyes = C.getorganslot(ORGAN_SLOT_EYES) - if(eyes) - eyes.applyOrganDamage(0.75) - if(prob(13)) - var/obj/item/organ/ears/ears = C.getorganslot(ORGAN_SLOT_EARS) - if(ears) - ears.applyOrganDamage(0.75) - current_stage++ - if(nanites.nanite_volume > 1500) //Nanites start spilling into the bloodstream, causing toxicity - if(prob(15)) - C.adjustToxLoss(0.5, TRUE, forced = TRUE) //Not healthy for slimepeople either - current_stage++ - if(nanites.nanite_volume > 1750) //Nanites have almost reached their physical limit, and the pressure itself starts causing tissue damage - if(prob(15)) - C.adjustBruteLoss(0.75, TRUE) - current_stage++ - - volume_warning(current_stage) - -/datum/nanite_program/protocol/unsafe_storage/proc/volume_warning(tier) - if(world.time < next_warning) - return - - var/list/main_warnings - var/list/extra_warnings - - switch(tier) - if(1) - main_warnings = volume_warnings_stage_1 - extra_warnings = null - if(2) - main_warnings = volume_warnings_stage_2 - extra_warnings = volume_warnings_stage_1 - if(3) - main_warnings = volume_warnings_stage_3 - extra_warnings = volume_warnings_stage_1 + volume_warnings_stage_2 - if(4) - main_warnings = volume_warnings_stage_4 - extra_warnings = volume_warnings_stage_1 + volume_warnings_stage_2 + volume_warnings_stage_3 - if(5) - main_warnings = volume_warnings_stage_5 - extra_warnings = volume_warnings_stage_1 + volume_warnings_stage_2 + volume_warnings_stage_3 + volume_warnings_stage_4 - if(6) - main_warnings = volume_warnings_stage_6 - extra_warnings = volume_warnings_stage_1 + volume_warnings_stage_2 + volume_warnings_stage_3 + volume_warnings_stage_4 + volume_warnings_stage_5 - - if(prob(35)) - to_chat(host_mob, span_warning("[pick(main_warnings)]")) - next_warning = world.time + rand(min_warning_cooldown, max_warning_cooldown) - else if(islist(extra_warnings)) - to_chat(host_mob, span_warning("[pick(extra_warnings)]")) - next_warning = world.time + rand(min_warning_cooldown, max_warning_cooldown) diff --git a/code/modules/research/nanites/nanite_programs/rogue.dm b/code/modules/research/nanites/nanite_programs/rogue.dm deleted file mode 100644 index c9e5efa9419..00000000000 --- a/code/modules/research/nanites/nanite_programs/rogue.dm +++ /dev/null @@ -1,119 +0,0 @@ -//Programs generated through degradation of other complex programs. -//They generally cause minor damage or annoyance. - -//Last stop of the error train -/datum/nanite_program/glitch - name = "Glitch" - desc = "A heavy software corruption that causes nanites to gradually break down." - use_rate = 1.5 - unique = FALSE - rogue_types = list() - -//Generic body-affecting programs will decay into this -/datum/nanite_program/necrotic - name = "Necrosis" - desc = "The nanites attack internal tissues indiscriminately, causing widespread damage." - use_rate = 0.75 - unique = FALSE - rogue_types = list(/datum/nanite_program/glitch) - -/datum/nanite_program/necrotic/active_effect() - host_mob.adjustBruteLoss(0.75, TRUE) - if(prob(1)) - to_chat(host_mob, span_warning("You feel a mild ache from somewhere inside you.")) - -//Programs that don't directly interact with the body will decay into this -/datum/nanite_program/toxic - name = "Toxin Buildup" - desc = "The nanites cause a slow but constant toxin buildup inside the host." - use_rate = 0.25 - unique = FALSE - rogue_types = list(/datum/nanite_program/glitch) - -/datum/nanite_program/toxic/active_effect() - host_mob.adjustToxLoss(0.5) - if(prob(1)) - to_chat(host_mob, span_warning("You feel a bit sick.")) - -//Generic blood-affecting programs will decay into this -/datum/nanite_program/suffocating - name = "Hypoxemia" - desc = "The nanites prevent the host's blood from absorbing oxygen efficiently." - use_rate = 0.75 - unique = FALSE - rogue_types = list(/datum/nanite_program/glitch) - -/datum/nanite_program/suffocating/active_effect() - host_mob.adjustOxyLoss(3, 0) - if(prob(1)) - to_chat(host_mob, span_warning("You feel short of breath.")) - -//Generic brain-affecting programs will decay into this -/datum/nanite_program/brain_decay - name = "Neuro-Necrosis" - desc = "The nanites seek and attack brain cells, causing extensive neural damage to the host." - use_rate = 0.75 - unique = FALSE - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/brain_decay/active_effect() - if(prob(4)) - host_mob.hallucination = min(15, host_mob.hallucination) - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1) - -//Generic brain-affecting programs can also decay into this -/datum/nanite_program/brain_misfire - name = "Brain Misfire" - desc = "The nanites interfere with neural pathways, causing minor psychological disturbances." - use_rate = 0.50 - unique = FALSE - rogue_types = list(/datum/nanite_program/brain_decay) - -/datum/nanite_program/brain_misfire/active_effect() - if(prob(10)) - switch(rand(1,4)) - if(1) - host_mob.hallucination += 15 - if(2) - host_mob.add_confusion(10) - if(3) - host_mob.drowsyness += 10 - if(4) - host_mob.slurring += 10 - -//Generic skin-affecting programs will decay into this -/datum/nanite_program/skin_decay - name = "Dermalysis" - desc = "The nanites attack skin cells, causing irritation, rashes, and minor damage." - use_rate = 0.25 - unique = FALSE - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/skin_decay/active_effect() - host_mob.adjustBruteLoss(0.25) - if(prob(5)) //itching - var/picked_bodypart = pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) - var/obj/item/bodypart/bodypart = host_mob.get_bodypart(picked_bodypart) - var/can_scratch = !host_mob.incapacitated() && get_location_accessible(host_mob, picked_bodypart) - - host_mob.visible_message("[can_scratch ? span_warning("[host_mob] scratches [host_mob.p_their()] [bodypart.name].") : ""]",\ - span_warning("Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]")) - -//Generic nerve-affecting programs will decay into this -/datum/nanite_program/nerve_decay - name = "Nerve Decay" - desc = "The nanites attack the host's nerves, causing lack of coordination and short bursts of paralysis." - use_rate = 1 - unique = FALSE - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/nerve_decay/active_effect() - if(prob(5)) - to_chat(host_mob, span_warning("You feel unbalanced!")) - host_mob.add_confusion(10) - else if(prob(4)) - to_chat(host_mob, span_warning("You can't feel your hands!")) - host_mob.drop_all_held_items() - else if(prob(4)) - to_chat(host_mob, span_warning("You can't feel your legs!")) - host_mob.Paralyze(30) diff --git a/code/modules/research/nanites/nanite_programs/sensor.dm b/code/modules/research/nanites/nanite_programs/sensor.dm deleted file mode 100644 index 458c32b00b2..00000000000 --- a/code/modules/research/nanites/nanite_programs/sensor.dm +++ /dev/null @@ -1,314 +0,0 @@ -/datum/nanite_program/sensor - name = "Sensor Nanites" - desc = "These nanites send a signal code when a certain condition is met." - unique = FALSE - var/can_rule = FALSE - -/datum/nanite_program/sensor/register_extra_settings() - extra_settings[NES_SENT_CODE] = new /datum/nanite_extra_setting/number(0, 1, 9999) - -/datum/nanite_program/sensor/proc/check_event() - return FALSE - -/datum/nanite_program/sensor/proc/send_code() - if(activated) - var/datum/nanite_extra_setting/ES = extra_settings[NES_SENT_CODE] - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, ES.value, "a [name] program") - -/datum/nanite_program/sensor/active_effect() - if(check_event()) - send_code() - -/datum/nanite_program/sensor/proc/make_rule(datum/nanite_program/target) - return - -/datum/nanite_program/sensor/repeat - name = "Signal Repeater" - desc = "When triggered, sends another signal to the nanites, optionally with a delay." - can_trigger = TRUE - trigger_cost = 0 - trigger_cooldown = 10 - var/spent = FALSE - -/datum/nanite_program/sensor/repeat/register_extra_settings() - . = ..() - extra_settings[NES_DELAY] = new /datum/nanite_extra_setting/number(0, 0, 3600, "s") - -/datum/nanite_program/sensor/repeat/on_trigger(comm_message) - var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] - addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) - -/datum/nanite_program/sensor/relay_repeat - name = "Relay Signal Repeater" - desc = "When triggered, sends another signal to a relay channel, optionally with a delay." - can_trigger = TRUE - trigger_cost = 0 - trigger_cooldown = 10 - var/spent = FALSE - -/datum/nanite_program/sensor/relay_repeat/register_extra_settings() - . = ..() - extra_settings[NES_RELAY_CHANNEL] = new /datum/nanite_extra_setting/number(1, 1, 9999) - extra_settings[NES_DELAY] = new /datum/nanite_extra_setting/number(0, 0, 3600, "s") - -/datum/nanite_program/sensor/relay_repeat/on_trigger(comm_message) - var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] - addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) - -/datum/nanite_program/sensor/relay_repeat/send_code() - var/datum/nanite_extra_setting/relay = extra_settings[NES_RELAY_CHANNEL] - if(activated && relay.get_value()) - for(var/X in SSnanites.nanite_relays) - var/datum/nanite_program/relay/N = X - var/datum/nanite_extra_setting/code = extra_settings[NES_SENT_CODE] - N.relay_signal(code.get_value(), relay.get_value(), "a [name] program") - -/datum/nanite_program/sensor/health - name = "Health Sensor" - desc = "The nanites receive a signal when the host's health is above/below a target percentage." - can_rule = TRUE - var/spent = FALSE - -/datum/nanite_program/sensor/health/register_extra_settings() - . = ..() - extra_settings[NES_HEALTH_PERCENT] = new /datum/nanite_extra_setting/number(50, -99, 100, "%") - extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") - -/datum/nanite_program/sensor/health/check_event() - var/health_percent = host_mob.health / host_mob.maxHealth * 100 - var/datum/nanite_extra_setting/percent = extra_settings[NES_HEALTH_PERCENT] - var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] - var/detected = FALSE - if(direction.get_value()) - if(health_percent >= percent.get_value()) - detected = TRUE - else - if(health_percent < percent.get_value()) - detected = TRUE - - if(detected) - if(!spent) - spent = TRUE - return TRUE - return FALSE - else - spent = FALSE - return FALSE - -/datum/nanite_program/sensor/health/make_rule(datum/nanite_program/target) - var/datum/nanite_rule/health/rule = new(target) - var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] - var/datum/nanite_extra_setting/percent = extra_settings[NES_HEALTH_PERCENT] - rule.above = direction.get_value() - rule.threshold = percent.get_value() - return rule - -/datum/nanite_program/sensor/crit - name = "Critical Health Sensor" - desc = "The nanites receive a signal when the host first reaches critical health." - can_rule = TRUE - var/spent = FALSE - -/datum/nanite_program/sensor/crit/check_event() - if(HAS_TRAIT(host_mob, TRAIT_CRITICAL_CONDITION)) - if(spent) - return FALSE - spent = TRUE - return TRUE - spent = FALSE - return FALSE - - -/datum/nanite_program/sensor/crit/make_rule(datum/nanite_program/target) - var/datum/nanite_rule/crit/rule = new(target) - return rule - -/datum/nanite_program/sensor/death - name = "Death Sensor" - desc = "The nanites receive a signal when they detect the host is dead." - can_rule = TRUE - var/spent = FALSE - -/datum/nanite_program/sensor/death/on_death() - send_code() - -/datum/nanite_program/sensor/death/make_rule(datum/nanite_program/target) - var/datum/nanite_rule/death/rule = new(target) - return rule - -/datum/nanite_program/sensor/nanite_volume - name = "Nanite Volume Sensor" - desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage." - can_rule = TRUE - var/spent = FALSE - -/datum/nanite_program/sensor/nanite_volume/register_extra_settings() - . = ..() - extra_settings[NES_NANITE_PERCENT] = new /datum/nanite_extra_setting/number(50, -99, 100, "%") - extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") - -/datum/nanite_program/sensor/nanite_volume/check_event() - var/nanite_percent = (nanites.nanite_volume - nanites.safety_threshold)/(nanites.max_nanites - nanites.safety_threshold)*100 - var/datum/nanite_extra_setting/percent = extra_settings[NES_NANITE_PERCENT] - var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] - var/detected = FALSE - if(direction.get_value()) - if(nanite_percent >= percent.get_value()) - detected = TRUE - else - if(nanite_percent < percent.get_value()) - detected = TRUE - - if(detected) - if(!spent) - spent = TRUE - return TRUE - return FALSE - else - spent = FALSE - return FALSE - -/datum/nanite_program/sensor/nanite_volume/make_rule(datum/nanite_program/target) - var/datum/nanite_rule/nanites/rule = new(target) - var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] - var/datum/nanite_extra_setting/percent = extra_settings[NES_NANITE_PERCENT] - rule.above = direction.get_value() - rule.threshold = percent.get_value() - return rule - -/datum/nanite_program/sensor/damage - name = "Damage Sensor" - desc = "The nanites receive a signal when a host's specific damage type is above/below a target value." - can_rule = TRUE - var/spent = FALSE - -/datum/nanite_program/sensor/damage/register_extra_settings() - . = ..() - extra_settings[NES_DAMAGE_TYPE] = new /datum/nanite_extra_setting/type(BRUTE, list(BRUTE, BURN, TOX, OXY, CLONE)) - extra_settings[NES_DAMAGE] = new /datum/nanite_extra_setting/number(50, 0, 500) - extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") - -/datum/nanite_program/sensor/damage/check_event() - var/reached_threshold = FALSE - var/datum/nanite_extra_setting/type = extra_settings[NES_DAMAGE_TYPE] - var/datum/nanite_extra_setting/damage = extra_settings[NES_DAMAGE] - var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] - var/check_above = direction.get_value() - var/damage_amt = 0 - switch(type.get_value()) - if(BRUTE) - damage_amt = host_mob.getBruteLoss() - if(BURN) - damage_amt = host_mob.getFireLoss() - if(TOX) - damage_amt = host_mob.getToxLoss() - if(OXY) - damage_amt = host_mob.getOxyLoss() - if(CLONE) - damage_amt = host_mob.getCloneLoss() - - if(check_above) - if(damage_amt >= damage.get_value()) - reached_threshold = TRUE - else - if(damage_amt < damage.get_value()) - reached_threshold = TRUE - - if(reached_threshold) - if(!spent) - spent = TRUE - return TRUE - return FALSE - else - spent = FALSE - return FALSE - -/datum/nanite_program/sensor/damage/make_rule(datum/nanite_program/target) - var/datum/nanite_rule/damage/rule = new(target) - var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] - var/datum/nanite_extra_setting/damage_type = extra_settings[NES_DAMAGE_TYPE] - var/datum/nanite_extra_setting/damage = extra_settings[NES_DAMAGE] - rule.above = direction.get_value() - rule.threshold = damage.get_value() - rule.damage_type = damage_type.get_value() - return rule - -/datum/nanite_program/sensor/voice - name = "Voice Sensor" - desc = "The nanites receive a signal when they detect a specific, preprogrammed word or phrase being said." - -/datum/nanite_program/sensor/voice/register_extra_settings() - . = ..() - extra_settings[NES_SENTENCE] = new /datum/nanite_extra_setting/text("") - extra_settings[NES_INCLUSIVE_MODE] = new /datum/nanite_extra_setting/boolean(TRUE, "Inclusive", "Exclusive") - -/datum/nanite_program/sensor/voice/on_mob_add() - . = ..() - RegisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) - -/datum/nanite_program/sensor/voice/on_mob_remove() - UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR) - -/datum/nanite_program/sensor/voice/proc/on_hear(datum/source, list/hearing_args) - SIGNAL_HANDLER - var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] - var/datum/nanite_extra_setting/inclusive = extra_settings[NES_INCLUSIVE_MODE] - if(!sentence.get_value()) - return - if(inclusive.get_value()) - if(findtext(hearing_args[HEARING_RAW_MESSAGE], sentence.get_value())) - send_code() - else - if(lowertext(hearing_args[HEARING_RAW_MESSAGE]) == lowertext(sentence.get_value())) - send_code() - -/datum/nanite_program/sensor/species - name = "Species Sensor" - desc = "When triggered, the nanites scan the host to determine their species and receive a signal depending on the conditions set in the settings." - can_trigger = TRUE - trigger_cost = 0 - trigger_cooldown = 5 - - var/list/static/allowed_species = list( - "Human" = /datum/species/human, - "Lizard" = /datum/species/lizard, - "Moth" = /datum/species/moth, - "Ethereal" = /datum/species/ethereal, - "Pod" = /datum/species/pod, - "Fly" = /datum/species/fly, - "Felinid" = /datum/species/human/felinid, - "Jelly" = /datum/species/jelly, - ) - -/datum/nanite_program/sensor/species/register_extra_settings() - . = ..() - var/list/species_types = list() - for(var/name in allowed_species) - species_types += name - species_types += "Other" - extra_settings[NES_RACE] = new /datum/nanite_extra_setting/type("Human", species_types) - extra_settings[NES_MODE] = new /datum/nanite_extra_setting/boolean(TRUE, "Is", "Is Not") - -/datum/nanite_program/sensor/species/on_trigger(comm_message) - var/datum/nanite_extra_setting/species_type = extra_settings[NES_RACE] - var/species = allowed_species[species_type.get_value()] - var/species_match = FALSE - - if(species) - if(is_species(host_mob, species)) - species_match = TRUE - else //this is the check for the "Other" option - species_match = TRUE - for(var/name in allowed_species) - var/species_other = allowed_species[name] - if(is_species(host_mob, species_other)) - species_match = FALSE - break - - var/datum/nanite_extra_setting/mode = extra_settings[NES_MODE] - if(mode.get_value()) - if(species_match) - send_code() - else - if(!species_match) - send_code() diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm deleted file mode 100644 index aa8643eafdc..00000000000 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ /dev/null @@ -1,309 +0,0 @@ -//Programs that are generally useful for population control and non-harmful suppression. - -/datum/nanite_program/sleepy - name = "Sleep Induction" - desc = "The nanites induce rapid narcolepsy when triggered." - can_trigger = TRUE - trigger_cost = 15 - trigger_cooldown = 1200 - rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - -/datum/nanite_program/sleepy/on_trigger(comm_message) - to_chat(host_mob, span_warning("You start to feel very sleepy...")) - host_mob.drowsyness += 20 - addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200)) - -/datum/nanite_program/paralyzing - name = "Paralysis" - desc = "The nanites force muscle contraction, effectively paralyzing the host." - use_rate = 3 - rogue_types = list(/datum/nanite_program/nerve_decay) - -/datum/nanite_program/paralyzing/active_effect() - host_mob.Stun(40) - -/datum/nanite_program/paralyzing/enable_passive_effect() - . = ..() - to_chat(host_mob, span_warning("Your muscles seize! You can't move!")) - -/datum/nanite_program/paralyzing/disable_passive_effect() - . = ..() - to_chat(host_mob, span_notice("Your muscles relax, and you can move again.")) - -/datum/nanite_program/shocking - name = "Electric Shock" - desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!" - can_trigger = TRUE - trigger_cost = 10 - trigger_cooldown = 300 - program_flags = NANITE_SHOCK_IMMUNE - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/shocking/on_trigger(comm_message) - host_mob.electrocute_act(rand(5,10), "shock nanites", 1, SHOCK_NOGLOVES) - -/datum/nanite_program/stun - name = "Neural Shock" - desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period." - can_trigger = TRUE - trigger_cost = 4 - trigger_cooldown = 300 - rogue_types = list(/datum/nanite_program/shocking, /datum/nanite_program/nerve_decay) - -/datum/nanite_program/stun/on_trigger(comm_message) - playsound(host_mob, "sparks", 75, TRUE, -1, SHORT_RANGE_SOUND_EXTRARANGE) - host_mob.Paralyze(80) - -/datum/nanite_program/pacifying - name = "Pacification" - desc = "The nanites suppress the aggression center of the brain, preventing the host from causing direct harm to others." - use_rate = 1 - rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - -/datum/nanite_program/pacifying/enable_passive_effect() - . = ..() - ADD_TRAIT(host_mob, TRAIT_PACIFISM, NANITES_TRAIT) - -/datum/nanite_program/pacifying/disable_passive_effect() - . = ..() - REMOVE_TRAIT(host_mob, TRAIT_PACIFISM, NANITES_TRAIT) - -/datum/nanite_program/blinding - name = "Blindness" - desc = "The nanites suppress the host's ocular nerves, blinding them while they're active." - use_rate = 1.5 - rogue_types = list(/datum/nanite_program/nerve_decay) - -/datum/nanite_program/blinding/enable_passive_effect() - . = ..() - host_mob.become_blind(NANITES_TRAIT) - -/datum/nanite_program/blinding/disable_passive_effect() - . = ..() - host_mob.cure_blind(NANITES_TRAIT) - -/datum/nanite_program/mute - name = "Mute" - desc = "The nanites suppress the host's speech, making them mute while they're active." - use_rate = 0.75 - rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - -/datum/nanite_program/mute/enable_passive_effect() - . = ..() - ADD_TRAIT(host_mob, TRAIT_MUTE, NANITES_TRAIT) - -/datum/nanite_program/mute/disable_passive_effect() - . = ..() - REMOVE_TRAIT(host_mob, TRAIT_MUTE, NANITES_TRAIT) - -/datum/nanite_program/fake_death - name = "Death Simulation" - desc = "The nanites induce a death-like coma into the host, able to fool most medical scans." - use_rate = 3.5 - rogue_types = list(/datum/nanite_program/nerve_decay, /datum/nanite_program/necrotic, /datum/nanite_program/brain_decay) - -/datum/nanite_program/fake_death/enable_passive_effect() - . = ..() - host_mob.emote("deathgasp") - host_mob.fakedeath("nanites") - -/datum/nanite_program/fake_death/disable_passive_effect() - . = ..() - host_mob.cure_fakedeath("nanites") - -//Can receive transmissions from a nanite communication remote for customized messages -/datum/nanite_program/comm - can_trigger = TRUE - var/comm_message = "" - -/datum/nanite_program/comm/register_extra_settings() - extra_settings[NES_COMM_CODE] = new /datum/nanite_extra_setting/number(0, 0, 9999) - -/datum/nanite_program/comm/proc/receive_comm_signal(signal_comm_code, comm_message, comm_source) - var/datum/nanite_extra_setting/comm_code = extra_settings[NES_COMM_CODE] - if(!activated || !comm_code.get_value()) - return - if(signal_comm_code == comm_code.get_value()) - host_mob.investigate_log("'s [name] nanite program was messaged by [comm_source] with comm code [signal_comm_code] and message '[comm_message]'.", INVESTIGATE_NANITES) - trigger(FALSE, comm_message) - -/datum/nanite_program/comm/speech - name = "Forced Speech" - desc = "The nanites force the host to say a pre-programmed sentence when triggered." - unique = FALSE - trigger_cost = 3 - trigger_cooldown = 20 - rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - var/static/list/blacklist = list( - "*surrender", - "*collapse", - "*faint", - ) - -/datum/nanite_program/comm/speech/register_extra_settings() - . = ..() - extra_settings[NES_SENTENCE] = new /datum/nanite_extra_setting/text("") - -/datum/nanite_program/comm/speech/on_trigger(comm_message) - var/sent_message = comm_message - if(!comm_message) - var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] - sent_message = sentence.get_value() - if(sent_message in blacklist) - return - if(host_mob.stat == DEAD) - return - to_chat(host_mob, span_warning("You feel compelled to speak...")) - host_mob.say(sent_message, forced = "nanite speech") - -/datum/nanite_program/comm/voice - name = "Skull Echo" - desc = "The nanites echo a synthesized message inside the host's skull." - unique = FALSE - trigger_cost = 1 - trigger_cooldown = 20 - rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - -/datum/nanite_program/comm/voice/register_extra_settings() - . = ..() - extra_settings[NES_MESSAGE] = new /datum/nanite_extra_setting/text("") - -/datum/nanite_program/comm/voice/on_trigger(comm_message) - var/sent_message = comm_message - if(!comm_message) - var/datum/nanite_extra_setting/message_setting = extra_settings[NES_MESSAGE] - sent_message = message_setting.get_value() - if(host_mob.stat == DEAD) - return - to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[span_robot("[html_encode(sent_message)]")]\"") - -/datum/nanite_program/comm/hallucination - name = "Hallucination" - desc = "The nanites make the host hallucinate something when triggered." - trigger_cost = 4 - trigger_cooldown = 80 - unique = FALSE - rogue_types = list(/datum/nanite_program/brain_misfire) - -/datum/nanite_program/comm/hallucination/register_extra_settings() - . = ..() - var/list/options = list( - "Message", - "Battle", - "Sound", - "Weird Sound", - "Station Message", - "Health", - "Alert", - "Fire", - "Shock", - "Plasma Flood", - "Random" - ) - extra_settings[NES_HALLUCINATION_TYPE] = new /datum/nanite_extra_setting/type("Message", options) - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/text("") - -/datum/nanite_program/comm/hallucination/on_trigger(comm_message) - var/datum/nanite_extra_setting/hal_setting = extra_settings[NES_HALLUCINATION_TYPE] - var/hal_type = hal_setting.get_value() - var/datum/nanite_extra_setting/hal_detail_setting = extra_settings[NES_HALLUCINATION_DETAIL] - var/hal_details = hal_detail_setting.get_value() - if(comm_message && (hal_type != "Message")) //Triggered via comm remote, but not set to a message hallucination - return - var/sent_message = comm_message //Comm remotes can send custom hallucination messages for the chat hallucination - if(!sent_message) - sent_message = hal_details - - if(!iscarbon(host_mob)) - return - var/mob/living/carbon/C = host_mob - if(hal_details == "random") - hal_details = null - if(hal_type == "Random") - C.hallucination += 15 - else - switch(hal_type) - if("Message") - new /datum/hallucination/chat(C, TRUE, null, sent_message) - if("Battle") - new /datum/hallucination/battle(C, TRUE, hal_details) - if("Sound") - new /datum/hallucination/sounds(C, TRUE, hal_details) - if("Weird Sound") - new /datum/hallucination/weird_sounds(C, TRUE, hal_details) - if("Station Message") - new /datum/hallucination/stationmessage(C, TRUE, hal_details) - if("Health") - switch(hal_details) - if("critical") - hal_details = SCREWYHUD_CRIT - if("dead") - hal_details = SCREWYHUD_DEAD - if("healthy") - hal_details = SCREWYHUD_HEALTHY - new /datum/hallucination/hudscrew(C, TRUE, hal_details) - if("Alert") - new /datum/hallucination/fake_alert(C, TRUE, hal_details) - if("Fire") - new /datum/hallucination/fire(C, TRUE) - if("Shock") - new /datum/hallucination/shock(C, TRUE) - if("Plasma Flood") - new /datum/hallucination/fake_flood(C, TRUE) - -/datum/nanite_program/comm/hallucination/set_extra_setting(setting, value) - . = ..() - if(setting == NES_HALLUCINATION_TYPE) - switch(value) - if("Message") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/text("") - if("Battle") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","laser","disabler","esword","gun","stunprod","harmbaton","bomb")) - if("Sound") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","airlock","airlock pry","console","explosion","far explosion","mech","glass","alarm","beepsky","mech","wall decon","door hack")) - if("Weird Sound") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","phone","hallelujah","highlander","laughter","hyperspace","game over","creepy","tesla")) - if("Station Message") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","ratvar","shuttle dock","blob alert","malf ai","meteors","supermatter")) - if("Health") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","critical","dead","healthy")) - if("Alert") - extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","gravity","fire","locked","hacked","temphot","tempcold","pressure")) - else - extra_settings.Remove(NES_HALLUCINATION_DETAIL) - -/datum/nanite_program/good_mood - name = "Happiness Enhancer" - desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." - use_rate = 0.1 - rogue_types = list(/datum/nanite_program/brain_decay) - -/datum/nanite_program/good_mood/register_extra_settings() - . = ..() - extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS ENHANCEMENT") - -/datum/nanite_program/good_mood/enable_passive_effect() - . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, get_extra_setting_value(NES_MOOD_MESSAGE)) - -/datum/nanite_program/good_mood/disable_passive_effect() - . = ..() - SEND_SIGNAL(host_mob, COMSIG_CLEAR_MOOD_EVENT, "nanite_happy") - -/datum/nanite_program/bad_mood - name = "Happiness Suppressor" - desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." - use_rate = 0.1 - rogue_types = list(/datum/nanite_program/brain_decay) - -/datum/nanite_program/bad_mood/register_extra_settings() - . = ..() - extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS SUPPRESSION") - -/datum/nanite_program/bad_mood/enable_passive_effect() - . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, get_extra_setting_value(NES_MOOD_MESSAGE)) - -/datum/nanite_program/bad_mood/disable_passive_effect() - . = ..() - SEND_SIGNAL(host_mob, COMSIG_CLEAR_MOOD_EVENT, "nanite_sadness") diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm deleted file mode 100644 index 19ef4c9cce3..00000000000 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ /dev/null @@ -1,311 +0,0 @@ -//Programs that interact with other programs or nanites directly, or have other special purposes. -/datum/nanite_program/viral - name = "Viral Replica" - desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters, also overriding or disabling their cloud sync." - use_rate = 0.5 - rogue_types = list(/datum/nanite_program/toxic) - var/pulse_cooldown = 0 - -/datum/nanite_program/viral/register_extra_settings() - extra_settings[NES_PROGRAM_OVERWRITE] = new /datum/nanite_extra_setting/type("Add To", list("Overwrite", "Add To", "Ignore")) - extra_settings[NES_CLOUD_OVERWRITE] = new /datum/nanite_extra_setting/number(0, 0, 100) - -/datum/nanite_program/viral/active_effect() - if(world.time < pulse_cooldown) - return - var/datum/nanite_extra_setting/program = extra_settings[NES_PROGRAM_OVERWRITE] - var/datum/nanite_extra_setting/cloud = extra_settings[NES_CLOUD_OVERWRITE] - for(var/mob/M in orange(host_mob, 5)) - if(SEND_SIGNAL(M, COMSIG_NANITE_IS_STEALTHY)) - continue - switch(program.get_value()) - if("Overwrite") - SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, TRUE) - if("Add To") - SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, FALSE) - SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, cloud.get_value()) - pulse_cooldown = world.time + 75 - -/datum/nanite_program/monitoring - name = "Monitoring" - desc = "The nanites monitor the host's vitals and location, sending them to the suit sensor network." - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/monitoring/enable_passive_effect() - . = ..() - ADD_TRAIT(host_mob, TRAIT_NANITE_MONITORING, NANITES_TRAIT) //Shows up in diagnostic and medical HUDs as a small blinking icon - if(ishuman(host_mob)) - GLOB.nanite_sensors_list |= host_mob - host_mob.hud_set_nanite_indicator() - -/datum/nanite_program/monitoring/disable_passive_effect() - . = ..() - REMOVE_TRAIT(host_mob, TRAIT_NANITE_MONITORING, "nanites") - if(ishuman(host_mob)) - GLOB.nanite_sensors_list -= host_mob - - host_mob.hud_set_nanite_indicator() - -/datum/nanite_program/self_scan - name = "Host Scan" - desc = "The nanites display a detailed readout of a body scan to the host." - unique = FALSE - can_trigger = TRUE - trigger_cost = 3 - trigger_cooldown = 50 - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/self_scan/register_extra_settings() - extra_settings[NES_SCAN_TYPE] = new /datum/nanite_extra_setting/type("Medical", list("Medical", "Chemical", "Wound", "Nanite")) - -/datum/nanite_program/self_scan/on_trigger(comm_message) - if(host_mob.stat == DEAD) - return - var/datum/nanite_extra_setting/NS = extra_settings[NES_SCAN_TYPE] - switch(NS.get_value()) - if("Medical") - healthscan(host_mob, host_mob) - if("Chemical") - chemscan(host_mob, host_mob) - if("Wound") - woundscan(host_mob, host_mob) - if("Nanite") - SEND_SIGNAL(host_mob, COMSIG_NANITE_SCAN, host_mob, TRUE) - -/datum/nanite_program/stealth - name = "Stealth" - desc = "The nanites mask their activity from superficial scans, becoming undetectable by HUDs and non-specialized scanners." - rogue_types = list(/datum/nanite_program/toxic) - use_rate = 0.2 - -/datum/nanite_program/stealth/enable_passive_effect() - . = ..() - nanites.stealth = TRUE - -/datum/nanite_program/stealth/disable_passive_effect() - . = ..() - nanites.stealth = FALSE - -/datum/nanite_program/nanite_debugging - name = "Nanite Debugging" - desc = "Enables various high-cost diagnostics in the nanites, making them able to communicate their program list to portable scanners. \ - Doing so uses some power, slightly decreasing their replication speed." - rogue_types = list(/datum/nanite_program/toxic) - use_rate = 0.1 - -/datum/nanite_program/nanite_debugging/enable_passive_effect() - . = ..() - nanites.diagnostics = TRUE - -/datum/nanite_program/nanite_debugging/disable_passive_effect() - . = ..() - nanites.diagnostics = FALSE - -/datum/nanite_program/relay - name = "Relay" - desc = "The nanites receive and relay long-range nanite signals." - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/relay/register_extra_settings() - extra_settings[NES_RELAY_CHANNEL] = new /datum/nanite_extra_setting/number(1, 1, 9999) - -/datum/nanite_program/relay/enable_passive_effect() - . = ..() - SSnanites.nanite_relays |= src - -/datum/nanite_program/relay/disable_passive_effect() - . = ..() - SSnanites.nanite_relays -= src - -/datum/nanite_program/relay/proc/relay_signal(code, relay_code, source) - if(!activated) - return - if(!host_mob) - return - var/datum/nanite_extra_setting/NS = extra_settings[NES_RELAY_CHANNEL] - if(relay_code != NS.get_value()) - return - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, code, source) - -/datum/nanite_program/relay/proc/relay_comm_signal(comm_code, relay_code, comm_message) - if(!activated) - return - if(!host_mob) - return - var/datum/nanite_extra_setting/NS = extra_settings[NES_RELAY_CHANNEL] - if(relay_code != NS.get_value()) - return - SEND_SIGNAL(host_mob, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) - -/datum/nanite_program/metabolic_synthesis - name = "Metabolic Synthesis" - desc = "The nanites use the metabolic cycle of the host to speed up their replication rate, using their extra nutrition as fuel." - use_rate = -0.5 //generates nanites - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/metabolic_synthesis/check_conditions() - if(!iscarbon(host_mob)) - return FALSE - var/mob/living/carbon/C = host_mob - if(C.nutrition <= NUTRITION_LEVEL_WELL_FED) - return FALSE - return ..() - -/datum/nanite_program/metabolic_synthesis/active_effect() - host_mob.adjust_nutrition(-0.5) - -/datum/nanite_program/access - name = "Subdermal ID" - desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." - can_trigger = TRUE - trigger_cost = 3 - trigger_cooldown = 30 - rogue_types = list(/datum/nanite_program/skin_decay) - var/access = list() - -//Syncs the nanites with the cumulative current mob's access level. Can potentially wipe existing access. -/datum/nanite_program/access/on_trigger(comm_message) - var/list/potential_items = list() - - potential_items += host_mob.get_active_held_item() - potential_items += host_mob.get_inactive_held_item() - potential_items += host_mob.pulling - - if(ishuman(host_mob)) - var/mob/living/carbon/human/H = host_mob - potential_items += H.wear_id - else if(isanimal(host_mob)) - var/mob/living/simple_animal/A = host_mob - potential_items += A.access_card - - var/list/new_access = list() - for(var/obj/item/I in potential_items) - new_access += I.GetAccess() - - access = new_access - -/datum/nanite_program/spreading - name = "Infective Exo-Locomotion" - desc = "The nanites gain the ability to survive for brief periods outside of the human body, as well as the ability to start new colonies without an integration process; \ - resulting in an extremely infective strain of nanites." - use_rate = 1.50 - rogue_types = list(/datum/nanite_program/aggressive_replication, /datum/nanite_program/necrotic) - var/spread_cooldown = 0 - -/datum/nanite_program/spreading/active_effect() - if(world.time < spread_cooldown) - return - spread_cooldown = world.time + 50 - var/list/mob/living/target_hosts = list() - for(var/mob/living/L in oview(5, host_mob)) - if(!prob(25)) - continue - if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) - continue - target_hosts += L - if(!target_hosts.len) - return - var/mob/living/infectee = pick(target_hosts) - if(prob(100 - (infectee.get_permeability_protection() * 100))) - //this will potentially take over existing nanites! - infectee.AddComponent(/datum/component/nanites, 10) - SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) - SEND_SIGNAL(infectee, COMSIG_NANITE_SET_CLOUD, nanites.cloud_id) - infectee.investigate_log("was infected by spreading nanites with cloud ID [nanites.cloud_id] by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) - -/datum/nanite_program/nanite_sting - name = "Nanite Sting" - desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster." - can_trigger = TRUE - trigger_cost = 5 - trigger_cooldown = 100 - rogue_types = list(/datum/nanite_program/glitch, /datum/nanite_program/toxic) - -/datum/nanite_program/nanite_sting/on_trigger(comm_message) - var/list/mob/living/target_hosts = list() - for(var/mob/living/L in oview(1, host_mob)) - if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD)) || SEND_SIGNAL(L, COMSIG_HAS_NANITES) || !L.Adjacent(host_mob)) - continue - target_hosts += L - if(!target_hosts.len) - consume_nanites(-5) - return - var/mob/living/infectee = pick(target_hosts) - if(prob(100 - (infectee.get_permeability_protection() * 100))) - //unlike with Infective Exo-Locomotion, this can't take over existing nanites, because Nanite Sting only targets non-hosts. - infectee.AddComponent(/datum/component/nanites, 5) - SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) - SEND_SIGNAL(infectee, COMSIG_NANITE_SET_CLOUD, nanites.cloud_id) - infectee.investigate_log("was infected by a nanite cluster with cloud ID [nanites.cloud_id] by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) - to_chat(infectee, span_warning("You feel a tiny prick.")) - -/datum/nanite_program/mitosis - name = "Mitosis" - desc = "The nanites gain the ability to self-replicate, using bluespace to power the process. Becomes more effective the more nanites are already in the host; \ - For every 50 nanite volume in the host, the production rate is increased by 0.5. The replication has also a chance to corrupt the nanite programming \ - due to copy faults - constant cloud sync is highly recommended." - use_rate = 0 - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/mitosis/active_effect() - var/rep_rate = round(nanites.nanite_volume / 50, 1) //0.5 per 50 nanite volume - rep_rate *= 0.5 - nanites.adjust_nanites(null, rep_rate) - if(prob(rep_rate)) - var/datum/nanite_program/fault = pick(nanites.programs) - if(fault == src) - return - fault.software_error() - host_mob.investigate_log("[fault] nanite program received a software error due to Mitosis program.", INVESTIGATE_NANITES) - -/datum/nanite_program/dermal_button - name = "Dermal Button" - desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites." - unique = FALSE - var/datum/action/innate/nanite_button/button - -/datum/nanite_program/dermal_button/register_extra_settings() - extra_settings[NES_SENT_CODE] = new /datum/nanite_extra_setting/number(1, 1, 9999) - extra_settings[NES_BUTTON_NAME] = new /datum/nanite_extra_setting/text("Button") - extra_settings[NES_ICON] = new /datum/nanite_extra_setting/type("power", list("blank","one","two","three","four","five","plus","minus","exclamation","question","cross","info","heart","skull","brain","brain_damage","injection","blood","shield","reaction","network","power","radioactive","electricity","magnetism","scan","repair","id","wireless","say","sleep","bomb")) - -/datum/nanite_program/dermal_button/enable_passive_effect() - . = ..() - var/datum/nanite_extra_setting/bn_name = extra_settings[NES_BUTTON_NAME] - var/datum/nanite_extra_setting/bn_icon = extra_settings[NES_ICON] - if(!button) - button = new(src, bn_name.get_value(), bn_icon.get_value()) - button.target = host_mob - button.Grant(host_mob) - -/datum/nanite_program/dermal_button/disable_passive_effect() - . = ..() - if(button) - button.Remove(host_mob) - -/datum/nanite_program/dermal_button/on_mob_remove() - . = ..() - QDEL_NULL(button) - -/datum/nanite_program/dermal_button/proc/press() - if(activated) - host_mob.visible_message(span_notice("[host_mob] presses a button on [host_mob.p_their()] forearm."), - span_notice("You press the nanite button on your forearm."), null, 2) - var/datum/nanite_extra_setting/sent_code = extra_settings[NES_SENT_CODE] - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code.get_value(), "a [name] program") - -/datum/action/innate/nanite_button - name = "Button" - icon_icon = 'icons/mob/actions/actions_items.dmi' - check_flags = AB_CHECK_HANDS_BLOCKED|AB_CHECK_IMMOBILE|AB_CHECK_CONSCIOUS - button_icon_state = "nanite_power" - var/datum/nanite_program/dermal_button/program - -/datum/action/innate/nanite_button/New(datum/nanite_program/dermal_button/_program, _name, _icon) - ..() - program = _program - name = _name - button_icon_state = "nanite_[_icon]" - -/datum/action/innate/nanite_button/Activate() - program.press() diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm deleted file mode 100644 index 84b70a65f01..00000000000 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ /dev/null @@ -1,186 +0,0 @@ -//Programs specifically engineered to cause harm to either the user or its surroundings (as opposed to ones that only do it due to broken programming) -//Very dangerous! - -/datum/nanite_program/flesh_eating - name = "Cellular Breakdown" - desc = "The nanites destroy cellular structures in the host's body, causing brute damage." - use_rate = 1.5 - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/flesh_eating/active_effect() - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - C.take_bodypart_damage(1, 0, 0) - else - host_mob.adjustBruteLoss(1, TRUE) - if(prob(3)) - to_chat(host_mob, span_warning("You feel a stab of pain from somewhere inside you.")) - -/datum/nanite_program/poison - name = "Poisoning" - desc = "The nanites deliver poisonous chemicals to the host's internal organs, causing toxin damage and vomiting." - use_rate = 1.5 - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/poison/active_effect() - host_mob.adjustToxLoss(1) - if(prob(2)) - to_chat(host_mob, span_warning("You feel nauseous.")) - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - C.vomit(20) - -/datum/nanite_program/memory_leak - name = "Memory Leak" - desc = "This program invades the memory space used by other programs, causing frequent corruptions and errors." - use_rate = 0 - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/memory_leak/active_effect() - if(prob(6)) - var/datum/nanite_program/target = pick(nanites.programs) - if(target == src) - return - target.software_error() - host_mob.investigate_log("[target] nanite program received a software error due to Memory Leak program.", INVESTIGATE_NANITES) - -/datum/nanite_program/aggressive_replication - name = "Aggressive Replication" - desc = "Nanites will consume organic matter to improve their replication rate, damaging the host. The efficiency increases with the volume of nanites, requiring 200 to break even, \ - and scaling linearly for a net positive of 0.1 production rate per 20 nanite volume beyond that." - use_rate = 1 - rogue_types = list(/datum/nanite_program/necrotic) - -/datum/nanite_program/aggressive_replication/active_effect() - var/extra_regen = round(nanites.nanite_volume / 200, 0.1) - nanites.adjust_nanites(null, extra_regen) - host_mob.adjustBruteLoss(extra_regen / 2, TRUE) - -/datum/nanite_program/meltdown - name = "Meltdown" - desc = "Causes an internal meltdown inside the nanites, causing internal burns inside the host as well as rapidly destroying the nanite population.\ - Sets the nanites' safety threshold to 0 when activated." - use_rate = 10 - rogue_types = list(/datum/nanite_program/glitch) - -/datum/nanite_program/meltdown/active_effect() - host_mob.adjustFireLoss(3.5) - -/datum/nanite_program/meltdown/enable_passive_effect() - . = ..() - to_chat(host_mob, span_userdanger("Your blood is burning!")) - nanites.safety_threshold = 0 - -/datum/nanite_program/meltdown/disable_passive_effect() - . = ..() - to_chat(host_mob, span_warning("Your blood cools down, and the pain gradually fades.")) - -/datum/nanite_program/explosive - name = "Chain Detonation" - desc = "Detonates all the nanites inside the host in a chain reaction when triggered." - can_trigger = TRUE - trigger_cost = 25 //plus every idle nanite left afterwards - trigger_cooldown = 100 //Just to avoid double-triggering - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/explosive/on_trigger(comm_message) - host_mob.visible_message(span_warning("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow..."),\ - span_userdanger("You start emitting a high-pitched buzzing, and your skin begins to glow...")) - addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150)) - -/datum/nanite_program/explosive/proc/boom() - dyn_explosion(host_mob, nanites.nanite_volume / 50) - qdel(nanites) - -//TODO make it defuse if triggered again - -/datum/nanite_program/heart_stop - name = "Heart-Stopper" - desc = "Stops the host's heart when triggered; restarts it if triggered again." - can_trigger = TRUE - trigger_cost = 12 - trigger_cooldown = 10 - rogue_types = list(/datum/nanite_program/nerve_decay) - -/datum/nanite_program/heart_stop/on_trigger(comm_message) - if(iscarbon(host_mob)) - var/mob/living/carbon/C = host_mob - var/obj/item/organ/heart/heart = C.getorganslot(ORGAN_SLOT_HEART) - if(heart) - if(heart.beating) - heart.Stop() - else - heart.Restart() - -/datum/nanite_program/emp - name = "Electromagnetic Resonance" - desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" - can_trigger = TRUE - trigger_cost = 10 - trigger_cooldown = 50 - program_flags = NANITE_EMP_IMMUNE - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/emp/on_trigger(comm_message) - empulse(host_mob, 1, 2) - -/datum/nanite_program/pyro - name = "Sub-Dermal Combustion" - desc = "The nanites cause buildup of flammable fluids under the host's skin, then ignites them." - use_rate = 4 - rogue_types = list(/datum/nanite_program/skin_decay, /datum/nanite_program/cryo) - -/datum/nanite_program/pyro/check_conditions() - if(host_mob.fire_stacks >= 10 && host_mob.on_fire) - return FALSE - return ..() - -/datum/nanite_program/pyro/active_effect() - host_mob.adjust_fire_stacks(1) - host_mob.IgniteMob() - -/datum/nanite_program/cryo - name = "Cryogenic Treatment" - desc = "The nanites rapidly sink heat through the host's skin, lowering their temperature." - use_rate = 1 - rogue_types = list(/datum/nanite_program/skin_decay, /datum/nanite_program/pyro) - -/datum/nanite_program/cryo/check_conditions() - if(host_mob.bodytemperature <= 70) - return FALSE - return ..() - -/datum/nanite_program/cryo/active_effect() - host_mob.adjust_bodytemperature(-rand(15,25), 50) - -/datum/nanite_program/comm/mind_control - name = "Mind Control" - desc = "The nanites imprint an absolute directive onto the host's brain for one minute when triggered." - trigger_cost = 30 - trigger_cooldown = 1800 - rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - -/datum/nanite_program/comm/mind_control/register_extra_settings() - . = ..() - extra_settings[NES_DIRECTIVE] = new /datum/nanite_extra_setting/text("...") - -/datum/nanite_program/comm/mind_control/on_trigger(comm_message) - if(host_mob.stat == DEAD) - return - var/sent_directive = comm_message - if(!comm_message) - var/datum/nanite_extra_setting/ES = extra_settings[NES_DIRECTIVE] - sent_directive = ES.get_value() - brainwash(host_mob, sent_directive) - log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[sent_directive]'.") - host_mob.log_message("has been brainwashed with the objective '[sent_directive]' triggered by a mind control nanite program.", LOG_ATTACK) - addtimer(CALLBACK(src, .proc/end_brainwashing), 600) - -/datum/nanite_program/comm/mind_control/proc/end_brainwashing() - if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed)) - host_mob.mind.remove_antag_datum(/datum/antagonist/brainwashed) - log_game("[key_name(host_mob)] is no longer brainwashed by nanites.") - -/datum/nanite_program/comm/mind_control/disable_passive_effect() - . = ..() - end_brainwashing() diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm deleted file mode 100644 index cc7389520f0..00000000000 --- a/code/modules/research/nanites/nanite_remote.dm +++ /dev/null @@ -1,236 +0,0 @@ -#define REMOTE_MODE_OFF "Off" -#define REMOTE_MODE_SELF "Local" -#define REMOTE_MODE_TARGET "Targeted" -#define REMOTE_MODE_AOE "Area" -#define REMOTE_MODE_RELAY "Relay" - -/obj/item/nanite_remote - name = "nanite remote control" - desc = "A device that can remotely control active nanites through wireless signals." - w_class = WEIGHT_CLASS_SMALL - req_access = list(ACCESS_ROBOTICS) - icon = 'icons/obj/device.dmi' - icon_state = "nanite_remote" - item_flags = NOBLUDGEON - var/locked = FALSE //Can be locked, so it can be given to users with a set code and mode - var/mode = REMOTE_MODE_OFF - var/list/saved_settings = list() - var/last_id = 0 - var/code = 0 - var/relay_code = 0 - var/current_program_name = "Program" - -/obj/item/nanite_remote/examine(mob/user) - . = ..() - if(locked) - . += span_notice("Alt-click to unlock.") - -/obj/item/nanite_remote/AltClick(mob/user) - . = ..() - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(locked) - if(allowed(user)) - to_chat(user, span_notice("You unlock [src].")) - locked = FALSE - update_appearance() - else - to_chat(user, span_warning("Access denied.")) - -/obj/item/nanite_remote/emag_act(mob/user) - if(obj_flags & EMAGGED) - return - to_chat(user, span_warning("You override [src]'s ID lock.")) - obj_flags |= EMAGGED - if(locked) - locked = FALSE - update_appearance() - -/obj/item/nanite_remote/update_overlays() - . = ..() - if(obj_flags & EMAGGED) - . += "nanite_remote_emagged" - if(locked) - . += "nanite_remote_locked" - -/obj/item/nanite_remote/afterattack(atom/target, mob/user, etc) - switch(mode) - if(REMOTE_MODE_OFF) - return - if(REMOTE_MODE_SELF) - to_chat(user, span_notice("You activate [src], signaling the nanites in your bloodstream.")) - signal_mob(user, code, key_name(user)) - if(REMOTE_MODE_TARGET) - if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, span_notice("You activate [src], signaling the nanites inside [target].")) - signal_mob(target, code, key_name(user)) - if(REMOTE_MODE_AOE) - to_chat(user, span_notice("You activate [src], signaling the nanites inside every host around you.")) - for(var/mob/living/L in view(user, 7)) - signal_mob(L, code, key_name(user)) - if(REMOTE_MODE_RELAY) - to_chat(user, span_notice("You activate [src], signaling all connected relay nanites.")) - signal_relay(code, relay_code, key_name(user)) - -/obj/item/nanite_remote/proc/signal_mob(mob/living/M, code, source) - SEND_SIGNAL(M, COMSIG_NANITE_SIGNAL, code, source) - -/obj/item/nanite_remote/proc/signal_relay(code, relay_code, source) - for(var/X in SSnanites.nanite_relays) - var/datum/nanite_program/relay/N = X - N.relay_signal(code, relay_code, source) - -/obj/item/nanite_remote/ui_state(mob/user) - return GLOB.hands_state - -/obj/item/nanite_remote/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "NaniteRemote", name) - ui.open() - -/obj/item/nanite_remote/ui_data() - var/list/data = list() - data["code"] = code - data["relay_code"] = relay_code - data["mode"] = mode - data["locked"] = locked - data["saved_settings"] = saved_settings - data["program_name"] = current_program_name - return data - -/obj/item/nanite_remote/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("set_code") - if(locked) - return - var/new_code = text2num(params["code"]) - if(!isnull(new_code)) - new_code = clamp(round(new_code, 1),0,9999) - code = new_code - . = TRUE - if("set_relay_code") - if(locked) - return - var/new_code = text2num(params["code"]) - if(!isnull(new_code)) - new_code = clamp(round(new_code, 1),0,9999) - relay_code = new_code - . = TRUE - if("update_name") - current_program_name = params["name"] - . = TRUE - if("save") - if(locked) - return - var/new_save = list() - new_save["id"] = last_id + 1 - last_id++ - new_save["name"] = current_program_name - new_save["code"] = code - new_save["mode"] = mode - new_save["relay_code"] = relay_code - - saved_settings += list(new_save) - . = TRUE - if("load") - var/code_id = params["save_id"] - var/list/setting - for(var/list/X in saved_settings) - if(X["id"] == text2num(code_id)) - setting = X - break - if(setting) - code = setting["code"] - mode = setting["mode"] - relay_code = setting["relay_code"] - . = TRUE - if("remove_save") - if(locked) - return - var/code_id = params["save_id"] - for(var/list/setting in saved_settings) - if(setting["id"] == text2num(code_id)) - saved_settings -= list(setting) - break - . = TRUE - if("select_mode") - if(locked) - return - mode = params["mode"] - . = TRUE - if("lock") - if(!(obj_flags & EMAGGED)) - locked = TRUE - update_appearance() - . = TRUE - - -/obj/item/nanite_remote/comm - name = "nanite communication remote" - desc = "A device that can send text messages to specific programs." - icon_state = "nanite_comm_remote" - var/comm_message = "" - -/obj/item/nanite_remote/comm/afterattack(atom/target, mob/user, etc) - switch(mode) - if(REMOTE_MODE_OFF) - return - if(REMOTE_MODE_SELF) - to_chat(user, span_notice("You activate [src], signaling the nanites in your bloodstream.")) - signal_mob(user, code, key_name(user)) - if(REMOTE_MODE_TARGET) - if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, span_notice("You activate [src], signaling the nanites inside [target].")) - signal_mob(target, code, key_name(user)) - if(REMOTE_MODE_AOE) - to_chat(user, span_notice("You activate [src], signaling the nanites inside every host around you.")) - for(var/mob/living/L in view(user, 7)) - signal_mob(L, code, key_name(user)) - if(REMOTE_MODE_RELAY) - to_chat(user, span_notice("You activate [src], signaling all connected relay nanites.")) - signal_relay(code, relay_code, key_name(user)) - -/obj/item/nanite_remote/comm/signal_mob(mob/living/M, code, source) - SEND_SIGNAL(M, COMSIG_NANITE_COMM_SIGNAL, code, comm_message, source) - -/obj/item/nanite_remote/comm/signal_relay(code, relay_code, source) - for(var/X in SSnanites.nanite_relays) - var/datum/nanite_program/relay/N = X - N.relay_comm_signal(code, relay_code, comm_message) - -/obj/item/nanite_remote/comm/ui_data() - var/list/data = list() - data["comms"] = TRUE - data["code"] = code - data["relay_code"] = relay_code - data["message"] = comm_message - data["mode"] = mode - data["locked"] = locked - data["saved_settings"] = saved_settings - data["program_name"] = current_program_name - - return data - -/obj/item/nanite_remote/comm/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("set_message") - if(locked) - return - var/new_message = html_encode(params["value"]) - if(!new_message) - return - comm_message = new_message - . = TRUE - -#undef REMOTE_MODE_OFF -#undef REMOTE_MODE_SELF -#undef REMOTE_MODE_TARGET -#undef REMOTE_MODE_AOE -#undef REMOTE_MODE_RELAY diff --git a/code/modules/research/nanites/program_disks.dm b/code/modules/research/nanites/program_disks.dm deleted file mode 100644 index 02f6d7cc280..00000000000 --- a/code/modules/research/nanites/program_disks.dm +++ /dev/null @@ -1,133 +0,0 @@ -//Names are intentionally all the same - track your nanites, or use a hand labeler -//This also means that you can give flesh melting nanites to your victims if you feel like it - -/obj/item/disk/nanite_program - name = "nanite program disk" - desc = "A disk capable of storing nanite programs. Can be customized using a Nanite Programming Console." - var/program_type - var/datum/nanite_program/program - -/obj/item/disk/nanite_program/Initialize() - . = ..() - if(program_type) - program = new program_type - -/obj/item/disk/nanite_program/aggressive_replication - program_type = /datum/nanite_program/aggressive_replication - -/obj/item/disk/nanite_program/metabolic_synthesis - program_type = /datum/nanite_program/metabolic_synthesis - -/obj/item/disk/nanite_program/viral - program_type = /datum/nanite_program/viral - -/obj/item/disk/nanite_program/meltdown - program_type = /datum/nanite_program/meltdown - -/obj/item/disk/nanite_program/monitoring - program_type = /datum/nanite_program/monitoring - -/obj/item/disk/nanite_program/relay - program_type = /datum/nanite_program/relay - -/obj/item/disk/nanite_program/emp - program_type = /datum/nanite_program/emp - -/obj/item/disk/nanite_program/spreading - program_type = /datum/nanite_program/spreading - -/obj/item/disk/nanite_program/regenerative - program_type = /datum/nanite_program/regenerative - -/obj/item/disk/nanite_program/regenerative_advanced - program_type = /datum/nanite_program/regenerative_advanced - -/obj/item/disk/nanite_program/temperature - program_type = /datum/nanite_program/temperature - -/obj/item/disk/nanite_program/purging - program_type = /datum/nanite_program/purging - -/obj/item/disk/nanite_program/purging_advanced - program_type = /datum/nanite_program/purging_advanced - -/obj/item/disk/nanite_program/brain_heal - program_type = /datum/nanite_program/brain_heal - -/obj/item/disk/nanite_program/brain_heal_advanced - program_type = /datum/nanite_program/brain_heal_advanced - -/obj/item/disk/nanite_program/blood_restoring - program_type = /datum/nanite_program/blood_restoring - -/obj/item/disk/nanite_program/repairing - program_type = /datum/nanite_program/repairing - -/obj/item/disk/nanite_program/nervous - program_type = /datum/nanite_program/nervous - -/obj/item/disk/nanite_program/hardening - program_type = /datum/nanite_program/hardening - -/obj/item/disk/nanite_program/coagulating - program_type = /datum/nanite_program/coagulating - -/obj/item/disk/nanite_program/necrotic - program_type = /datum/nanite_program/necrotic - -/obj/item/disk/nanite_program/brain_decay - program_type = /datum/nanite_program/brain_decay - -/obj/item/disk/nanite_program/pyro - program_type = /datum/nanite_program/pyro - -/obj/item/disk/nanite_program/cryo - program_type = /datum/nanite_program/cryo - -/obj/item/disk/nanite_program/toxic - program_type = /datum/nanite_program/toxic - -/obj/item/disk/nanite_program/suffocating - program_type = /datum/nanite_program/suffocating - -/obj/item/disk/nanite_program/heart_stop - program_type = /datum/nanite_program/heart_stop - -/obj/item/disk/nanite_program/explosive - program_type = /datum/nanite_program/explosive - -/obj/item/disk/nanite_program/shock - program_type = /datum/nanite_program/shocking - -/obj/item/disk/nanite_program/sleepy - program_type = /datum/nanite_program/sleepy - -/obj/item/disk/nanite_program/paralyzing - program_type = /datum/nanite_program/paralyzing - -/obj/item/disk/nanite_program/fake_death - program_type = /datum/nanite_program/fake_death - -/obj/item/disk/nanite_program/pacifying - program_type = /datum/nanite_program/pacifying - -/obj/item/disk/nanite_program/glitch - program_type = /datum/nanite_program/glitch - -/obj/item/disk/nanite_program/brain_misfire - program_type = /datum/nanite_program/pacifying - -/obj/item/disk/nanite_program/skin_decay - program_type = /datum/nanite_program/pacifying - -/obj/item/disk/nanite_program/nerve_decay - program_type = /datum/nanite_program/pacifying - -/obj/item/disk/nanite_program/refractive - program_type = /datum/nanite_program/refractive - -/obj/item/disk/nanite_program/conductive - program_type = /datum/nanite_program/pacifying - -/obj/item/disk/nanite_program/stun - program_type = /datum/nanite_program/stun diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm deleted file mode 100644 index 6194f4fa336..00000000000 --- a/code/modules/research/nanites/public_chamber.dm +++ /dev/null @@ -1,206 +0,0 @@ -/obj/machinery/public_nanite_chamber - name = "public nanite chamber" - desc = "A device that can rapidly implant cloud-synced nanites without an external operator." - circuit = /obj/item/circuitboard/machine/public_nanite_chamber - icon = 'icons/obj/machines/nanite_chamber.dmi' - icon_state = "nanite_chamber" - base_icon_state = "nanite_chamber" - layer = ABOVE_WINDOW_LAYER - use_power = IDLE_POWER_USE - anchored = TRUE - density = TRUE - obj_flags = NO_BUILD // Becomes undense when the door is open - idle_power_usage = 50 - active_power_usage = 300 - - var/cloud_id = 1 - var/locked = FALSE - var/breakout_time = 1200 - var/busy = FALSE - var/busy_icon_state - var/message_cooldown = 0 - -/obj/machinery/public_nanite_chamber/Initialize() - . = ..() - occupant_typecache = GLOB.typecache_living - -/obj/machinery/public_nanite_chamber/RefreshParts() - var/obj/item/circuitboard/machine/public_nanite_chamber/board = circuit - if(board) - cloud_id = board.cloud_id - -/obj/machinery/public_nanite_chamber/proc/set_busy(status, working_icon) - busy = status - busy_icon_state = working_icon - update_appearance() - -/obj/machinery/public_nanite_chamber/proc/inject_nanites(mob/living/attacker) - if(machine_stat & (NOPOWER|BROKEN)) - return - if((machine_stat & MAINT) || panel_open) - return - if(!occupant || busy) - return - - var/locked_state = locked - locked = TRUE - - //TODO OMINOUS MACHINE SOUNDS - set_busy(TRUE, "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),60) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state, attacker),80) - -/obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state, mob/living/attacker) - //TODO MACHINE DING - locked = locked_state - set_busy(FALSE) - if(!occupant) - return - if(attacker) - occupant.investigate_log("was injected with nanites with cloud ID [cloud_id] by [key_name(attacker)] using [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) - log_combat(attacker, occupant, "injected", null, "with nanites via [src]") - occupant.AddComponent(/datum/component/nanites, 75, cloud_id) - -/obj/machinery/public_nanite_chamber/proc/change_cloud(mob/living/attacker) - if(machine_stat & (NOPOWER|BROKEN)) - return - if((machine_stat & MAINT) || panel_open) - return - if(!occupant || busy) - return - - var/locked_state = locked - locked = TRUE - - set_busy(TRUE, "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),40) - addtimer(CALLBACK(src, .proc/complete_cloud_change, locked_state, attacker),60) - -/obj/machinery/public_nanite_chamber/proc/complete_cloud_change(locked_state, mob/living/attacker) - locked = locked_state - set_busy(FALSE) - if(!occupant) - return - if(attacker) - occupant.investigate_log("had their nanite cloud ID changed into [cloud_id] by [key_name(attacker)] using [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) - SEND_SIGNAL(occupant, COMSIG_NANITE_SET_CLOUD, cloud_id) - -/obj/machinery/public_nanite_chamber/update_icon_state() - //running and someone in there - if(occupant) - icon_state = busy ? busy_icon_state : "[base_icon_state]_occupied" - return ..() - //running - icon_state = "[base_icon_state][state_open ? "_open" : null]" - return ..() - -/obj/machinery/public_nanite_chamber/update_overlays() - . = ..() - if((machine_stat & MAINT) || panel_open) - . += "maint" - return - if(machine_stat & (NOPOWER|BROKEN)) - return - - if(busy || locked) - . += "red" - if(locked) - . += "bolted" - return - . += "green" - -/obj/machinery/public_nanite_chamber/proc/toggle_open(mob/user) - if(panel_open) - to_chat(user, span_notice("Close the maintenance panel first.")) - return - - if(state_open) - close_machine(null, user) - return - - else if(locked) - to_chat(user, span_notice("The bolts are locked down, securing the door shut.")) - return - - open_machine() - -/obj/machinery/public_nanite_chamber/container_resist_act(mob/living/user) - if(!locked) - open_machine() - return - if(busy) - return - user.changeNext_move(CLICK_CD_BREAKOUT) - user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ - span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ - span_hear("You hear a metallic creaking from [src].")) - if(do_after(user,(breakout_time), target = src)) - if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) - return - locked = FALSE - user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ - span_notice("You successfully break out of [src]!")) - open_machine() - -/obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user, mob/living/attacker) - if(!state_open) - return FALSE - - ..() - - . = TRUE - - addtimer(CALLBACK(src, .proc/try_inject_nanites, attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts - -/obj/machinery/public_nanite_chamber/proc/try_inject_nanites(mob/living/attacker) - if(occupant) - var/mob/living/L = occupant - if(SEND_SIGNAL(L, COMSIG_HAS_NANITES)) - var/datum/component/nanites/nanites = L.GetComponent(/datum/component/nanites) - if(nanites && nanites.cloud_id != cloud_id) - change_cloud(attacker) - return - if(L.mob_biotypes & (MOB_ORGANIC | MOB_UNDEAD)) - inject_nanites(attacker) - -/obj/machinery/public_nanite_chamber/open_machine() - if(state_open) - return FALSE - - ..() - - return TRUE - -/obj/machinery/public_nanite_chamber/relaymove(mob/living/user, direction) - if(user.stat || locked) - if(message_cooldown <= world.time) - message_cooldown = world.time + 50 - to_chat(user, span_warning("[src]'s door won't budge!")) - return - open_machine() - -/obj/machinery/public_nanite_chamber/attackby(obj/item/I, mob/user, params) - if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed - return - - if(default_pry_open(I)) - return - - if(default_deconstruction_crowbar(I)) - return - - return ..() - -/obj/machinery/public_nanite_chamber/interact(mob/user) - toggle_open(user) - -/obj/machinery/public_nanite_chamber/MouseDrop_T(mob/target, mob/user) - if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) || !Adjacent(target) || !user.Adjacent(target) || !iscarbon(target)) - return - if(close_machine(target, user)) - log_combat(user, target, "inserted", null, "into [src].") - add_fingerprint(user) diff --git a/code/modules/research/nanites/rules.dm b/code/modules/research/nanites/rules.dm deleted file mode 100644 index 7eb793cd832..00000000000 --- a/code/modules/research/nanites/rules.dm +++ /dev/null @@ -1,150 +0,0 @@ -/datum/nanite_rule - var/name = "Generic Condition" - var/desc = "When triggered, the program is active" - var/datum/nanite_program/program - -/datum/nanite_rule/New(datum/nanite_program/new_program) - program = new_program - if(LAZYLEN(new_program.rules) <= 5) //Avoid infinite stacking rules - new_program.rules += src - else - qdel(src) - -/datum/nanite_rule/proc/remove() - program.rules -= src - program = null - qdel(src) - -/datum/nanite_rule/proc/check_rule() - return TRUE - -/datum/nanite_rule/proc/display() - return name - -/datum/nanite_rule/proc/copy_to(datum/nanite_program/new_program) - new type(new_program) - -/datum/nanite_rule/health - name = "Health" - desc = "Checks the host's health status." - - var/threshold = 50 - var/above = TRUE - -/datum/nanite_rule/health/check_rule() - var/health_percent = program.host_mob.health / program.host_mob.maxHealth * 100 - if(above) - if(health_percent >= threshold) - return TRUE - else - if(health_percent < threshold) - return TRUE - return FALSE - -/datum/nanite_rule/health/display() - return "[name] [above ? ">" : "<"] [threshold]%" - -/datum/nanite_rule/health/copy_to(datum/nanite_program/new_program) - var/datum/nanite_rule/health/rule = new(new_program) - rule.above = above - rule.threshold = threshold - -//TODO allow inversion -/datum/nanite_rule/crit - name = "Crit" - desc = "Checks if the host is in critical condition." - -/datum/nanite_rule/crit/check_rule() - return HAS_TRAIT(program.host_mob, TRAIT_CRITICAL_CONDITION) - - -/datum/nanite_rule/death - name = "Death" - desc = "Checks if the host is dead." - -/datum/nanite_rule/death/check_rule() - if(program.host_mob.stat == DEAD || HAS_TRAIT(program.host_mob, TRAIT_FAKEDEATH)) - return TRUE - return FALSE - -/datum/nanite_rule/cloud_sync - name = "Cloud Sync" - desc = "Checks if the nanites have cloud sync enabled or disabled." - var/check_type = "Enabled" - -/datum/nanite_rule/cloud_sync/check_rule() - if(check_type == "Enabled") - return program.nanites.cloud_active - else - return !program.nanites.cloud_active - -/datum/nanite_rule/cloud_sync/copy_to(datum/nanite_program/new_program) - var/datum/nanite_rule/cloud_sync/rule = new(new_program) - rule.check_type = check_type - -/datum/nanite_rule/cloud_sync/display() - return "[name]:[check_type]" - -/datum/nanite_rule/nanites - name = "Nanite Volume" - desc = "Checks the host's nanite volume." - - var/threshold = 50 - var/above = TRUE - -/datum/nanite_rule/nanites/check_rule() - var/nanite_percent = (program.nanites.nanite_volume - program.nanites.safety_threshold)/(program.nanites.max_nanites - program.nanites.safety_threshold)*100 - if(above) - if(nanite_percent >= threshold) - return TRUE - else - if(nanite_percent < threshold) - return TRUE - return FALSE - -/datum/nanite_rule/nanites/copy_to(datum/nanite_program/new_program) - var/datum/nanite_rule/nanites/rule = new(new_program) - rule.above = above - rule.threshold = threshold - -/datum/nanite_rule/nanites/display() - return "[name] [above ? ">" : "<"] [threshold]%" - -/datum/nanite_rule/damage - name = "Damage" - desc = "Checks the host's damage." - - var/threshold = 50 - var/above = TRUE - var/damage_type = BRUTE - -/datum/nanite_rule/damage/check_rule() - var/damage_amt = 0 - switch(damage_type) - if(BRUTE) - damage_amt = program.host_mob.getBruteLoss() - if(BURN) - damage_amt = program.host_mob.getFireLoss() - if(TOX) - damage_amt = program.host_mob.getToxLoss() - if(OXY) - damage_amt = program.host_mob.getOxyLoss() - if(CLONE) - damage_amt = program.host_mob.getCloneLoss() - - if(above) - if(damage_amt >= threshold) - return TRUE - else - if(damage_amt < threshold) - return TRUE - return FALSE - -/datum/nanite_rule/damage/copy_to(datum/nanite_program/new_program) - var/datum/nanite_rule/damage/rule = new(new_program) - rule.above = above - rule.threshold = threshold - rule.damage_type = damage_type - -/datum/nanite_rule/damage/display() - return "[damage_type] [above ? ">" : "<"] [threshold]" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 1ff47f3f5c3..62d9dba92db 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -1689,188 +1689,6 @@ ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) -/////////////////////////Nanites///////////////////////// -/datum/techweb_node/nanite_base - id = "nanite_base" - display_name = "Basic Nanite Programming" - description = "The basics of nanite construction and programming." - prereq_ids = list("datatheory") - design_ids = list( - "access_nanites", - "debugging_nanites", - "monitoring_nanites", - "nanite_chamber", - "nanite_chamber_control", - "nanite_cloud_control", - "nanite_comm_remote", - "nanite_disk", - "nanite_program_hub", - "nanite_programmer", - "nanite_remote", - "nanite_scanner", - "public_nanite_chamber", - "relay_nanites", - "relay_repeater_nanites", - "repairing_nanites", - "repeater_nanites", - "sensor_nanite_volume", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) - -/datum/techweb_node/nanite_smart - id = "nanite_smart" - display_name = "Smart Nanite Programming" - description = "Nanite programs that require nanites to perform complex actions, act independently, roam or seek targets." - prereq_ids = list("nanite_base","robotics") - design_ids = list( - "memleak_nanites", - "metabolic_nanites", - "purging_nanites", - "sensor_voice_nanites", - "stealth_nanites", - "voice_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500, TECHWEB_POINT_TYPE_NANITES = 500) - -/datum/techweb_node/nanite_mesh - id = "nanite_mesh" - display_name = "Mesh Nanite Programming" - description = "Nanite programs that require static structures and membranes." - prereq_ids = list("nanite_base","engineering") - design_ids = list( - "conductive_nanites", - "cryo_nanites", - "dermal_button_nanites", - "emp_nanites", - "hardening_nanites", - "refractive_nanites", - "shock_nanites", - "temperature_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500, TECHWEB_POINT_TYPE_NANITES = 500) - -/datum/techweb_node/nanite_bio - id = "nanite_bio" - display_name = "Biological Nanite Programming" - description = "Nanite programs that require complex biological interaction." - prereq_ids = list("nanite_base","biotech") - design_ids = list( - "bloodheal_nanites", - "coagulating_nanites", - "flesheating_nanites", - "poison_nanites", - "regenerative_nanites", - "sensor_crit_nanites", - "sensor_damage_nanites", - "sensor_death_nanites", - "sensor_health_nanites", - "sensor_species_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500, TECHWEB_POINT_TYPE_NANITES = 500) - -/datum/techweb_node/nanite_neural - id = "nanite_neural" - display_name = "Neural Nanite Programming" - description = "Nanite programs affecting nerves and brain matter." - prereq_ids = list("nanite_bio") - design_ids = list( - "bad_mood_nanites", - "brainheal_nanites", - "good_mood_nanites", - "nervous_nanites", - "paralyzing_nanites", - "selfscan_nanites", - "stun_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 1000) - -/datum/techweb_node/nanite_synaptic - id = "nanite_synaptic" - display_name = "Synaptic Nanite Programming" - description = "Nanite programs affecting mind and thoughts." - prereq_ids = list("nanite_neural","neural_programming") - design_ids = list( - "blinding_nanites", - "hallucination_nanites", - "mindshield_nanites", - "mute_nanites", - "pacifying_nanites", - "sleep_nanites", - "speech_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 1000) - -/datum/techweb_node/nanite_harmonic - id = "nanite_harmonic" - display_name = "Harmonic Nanite Programming" - description = "Nanite programs that require seamless integration between nanites and biology. Passively increases nanite regeneration rate for all clouds upon researching." - prereq_ids = list("nanite_bio","nanite_smart","nanite_mesh") - design_ids = list( - "aggressive_nanites", - "brainheal_plus_nanites", - "defib_nanites", - "fakedeath_nanites", - "purging_plus_nanites", - "regenerative_plus_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000, TECHWEB_POINT_TYPE_NANITES = 3000) - -/datum/techweb_node/nanite_combat - id = "nanite_military" - display_name = "Military Nanite Programming" - description = "Nanite programs that perform military-grade functions." - prereq_ids = list("nanite_harmonic", "syndicate_basic") - design_ids = list( - "explosive_nanites", - "meltdown_nanites", - "nanite_sting_nanites", - "pyro_nanites", - "viral_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500, TECHWEB_POINT_TYPE_NANITES = 2500) - -/datum/techweb_node/nanite_hazard - id = "nanite_hazard" - display_name = "Hazard Nanite Programs" - description = "Extremely advanced Nanite programs with the potential of being extremely dangerous." - prereq_ids = list("nanite_harmonic", "alientech") - design_ids = list( - "mindcontrol_nanites", - "mitosis_nanites", - "spreading_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000, TECHWEB_POINT_TYPE_NANITES = 4000) - -/datum/techweb_node/nanite_replication_protocols - id = "nanite_replication_protocols" - display_name = "Nanite Replication Protocols" - description = "Protocols that overwrite the default nanite replication routine to achieve more efficiency in certain circumstances." - prereq_ids = list("nanite_smart") - design_ids = list( - "factory_nanites", - "kickstart_nanites", - "offline_nanites", - "pyramid_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 2500) - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/nanite_storage_protocols - id = "nanite_storage_protocols" - display_name = "Nanite Storage Protocols" - description = "Protocols that overwrite the default nanite storage routine to achieve more efficiency or greater capacity." - prereq_ids = list("nanite_smart") - design_ids = list( - "free_range_nanites", - "hive_nanites", - "unsafe_storage_nanites", - "zip_nanites", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 2500) - hidden = TRUE - experimental = TRUE - ////////////////////////Alien technology//////////////////////// /datum/techweb_node/alientech //AYYYYYYYYLMAOO tech id = "alientech" diff --git a/code/modules/unit_tests/designs.dm b/code/modules/unit_tests/designs.dm index 7ef6658959e..2867eeee369 100644 --- a/code/modules/unit_tests/designs.dm +++ b/code/modules/unit_tests/designs.dm @@ -3,11 +3,10 @@ /datum/unit_test/designs/Run() //Can't use allocate because of bug with certain datums var/datum/design/default_design = new /datum/design() - var/datum/design/nanites/default_design_nanites = new /datum/design/nanites() var/datum/design/surgery/default_design_surgery = new /datum/design/surgery() for(var/path in subtypesof(/datum/design)) - if (ispath(path, /datum/design/nanites) || ispath(path, /datum/design/surgery)) //We are checking nanites and surgery design separatly later since they work differently + if (ispath(path, /datum/design/surgery)) //We are checking surgery design separatly later since they work differently continue var/datum/design/current_design = new path //Create an instance of each design if (current_design.id == DESIGN_ID_IGNORE) //Don't check designs with ignore ID @@ -20,11 +19,6 @@ else if (!isnull(current_design.build_path) || !isnull(current_design.build_path)) // //Design requires no materials but creates stuff Fail("Design [current_design.type] requires NO materials but has build_path or make_reagents set") - for(var/path in subtypesof(/datum/design/nanites)) - var/datum/design/nanites/current_design = new path //Create an instance of each design - if (isnull(current_design.program_type) || current_design.program_type == default_design_nanites.program_type) //Check if the Nanite design provides a program - Fail("Nanite Design [current_design.type] does not have have any program_type set") - for(var/path in subtypesof(/datum/design/surgery)) var/datum/design/surgery/current_design = new path //Create an instance of each design if (isnull(current_design.id) || current_design.id == default_design_surgery.id) //Check if ID was not set diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index a97b6dad692..74af8daa69a 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -133,13 +133,13 @@ /obj/item/circuit_component/bci_action/proc/update_action() bci_action.name = button_name.input_value - bci_action.button_icon_state = "nanite_[replacetextEx(lowertext(current_option), " ", "_")]" + bci_action.button_icon_state = "bci_[replacetextEx(lowertext(current_option), " ", "_")]" /datum/action/innate/bci_action name = "Action" icon_icon = 'icons/mob/actions/actions_items.dmi' check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "nanite_power" + button_icon_state = "bci_power" var/obj/item/circuit_component/bci_action/circuit_component @@ -317,9 +317,9 @@ name = "brain-computer interface manipulation chamber" desc = "A machine that, when given a brain-computer interface, will implant it into an occupant. Otherwise, will remove any brain-computer interfaces they already have." circuit = /obj/item/circuitboard/machine/bci_implanter - icon = 'icons/obj/machines/nanite_chamber.dmi' - icon_state = "nanite_chamber" - base_icon_state = "nanite_chamber" + icon = 'icons/obj/machines/bci_implanter.dmi' + icon_state = "bci_implanter" + base_icon_state = "bci_implanter" layer = ABOVE_WINDOW_LAYER use_power = IDLE_POWER_USE anchored = TRUE diff --git a/icons/mob/actions/actions_items.dmi b/icons/mob/actions/actions_items.dmi index 9242e1f02aed6ac2a0d2b59c8b4ee8caf64b630b..5e947b4c8a21cb37c9ccf2bbeeadde90c7e64575 100644 GIT binary patch delta 523 zcmV+m0`&c?b**)fB!A?3R9JLGWpiV4X>fFDZ*Bkpc$}4$!D`$<42IA4Qw+(qgeJ|^ zm$IQOC3%HGBg?kp@yOMT*SmT89s(tWY)3s9Z207n{$Koa>%KqzIKH^U^RYdVW|rhS z_jvcUZFcU<ufHfFn^LCp-iMc?_3OP+S3~4;)9&4Xdum`vrUc9fycJ#DZ<5d?*8uK%ZKN~ zF~~kdNOQd*WG|`SOF;Hz7aKPz+5R}lrZ$jICT@*e-Q|Gn7fwcUm7Q!&P6S%dmVoT@ zyj@R>zet6i1+ehRrf5c}2UkG$oCcelsFH0;DXqXZsekB<5f&(Hh}nSbe{Gb_FxO)) zAp4z_A{l4Pa4~T~fo)v|1x~()1xA~-oL&jdB2XkO%E-mm_yS|1!nq#20omthx#Zp<@z0Y>z-Z??(lqUe*+*}#g8jbS&9GvAOJ~3K~#90 N?VWje6tf=!jW|$+25|rY delta 507 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 literal 14933 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 D^pZYs diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index b25bb95c1c38782f076cf00122de0647fc55c7b3..effab4e60a724e2566d334bfbd1e54a9e83aa9f1 100644 GIT binary patch literal 118220 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

-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

wB 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 ZskHg;Z!h%1jVl1~VQgTgU#aUH{U4HNI{^Ry literal 122826 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 z%0A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

Z@*ngr5)42~>7t3mSAd^mq${?lB=>f^>q13{C=` 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

|q*;6(La{>4UI%S>FxWJfe^>tvc* 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 diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index 535232587d4caf9bb44eabde8383ff53d55840b3..c3c2c6a7028609215b6ceefe17d2ed95eafe5844 100644 GIT binary patch delta 15247 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 delta 15335 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 z zp6%4u6vdjve1`}`ZU)S7gkd}0jRis`TvJAco*amuko#Bqd=)8ln+=atQ^saQ4wNmKQ{Z^~U?v zcJ~PO0I@HDSV9Fn{Fovsj{;`=S-Z`MuaFxT8N%4un>uWV)`G>FHKtOjz2IJ2#KRt(5!if8tMy!MhUSbm)Y{Lx)AiaMFKWI3*)3F4fi}x4sQdat zVy+%4s(l%%J9Tr6nmYjk8p_3Z3O}4U6*J(yUbx6zoV`TBFw9q{QyW80wY>~`-dQ|C zg^DXL&b_EW)OG})UuuRR+4(~V$K=U!{RcBdyr@zQ{};w$g ziQsQ_B3P%G+N?u(uPSCQ*d&oqNkBvKuT2B=jI%@E94{jbgho&&Eb|bWouH%jH2g(Ya(w8<`Jz5It zcU;IeCnXUg8Tu5hkV9mo5v`O_lh7HIgDI~aiFFa_kZD3SxzQga$zdCYG2I0xVN*2I0}C>)17%E(41W&oP4%oVTCU;P39vW4l#qs! zwb@=&+C>;)v5HHp&MncP)kI-*b%Bg5NcQ7>N7}Q4yl&?tVDBC$Ja*u2-i~Ln>?K*m zU_ZJRB;Hf);wux!O>#6MNZSZ zP|@jW!^6*g!9vv6_<0ZlAV0WI)@X>|rrsT{n#ul1!p9#Wwe-1kpaJs<2_*CP_Jx4YhQir~`c$|o!|L-0y*SJr!}aL6R8i%dn>na{ zPe$tOjNswJQ%K^s0=hr4_)Z5IG3wup)V==!v*BzIq6*zrAvnr6c#ad>WAXfF%oGEb zz^4m2Fmp2Zydc2%aY}e5=}R?27m~Ted)6V4bi~4p=lP~@Z&MS+)dJOmX)pX8x$=+b zEH7h&@?09YguE>_3>e8vy=_(qi|dTV0v9Y%PyF{kJPLH!iQACIsXMH^#3slKN4I)| z5Q+5_FE-te?aAL0*Hokf4WB$xX<0s2i8nVC3FnA?CTun-=Gpuo-{5J~<}9u>NPvHp{u}-R4%cXKas#iHm#dBK=cXR_!<=@xxrWC1EDGH6>x%1i>ODysCKw)5QXCttJ zJ)?{!5v26)NZ$|t!hz~zG^<<+NM1)R&zhE!ak1eO==a&i*~y*}e!RS`6Q0vYR65pv z3n!X-L|xr{W?mw*3%LTHoHKx+iC-^I-@Q;t&0!S>;>%`XUvc9qmsu#EY*GX2>00{I;VMCO{=J3}*f7s@M?-c?+^5WTPD;bAzp*FR(-^ zA%A!FBQz3>M~U)n9#EtW=~b*Y2|5CSXhF*IGCB{SesmbUw0yWcLlxnq2{L^=JR2(f zoN@A-unHi?9W4T30j4R+Q}I1EBB0IWjLlAsUz*|rUnn9;ufUq3Q0ItQk)GHFu>7rm zI{2?c3ey*wNYd>asWJ@4FZs|ZxN=062szkQMNO2=ako=bEZ zzj#hOIapzX=+_O@I~A)HBkmF9Oc&8Z%9cx-lh3=eKTl3015-#Og`|d2aZ|6K(9!7= z11uh{q)5Tb1w8|eZO>u$pHlM9#4@G(d94hCLeb~)LMarxqF}aM1CO{|eIX5`7Rv?d zuNcZS=;U6Eox%Jw^eKPNV=EUGfGw6Z?cr~e?`3y^i7OIe1&o%SekU|PO|LVH#rJ+dD`iK;O5GDJ+wq=2iw;7$^2M2#_>$t;?Z}ayQp>@i-nxt5OY|869#LpELc6wJ(;@*m{bww?n;)T5xV0Nk61x)5L!lA-S7t*adla45h4jT5h_p$U3};{iCDn(DcBca$z7u=57dy(M>6|g)iGo z+~sT7Uc!?lw}O#JIgca!M9^yme;=69a+&`TUw0X`-{rf7VDz=2RBCEMKzdi_3(-Je zCnOD>i(QOWGr@an>C_>89PT)^@ld`#=Qy*L;q&M?inukm$?(#mALJjAwNG1rxh?J4 z9kxB53t=fGJRU5Rzq#Dg5D-ydpp-cpCfyn&QQt<~Q?MPg&vy9CAorEt`xb~x((vbH zNOx6~8L5vR`;7IPGDvDuQJ69u5u@I!izHNAa%*)SsdtZ4mn^_B(p~}#-{!{~_}AYh zND3lnc0i{+zrDiNFn20(sR3zVR5?n7M3-hd^cFjvXoXFzc@FptKwzJWZw6F_F|~-z zYT}dB<~sq@Ku{ag`(S^cAHWRTt-Q)zfd@r!05NiYfnZ}lME$&P|MEKx`sU4J51K!6Hy$kvo}>#7sA&>~>N@S2 zv`?eVB52a3(GVy9t;8FY8C(d;R{s!;VXX-87?AeBSHkE47pj;u@T$nA2680Ij>%RM zY`btS0AXC!iG_y|6FmBo;Sj-G{!k4*w+`#DsE{KxAA>Owk{GrWI5~e%pUkUVZGDr$ z+nq=m+{_$L@o!ub?Tza8YMZJ{sdRl@W6SNhGq>{zQbDvtcSPT~>O&5=n_PusHH5JY ze}3yuaz&PW1N70{KkE2BCDLyd1>tUcIaCK72=&M zQ@9B?CQQmzkA7Yn8Hnhj*OITbH}#X6Wwl(HXNR)H15}tt!*5AE@w1!T7PgKWXojF2 zTffP@pn3EMp1KV>gF?wSugT9~Rv_f0+8ZeeJ};d2QgwJ*p?PZ$CHZd&`jfb=Mucy@ zF*0Be8d0IHtvHgoxcTPj=<>8-uS?|-qe9OLXpZ|YkGjKzV9&@CkAZk!X(@5!Qmna7 zB=!wM0n9y@lV&irJ_Ordb7nsGTN3Sb*JS?6%Hz)G(mPNF>3G9;iYV^;MLg}TB2#9E z5GSM$@4?aQNfM_1?{vCmnCHWFiw#iyi8 z*m!374$m1C<~UJiO-Ix{b~eJ-P1**Euw638c%>Z4%U7Ns6wzxjbV3m>GDq|_m zAC*T54o858w5y|~Umkwh^f{4PN@?w<3>CY<6FA#Jf zO1-0sHe33Cu~qKxzy zonos1j>~C1) zCoP_0N;{nsz1qxy7#(`Pqmb`&Y2ya=_`bzWpM-8@Nb#LbdHILEyA<9?5U`z`U(O(i z6-SP}b-PPTi2+aQIxkAF(G}3UAMPD=fSaj80IT3!{bV*0n@3Ag{VdLRq6oBi4JGEL zve=rA&lDUN^6hQ}j}>CSOK`fMvukj_d6_1V;)z_mC`biY)es;0PAf8cARw`K zx{oCYnd0Kn`y5uT37!mnW1`c^Ise%|~DAX&J2p9}!=au9Mch8DwIoXgu zAPb*g+w0H>GoHvJ%R*2P-}Y3r6F{VGzA3Znnt|M-TdK1tF`Be=f0cYKl}zj0XR|X# zNBFPY$7uQg%YEPaaO66UnpayFM`?tzh}{I>`sZ|>T_VqBhx6F$?=G#O6x9puxh>Ag z=O^=fEHP(kGhn`tJc3Sv-itmOZ3$)>3 z#OY%-kAg*3XxV$cEZW-9lHGrj%}XLN%WIEM&F9PB=JFQb*97{6zv*21_ZXyCX>1L! z^uxPNd{~#8>Hd`P1)41yh#qn4;&n~u_~#~DL)i0$k3U>jt{omC^6`Ce%-axk)(wmbA8wK+Oz{z0+)tg(_?1H4 zNQg+y-}w|dwaLL+#Gdfl>rNY~4uNKu2nyJ{ylpY=_8!djsM=qDaSs>p2^D{XO$IGa zI+mXE=uCk5r^G-iP2B)Q>El)Crb&nul#7|OwrRgmLhmNv>M;9OH3tQBY36%Qe!`vv z&vD-ts1pcGsJAuYv~Kz8l5QY`G~x|p*s34dpE|3Zv{vqm*^Dz|b(}MD0T~sS>u9Io z+2S6i#qF&@u9|c2f8*C($I)}&|Dyjs+Ew(pqpvD}&EOnLsV0WAd9GHWAxtuWi7zMy zuqr6jH4&KkcIwnT2X7-*RtQ(N1Q9dM3lhH-LOoO^6Lo=HZOw!U1{!SL6e{zMJHMjWL5(oEpmLqHKNSQ7M4!|RaMe4n?@MZAU(q9cA=i5qf{ zyz?`B!xh78Ek)%s&KvnbuYRwleJtaXiYmLg<76tgl_BwVm*zN>1SAM&KQ{S##A>U0 zPu{z3er%MSJ1x|HBmCl4{9LOaV%G3k4akh<>6lsuUuuO(05p6vLd6YG@}D)Y)|W1< zwVIbMxpN5DO1x+t+j%Blh@801Qyyr`6s)`GS#+6!4BEe8!!1#sqHzuI>jHBchOc=O zI%i*!LDC|%&WnP7j1^cq4pn`kz8tSG)i8$8J&GbuOPZUmvbOade^V29Sg^N>&IQqBBXbPuZGkkT!6Vu*jd6LW9WR;}H))WTkO=Gr$i_EL0 zz3YEk|2C;H>Cn#WQqH3k)R_~Rf$nmzkJ_wfS^5F?rMs0^`BSwTN+39o|1j3U4DE~Q(qv1|EQxG?1woF$Zp^=1~g(1{>)2G#|< zCp&eH<3Jhq?V00y_nPDZ9==GJ)WcP%T=SzHOEW@CBPc9OEeuSCyEo zPE5l7x#LjX>1v?cM5H<3xJh|FaBC4@`90RKftVNf@lM5kksOZ(=>)6lRs6+b8vVnc zQC+zFNJF^i;caNazQ4QQcWmH@9vsNnMZlqVX78A~%;yPeI6SzUdG&F|I?qT z92CYocT}aj%zpg&x_`FXAh{~VLD|yt$&7XvAK#bBuyJ;rZBY}itiF2Nbrp!1t-Srk zX5^R_LcAXJ>Vi;~*3phZ7hy9yHT_m@WyrI?kRDmbKXca<1tc6(akj=Y{YID$l@eRo z-%AyLJ>V7NT#qmB-*}M*E*>$4v13tfb^bLs?+!ZGGWaah%Y^zEEWIltjGr&beRaQN zSyPdY)W44MUIf(b_@aVJ;S}&13b5tgyuVrOg6hZ~dmTm#y3s}HbZ)9;KAF}ivK6X0 zRynFsCe>`9B1KVi`%xTxMH`?_c8b8?NriM_=L*x)oH{NY{orKl_7hse03Ar}5oZk| zn}quCnCtmJ&ZrwlGH~@*3fT+bq<1Ec| z1A<|4`&SXlxH8k+h*YHG1)jI6zpt=45BO}M)yWZeIg*h!q6RFzz~7S!RX%h)-U^B8%;ad|Nt zX6Ptr;yLbY8%Kz^==HXq#~?@F;yTP+c?gL=oQhF34RTEhs4p=057i>onDWv)5+m8j z$=OJCr$-`CNJ!L(yX^3c%cni^@WSZc3L;xDb$`*>p6q`8fkls;Ahon;PhkE5?>Gw+ zY{JFk+tcCoW3gRr=yA5+;7V1c($oj%_MLrPHVm;{NY${NUW99rBUA8E0-VE#c`ZD< zq%uaabM#vU$gZ|+W01|<)Z*Mte^ci>uNO?XkK+ZK)(*G67qz8p|C zyTmd(mnS7ydG_i`(g!d4sMCN;rOn z0q`wmY8XZA+Pz^5-w(Uydx#Jnq~G&%A(&pF-FDu|2V6AA;)TnZD^Xff$72o_7bZQb z+l~9Wcro-Ai^hm36%Iqkp1%}(d#0|PcN-lOp5F=C)CJHoMjvK{4!m$_7wryEnbZ10 zMzDk@k5MT{(0D@7L{yp;4QF7=tU0xS;jx!SZXWfAJfA6vqgjc~{hVuiH#3{omoA=J z3z#hl%D6cfF^ZH|?x&a*RkdLD;2%K|-KtBkMGpT64KQZ9Y1Q*mG> zldyiP`x$|AT2XVv>>PiC@c<2Hcda!c+v@Y)F=$9PiIqvae zEu=_&($(1IFq!Y{^iz!1jla+SKnITa&+~Ni1g8hevw1ru;s*P@N|W^_p0V3@Y<6)v zPs6B`7`nN8);2mi zJZ?55XPN{2i>o4JP(I!qE1oU&1sL~H3fD?c6(sY-$~t95^0=A@$BRv3bayg?i_OX;rvQ(|m;?m8oCyYhnboh40dQaZ4FfHh)bm9>yCy5BA4e8KciH z)BhZ+RtS2_WPwtN*b@kiX(!oorY?i421r5EN0dPH`~$bWdRiRPtR}XjsF+|{N|X^{ zzYLbo?4D2|F`NDtJc<7f53*tSPLuXtC$!vYM2N6xcRg%+Eg5*6q-yWwE|28Ir zDd1ILn_it(`%4t7b5|q|^BX+(sWZZ)*Ci;X&kUm@f$Pc~=}QuUnm2Zf|0Ir@=oA{_ zy)b1Q%>r-`8k~Mq=;x^5&B+7=yV*C&#lNT{L_p=ouU1bevbB(qX-3OR&3$*^t)ypA zHH2cc>xVtHQw&wJ7Eyf>hrt!_5w#lVx_R$RUNg8L+!n01<6|=oUn^ zNo}I|Y}s(EXUX?1(BDfuQvr{!%hyeg?#gP_mb$5I=#RhN*}xvc9>0Z;vbd&erFR==xPh}{LV^tB`ZM=7t@ zVMYH8yzs-l{(XL20>snwZ#}MmM~;JNRsKhQE$&rYiwTfP z;dL*Leb7*cx8J3a;XfNOpmP)VPcNO^@~Sal zpIW#R=-BZ!_3j?pX{+Ocm&>I0@}pug^dzE~`)FMw-@c znc;P>O~T*Js;tx3mA#jG?dl~5@cV-n7>I*wqfhG-;+#W;vnlDrJ1~$Djl{1Zd?*yo zrMOdX3E?BNI$K40C#3s}NfiKcVLmpY|V61Mm1R?-{Q!=lut3Ipzcqy)6Pcs)9yq~Wj>aM6+= z*}QRs^LoyCIEgFqz~XLF6MKj~jO)Wpp>8L)8WjV9>VH!`#;j``4`XPDLz7>h9&oki z+QT|M3;VT!Swt3^SIIYJ<} zK=5F(x(akD+O$Z54wOTTzPSzLev;z3Nc z-P}~)ySZ*sSB;n^ylrLd%LtwQcz(_6L}Q>IRGHPI-LbmM9PvL~7@t@H)VP8-!W$EioIiB+_IKBAe1S4GktNUu2>(q)hy801J~mo^#lg%uEjGW% zztikChahH2uj@U$we)TJrr5qd^7q+m_#$Z*eu*Mu0q#;*bblFh&B{1Now_VggTD-#ODiFm^@3lpt%)b_R!`qKLR)2Wh{c8I$!-z;@wVlg8eIa1DsV+;QxV+d{{IS7YsiJ zhX>=C|GSppe^`=M9i9SxS6l3CHrmE}G+2VH0p_#IX94dC(3kOLmp&v13PvMSm zLwH~hYQTqADH5X8aQYVm?_;<<`nwyw>SY}L@$bup4zJVLIK{Od0O-e+(Qa~qsS1hr~i+2SIZ!atSf0}6)dDP`VR}npoDDj*O5TY zN~3*<%|r$r6BC+;hX=^KJ>c(!b(Y8{g&MGKiu0^!e<0Q{qN+aG(Zabn0MR>uAMS5Y z6T19v5$%d%J~C2|AI>AGlOE6J#;M!gluPKiC$mfuf?IyKHcqANMjRN0O2}DNcnGnCgwDhQ7XS8^>upc`zK4tO zTCm+!e?!>JrTXsbvox^16Re}EpC!Vzwot6w&+*x$U9`6#l%p3 zdhtTDVdNx%lLn}rg2-hj96%1&>W*S>mx1PdYSGYB{$iv(BZC$x~nfekuoLx8LmjU z;Xp~l7E`6nHv#(oM1OBz7>nk~i=t=yVJh=xP0fc3CCwC#^}e!YjJMECah#>*ie1oA z;oT+WNi(st9J$^dd1he5&D#18qb&#OO=qJm!7mnX7^iZh*@+DVC*VkL%DROPFXYOJ zS3jM@DSdpAShVQ5PW)cv>p-)iGbO0i#5p{AV?E%U8Vo#3E*#psXQtXz?xd(Ldl3bf zO3u9arHR1r+xG}tOxmjefzSs36%*VpyfI{(Wi7~$RF$T=xA)+zJkZn4Ju?o?Mz7N5 zd56j*yQ35Pxi4y3lz7K#oAqYluJ~lxU4A@hOp=%xbTq|En%O#Vv?1K06i|I>kJSO__#c?@^ zWq2waJjEt2HMH?{8rp5PBH@ZO`CLp97(jq_3|+=9U6>Ar#??}D60dNnUxw+MClrCS zrxJvYu^^K4^pf&;nCh+QusMgUa1!2KC=5{&IPomjAj^C!cno`7g~l#T{rpSuCXIN* z9i5ZdNZ_UHNQW%pd)8L*t*S@Xz})M!HA^osbvcmpA9x9eTEmK$<;Kmd+?%xeNxbO1 z?XkN z0DN3?x}0+sx+f44Ajb1;SjabX4z~8$D=e_Hf4RmT_IxlCb{6XCS95ZH<1~;)y>Z}V z3wxO0j@i+oE8dXMOUs_~ddq9-#2V}{pxSAW1m3C9^XP1JQEkDLG1xlT&m`8;i-mJ< zFp(MU^|UN6nTr{553YIlpL%x14TL42kM=ohPo%U%XMeHVvX(1zF_m)pR%l9QB<|7X z{H6$ki$464mSwIRS-I|X>s$br)}Q5IH85o=*OD=3?y`vLyG;SjYIKd;XGpe?N|!n9 z9=6f1x(wvLF`-LFpPUjCDlRC6+cL&*!|DCgD6_Oqmff)s)%IAtwCnqI72azAe4%_b zmIc1kT1c}~jT8^hM0h@)Z^yZF1}_9>rau3!UYp0N2nWF zmjiq?kiD!f0vW^^Ex$3iW7dVQ|DU3jV;sk=Rxe*o$-`2pL?%sCi;kyx^kXV3g+ED_ zy)m@OSj;{7`Se|RIoJQ}lXI7HF14FSCmeg$%qKUh8{&v9nmbA1MR9Y8-KDZ4^@0yr zkx`u2o|n~1SN<%A(FmDgls~DEY-W9=K=$O}d&o?3O)ru3l4Z4sE%*QnW6$5M{Et5- zF#-*i^1(mHsZA(5f^7KqnQi*HFGt+UV!^;Yyq%ZyX2K?3b3D}TqHn5*wB}wx_Mah1 z^Zu7_hv7d>)*}5~ zlRIzs9MERsuP1&wl>65KB&vNKn}_Urg#^B8sX#LRiS|GGF1N!3eMGcJSj3 z0zWrBO#U{*rAej7f!63U^jAkvi2L<<7Qbg8>X-6$r`rJbR!>|`e`RA;iLkzrrBl4w zaF~gOcLa~|Y)c|t&*y9oKQ%?UR_h~bCtg&p%HD8_@#eVQXHDqjKQR4h`wih?$!^FA z>?4%S&Fi#rmF^19eQWbtL2~yV$a!nNv-}xT-7C8#h%P_4R+`-xE7fn};3YL0b=YX% zBSW)*fb%YT0<4f|H3qWq40~8UUg@HOEFE4%|9<)-R`zqf;_y+n!_aLeChXJYlCNV1 z#Z#R=;Z`Rbff?jc5VqW|Xk^rnZI)X(2)E`Nkb6X63UX{&A~lK0?_T!e$1fJp*jQE^KVcU9xf07Wa!X*F51f2zktMUq9vt zADH)8xQFVt8!pm$-yq)52TGVPbG}L!2VQw*+v#DR7A|AlLJzQ5g=QnFm=E@=#Z6j= zs`fv4b>7=;%vg$pu9~Rq5~Mm@bfruRSH>z`Zn6j5y5g_vg`>c}R7cis1jE;&!2HsKYno_j;hpU zxUi*w<*RtKFV?OQnFcT&(R3~V-^hJx-thHLM(*Hu6U_~#tQDXA5i^YEUD=%X(HRpK)#^)+YA!iSx0dj_UR3ZXZpCL8yRUn}VZYr3 zQ}}mXK+8U%h~JDh%y|KE^5!qnLxf}fE4qWrO*`_PKwfwI<3l{>0WfWKf?xgCKqo%hl5VU9!W8 zEGsU4Q^vNljdFMuAKdbB2DM+3`VjU1N7MJS{!7!_%4g@G z4I20!tV5oKRU5pffsKCC!goeOM~wpYZ{m7(vp|z z7D?~zO5kk-O@MW%loH!~{O9RgSMGJkE*OY|C)M@UPjM1aZi-|YriB>11Ozm3;LRM_P` z8k1&t7{_AeQYQPd@3jBi-RksrhLCxM#1YL>aX_dAiKim>41K4fNV;;ygAa-cWxQbw ztu$8mt#6yFuUKRw30CKoDEnGm=Uy)7Mbk=}~+X zZ9UCXKP}bG6#Uq@T!QYN(-zF+1`FI42g&4(q)y2NIc=+9*WA>%EZ z>tAnJv3N%kyOHn}s5EiJT&R#hSv*kcBAR=6MZ+WP{(5 zq?l1C2^t)lTqv*Xc%UdnDDXCNrm^@6>L(@t(w4%lN8%D$4`olqwjbWqS-8PSq6R)v ze`&QhD-*eB>B;T7!iF^^bUP&SdV6ywus_V`uB_!|$yKqPHXGI8`iWlht>n9ff4Qwl zQtzL9wwt^s@$i^bnIyz7gLU}3Kuli3WUn%NMo}FBs84d)(~?heIX-URN}Xx4ad~i% z`D*!cpd5R-zZKDolc9C3K>~mLj{Sa#@y~La;x${hpmL;-Ro? zBgpu}9!xrrMsNv88n8Q{G?y|iYdjz~6Q=qzUrlYhyQq}#Dd6hQ;A9J{-bc^yqZThr zBZ$N=+ezL<&X>ByhaA4a?X3?JzfbC}TiU;Gje59f_F`w{EFtMh8vBz=TjB1ZnZJJD zv^^5~PV(X)^amm#*t_ZbxjpWSDUBW3u&D8kW*1 zX44zFCXY(1J-(;EwcM+nCwptXl<>S|!<7&v#oc(dQh18P-Co#!HgT_ev<_<$7|HM> zOsk3TdnqLMZ&!4jO)n9{&ers|O>2MKc67BlJjLBQ({vs2ogfGH$jTRQ- zjN562`YZ|W`FOSj7sGhb$`{qjRQ4wGJ&(!v7M671$*sxW`sA&9Ux1ch%&6}? z@Iy84TZ6uY>jiAK=zu1_=G}P~`ThnhM*940>HHAv#?YI785yuEWhZ@@2GYi@Z{hKN z&mKBzzIwnAaihYBA=}qx_u0|l0~LWm*t_RhH!Ad_9L_!U9QieGA91(pk2*v+*ghV3 z-1;GYKB0rRRpTY+_jDwT=cF@LAoXQmIz#80m#If@`Z<5Ghs}r76aQ8D6GKZ;Ik(08 z05{WKWSA@S{+P3$HaCqw|2$Yf^oqIe%Z6o{)?!xaC$SwWtw_3#^oWS8`4uM4G6M;G zC@bQddcJ}6Nol-S>GOOD*2hS0M7$*Zp0EsoXnNEA?{10Sek7f z^*rC=6AS4Ykb-JqvBYVLI+SE*WaL?z9037AIvfrIoetEg% zT>JacW7EdP9P=9vKIDw&quUI>m}8g@PMj6U9QQJ!>*;fK(&h+J~I!91dc~#c0kmKbfyD#ciC+hhwofkETb+FfsVL=5p7|=YR# z=0md^R8=KuQsqie5EFV(QXT-7oSj7UH|C6^`WyFd zOB5i@FJo?LL_cdY-5~riwX}ecZ7JY&ti*q+{f6ssvAwfl+p+Cp%15Tyc@AzGNlnzg zV%xZSxx{Bu((-h+do6z^AylHave5um$5+6U1h2>Qt=OXQkHOQc?x({;Ly~~9msrB| zCGq-&+H&8s9*S4!qU8hIB$SR`TJ+7H%~7U6^((1**4syZdAIIt7@VQ6jLP1rM&-2I9xPD12H*$$+1uJtBO0O;W*Kz4vCNmAr{XX|78p*H2!^1;ms?(Y- z?M3;REw>c_!0W)H`%2G#Xl1;U^sTL~*6Xl#no#o7&UvZlVq9BR_iL3qYdzpw`xh_2 z#nf*Vy9Lw3cBw1fDfw0}1n@U>%`~tBceV`pHjzA~pi{0}5Nb9sb{F0D1Fl+`&Q^y$ z9R7V;`oa13hRf>YV_ke&anXlSSk2f3GT;1BQufo*Ti{=$1XIRmv4mbY13WJmVfo_& zttdAp_(!t;MAw4QHWs00ZoXVyrk3B(@cXn4g^xr(Kp`HZPdc|?GTsG)qEwB*KplRw z3N=jIdya4})3C7ky3zQSh-R-8DEJ5>xva6Vl7VSzN>b=<`cYQ=>(KM<4b8OXllR%1 zTa&4`3 zAD>O0Bc9*_ZVkJiuLR-@=Vb!9h8IO!Jf($&b^duORpaARLlUDq3g?73vyrPngU_VK z4iu!G`wmeZX%69GF1EI|Kv0uKi6rvL*9zu_s};v2Lit@z(r_;cdZ8D2)VJ5cRVzN{ z428CgcbipDTrc}j77+efc*F-`t?aJ-o-K&^m0Zbv!<#88$N1c`=f9ht+i$?n(tihL$04j=2(@7xjmn!1S|khX z+YB<*#GE3-+RS;gc989#^$Uf4b}eFO$I2W+bI(^`;RsO>IaSJZ#20{>D|h5uMV5Rg zVGb}SVol!V0b)5uh^bk315KaNi}TyRt!@gI@}4dMzms_C9v>-59Qh$cjdc-=?a0y! zE8L!AY_t8DQM9=SBQUTRlUj9JMF7l0wigcU)xC5?yE@^7`J5$rkQSiOmUgD*^K7j6 zaBtjc_NhL84Gs#T6`mv5kv}tbo6fd@AT1C12Q`uS&~0cU{7V95{sl$|DxU{Y}l2DObu;}%*>z54fEee zJ<`;CprrKnSuFuD;9%@#oE@P}s2#QMYf$cVZGh3}~ zlEI!o%EpCgzJ)V?C=5kazA46u_>FV9!3FBkS2|Nz#?F>@<@@4tb2JHd7vlBo5fNoB zETa2-Tjun6Q(jvYbgL6``E`+NaU88DY8-O85jxpe8RKUF0BML?sei3tGE!sPEm77z~D z7`f9rMot8Hf^0zvTx!=sQDM~TXXdjtUQ`qm6xOi>f;624j|)dD7Lx^!6s;Ds+}VRu z#-Bc~;JmR=Ipd`w9WOCz zZxw8CFXlK*Vc&oQU-dw}D%m9ApY|nYfx8FOtn!^GUl1|+@47{j68^q!`XM=TukFgj zH_|-BJ=H@~YSD;yP{?&UWbplyw>1!uDvwR}{BCSfVp}8;F%}DQY z@fqVsJsCHz6~6||FX*a~FUWXb3bQY%+%~*U{_f)S^BQyQ*DX`=MAmbE4l~%8#@_>W zP^hLR8^1u9l}XB8?hzUqYBQ^Ki8R>I*umjvTM^IT;9wQ*Z#89gdu&YW-$7^Q79YsC z0&}h1H+imHzq?1T8t2_I@hbti?ax50LpAnFM+t6Ko^hpAz(FASqZgxdv5Kdm3@tYs$s^oSU{YmomW=NWT zQ?Y5SjVB+Q4`INPZAvX+A1|`Alf-5rE%X&IU?lW&ekt9Ql`7|R7WSMS&IifEs0yLD>Sd>o2RGOte&ek z4V|anU8uG0PF7t=%N(?`$fFGiCZ!(uZLOY#TZA6^cXpZyI+f3#Tl3!mEOxeA0kB`5 z84m6Ejnr}(u%^GVu&SzxB_o;w=-b1hr^Ru9c<0%rJ#$NJ$M{`5cV-NCBQlH%^~sTo zbb@9T9&3HpU&Csqg5vgJEcGL&!i`o0j{B&ZS82^DB#Jada+S4+*e z_ra1fr$bT=FeF_+QtzgJ+%+$CCVB!IKvwn(eHbI7h-0!(9_RFsGyrSphf7$DtuaB7{RC~93)1^ElX=!Ooy)U+6;SJiI<>i-dtatC;6^|q6d;i`J?DE>~3io#t ztGiM1QzF#mUn>#jE)%fbrda6g>|8M_w(bAIM2WnVr=9$LSM%S21KNrJ8Jf;)?z(A$ z*S`-WZyuDTCrJOVuTzT05NZ8;GF^!1vooN9XP3`ed)~kX`>U}0KhApJ8q687Bu}yl z1%*$Rj#vQ2c`B9aN)_hZ$BsPz-u8W$R(5ev_|F_dKv|IEUDcvfVa9)+!7Gv^AEX_D z(e=w#O=cP)3BCTFH&it%VL3&vP~SN7L~TD2j_Ep$_^F*u zI}d=cW|d^@4GlOZpnMm-GbRH7LWMAF0t2xwH{`47wY9avv$?ulBgN)0;Op=@e^Hix zJ^@f&U0vm|7CZ3e!-pq3bc%udiRMxYx^lTAJeGw1Xq>|obJhTMsBy9?B{kF|#V4~V zL{*s_8d0u;@0&M-w@>F$bM>`tD--@;xlzp7(I(fOJDtuxkGtX*{oL|Xm=LeiYR@fe zPn0^Bco5aF?aJqS=iQ4C=w3NCAccU&P0Tf&r||1#_@yZ`U)k6D%MK^pDupz(1M8S( z-kQK{nt6VIcx|1!UAGqEEo!_jm{x*=Y0C3?_@_|p8f|UuN6LyPJGQU(B^*Y`fe`B#F9No_p-p{RXs>jBJJ2Ps&H8EN z+NLK?Zy%j>hA+K8oc}@!;iXyPFv?rn!@$VcN>CzMeB%|?fy0175hua{1pVM(Tu4wi z1{5va{?brTEQtHxOY^I#U;uCNKNmEnnfCJpBo7cX^ z8G%HkEdqezMm9gtDAJoo0OV+-zSGgX?UU(oZJ8z6b?HycOq;F@0U&fgx~a^5_$8L> zy25Fvc{w)c?bxBM)7_n&oo0V|%pc`K{Vd%qRh#bQcKCtoTkAF0UA#3>D*i>0WU5Hbi1zg z+UDw$%NX`m3HQl)A4DbNo$X4+9|y&k+lxmwT_V1Iy}qMlDd)LC&T@$~(`odl9#9ogTW*U`ufTQCKvH?5JpGtg+aYcxQ(q!;{1jP`f!3hP1!g( z8@;MXtNxl-p!wDXTu|X$B@T2s$0rB8@4_ko&DL#D`)9uG_cYI}X=~ zO_e#vs0s=y`$etx4(7d3tE#ST>AiUft95O1M(xbjR;!u?{PH_-F3Rr*Jddshtrkiz zRG*daB8w$*fq8_vi;ffIAbeeQBU4*9uVk4UO^ZmnrPQAQoX;xgMOzuOhu#*}IJNa1m=j2`~zmNf2^LEqU;OaCt zueI!s2H!isi}xtox*sw%uk21U%6F{`Q4a@jDV*k)BAK5b#mIU4_^3hXZLr?Yr>eFV zWW|aKdclXgf`-~%I^&Lw(UAojfy`m*2U%F=eS=@)_*G5$mJ&gp7!woMALw6A7L8fo zZpiZTei-R|Ug=E#yR_eOR>IT`H76%)T}7!f7vNuEK}oiogfce3g>jYDdRDoAaF76pyVSk2yPD<2_shI)W@9wJ5YL%3>=NlaZN&qvb{W`;8$~5z z4kHiIchWQXZE7_1RMwXyq$yCT)~<-kk0=zT=U!Cz!ui2() za?DsoV%RIyXS0zCw6aFt9AI2>M!4=#PZ;HM>tiGWM7|;a)q;3)cZ ztEtGe_Ss&F5EqvS!`0MOSNjRNa?|?xk*`wT+f&(7<&G)30LMsnl&IBO=6iIYEI`h* zD|0o%*B=gxao$^O7*sMBfQ2DA=S=-EoWg$Ux_64D%n;Q6rv`ho3 z1x5ULW*m;{oFgMh{xdw*{FKwk{lR;vrDe<|T>ea`(I>a02>P^G=w_+znnzPrJ@@WCrohO}SuigvQAoed&!ekZej_C)`)CbnzRc|3i>6*oUbt2B{ zPHR?9mu@PYf{^)zsspUVnQvV&ke@{fJczWrs&;BPS}v-9T-6RF z`+B&E8YV4B7(g%~tg}`XZIabkPz3WJR}@pksHP|Hw3J{a)dH3}LOG zBsiR^3jLX=J5v~^N!7f}{SbcTN}8-p<0=}t2b+S^h^x9(4XVrK#P;pPS4fOq;+`>r z^1DGE+f%#85AS<6oZkDu6|BI;MHH0OC_E+(&csTV>cIog>@Of2Q|s)kDU0RXBPk|u zpfuqMn;2#A(Cq+BGKT+ecE_^zqg}GD-4=qZpm_7saqz6n-sDFtyQMJ8z*sjG84X)w zktyplyvs)V2i^7iD)c!D{&&TEtHbdVZnIIbi=$V*8b8~Z_q-+mnk=@e#-0Cz} zXZU+&?ID=j-*=IC#~2@ShD*T-gXn%5qM7?`GwX)awcX|&?kySwzITEL@Pnt7387RC z!N%=2jVQWiA8idKJB{1dH0(lJM{Be7_dh*L$#5K3T?i)27Cg9lhC(9ZtPP5Y%LdlP zBc{dj1>GvpEzQl*W(Swb-~1i&-VUq~3lUZb>S30i<@Cc`bvV)idQ&PKujmsfw4Upj zDR>YyGW;b2vc?rx*AP=@S3!sJsaI@P`k|$VoI*tnzc>dc#CZu3g3)KsrzvaS$6+sM zAotVIhIVGm;zqG&Ao%@LbhT5I!b+;O;yaK@GH}HVd^+*ylK}%mXa)Yy78dHcJ$jEi?x@ew(#;c?Ue zGyQM!g&HmvN*7;yEHP@}rps0?YxK920|DoJ<(DwxzN1Bj=Z0Rd4~b34rO36lamL8d z=(V?CBL!yvRjNk{+UsuZ{`mu%`~~B>?cbPdOQS}AJ;U#fY-Dy9nNaK+hY6Pkh#V8$ zN>cN~^iW^7fDC3C*lmHE`E*Wj{cEUJWuC8TZ7c%q+nj7#{mvadsQlyUqj}n(+aW3K zE~;&DFzsB0ON&B^OeZNgj4`K##CQQE4=xW(vpj>+kA{`i)#Q!a-Tfvl;nXVA6;4iO zDM$raE%q@Cv_7IzVhpn1{Wxd-gru@fs3_1NX31dn=n7X+V6Et@+nwUw-ylp?eFx*a zIQb~`@BAd2nUfLM-jr9B=&K;(Ngr1p6sP>@G6N0prAz%mRICt%o-2@ha<&=&jTWpL z$*lQ}-bQ`pB5E?$&n3j-TT&}h1q}|}f%$?j*`h+Ia&dKIgZbTV)dUHVpzgt3_V{z$f}Lo$|oZlo>GkYpAmMUev;Z z-2_6xJr<^x<;?MrhL#N4C|=^>#9eilZLB$cyD5{|QhMA) z7bPJM7vLj#3{yB&$2{C6gJM&?!MN(zsov2=;%bbr1cP}Y$n*VsHYc|LHI&nRluL-J zP3<8!vOD%2G{|gb622m2R`8~&pEjz2Qm-D`22P6Pb!F+9T#X~@l7UL;{u|}~s_ybt99R~1I@qgQhRqRk&pS_1J_p{9}&|4AZ()Ykr z1ki&lTSQP%4BeAP7F0~^&0!J}&s1kF(wtJtxPK9VkI${XLN-n!xKz&AuzghO;A)TC zojx}w0*Ag$UI~gkoAjRO^v%|jx85ZSLC(PqBhCL7Sw%7ygTIJMhT0yfLat#h_~FBc z0f@wqCvG}hnVrPU%$Rfvk}vKAvH+m@Y`!_7VJlE^5~3Qo5r}4J!8bQk2zqkv-%UX^ z194ufX&n!lfXwL###!y3_w;y!$XpCFt@Kb(<}m~hp->#240_Stm*qHK#{rcUd>e;L|i@$=dxfb#r3@|Sqf6@C{j2G}dne~wx z3!^iCR11G54$kE=13`6Qoor9wxf2smFjpG>!fE30<#{2A${kEah*mb{+t(SkoGiq{ z<;pTss=%zTf(Z%?*8abQ*NgkHF6QT;jU#C+H$O^E-2UuO${oIlE2Py3;?S>e-* zQCGERO~`-~)7Vht&=gzf5N_1(*p=V^&L_FjYHinuSl=J_z(GhcUF+%tKr&(Fmfw!KBSZP94Q87r9=SxUvsMIpyvt=H{hd}6zKV&d} z(BcUD7lFqX7oe2hzI|(Re);m{C#&+ZgI5*}%Pi!{0C>QWSp5Qn-shkoU?;!0fe>JW zcy);6Rffu<1iO%R)Ey3~S9xtR%cJLsAlVEDBjZc`g`KH# zK45-tsa<&*s#7m)ZwqLUk&?P+hq~4hq5oxq{3@T^#qrw}M}Nu%KlH#ALj6$n*CD1^ zci*YK&6Kc_%->JBs%q%A&A?YB{k2CFr=7*$;ki=<*q2}FJZ%JUrpHz!r%4CeaQXTX zLFaG zYHBYa=H@3re*Eul}n?!vz89i{UATaO0W$3v*7hIF|j7uD4+!azIiPb}-Z{e=7Ko5+(Dkjw7Ci#Lci*g8}(4_nHNFB%%r z^O*9_czj0zu-o`4#qa-ficNtE3H7zT&^Q~^qD*p$4Tc3tn-?pw0|Wr&DuT+Dt?RzL z9RU2RCHNhw;tQ2D)nIT!HJDpA?@DFNtR3oH<|k^JQ`UuhFm-+csm?G3HN4vHEAeeEi5d zyqeYL5)h;xV>0mL#PPTPUNzh&oa)l2P=w1DMSq;;R{@>kW2VD5^)gyGuTOsKZJgdH zHKnG2L-tjtvAHVyP6_0eF?T>e_>Ja17vCoHXE8_KkS){N3d_U4Zpt!Q-%O3Wlso4i z1n$cW^~*0;2I2vRKjX|(lVq4nNakI8>Rhvji?*$;^QbcV=lEF*$o(GUtiVmOPp-4S z0-YMP$b)QfGtV`0k+VNxxR{_Xz#Br_&$D^)$PuSyWCb(BpI-M|^Ez74k)W>wg#j2S z3l;EBPA46OXO_|Zbw_}_f@B|*;rL;8TWG}vSo_>|pXTYT<&To5;fn@1c8{(x_J9VT zXaR`O`IS$(v%XFN{7G_g0S1Bb#9&@kYk8Pr@14)VP^z0Kzuj}3?B?6PSOL$qB&XUx z0CpFq^YdxVSTVfd<;BbMqoeJwuBts@YsezFZ;NHWN_~AwG+ySz;x0S&b?NiP;z8h> zCQ&t)l-HT9^GLJX^WD)`CKPoMx>W58&`hug+E4VJk9iaoeqKbS@dzJVgZ{^3=MPzZ zSznkRlK~@}b3ocjVTz~1g{?OfMK@|kTH-PjfFPI(7fA1Qed^U@L4ol^xg#rJ0a+hF zU*E~?@+mg=AK1JCYil+Tg24{=ITcRXSsQH86~Yc_3)6%m{>J17{zgQ&ZV_QieZK1N0TM5OAc8^1N+fx(C^i+=9*Kz{8EL z_rTHs;iGmC?92?*Kc!idjHMbo!8>f>1qJ+3 zJP!KA!M-wWFg(A1T5n~7JK1hyqoS6-hnE-ARF_j_!UL*Rj|-2^p$Q~SwbiG5>vtNN z)Qr_`*ZR7yAg#fUi7u(*I)1>|kZ=S_z&d{8V(*V36Ml!d>Y`PT+svDGN`-K|>g3wd zMqM#R9pT-bcTiL(YV9VfRwGZs!(25FZhp6^6C&Pm^9c?;=c*U{cDkf8AgcYLRS%iX z0U3Eo4^QCh(PfeK+C}SXv;mfkyvZb5(l_cy_Mf)42ic>4pBcqyjaGZuPS%2^)m2rw zWzrds^C6CoeF^#N1sSO9xw#m&h(ts7-8`|K_x;E^hU%wFh6~?)!sL@jmF^H1j^B^| zaP;%N0gltoKAd`s1+A{NEox%?oL_s>68do99#|k#KDKqdo@w17&eBys>rQfE%OZ#x`3t4=W^aDQO!m@q zrpI_U^G@sfNE6(qKw3@Iy~D_2^0f%rn3~^y*ezt__wUwxMT7hi8S0{bz}D$&c zja#YNMO=9x3u-)f&HZzY$0>uRO&7|*an*gJy6aTzn%IxQo4mdluj-o5HC?Bp*R%?~ zXAWS@*Brdee%NRZAY6E*#T>0h8vIY)^`P2LFowGx^KmalM-R*IPpJ5JiX*8T*^t5? zs83+9h@O-OZ?BUzk~wpToBi)Rs&OMqea+oc z*V>l;i=_doQqW)VQ2o@`;}`v%RpKTR*65Cw_bTiFIR(|9QzCh+V8+j%yeVpJH@t-0 zTcdL2mhW4@l`5?BhoMR(4qT6UGFq_KoCYLy?sPJ35jQB+Z=Le7gdNlyEDTtz(XR#<(+@y>E`?xyPUf_%<7rT=2}ebhAD$oHLcrbEJs3~ zSBZ#~M9ljeck%0I&q7xpz2(Fc+@kdWe@lb=!aOYdu!oBd<3FjU$~OpuP_a*-Knl|s z_-fWtqdKc~?@7$LPq!`st$iI0FrfUycmn#n?VK1K?^UOsKm4=o6cZm=ps9uEL$T^L z9J97zjGP)C=N~=YK_fa1)*Ctv`ic*puE^{jfw+9}Di*T8-y&V_(kR{zSqDwqotK~h z^JcH54syBDlA}4jy{}>j{wNyVL}PQt?j8GV-j0HYLNc*SBH+2%@6+;A>7)z8S?`?_ zKr4QtD?5z^OM9mA$xco_AyDIminU}5-)~s$Y-xJ1ro4K zRAtV&M~5t8yKH~TqZh*m;bp@Wyrg|;1)cb;FF+3ZEO=$bh+{sSjgbsBnALut@n=1as%7uEit8{Bz(B0JelPW^_Tm(zhROj=SXqs;C4XuY%P~V+OT;^0$+ZHMMAGFSg@jW6Gbe znCZ-r{L#)<4yR$Chfr>B#HYLSYOn8T87A}2uTU?D)2e*>herz-%UNM-E0p2Zw!)ju zx}KYH0$)2t`l`}WY%8L(EI8RfAnb_O-UAXqFgFueOi*z63@G$8)hC`lKSdsSquMu%5vB`X zlR6>%@6*Cizl%N^a>O3t*#Xzn-!Ien;rJ6P#JxBB21IxXz8g_001_Pk7?4}qmF64R zGqPxoumVg+JSM!h#2XAPk;4AVDM%rX@Ut`~#Pn92e*N`J!IiQbHldhB`H9Eqw)4CG z3r}^Li$@ONP{FNo?hO@1+Y5W+rTvxeW;*B>3G|<0K7SkE{AJlfdVWAbg_I+>NqFIf zlnXTZK`szeD`r0g-b|}Wp81znYuk#RD7+@(aFYyBA*H@wxOiOq`hleXmXGCCwJOa7 zzZsXO%N!@uj8cS^++j5S#$s#1SJQn^ANq>z2e{5Wqi-&pA8)@}c>GCA9YG8*3K+j1 z%|DGqZ%rN)$dg)#a#W$em{JUL{M>)u52Zk26XE`Srl3UT#x0zM?SUT$-_K$<;A6d){cHG*gz5 zd-j|XoO)pne|h5FpI-e=DHs=ARi$nRVSC|V*bd#dNN@c+aRl;>#x-O?LJiNYPvkG( z_xfHy>yg)d>onrtvw4%X%T7-ZTAnn>1!7p5BAOJf9vK@l?SjhXE_F4B zdg%|bgjM8GFr4;ClCb90tv@FUu^NS0yI<(^2nzM{hwMbXGwx&N{FFY)oT!xg{c8EL zoj>aE*Hb!o)FI1T-6=K*vurS={miMW=1}T1zXBn8qd8IwpMyC5FGQ3pJ!T;4kvs zZ_=0P=`*M5{Up{_SHtx3A4hiOyp_3qn;c3pS)_(=MZY1s%5L;06Cm#^qQN&0#3v>a zef?f*=HS4qtgKwH6AV!WQ?($m64;@5ksFVmLTdAH;tL(gBLyY8QC8-L^TYM5ArqhS zv%v38g$5bYUXh76LdZx++^)rt0-zE{ST?0^%r!AO7%UFNost2Msgb~c^YL#VxM=19 zVFS;VCx0Z`cm^IbH4?~&`1~En>{)pZn3p>wX=?qOu!9iAklijCVyxV?+e=PK`Fs6} zqH&AFF7XM$e=>h^wWnV!ocR8m)W3h+{|06McXEZ~uyfqd)CSd!;#_Th5FN54)MH0` zA-DOLM|k;Nbu#KdTmvyD(|<1~|G(%3@V`&FnhE?@E_6@%e=?$%A^)Fj!w1tyd12vr z5hqA;sQaiqU_TLY@BCi^;#FIb`e2kwTv}S%BnJ9*M|jxv{X}E}PTY*W+A$*K*;d0h za2f*k5Pft}VbYF8UWUpc1q1DnP-10HEse-mM<+hD>gf+HAgDbKM&*IYK+}~$dYVy4NFa4b z`S}CPnpHn_I-BsRPc|e%P&nN_Noyduc%%e4^}Ou#nA#-m4IN_JJ{Uv#tTTZ`ovfmeWHjYkxtp9+u9ffj zkLR~SuB%ye3eANNVXl?i1nK|4w$KNLJ%LK(#k!898guf7pA2SW%_+-xaLp?R_9lCk zjwbT(FcG)$l2R09dPHp)DLc)Q#*COKvJ+_z9f3Q+)h6>$MkR(YKwH}cgU}I?NJeyZ8 z>9+q}=WTT0d_~~g{Ms+seQ>uZLpn<%Aq3~~YmHP(rc}-@t6ye)xbKxq_262D9uxIf zn?NWz9MFGB{FWB}_lyhSg)RT_8uLJfU=rwOMG*VxB<2tGoHEX-@Lfti zq4U6|`Yny-lu3WG>#vaSjP(%_X`zafm~R1eWIBe}Zvi@8Lh{~uAXZ>j*41uYUn9Me zcx_rxB`)88rM^8p!n(lz9-dn0zZ2Jq4?zFWum6q{l&8Rro(dbtV=fSz0>?y1v#;+3~K^P`bLzOsPDxm zB@+U^$6&SXK;F{;%jy?u&Q=!FxW96j9?G{@zV;-daUt$oWlw2C*ad=3y}N%&{g1tl zb`c}r6+{_6`r+1(isy>)Uk$#LSH(cret`T7B*f-?WNNs&Nasu?PPThZ4DERQ7d00O zr4N~MA|k^!sdDjfjQiQaB_G#gNbD{$^L7JlrhD&~+|O|;u8*1{3IbIud_DOLa~4V) zOR2voJ-E|N3*`Ht=rL9jDs?WgyF`kZpG&Yx+6eC!;q4H$-Ky?8V(PwLs+~)vrFXVz&&U%?ZvG~_&Oeu zg>ly@0veiKNa%>Z^3btyL__GBRqr}Gdjq5ulfoq0fIW*N_}A)aQnUVS`o0JDG0Bf) z;V(o59?bt5MZ7uTP+YFmf9v@Xc{t(W&TnviaP$|hb=EIv5g2oN_z2jNi>3`a;mxU> zRJdOjn_dhqp0Z`}exE5uNTRpQYYdOa;oC&{%H7yAqE$RmGOsIBb{!rMftWZ`=vO0n zgDxQuhfkRnx_E;oN2n4y{T!b%CB(CmA9N)g*1DURqkxyGBYX@k6U+UN)tjns3w%ML z2?2}6I__rKJq28^DDK7F6Os?TiBm$WHdAtCf`O>Jg^F`MiS5X5Usfo;o3tZ?&07no zIwtdDA)l=$lZZOM+J!wUMKq6iy4XI=up$ z8nLbOCrA&4e*rFY`jLFZEJLX6HP&eK`_Q1B~r(EYX#>=7Nzn&v7d=oH%nq4hipRihA7PSxURmN~hVyDwK5e zZ%@K5ZBV-bv{cl!!~nrlLh0Y_Dx^ous|x;Tx`Vm%!y#=2jCtzx4@$|?PM5d6o8v!4 zuf+_0#eobzzz7#x8i+!Ax&9+W%|pBL-e-?nJJ*W7w*kHx|5>FWS)scER6zL~DuohK z(i)?d^+ylf4k6-JGUI6U*R<)^CO~}7=-*Nasbjhi*Y@t#4Wz}zVFYFm9^MoFl z(IeKg|1Jssp)Olf7WKqvkL{_i+iH9|0qG6K?!}SuOMEWcYnOdxic7ee($4+AEjjk2 zKSKoWxV#bR_LOLFEgL84wJ&*AH-g;Qe}&6SZ2z@AO*b>Rx!2oOtnQT}6I8rwL;#R$ zU8;~KHqp|eF{*eKad_wn#ES+&A?yAxEXb8dpT(}$)%t|uL-s&P4zK3bqqCFkZ~$mFub~W<&ca`ocHBgQh8CZpU6udT7$6LI<|eyA{2?(>7ZDh+ zyt;aAmM91U;vCW154KUWCC*DsJ^bwz-J@g}s1~3)3-Ie*H#Ie-|1Vs-Nv&{E2LUe% zA&?$d{`>^>_$_ zi8)-Cm*>dWFZ>{ihL+XGXa8WHTr+5Jf~BbHI~5@=U)c!Q=2hYax}|tA|IaDczkfCP zAHV|1&xK**G5-N=O??7n;AX)t$7N#Oq(?R0F|~;SWQK-@lB|9-Q3^&kHjAAv z0;2o)DM|YEoA+l{UV2-wzM3qfC?%Q(fOqfS@Ku;Yl6~55+W0nhxyup3+pC;%pa6C6 zXVE`AumJw)V&|kb1)l{%2thtMzXSE+e#tI&HBImn`vfTx53hB7!3hniS@%917bU~W z5L_l8vp3Us7YHi5D>GQ|Xvtv>CgaWsShVkuPhw@f)gY5wpXE_eDn0CgM*Y>YMGyc| zLQjP~i}-pV^(mEI`87LG)TkDudFm)SMX(jBU&#*&>uB$}&YL zyX@=KAp4T++hFW_A?wV1xA*=1j_>>Po8y>2W{&5%x9eWc`?}8adZg@g&zV@r=*tmu zX17Nik5vzK7aYY;Xst zD3_9CG=t%V#;`E6w~ON`#d$Z?CXRUW`- z96nU#Cz;S<6NU{q+=4y}0G>A?>jm=!#9xEw>~zHjC_)eX^j&Y_|Z|9>oq7ezK&)E~*&oz;;tb7EunrvJg|a5H;Ns zD$NH?f@A#aRFyAxia$;{ObR>T^DNRo8wsd(Cx(M%(uCQ{7r{Hd8OcDsArF00F8# zS3jH}J!Yn2+-5EA!sD)#)~2Q=K_MYZh=qgWIJ7WYA#+5(2}9~6DR_#>xlO8Vt&R>l z-8VKqiH6BU@2~^Fv2c3U0bKwN0}uusp0d8!*sKbEXlZHD?s)KFV@Yj|mF|Q}8SEh& zoT_sE*ai-#aoKf(_u4p15&K07wcJ(VMbC6PvqBoE@uXZMWRdR@8Xw(zhcjkhsJG#k zq)muTYRf^B;)ermZS1w$$^(-pFI8<+;7Yi9cTYxzl*FaBEQ*0$tgmoVagm98i!=VD zhGma%)odGaw*=-+fU$9GQjv^0e}I2yWyX?J`*7M@F-AfU%=}zntHDeIlVrMn%7ze`W7A`F4&eJhR|;uq-HQepB=G^H}eHFOw25EPcQvI@+0vb?mRB;{+*Qiq|TF}0AKkWgjh5&o-k*!oMIMU66|72kH@8R z;_!wTSN}r}rpajtwXdA=_ETYy$WA*&O`%riLT+@zG#-aZ^X_jesH>JOIg_HX!a>%3KRd3QtSc&F3E zV7r+usdm_Y^^3%p-Icg*g)bVFWgEmDJZ!WpMvMD+I~ho<0_QD#p+GmBwXVfA7yQqL z;o;$rngvJqlh$sWtI5V_KaJH(pp0B1U=$y#Bt8@7a2`>K>5DgxY`^Ci6Rix#RC&&M z;`0ti3IdMQUBSKb{ixIAnm4cPqj;zSe}<6<@{{>UDu7!NXX8g^_h%EktGux`!BK-; zuegREQCeTKcGoGaXty?RsOTlI9Qhd%yVs339V)A<)AcNw8`J8-UnLLT-Rc(Z%b69i z+&z-!$kbuS2;hLV>VW@+cPGen1OTUkJD0cDN0}|l(J_jC%I7R73iGCTCUqVz%x?y{ zu?^iFzu9t;@*kIqFR_Gj-VG4yp};)LMJO&1XaU#ulgm9nXpJnsmL< z`8O#kuZ}cUfOEKT2C}lY{`~-T?kT(;>cvwCKbR{;RwB3I@MvY5k1m%I6i~9>ow~FT zbgK9$F#(e7lVsaa)XJ@LbU?Nf9`lo&NBn3rq9s`W`A6{wID0?$9U)5Xn5_^%J2?TC zGUO5gpdfN}!p5!vY}6)+;LvcN#?;L+@gFsD_O}tgTe@KhOqPZd3fC7rm^E(zmQJ`h zYxa9l0-faDJrE0Rm5ISn%HLglV_TZ&PWa(IF){IEqPFUs=#>Odnj^WVpyGA%m=1{1 zbI|=;>ZTFr$smaT8wD*wQA8v-2M`wY@ z0Cgu=^Yh0oCKfHb$#HMIiLbvu74#o9Anys2|0VQ%ru<(oUB-u_7f;dA(z1j?jP&#w zF6Q7jn>skG0Ze)Y2s;HpnfXA@ol88t%Iiu5N%`5rh9FUy&EWFC$Wi#-E=(N=0Q!+s zy{Zd%dL&p_0bS@{UJ*_Rkb5dUW=}xz7RMh?C2IiQQLwYTRG_$Z&5!Fx7;KB6z7`jw z@|LJqRegl*KYg&SK|bhryOjqrCoK17(nB9^B}$*f<+AoMh6tRC)}-{=TEtdn=m@zN zjRSpr=0|fl?#FA{;7jDO5c-qbl3s_P1Ak-F(xkV@_P^{>!}r!Nb61_)ZLgl+QBi!a;5p|8-4X8a@dGIVzVb?L@~K$q zu&S!x2>C>D_#e7-Ut;8s$fIG-G)`EOW5oXlHS&2KlH$a3=Z@2O!nz?gnZ#r2 zEs-GU4K)MTojLLWpkujaY%oHAdFr38xm)T$FK>e%l+qvllcZ;s$)fVOi?;yyyP&|x z@Z(U?;!#_onZ7?%b<;zF7QB2!aR`hu2Z+`h6MdTYQ?ghA{wt0HvAQNX|H4OC1&|Vh zbhIS8y5KI{GvH)x!g$lu(|3+sbs2lI!xO8WG1aqV(`4lJksI6ir@LK_blI`@Y1vlj z4Hl-!F&Ul^a)S%`o!B1vokc$2mO(fiPTo>O{)Lw{;@GicZU%q2rj`BwUaqd#+TGt4 zDRo(;AluV?Z)Fk`%k~MQ*HVI_9nX3cuP4c_&c4GCA4t zWc}>ct$;&yb#*JC?)(Yl7MEP>{CBQaD<~@3j+8nex10K2+2E#9?|dLDW=>q1e%8`L zfP;A^=#E{)DkPwJ z9WVQqT34GHs#@DvGH#7}Pcz+!tls zx0=Dj0^7-$U2B{fapwcSXiP(6KS;q4}B|TmWKfQVs>`L#e-#uf`9W)D%=nVs}cW78x*j-C|d$IR&uF)XgVB!l_ z(#;U6$})B)%qBm$MpRWM1T=q~8XTcZMD4!qF6{fA2vp7ALFC}kPWi$r{T56^2tBYJ zZ9D(NqZES7{~<-)wDwWrTVr-c#uP+ScBby>zKauv|P#SewlT2CHX& zex3%%7OAKi?u3Mec?NE8I9;3Dam5lt={co~oIejChp)D=|C0o%j`(-<)aWc=ui|#z z$vy^(1_>$K)Aig1()viV@3XuiA=|0a`GzY~Q_q3W91=~K2b~dAP~Z;O-zq*G6C^HWdk!t>-soA2mIfRoEL& z_1Wju+)`lKQzw(dONQ8GHxtJdLVaWaPt^Y3u&XDu1#7QIo=S@5Dt+>kk{ek)lsVtf z&_JQawI?Dabz8JvsxAqb*R$ktw`p;+ySqCCxsL+Uib)o%o}w%*8C>$AX{~AXX;i2Y zRbYtc?Rzy{KiI#;@I}tV;(NalXwC!7=~SwZL|z5gvd%RgIhR+TK8d7k)!Dlzd!;PV z#rPMzZ)-XhV7WHgtZj@4XyvRUKfeHW>vBea9mK`eQ#g$x`IYxbD#UZSD_8o@cx7&| z2WOo1h91M>ykF5>-qu#Z0&Td*|G7xaBxeob=bI*;%uEX%bFU)m@?!H*d$X>(OCR4K zgf;M)TztkFoV0Hpmdipf_^3eD?UZcjHndfRs$hq>As3Dvio}PPPdW;x4UNWF^3FLE zv3mOYKjK4wj4$2)(LO|_R_BKJvYgY-io?JYTojib?FY~RYuD~9Ht$Y1h~ktT2YDij z`aOkXV|U|ZwnK$Js#a!aXWt=4)9ss@ykS{enmz_LRK#Tt5ST%Xylr;knQbym7&bH+ zX=tFT^V`OO+fLNTJlJ60QBQ-!An(tcnG+xOEnOW0EOgf2M4tuHpID--b-oMS@Nt7h zJBoZp)*h9W#2=X6Y-2*4Ju#_KK|dAT@S_qI(j41*$oTQQAvCR=^2+tnV*D}M}7A_ zJ5)*d3iyn|LP*VQqb_FXpWdkoJ(P<_llZ186ap<*HkItfE!JV)7t3-klYmUpGe6ce z*BQOIV`YH>C!{W)DuRK>v9da(i;SNjHaD8%-2q#lnbtV?Oy;x;hr}s~yV>-PhQA6# zNBO-ji|~xZ+PCKz$Tn7Af2n)OS|TMznzCAATjkP|E)07+3Uu z__$*Kr3}RlyA!(~HC+)zK2bOMh>ckXPTuJB*Cuz<{NR0G-UGa(&mzHB>2eLFfih8P zLTM}_J$=$KROa@_#hKfNns+)%feWN)J|n6m`XriQo%u+iKXG z)yRo~BY?+ZPXRbaAc*{Pbfae_TD)#Axi%;i-nEO`{juEid7kZ$hvzdMKf$Fidc5|4-14TlZ8w}& zqnD5WyF!@2SWjZJit)OETH& zZQqDU2;4M$fIv{3iJ<}5?N8N{7zw;^=Eg++UfB(;qSW#6p-T6R9ICX1pl2f+`3#+w zbE?f99Sk0@Y*uw@S{gO<>eaCZxPptGv_Hu?L@c~ntFn9iYMP|h*MWRXnhO78zkV4d zrKM>QU(~Q)L)PdR=ax0vl1apJpD-D}`|=U#k18F^SRl`=vPbo0h0>e3sO`6uFH^eE#}c*+3f?O zp#Kf6r5ln_QBepN7bf8J*G*sg^Tps%aOG(Hu(@xgoBK)8Nb+hH17>wK>=`rW-F<%A z@kipPe_r3nc303^6;tfe+kS(Q5<_IUi{Gx3Q$Pd^*ywMMj=&>Mpil~^lFY0ZNW8pn zaWJ{L_Zox2{Pi0_h_!7fUu3mf=u!3&Tk?;`2PC4#dV48v#!@0{l-D{@@u8uiLCFQd z+*B%;F9-8KtR;237X(s51&p$+W=1m7(my&nZVzpW&g%E6R$8i<8LnB?*3bN^NEAU*Op`_}M>QrSw6X zo{5NvD5_6qz+m=Iu*bQe$PJVp9$y*hvG1(-?~UA7VU3H6bI4V_IFwtxj#?4e*u-Cl zf7&fOH{CAf9anTey^EyU?+I&b(^UvGGc`>whKn!0UK2bECh+InT%!~^3;Lb-tm*-J1)l{r(APp zH9i-a=(J{4(!Si-ePs4@6m?J0LB*eO83P%wl|N4L{~mxRpQ~6ev2%;sL*!rl$yC>`f6t89 zPgA0ULYXRBw)W9j{`s!dhWv_&_dUyE;^OYBBV|JduV$y|QqW{uwc@sSC8P&4^Yn>W zn$R-_btb)6r_>guWknL964N&$s95p$#8tw!gR_*F_5xf$Dw z)HW>Lo;5EBvF+`HQ!Q_HjHvdUK zS!!Pq*ZP-N7Z;1i{S90i^PdxZ1I}%~y!4JMwAb&#(5nA-zu7E8!jC1@)p>AK*@xPZ zFW1=Gg|#|i;F@Vju$$UAT?}mI?_aYz6~@oBm**GkD%p#s=o!_M8~=2osx3hW7rKtc zXsxj)yYo$j^(0lCuyhyO+Ws6MX?iGenVXcisu=?y|7(9C&q9>&tMV zyZT+mX}>bw`fo6}NZe;!Jt=RuW2wk%H{sHJzA0BzqcTAvEHKxxQnv1xmjCRiGbL{ z&;$7q{j&b$Fm@M-Zx!WE)KGZYEv?;xoSfL^oMm$uZa=lXq?Aropc9b(jE?79Q>CrD z(~4-Z3hPgg9@S?mGge=0uWaP<<#=AF4c&C>uE-e}Fmuw=J1-Gc5mQ=T$+0BaWbs1L zil#Ov=Nw-qA&0+!Dy?f@%dcpAYbz;$QA?|o;YRF9H+fzUPAkbbUf)a#J!`N0ryZo9LZ3A>5z$mL8O-9!|?XYSKlCgEv-weI0`L>>ECP( z`dsz-;#RcOZ-a`s;uzJ+Zsi)Dn;KjJ_1Qw=LP8ujV|%On1RE-@ykr4s;=rN=#{b2J z?kq6)Bu?!H7>FlwtEv=Ucd*1h3$ZC#W``F;C{k{l7#Z3A6=h*%W#xVvGR&z4;vQP@ zH@UvO3E#-k=^X+0A7rvM=#s*8c_;89lYaEg?p2U^q^CQp@v$U>>hTSVFZ(X*!i z=bgxF$d!9)zR3wd&0V<>juz))qrg(W|lZ$%`tPd|H#=%L%Wc<@$VH-FblcJYn=Vf8(dvWd4X z2+@TO$eceP(oA^c8kJ{oG)i_CseBsJn8KNgxT~uto-YI@3whI2U+a)8EJH2_oaN&? zev+cLwDhE7#RLs%3x0#xR^45=x6wGPzA|**@m>J1kx*_V_qUx@|KWiH?gyqj6&2n? z)W-Hs0q4yI!!~@Bay$X#DJWo;O;`D+r|#Su^ljbU&5!9rat^cyV~|G!6fR^7ReTs8 zHdm_pa-yW91Oz^tS61?-w%75Mt)>4O=?CNjt8;L0aQ{1`ZCu~Z+XIGZ#=jQelbbH) za%t2&>Xb9X~qil{r29`r?7~3Bym^3UEe20uWng;Ja@Nq zeP!q33;;ggei%RWK+4f5cOqIw%$K77#yW}AY*vb)BNrh zGLxhx>qSRbJ^2S-G(`};9(#a9p$Ja{aeD!K;Y^>(dJ>nm-5Px4eoFj-4!z2Ja`p5* zl?WFu-!g5y2@eKIXYlH$3uZ!)odF8exUR=br{ZWVVt{(Y-nmWwNc_P(~xB21p^huiHz zZH{Q6HwjB$JayFnUZ>64i<{h+m-X>hr|NFhrmqXJ2~QOmU6y!JUpjlEXDEwXP~Ac6 zDxb}>S6{ABf;yb_WtzV?+a4;!_A&QZ{$%$c*RyBcr8ECYVg1c?)FjiXyfK7~{RW=y z;+K8jY>c z(7Ii!_ccbUgF&-k(V=6&!g=J~(ceZR_;%4gR|gnzQ4Mw&`NP%aF8kCP|LD^zluY+N zj~x=Z1+jf#D>)-ll6sM2#@5WA@#@KCO8w>1pPYZOYLoVX7rm@H9bSScDt4Y6E*(oP z+gl_9$-i-YbupUuQMr;1|y;NtpbAjI9RcH&>*7xI_YLjK!16v~5#y+TtDCz|c z_)%zO@by}9z6z1N!OS=H_1nqSl@C|gt}sMg%X$Xu8~{C^Ms|EyI1E#`qO+*zbL~n8 zNhPt#?UlpG938H2SLL{p`1!adE*N#Zo1FhDI6N<;{;fY*LGJObHzW?1?#)@hE4n** z-$zCMxxr13@e|Mk?`|*5c36>W!`K~WLa*?NJ-cx zc@J;!`o`I336eH?dHHT~xijnbt7@eSj_-1`DL!wK@F&dPE3M(aeX(o6?)K$iLDq~s zxl^tCml>nr4Os$rybXy(Q?d~Dyzc|k^Ws7kxhHjnvK1YbWwJU#CLTDrGSnpp&q&rX zhuo5ilV43`6gF95?=sgAQ}uaLBlFOBc$Mty*iEUS8-GFRVu`qPL5Df%2u?*-#k}9n z54gFUKI>_1Z>&A+Qmmb8pp0jn*`xE%}Ye%w0vztX+ll+qx|&GCwHU&NLf+PW{iLHa&wXAm%GEa$_Fj%R z?k&j(Ew&^8OtO(5Xs5Mnf4V;CQ)IGpzxhe%9I2!gO{$42ndqI5ZKe{o&8Zt+e=k#Q zEei2Z*6@ml>?JAr%4NIb&_CEP4J8|0`Xn~)blH^m-@KX#PtcSdqcDJO+jF}lm{H8T%+ zmuMd3rM{o|#`PblepXZPfo*bQH%_HCm@i{nKnt>MMoY;UD4V)OgZsU+DC1UA1^>UnvqE z_%U267_t<-8$Rq!el21P;R8J`1b?%CKF{#5hmNG)_9;I4WjmyIlfl@iyv;L$t>EWg z(qblQh6d^1S7moAd;PMp*0WVlUnGPolLRi2)_e>VJ^^cxdjoP1enI6tpt)Zn%= zo{<&oVBEqNRHud2-&6E@*%lm2T5mTy>yww+vZ+GOA=R{CXg>d)BKQqKmHL-Ytn{yA@rpTJPdUre)m5NV$f}!_-aq^w9j$zWtQK4Sm z2QJuky34bU-_KuEKy7RP&x@=|l1tV}T~rxKTyL~^=FhRp-B9QCU_YS`u_bJ&*VSR7 z-ecbyG>Zys+w!@r4K}m8%{?b_!RFpuMHN;|1{_=5RP9X^f^HJPEFCCvHa$h-k93p9 z6il1|iwj^PanIyKBMR0CryeVTo31O%%L<$CqN5jET3UeJ`LnOKsY7j@ogP8BT}Szq z6Bh(7obkGLapz!hr**8}2!o2=+4<+j=XfUTdhBX0?fx%mPgltiAcgFC_ z=Jk}s^ew+6pkc<>)#bp|?;`W`<4 z53UQl0COt0aYcRTZyYRjmyj#5On3r))QqFC?8oy9T1@X*G>f@1|6H!}NSw=I&ov*x&DhDBWDdCf#XtTv#Kr{)t^G4>@JIso z9mbusv&F(_)3NNVeSpBmCJlBiF$f-?VK+D*kSkuFm+|h zN4B{rVz_uC$3iNNe!o@JsvxdLhAoFal-I*aOk$jje=DmHef1Y}Af-dt06Av(U)g!8V^$a_wQMGF`6Ksa=)P5oll;LwQ^7t-yA*I+uKt|lYwXkryZ%oo&@2) z*$=*EewDC}TyA^EcvnZK^Bv>$rYR#iiz?@oaAi8bo0=V=;6a}(Cy-Hl8u?Qh8e{a2 zm!!_pa#0qM1{BDm2_>zO+$H_PfLYca(c4D))((+B5PFzv`nV#t^t`l;@-%%zdRq}9 z6LZr?Z=R>78ks)2> zIxTzhz0F(jFD!n|KD~r((Y$ImtfL%E7BhRRtwqZ~|7jx55BKEgdVu&neYl1l7!iI4 z_)H)uN=ZFC!+v;aob+z%K$8mTVkYUKkrgkIQSF0NkA9}9uq8t;TktU zb8~KT)!afGH;$%+acJ=9x#feTEerzjH@OsyM)rnDdsj!etV+rX@=6O&VNzN8NBJ{^ zNqWvt(>uBV>S#oio#lJgK-zER`2fu?_PX)?^ zCV0Pfu5uaXh!IlA2#BAxLEbd2){RfFIb(g7^lU9c%^G1~MxYDB2`%)({83FmTed(I zG_NmP40Tg*%s<|Ga)dbC`4M^g7c}^CcBW+Z)Ou}r{lei+Vw6Y$w_dMH zuYm5@&g74M*h5-EliO#W%KPa2Qv#|GrTghMX{H$>BNEe2An5N!;R$*3sElH;?d=7d zo|^znbpx;As))8L--fq2CaYPH0_jpAm>h8j{z@d6{+DZ)y z>}OG6YK&+vbid(4PDVE6SY+S9xTj!YVPS=SmsR$CqSc)Fn|@8Aut~>{oSZBtWF=&p zytQMC8CG>3T?m=X5-hEPpo?qwhGZ_O3Ehs z;4o|a=oTS}^ER&04BpnaK+K5|z91V#4ZuQ|9@iOU*x6mv-ZCZ)a$#*vfRw%WfA#SK zPA2`zlFpUXzB~82(EPH>*7(NLqMP%6T_3L|_4Yo9sKkk^nAMMXvIKR{U%Tlq z`*KjV`cp!}0yLHM`-2{h8M$cw84tx`vGzI+^ZgF4| zA${P$TyI|p1@wV~~kArlrGrKjOlib?CiZj&lJTQjsK~}Wd@^L0q{mmb2 zHK`2ES<|xK-$EMA7IJ0NbN(*r+4tIt^RHVz*fm_*8Gjj>2i?gtn)|^XFYSS}JT^SB z>NCXyO@lsvR6Pu%f4xuFDg#Fogxm)mBDN2`1G9Y+;zhSLIcOoWzYjt z^inL4bk-Cv1f(BCG3uecJ%FYUsEd2c`xfGI&)7RfTto=Wnt>i$IX+t8OIuHz{R!e; z#BAg#9J9#SOxRv8+6${Bnl-~o1L-}Z^dE}mK`Sk#O$HCHOO?R+kWUgMoatpOnsMU3$S%2WtQ(JML3!-s?{!uqXMXT(~3@@<8CnrZG z%evgJ-~fPzMy{Oks=s%l@4nHly1;+u3Z;{N0VDj*!+caUn#(QeQ>K&pm*?ZZ_65y( zM%VQLf4LW+{uK0&NW-;7!*PVbjeBK~#q#x*I2gQUF5;Ojy$YysmI`iVUK!6;<41Jk z+wUcXHW-GAbrwEd(yv!}1;DxGUp4WofA$)Bwm)u7*p7*k&haX^*uq(7^Vx9kv|m)4 zq$xtf;KxjZn>c2p7(D3Qaga!;zaA>@)hAfAa0HrV2T}ylNBp{9hxvQbWf6sAZ!mZ9 zzDkWUBUZ5beE{2S74<7w=pzs9KH0s67eKMrVeYdx=4hvMmx#}qo0|hcb>2G*%YDf$ z`xzP$ab73|Ky?7Yzc=Mj^fk;yXP|q}Fj3Uvj*X2?g-1}7hD83OjiasV2_x`@^-R7V z4@gYB-HF9a4z7t%J-$%sg#0tVUUl`{1i26EuRk#p4l$b$dR`FTSIv(9ZQ+LD7?R)$ zm)8OXz4Bq)WT{WTiwQWdSkoi%sv2I@!JXpFudaa!QD~n}4%>uAlwVl5Z*#a_o-pzx z{@TM{bvYn3{8T*$Y4jKOUlDl5xIq4Wp$=XgbFDSj6a)Q@b_SH!|5eU3 zYeY6*{Wmw#M9D%+dmfke)+!&i`>o-$VZ0*CP~QZ0+=CF&i=y1gX@zd2{yhl^rl`hQ z^<6Ub?o6eVN!f1S;M%KV>F~za2g@&!l?9VNdz+idtH^NZjH17h8Bl;f|FW;l!&zR}qn-8fQ5 zvqZS=Rhrd#6&$BO{AWNZS{i(sW+Sai@}*F{X}_OVb|JJXZwL!lP|ZB+uH&3@Ib1GM zl7VkMLHGAJl7fVe7I$B;_ULDCeSQ7zevhb0#mdSGa@rg_@o(os{hrGP!Pd!~#W%kz zISNF|y)6q7RhCFy=8!-O*|wbQ&L>KnR0hF-^GAJp^XwXAaS|_(we(F9JAXU1#Qo7r z#(Uo`{`;_X-KBRvqc-cKKffUm2>rT<2y);{3_0jBm>%5MdH3N%Paithjs#)hn(Y}( zoM>UVA}rtcG5XrS!x3c6-4xu-keZTWmUVWtJ%jwY+ZT6gdGEh=MxskjEY}pVn?z=3 zyRC6~S{*qWH7*O=eOn-Nb3t_$V^XGe*{~V61hD#zDm+!Uyc)b%bwV zCLX%|T!_yH;Kc-beB*=a0H?>|0Iw>~9T#_KzLF}WygxWNU`#M6e;I7kmqY~6kcIS} zy{s?>nvOQc^-N7~mai->j>?h5rC}Eh2Xv~*D^7VI1kt0?ZaYa)&*&&Cl2%bgx^BKA zPKu~vP=|DL3k=8#I6DRe;b_0(O*;?8O7r}&%%^2G)vohzdbYoPQ_FU6a|q%>cqXTz zxD!v*`tb3nso16%FYJX#^w>6H7(dl?dbAN{0pk|vVwxgsa0yIvOWH&u1G)z7|MJs@ z7kl>4A`Hk~SsG(gv>B!fmo3^1dr(b&4j}UsjZqkQ(@aTI-xZRMaSK`135oF`A>o?; zZdAU*vkBjj=Acw%zf7oyA48#|Sh+=)p-fVM0-61Tv~JU&j<8sCST?uiE%ax(Qa<~L zOygF=Cc+p5D__3$B4Mpuzi`v6c2w}7t*y-!a4hr)f0))c#|^k2qBgsVJy)5~@pZttYYZDD zAlyI${8rW{0bWkmG6R;I6D4m)+TE_#E~~w>qZ}_Z>q+6n3j^uMgz*c^%s*C>gP=hM zamOZP#yx2j?Pv^!as#uQOa>MhM6n1P8#$RUg4%RD1XsL&#Lmh6yA-ogF{BKer98S- zgvAJk#`b1pLR!H9<@DR~^0&TYpfvXQTt?ZG6)^KTxuyRTrYf5)<9U#t8ns!;#D_gj zp^8o`djJD?5Yh<_%O@n6Sy_GDiNZyuHIIfat$8^+##jy9u=@qJSyGscm*2BDos5}X z*Kd06wOx4@D$1oWvBrujJq?g1Tn5sM>-hj)g=086&_uBGIJF5Oi-@iM;DKS_hG>hS zv@Qu*blW3g@?DBKxBt5Q`Sn%z;d7qt%~sRtKbg0w zRjy=6P#kVfGLnHIYHW$?ztU=exy{Kkx|yQKIojC_k1%Zgr(@fo(@_-6P5UqAcUN>= zpUbj)(~h?gi+nJLmDsJ(D183WDf05QYvFZ|XPL|tV9+|HjvW4>CA|QBf~_36RrSEh^_tDoA31rb zi!FRU?i9BCdFu{0w}7y4`;RxoKvT-Tdvt8%0{d$pV6Igbcwu96SxjuOBTHWUcJsYk z15dMGdoQB}g^(NIc+pCCPmf+?gd6y@P)pl8bL#cE5iEDaCXoOTprRT?>&1%&j$W}c zBX|{DU{OSF4kOGQtT=9XNv)Y)YXr4JcB;M(;Dot(M3&F&a3B22bU(%)Qp}$ijq#{p z=~C1?_PXuAG6~GHl4J9@krzPy38d_PJSqiOX*nhfiZ6)qHohG%LH?pzxmh@!xD}NT zx$G85?1Gr%8Y}&U51U6-a&yCa2vmU)uj})a9Yj(QoF5wXjfo7Hg4b#gi@CYFU-F-V zp&uT$=u=Gd_~pYLWw#dVoj(O8H7rE9V#qft^xKtO<;Kz&S8cq}OqOobOe-1!n$Ca0 zUlxeed;z(4!^4kyze;LKo|VZ}A#P?vKh9iYv~mUiakF@F|?EB1O@j zKYAu|sZ&ul)x`tk_$jVPG5j7iOLKM6o2$Z{5E@F-7aT&~H$_EF{lV?DeDb!v^Gq%2 zr=4Y1B{CSW{n}Gq5^>$N=%*-<7Z;b_B^SV+NJZuPGaWEbO?|n@ z6-3r&!q3O279SU9$r41av==J%EVg-Ke=Hf`ebN*qYCXS$#5%t6SneGX(8G|S34MU; z;i?|U#AK@WWRaugNBSJqBAy@!bvi_h|I|tKT{h9hGkUdu(E1K={}FmA`sz-GuwiiY zC-{ZZQ-@FAv6M7iH>ay0SZ_IcCEv^T(u6pJC@zT-YmBQ@T_Q?uq{mcmvdDSm?Zdp5 zbPxR-#k+T=)xz=IySq_;kauI$1MB#}P`@@lLh0W>Ck0)}@z_OgTZFRF7;DherSVb; zQ=W))VEx2mlhsfK=iGi-vpmK$(7>~xd!XueoCVovAg)14dEUu)ATi<7#Eb}G+pOGa zVsHs2<}y^6a9|X!-n$-5fdkg6VuL1-Jd^#d~rP%)&OBKUPp@Gc3=sZn;EnC%fH3p<9#%K z7sAgXkKwmEKAr%;JKM572tkXxw{Wy*mu`Ktp6X~%s=9o+H~TV;^Stl_4fL^z#j~F7 z$<;j{0UDPgb(f)lm7VFJMX*XmbGYV#-3kdSDUz39`U$lcp_z4uVt+urn|8zLiY5`^ zhgKpmK}o~Ud5{CfJA00k^Z3V|du;LNi@4;?V)2{>dS97?H>PD`xiM3?swG=BQB6Kj z+lE9phDV~8SUvE_g0QEjXPVfbqGxOzsZB(5_rZf(>MiVjglI6?SY9aQrC-eP4u3b+fYvKv2!8zb*z9y?AH>Y5?NNU5vD67T^Cx~en zeRW{o*P$#;58UaIhP%7O$N2dC=}N;Qb2epPsVb{hvM%?uZ+QE(ls+Cr(IxpaWxB_3 z5`gbX*{-npfI9d(@h8vaJx3V`lt(}My25}a*pKdR?XNjNo zRNgOGEXft|ld=!pSM<)C&K5a!fjBRWZU3!Gakf8ENKY*txA*Ar0u$TgB#U8t@=lfG ziP-ny49n!YgB_L=Takp128wK|8xx(}CM%&l3jw)5!L%Bpbh=ZbrcG&GG{)Nmu8}`x z+^5l-=US<<*ghsJbCunX#&&Lpx=j4f`xfnmzqQbUH!gw@JDv!)FvWfD=LzPFlCR?0 zTaikoe{p9t1fPF$YSKd2qLlpkYB_F)RjXIUp`Fh(Ptt1EVLj?o^Z~{CFcCEMZjliy zcr_h^MdKbF?s(PSNJXq#x-}dN0J|>S9e83(Xs-c+%E2B~2TA^)IG9 z3XEt>EsmQ>$QPrYP1u+$EpYm#W=cvBCOr0eT|shRw6)4Z$nmK>$GFTM$n+C%UUhlt zrTN`;Pw0dQXsN|fkI0B5$Y7&X{C8#>qV_>W@42De3)@MJPR7ps@>J;d`SI6?Blx#- zt#+s!8&%jwUku}MFg@TuF6qo0iGsLzaaU$&_6uWgASaoPfn%_cH zsY7zPx1X2az4u^C0AitJ&>j-}=y^Jp47RTqfW@EqkBH%-j*Wpll(no2>RTPk z;!YpEdRiI3zb~tMsl~9LaPK9u)LmwQ7GWv&h9RAvu|7nUWIp-Y zi0W+*9%<9Nj)v1)UqN<@OJl7KMhULvAS@DiMXSOg!iIDo?|BshT8w?(Y=+dZW0& zYKYj-B#gbrwZF|rLCe8MB^%FAiHU!G>ELPTF=|qu`Tz$=gF(MMR_2!`ITMRmvZ^;l zRM2xUIuO_v?YW)YuS2Qt3cOT!LGhgpCgPb}C>%IWzADgE4)JM27YOq=kvFUIeYVM3 z5K*n!iJkYC|G1=O4$=C>!c@xhL?F%;U}k0(OMVa@hJx*=Ap#4uc?4 zj({}`%#g(VE!y-a%1*Nx^T9d9qqy7K+h0QN{95_8U5iqiK8}R0$=<})>SSxO>^g*5 z3Xa8vadvivXJgxN%-1yfc_8l+F)^=XCik($Yq&<1-gUpy$xXoWY<#1}$|V}|zsyf> ztUyWu#Q2t-`qqD>xidbSW$B1ai;j)3CE&%jQL!w_*biJh^q~>?r3BAl`+?A>CSNMu zO78fVRLvj*ELzuy`TcqJn<32pv6uQMO67J4Y=?+486EyvBV)rD3SLu5K?Q1-bpbm{lfy-QnQ9IYI30!;B zXS^k8JBeH%_H&A;!0u_;?j^g)&Fw%x(`r|uz9i`ogZ$gZ#_Yqx!-EjCNoM^&A#_%f z;5{vBGBFlAyXL!E)OWP|d7%cWPC}&iCu!KvfiJ*2z}E}d8z?8!iPO_5umX=aD0-T8 z?p?^ge*L?vr!}d`Eu?>yrQOV-5gkunrUhIG&`nnJ0&+r z@jkSap;Z<`rjx^lwc)=hXvq!e+QnvYyDvvs>cEAFb{hNuD7HDTIML`Xz|g>GR0C@H zRuKo{j&HF0>C4X)TXPa7G%hF$v(d6ksqRK!0?_v@$Ag)TYQCIogwrlLhSkfEwQlD% zvaMF>44D#>A*oPM@I|^>@E_#_!CwxoQwNm=9?NZ7*5?VPQK9)E^SPPZB1&Ueaw~Ei zwFqp|xIG$#;;asBVbrXHnIHrPNt*F%Gn1##eADt$XMiJ=0ra|gnN1(l32gm14O@x5 zAPAWgqBIcDe~&S^$Wje`&wDe!U!eu8Cf+f%>a0s12?psPtBqRoW@}`rf50gig9;sP z9B(VX-=3*!9Z!UFJTVVcdCvojsNhRcz0BB#}XWXeoS6T0qJ%l*=&bh z*Q*0@T#jCQdrk(8SN9E1CT@N=tVk&f)Z{jCLQt}(J8@I%K1TS^G_Jbk2M9l?-b`fw zf%R=L&l*_^wbf_VhR<`4<^yz3-qR-9qbWmpt}A>JvTM}| zvUv39%~DUI0|;2|FLrS{w038Fq=Wx-!k5lF0f4o&^_Ttie0IR7(ut#Us<_elY>QOm z2KIfZb_F&weVRR?3~_g{>Zn=OdOr zqDI#E#@H-**HcdMnCD}z@_BRd*L9YS&;@x9MMjT7QDkMz^ZBeinf-BPgg_{gJ7VX} z`7)iI*ZFxwG|;pOpLk)!3r_5#CWu%SzvRV}43TKA^a4SQBv#=e8u~9hvXX%9?&pRl zU)(Y6&D^d&6m$?%rl<2$vMil}B!k92Ttnu04Ck3{2%qZ5vxl)K>Kq|fvSBU|XO?Mh z07A5$VD;45f5o*OULTmlZq*8r8Xg0Gx_KX!8EXn|In z;n?ys%AJR2pAq62FSpHe0BwAxOJ?z*zklD|E*nsR0h=>*tS~YfRb-_T5rDy9)H#p_ z>kOtAI1vyERU%YcY5lh8+fgsdP)S|5jf@BLGGVUjBIUJf-_#IyD^3h+v^%%<4sX4Q zAisF=A`^<<`viKGT(_(qOzhc~dCqpeBs2S)5FU?pyyp9FKiwP5i*g8Q6%>gubbm~N z_@?{~uOG{sb(eDAe{mJE*Fe+VdoX$>G~7KSBLn>Qk#BScS})nz?T<&Ygb_X*KTl%+ zB_zdb8x@=fKXpx%Im(kg{7M6SIXcyiX>dbH|9ms>O+F!6T8IqdpA%eTUk{Jy5Y53F zh4@TO*O(0Y<-p3KpDK|Iw?%^TRRP-JG zme$tu=!B1tPmmdmp^}=Oegzt_#eMvTf0$2~D7DAep8wgjjil zxXY4=`Ic9=aS?Qc-)1*ONP%*P`LOF}jp=uJ>&y&#Z)<9|Sb$;Vac)@*t0YoRugC(z z58ImIC$2g;kGRFN3>#9VE8=?bY!_Qz`}$t)zD{+Jx!mmG#G9F!DVH^5w1qRH&D&n5 zr=?v|QdZV8H>U#xL`5~dqA%#+rGNs3SFLOOAONrv`6!_;eN)*dmk1$*61W4SPk%iv zt0tvpk(=@M1MxwGE$3xxrWE))4KA;qZE!z_NZ>|e=hY7fG8@&1hxLZQA2t5mR19()Jij^l-jkM-X zjMs<&7sCaTV^P> zPy$D@%pm^BO@d0D<=Dj{ZkbV zq(xBdf_VHiT|dGZ>S(KoqrC2p=##(Sn-WmNJuk;Hk}u;8xN0Xi>)3IuJ0XuCL}-{# zc=qW~GHnXS3MY53$5&dmYCATECl~L6!tJj@yWZWntNlPtvM3v^B0>r52AE#_$oTkI zrLbUabZBTF5HvXW0YLML7%tTf=rpe$JTA7MuhMZ9J0%%+0%L^cpezU*7eN;nmkcKe zHkUr3n%w>92II(@`+bq*FqH@}s`hy|dGvBiIhtd_=+C@B=59z5Jti?PSty?d7-L0MTjjKS9kGfWz5i3QPm6d@7)9!}|u{s7*1iW{uosU;Ck3of6=>;WGFArO*Xc^TN zWWJ6JlzDA!Et2Ku z`32vQE>y+#sRL6}R#sMxd4n$zpu}!kRb#%+&~KxNsmT=%>bNVi{f1TdQf>PcR&O-~ z%cbhqSu_Oa&!QWyOe~FKZ^B%D+>`Wb^T?$^C2SDCI3{@I%ckD8Mpv4$Mu$l31S_D= z&RSneQ8mY#*@CvVCSeaNdn@(2U21qz@!e>r8lv%27YyI_+8X5mcPhoG^79pL)j4CH zCdQV5k{agX5Q6@8#o|00qEc|x=8KfW=)G|GdobRE))R}ZA zw&rn|XUUG}g+E$dVNt9@T_-M9^2$dP(EKf^lw>dBhmKEa9ccgofin(PchUQe@Sv^T z0C3fmRQ>dKW?72?S|#pSR=u`sMa<)+HWo zzUs%Y*WRk6>KYpIAPDB~Ql?K)6{CS`HCTQ9xzGE^yr#1a?A1Nk=jXaLgn~?B@0*PH zVEjjP-hPyLev{A~y%cVv;%Ts9HNk)x^a(q4sUj|F*%&w`(#RQ?` zy_y~e%Vh^+B7<(1BI2TQRQHDHj7qV1uD-#XFB1{>{*$?zxJru63j%eBZmRm^LzFY= zEbXa(nl`M826HIq7T&4Y7)ZVS%eMV~)B}L)U2Zcg-AQox7$O3-l z`gMMJ`I>I0bDHj)Zh|s-;-o@hO`jz^MmY2EpBa2i&LR9wvUREo!n7B!q_1M{y%3x`Q2>V>S=cM-@2e1=iE4D=6PYZek>nZY79u)JUV){N$Li_n z$#fn^=D?Y%O4jJfAAWU|d1&>}XElR-4^v0&P_EphBmXj=SR|FST^~Z93~X#~4-a37 zoC?B^_;`MQZtjH-En4V%awFqi;JF)u4@ zPIi#h*P8nn>JeO2g3j}LN^kzqvS%$8UZ|p*ZTc8%Fy3RK-1hwIL-H&3AP`tv&{*3T zgz%h`fdY4ul)slwPEM-m&hXusv-Q)Y*EmnS$eFCu)OSjHde&vW=EGaQu8nxpLS5`6Yr9%eFH5DfTu|( zKXQ3&WnJ;Q`3-53I}~h>!!WgOucFHB;yc{gHQdmw{IlA5qFjsD;h3=lSayh-ux7bW zQ+=OCc>$%Z(41kRDRY15B=7NKK(!rPRpNNb;zF8)b@&Vt=v{`fT9ipz)vBANIMm6U zaTNyjFy}c?fz%T>-6T>7SpG;#W6U?X^r^7BDXi5 zf$|boZ-tTCet{hPksO4rr?6M`KH9i|g)D@~xZuyP8G~fbQCTpBc5Y!_;0f;9G;M`O zPTd*h8&^i9&FKUpLs+SH&R?TARtv2PFtq&Tp>M;~nd(3AO)vj#WaNTG?9()F5>@Nl z(;!nf3Ce1%VUOGOGJJ-`p0@D+;yex# zGBSnolyBF8%j?&rNW%V;+`+V{QsEu+pOb0I{~HSaixAb-&f)7nkP{4jqx)aLN%8-H z%*^*t5{qj@fA<}z^P}4TyX*h=rhneSv>2S^$a(3~+F&qz<4?heT$SQE0Cf%ZMg@#- z6S87ePVWv8)P}&JA%nA0_oe&o$HC{(7r376(CU$IgbV~a7gf$SC4r{d20w8KQI$I( zS%A2-G|_URCKH#2tFI|Mz2T4ymfZDP_wWDu#vTm`+W`}VO%~>wLj(i`OQ*8+^9_8~f9AMi z_O0vBw(Fq!2&HS+I`Ue^8~mUthyn@1}qOiE$-(L#M=~?p%``_cm>B<&;G<5 z*5nO-cgu-gncv%vZP`Cvvh}^sez8jwf#@LmKY(G|4DJ@rrk#9%im(b^@57kwx!|C5 z6?h;PEf`T<(p@R%-|2xhYXRDlE2&3by6(=Yb*cM2ctCTqSvIhLHdrrTe~a1cj@>;< z2?@zP^xs(it5-?25=F-RaYy5vbG{ULQTXR}ovB=m^2^>8*mI_B7;_1Q`_R!B%^v*T zqW-OD=T?ggQelD60Q%C^)q1u?IrPsTRG?fRMdN0Cwh_q$8{b0e`k%A|&^>(xg_rV+!9TjG)9`j_$*Ppu<+=N!>%j zQ#2h7O&dh>@4@~&CVIs zZNS_7U%ap(23{G@NIq}m=KnQf=Q*%SdkX)4?9m|q@{zPbpnUN-SV^ysSz1T1Rh+u? z6pe1U42Y87KRY7Fx2^qs{q1LMN>RTUBhD!vh(ZzkcVZ#$b;{no4Q}54TU> zCPA+g9Bu!?CE50KKyANgC-G)b{w4p7y0n1bE~o2sEhxt;RY# zDH5?CZgrFhlRvL#d5EX;W(YJlN8rQND1r>|8+H^fe?|&oBUHFdVovO>(x)H*~S1rK&%K$N_1D8zA52zGkM3l7mgEq zCvfyb5i4zJl+jXP(FWxI|P64=~CYW5Je)Jbq<4WLkV@3BFNzrQ#(JkM$Ut2xWF3(5N zIyFh*y8A+Zy>A4aP|}eBzpxvkhTP#;{c~%X4$W{X_FcJ};nXrH0|bp_dp2_gy$wrb zc;D^Hpp->>jmGJ(J4L}mya@PC@T?9dCyGcToxA4|I6k_F(M;4*l@EGhnH3-ChOXQv zm-#efVNE!3B0l}S!+LDhzhhGbb{OU`Og~V8=lhpgT}^m!w09vqC6s9H5%3VA`TM>_ z`+Nz{==~Nw{#bhOa5ChDpff){l-*a*lrEaG^sSY6|yEM)NyJOP8-KC-lay(Qv0@O^%h0v4CXML2C zwCSDmJ>GoxHq3$&+&XGcbK|5i7#iS3)CU?6Rqb2M{CJy|v3$UjJp^!)f61GelPkYi zu+m|-yT!^$;0V4GA~sTK#Yuj+EI6*!27Q!b@_+n5yPo*hJ+~}MNVvb8{|7>P+Kh*ioksC^E5M7CO+(0D!P4M zIU@NS?4T)hu$9OD6g(69SroX(5LeCIz#v}9f`OgoZm{yLK)6Ir7!IiTM->U9Rp=mTid z-`Gg@e(&EXYKXKpse+g~zE*_hl1!>f5U6v|;hM0H1&SRvWST|2B-_reMeqO;&t&IZ zFAvJLVet`+O9xRWeEeRp=-Xn*h}L&O;vBnc<_)NJNvmvi&Tgh0*}=LhUti0cj~-iZ zf}Eh|V*P6m&mL-4k-CHL=1e= zBLm~;Y;)nzs4qd=sT8Z*lz{q?iGK;r_eW4 zq`}kca^}bYdV2f-FRnbz~7O!o02P6`)}?w*3))*9=Td434jR zvI+mR1x{3l?=qcPZ2r1ScuE0Ps1)y$AM0&m#-W9xr9*nL7fTO<-`~P%#OOy^<`uYA zDLOMW2U6t{5^OvP+{%8JL;r@l%|9xUa}>95S)+Xrl@<;qH6@3|jrS}@pL4W+Xic3j zZFYo%Qr%#u^)cekk4HAh7hJMQ!pJ<;o+XP)PY&LFWIl9QwOKdxvW_@rd;heo(itXE z*xCwP70;Cbu_v_i2w>X1N&hdEoZ_B_udhPRh`oG@LC+0&{8S3|ykMiz^4C`+S;J#? zsCXjK)NVCMb8hk*ymTtgH2A!#;uW#%H)k7-!v z1<~#vaq569n_gz;via+P?w8I^B@^bCmD=`*FD>;ZUP6QSF(pm*KJfER<8R-;LiHWwyU!m^M)*P%HU=AyJ7?y1K2foKF1%k#`YAPMdp!J!f2y@xWrEt)urtxI9+iv&b%}PFSW*3e%(8;b)A_#Mcekc=QMXO zZ6WGi5m5cSV&)SulQeOw(74s2DC~0v4!8LzMbme3`Yhi z(!`6VG73R>*`On)5pH8S((?KvmWLm4h-ar)1BdJ@Z1_G|4n}U)fz#+VsslR@iq#1HQ(2ySk6)$ur&T7Rrk2K!g+>W?SmR33KV~JB(*4gRJO}6 zJqoTvrHq|#7HJRKn-6|N#Vj9FBLBZSz62b~@BRC+uh}KCBq2l!sjOL3BxEa$B};a) zW_c(=WGN(+LS&1wXBi>;ntk8*eHq4#nR$=C-{0^3U+@2VU9Oqod7d-p+|PN=xj*;k zbKf5U6p01-b7gjA&J%4%7>wo0pD#*P*3;1u5x1OSXE8Is4XJm?`zLJj#^{bh!M*lm zfs#kj!DLWIoWl9YPW*6*hi)j3W4On7@fgyeXOA^1-Zoyk%BASH+{1e>SNO#DZjScNc?B>5Jv%$Q5s2_- z{(A8bUQzhV%;|&`(aw~`UiFu-w6x^BITdU&^Y3xOrxWH*C+xn+U(EIA7KH^!3FzlF zpiupM$PDJ}{HYfcPGt(xG&zFzW~Evr&Qb$ZGsE!@MmZt$$i9CxKC$B8-;uw~{l#wo zKO(U6xzayWVZVr&8K8wt>(9p_t`Wmy+D;@UOyyu}?@62}V8ETW6x8`2Y#^&^{p}Y(e z4J7BQImQQy93b>&jO6D2j;!n?PRGa$d910ef!sOCQh-lFDLauCL^2{GdBrtO#Kgq+ zh=P8Ze@#%(VOBBCG|8Sj03ncH4J1@lRP|E^4<4}CN^iRstDw?~_a>Oj7M zYbR{<>a28Ih^L-lbivNtpdDq~351o%Q2R8;c6qklt!jI$EE)|Ler)*W%(XL{{1olK zA)T7aLwphg0(wwu97r$E6ZVl9z6L&IFx+GK)==+q+cI5%S2CUkP;-sE!&6f{+dwfN zgQSN*Pm8;-d6x4napOMQzs^p>R);d_s9*$q3OeJmE~0_9p`~X(L7paoBW$c9N6oka z*Pfi_+#keZ-^!|i-8!4^!qZLK{=YX591J$tsJHJiNgQ%c7okCQqmw}R*q@qB9OAvK36nwVEDTwj<51yV~kH&m>Lu#xYo3^ zt*q6kzpYgL;x)9{@m9c}0478+Tiu78Adt&;Wvgp$6oa8@2ktl84LfMhv;D<1CP@?~ z%(6yt5T3k-6-ZmO|IW-+H2bBX;_ZpAI($_#U^d*X5VeKUuDhL=28!k4GJ1Km;`ehl zD~5dqB~yd)6)A`(Ov*|Xa`N(&r%wH@Hr`_x=3`LHh%1yQG3Om-${{Wq4fJblY63xT z6R6H`tfso!b+Ln;g+-H`W;$(}%LHN&=E#kbY3$x)4PE`9n z?+|K0qtcang9L=nA5+fG3YU+dhpoaRBj5HT`Q7Lh$Ym|*ozJx8B9&Q(Pfh>7a0b0w z+nw>c_sd-gi>ewV%k0QKT(2}~i+of0(IIq@PZpiH;r*=Hel|_67&&c&K7{1)<8sH^ za_}FXpRTBn1fp*2uzwV|a@6r;1|h0&i4WLn*=HHV*uXB>40b~ZYHe+Wf&y`v)>TsU z_DL*e)a2w<_%yL7Ru;s`{I`EmxI1)Wy3I(u3RDOK2YC^_b}C9r*4wE4{rr3-Y>G>J zllhP!lAljKdR`v4uXpSVql-@p)O?*2Wag4I z-7z(A_X+U`VtzHx=}{k5|9yQ6t6;S=XBVGqBWEUl2BC0*7#U_*d5-)8h4gVyEMwIzH>3|w|88->{XY7yd-$gmuv61jf08T34ec%1k0(wqL!A1Th~quJ$0^OO zm!(Z=?suB$if)GrI2d)^U;1#r5kx&H6ciNZ=jYGK%YW=!@%SqH%}s0{BMxi8j7Pjr zc%*SN0mlsSf|`8{UQl9wy-#aXP|Qd1h(7$1^=IO~{yeg1{{Uc+85`7+KilVQv30pU+}w&Ww-OK#=H)g5a=wx6-O@ctLi>pI zx@}Gu5+GegRiyRQz^<(mJV9OrWj#k69~PGUeVGE|d!jH#ad3FK6e)I&t`6jKDcjrU zu2akwJS@E<0hZ8j-dmGOtPh=#)@StVT^!Ctzrh){7oNV<_+z_jHF818bHx2L(~Xz# z^;tvW_U(Yq2d3Svt-p2`+CzurFJ0>JSko{*P;PrdxnWQj3GceQUNVk>JvPZ95TE!q zaIL+}S^4vm)XxRf9u^;q8H=7NV7G;izc6rVrpYC;F4tf6J)Whntw&JzX60;v;p3$D zmL`-g2QugJDynx2&voB)Zd{wR?c7ZB9KX1>rX7gFt#2VtA<Vs{AaLga zGX#zY-qv{C?Qz|&OXkf+H+Tr7*7M(d=c%TF>U-z_A^X_Yw*BVjC?j%wn0m_h=m<>p zVGt4cfSa|J2y!v1QIdF8e_@m7Llu=mFgN@c2@NQCrm3GDlONtTToX{w$sw3e267&o zaFk2nGkmeZZ|k%LRYe?QQe%G;`dV>|&TKh3h_)9sCu?%v8k>aGU|2T!sbv~B2*Fmq z$pWcFzh3WfrswD}G=dK|O*@iMGdVo9ScLIGL}0Fg2dnL^g5MLot(lTAQLfi=@PpC#Op#Cu_R&APChap{avpPCuHuJf0j_@nIyHZ)M3<;4*7nEXT%~6ORF? z0=X0*Qq<~;oUM*f`1|tt&B+>v)Ahk^AhQ^lAE-TwW++z&C?XU6ohu_Ae`UnCY{}zS z^lZUawwP{}4WE-199q0~Fsk<_+6vSEemtE&?e32l;2$OT^xUU|uCW>f&X^UM2WJ82 zN%lhW($BJ^wWpw~H<+{dXCxN&v3ea--IpXE)o#VG!^0)6A1`RL{M$2j!hViK<>|@E zGdILIwB-kQ!ss@e-)f`EtK=TR%hQ35cuW3Qcki6jhj=N!SZopEOXj3%UG8^p{-`00 zj0mx>KiJXr>pvK3+QupWk*9-ThOAx>hAb+L?hp;&lUH0;4twc-ORkFV{IS-$w*2%q zjKduIah#P72n9{$8fsA08yi912e`{iY(0Pkn`y6jGxJCYcA}k%;(2r6rcL3^Ojqx5 za4AVqs*m9$wRp1=KTp!q)ujdmqpmoNXR!mceQ?n9LHcR$vIrvop&vQ3{v_gg>~k8n zr@i%KV=IS*(8#i|?AyT{pFzX06WtU9U;S7xwKX&RUi<^#0rmfS;4-va9BrYs*I4-Z z`E6!Mf*2Gp?HnAa)en9Egx9LS163o_sp>MNNiH+8V-wEpYlw?%!v4SngcV+S<8r9Q2H*7ABhhzjT!=P=)G35YT51 zRw$#%zy1fVd{qILfkPp8d;n0dq5n@GLGuYovc5kAE?%UB#s&OIJQxK2A|ujU7peal z1~}z^uwDO~w}SsSl3FAZ41d-V`gEycHt#p!h3b1ttdb;LzNPowJWx#yX)T^&?Lff5#qOY*Xk)NRet8^9~Od$f+2~DWA zO7^}ix3fT!&)<=^A(+{`!h7-IhiI9YgW;hf&W*RV`o~LL|6~;o<8WeP3YTLD+Y#ac zXvgEzS_t;2bQ$l7K|=i}IK$)?(i#m?FBA6jaEFF40?Tv7Cd#I%$-1efSC(RuxOVrwiP*&_j4_UtU!r@W-*T6YW`tFAR>vUJMzsOwA3V|DRZdo&*Y% z;*9rbK3R4RwcBPCj?zpKg`9gv9t*;oVm{RG2#)x4ipCJHa1y#_8(y!V$9TYW&7T=+V`Syo5g#0wJK>xgWnOO zBwEV189Z5vNutjS(*u>!*pS=CGv(AHojJ&;&7EyTQFuh z+xR|ZI^7Q})^w0Z{_IFtx2H+%!%J&npsYs>LUu8gUSSn2((ukbaBQYK;Mg8X7%wFZ zfCT;rJ7p^}ERgta0;T@(rV7yZng-Hl3r{~{I^4E0=R25w`8gjWbDQ>Ws;3_XryR#G z7#%-V898>1?u0k}vj2$N6>hF)J6b^%cH_K5q^H(jH8!dY93w(ygF5d%=o@lq{FO4% z)!psA`rV$hE{yj0of-i6P^`WET{4DGJ&FWg62g~Wo1MT+;_cbOQ;{tD4s%)xs!4%w z?vT++$L}>e0EtDiSy2B2MV?Qo@H1x7chpHWMEe%x3m*w+0Zv_281vwqBCLD`9^4n; z+><9g$LeO3Nw3$41m-ZwQ|CV2bi-_Kmq|W+I81x<3vuJ`f;ej!On^mrH!YyIzWpwx z<$U%Kvi5LF2RQW7Qm7tHg0h!7FvbVEkEHZKz#V?`xp;TMN+T23XsNQ>6QSh5D@NbJ z-Fr(QlzZdhTW;~b9I)CON^%XwHy0yDh+a^YCx3M`5gHM{QJkIPnCs=nt6F{aCQJCb zF)3;`XU%kCGr@b!x9P!#%@vj_--YLI3pW+4|44p(_cnjJs`#y)bY8mKoJ^ETis6?S zvG_BSSykD#Nj!3W5*>Rv>6i`gEbPiAdsf;}*CDR0ZI0}JU9I{Z-!9e z@|ZE~P<;;U)7yBYkaba+O&+&KU)2SVG@=ls=4-v%D`T#-3jNjiM{vxxDdE9%ias@t z_LF=RjH#H?f9d+TauySY#%0U2s`Q#YUKf2n7kOD+9?yljOrM@5An6;^pIvK!$mD8# zQ)|}s^imD}`!l@C>%Nt!R?3R&E;V>Xb9SXwJ%xId_iA2XLe|yQ`dQQ>N?n|(8rPYF5T85g9bWnhrT7pPWgY;4gdo+ zKoK2kcvbU~TSRjh(do#vMt?mjh&&VWWLh)nbLzZ+0m_&n71JN%ihD1?6#M4QbN=@R zshDjm4}{0`YWZA}l!MK%b6|hAJdDcWiNw^+@9*MWcV<-^_N&G?^w*xm7?LPp)VI!> zR@f)WQ=LkD`H~zdebWP-6koOL<;yS{*L27bP0a!4Gm>EMzEXF@!$4I3 zS+ff25&{#{!;p33VK{;GaUGHQ6wg$m3VVfXGSA7F_kVZVYGknr-b;ndyE zIrkotU*U75TAKc6C?%)jwCc!H8JIZQ+S)EGbbp(vJ-VL;P7TaoWo8mHdKnu_X|)*D z`mD@m{KS^~Hu}MycsGKoG;>f)T+hTg|+&O>koQML4G;i@^{J>R zzy%CSl)ND!j9H)leqdlyv#X=xJ^3#c-+zzB1!biRepd!zd|4_*Pfsa|#*>r#pp;IV z1KvhSI4X!aCO$s?HlPbb(0a*kN+0jg`oFx!*V2Yzor(dCr89B3rbmiTLDL>LXFP6Z zkK2I7MN;MOm+L8#+^e4TxakHKb7-4`jBPPRAoZmEMj6TJ$9J4-PzK?472M#0w~3b# zbdXW4{|zl4+Fz0^C+EP|Dc{0AjVm6xQRRIrsqW_%lcgMrY&toh*rw*@8+K2V^^#A0 z>XpSE?Gfl~yOOfC!Ei~5PhH<>sSl;mubk3*za^OF&ji?qUChp0bH-%Iy9B2=zI=WC z%f^jAFFSqb-n62VN=Qgxf=u)Z%%*;NIv927FW2A>9QF2rrDDxL!$g8+BNc9Z28CvF zU%rFFE3e!9Nfe!(ogbuZ|M(%Q8;IBT913_6iCTGFFCrrHg;m4=5Z6sYP>@k!etx`? z)AIyOU1iZ4vl1o5!p3%2N=hm#U^1yd`*|3-?5i852!8d4TSkv;&7v1HZSp+Q&8N&(*aJsvx zhT@n#h2zWImuPQa3<)HMqEK>or{;{Nn@|Y06T!lbWxXMTC5!X(kgIfIJ?Rv_N*&Tn zM(|sv)YmH&a{O9W*y~_YMp5xLvaPPI@h@B*+>f{-PR#w~f`Ccnk&wn)E}Zfi{G!Xt zb?k)qR6@wnw{PFntgQI#9UN-ZzQ=IOQA4AguGQQ1G?0K+MO@tW+-YnQSyC=Q3<}{_YHs#4iJ0KVmn_~oOEiKdq zll%dGo7Rzar(=L6Z6N!0M@NT{i}}XJ2CtuT<4^hNSAjHpxEIfDdnYDdmy}4RjuX-p z2@EIZ`IVVr*Xix#R4~L8a>vYffpy>~JmE|s&dx~R7_v1|+`N&ju-~I>f$dq@+G=h~ z5a}Hs&wqG;Lhycf!J)IO-nq^b>rPIBt76Aej()OPfraiT5dj^*sS3kAKLbRS-HF@)tNK{pjr z+nVO=uBa4dW~z*W*$BNm0?PN&FJ)y0#Ih;2PMupB>M^rGw8n%j3dg+)KwH%xu8;7s zval>4gtdpPz290~v;p#u_U_(fms@vsJ3eJh&*ayich9a-eN|u}0?KO=X{vopNlxw= z8Hq?u<%|&+es_o8W{nwE3YR|EoDc!&tHzKbd$7TQwrzmrB^}#3IaRAt{=F;`4H52= z$J0S2dk=`5D-PA|t`j9tY2UruFlToQWL^Gz(a)sUJv2B7_Lrl~pFc;_QxnZvK^?bD zkoFmAS6*651jPq{)=w8OvTfvOR){~e%vtX)9?6u2iYk}<;7EMaOY$`NSUhH^L3gR! zsfgRLF5nRN!ak+8RvrwgN>ooz4G8 z_C+8sd3t%JdpPIhZZ)H?9FVm5EwUGmEgo6aGv}@bk5?A4RCrsQQsQBlu^Z(MHSh087xB^JuOt6nZja};+QxGmb+ADy?@ z?;b9CBHh-GkksM{%30FJ4fjvg;%?+P9}4vCC!8!#hf^?es9D+gbPt%9vXav}aQ$+# zX)bEU1y8JSDi5NPXb+tOr8o9Rk`VkkQl2TBZ z`F$r9CNrWgPIu||UP-a672IzJb9bqoB4~G)P4qPnWCJ|qfuTPphio36Iq>Vv)m5dZ z69`MCv@>`6*ZC}lKv|yqO=E29UR9hErwPYx z^4c*Qtgj#2#G9iRPnU+icd-B#>22hzV(3pN99VDl6HCKd*>5C61k^`)NlAv}0zT40RE@ zs7=_@JMA){G|BOkz3!YEeeOGAi&_{bRi)RvJ7b*RhV{E}p@J6O(lTT=CMOqg`!<>b zj0S=ijTvC$d zjZ4j_B=eV}%}p=Xn;s7(t(ILqsBmUYQtPpz3ySRCQOo`u6%%6x=qBMkQKR^L9@As@=^x{#$3R&t z?l3woVg|)c=^#M2)jey>-E3fl@a*e33}1*<&q9ggKcIF)IG+@nA4!Dnr;J^`**!~7 zz$u_Vq6~gVKP>vZ%)Q(Vg;$6bp4wG~ZAHDmgP?c%l5Yg=fD#F}XeQAzfd$$gu}$L@6%~Cf zbP=qWuo0*_0)6c$4-bs_{hN0Occ?!`JM}c?n3IugYjacW;lpId`nlQJWBEi-NwX4V z`qP7|%4_55`28mocRzw9FJ`oO#??cU){&Hxu4Q9=-ErVx)|W0!giV%@kISX@DEm|N zijLoVHTcKGpFin0>Ev)rX@tX|QgwCpi9hn>FgZD-I3P%V-9DpRQ2S%!@}V}=>7ATK zsHbuBIT#6=2R9-sE2}9z6|J_lvy!hJ1^nuI#wQo`2fo=&0U6k(>@Ok2j7NiNHC#?< z<~qA3`tgsFocSZ)Ed6}%s>nrkm;lm=jX`P#WBJolp-0hbB?w5V6V$rX7ceyTRe^{6 zU1WmMul(G|FhY`_2jM*}n%%wTQ@sKq48>aCMlg*=c6Aw0&HkIULT@e4k4Z^(MjWpu zoZkT!SuT0&iWcc3b}}{_|4U+BogpM*e4s*RfsA!F0cLFDh(+ZXRqE3Zckm4Q+Sw@`>a*>+7)(facsCj z0KeYA^k8I=t+h2f?*{y~){J!gHgM2*8*kgyMRat1kP!t>Jd=)V%|4_0n4pC{wev3{u2$bSJX*WbPfW9u@cp3 zBY|bG7=fM!8?|up{PZjYel%3?seDs1fBt^}Fg|DU diff --git a/icons/obj/machines/nanite_chamber.dmi b/icons/obj/machines/bci_implanter.dmi similarity index 96% rename from icons/obj/machines/nanite_chamber.dmi rename to icons/obj/machines/bci_implanter.dmi index f42dcd48485b4f5fa0848d7ce2b733ac12a82e7f..2b76bfb508a419243e65c4f6c61885b1e1a57dee 100644 GIT binary patch delta 231 zcmVfFDZ*Bkpc$}?~%?g4*6ouDwpW>2Ri7bsa zvk4~z~NtlF5n1ImM_Me2c()zDLReB!jwQuwAMd8!Ev)Qsd^*nXd h!uCJBv{P*SJ1W54A;mP$;0ndyuKpnb+at08>^H5Ebmjm6 delta 232 zcmVfFDZ*Bkpc$}?~y9&ZU5Jl^quNbrq;v*58 zZ6qQo%rAs78Iys{ZrH4fe{UfuLVSTtbBl9Nac7L{%{I$1-DPlM-;1-TF`i68ouvv5 zYFx}gH7s=#P~$R&K2TuPII2Cf9f7LE_o#6O>fov6TfS4Ct6h)G-kI@vIm%$Y^J+TNA-NItA|Liv%4{!be diff --git a/icons/obj/machines/research.dmi b/icons/obj/machines/research.dmi index d7ba433ce3e89909e86956992664bc357dfe75ce..dc7f0c24e798358c20dd27998ee26eeca49f639d 100644 GIT binary patch literal 25788 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 x=wS$yGSK1VU#S=XpZFUxZ76^jauUx)( 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%0D&@aI>yDo-T4z* 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

2Vd8u z8L?}BfeEVC!dhBZCx)@pL*GPTFTg5fL*J%@YyCuw&Z9&lVhp?(GGzMn-UUa3CnICU_ z2dM%0l3WIK)47GW#YQKI^xT=vUH9TFo!QaoVPt`PK86Kh4kJtB3m-6U{e5fsoFz|E zF8z7KM4oY_IKmeDNZBA?pLlH%zMN%p2FplCkdexn=-|9~@q#~nRE_wp!Yer3sf)Lg zngoQt!F~QZm=!RPhV8!nox|st=Q*wgE4mEGGV^MOq!tC{M7@-P69slmObo@S{_>p6 zo`=zo*T5dZ)UK?Vs0A0~@IcL&j`EMc%`-e!q~cG2tiQd46Fh z+L(EHTvXU~$sF9k=qtDW_js%_y2E9@dNL}9NPI|&ybgql$0a5vrkEju0_RYHj?}=6 z+BG6|40~|HLgs#=Srn$SFtL`L@+zNI?g`a~3PQ-(A2Kcznol^SojHBy5&XlN<{4}d zi`0X__hm<%V}fLJUZHQcO^3I*$g8nMu=sg}Qo`>2HaEA<_V1UPl^4=lm zXrd#)YcJol;qbv?Hl>%psFez*C>JN8~rm4 z5^^-lyj5P*tCDuf?-RJ2eSgBIS}X&&QvxFQxH;MX#m6^7x&IR=Cm2$+P^VM>7e!Z; zXa7GD@c*lu<-daHL#%n#rw+o6cIXL%Yt7g@KFSEdx4o#gTPA|Rmz7*tel%!oL0=(s zJkpU|HL4!J^?VvmV^_E03#EJ&PBbX6#z`z5eM$%4#yKh>P`z9v%og}nEukZt_20<^ z6TJQ(17zx-EjChaLLDEbYCl&EI(cu$Hi+w-#jfTF9l&CVP~Ces3T)&C2=?E4|Dj$3 zT;$q8@I3fyA8f~?0o27UF`}dKh86pzUcFYD!)}d1t1=qr_QkYI5ZaKQL%>8mg2;ij zRFpl-zAG)ebJw+)@>%V~%3b_mzbkgb5$;bUqpvM0oCdtOaIT?7OyWi_2)**3eGyG) zWN^X)>IpmulM9r8J$8s}#qwJ+!&MWYA6L4Wmsg~6{W5U>LII2)v6}QZ7UCZ?JZ?hA z-Mk)tdq;8hiYx_>bg(V;FC#J&?%j&7T{{&0rd$(V8<93T)0h=6O=RsHc{Stfv~DfO`J zu?JeKGgAAWzd>bTtSn_PHHVVo1Y5x3sXJIG4~eFfx?KfEL2>vu{YYH?kwA(zPY}}4 zLBbHD3QxS6nxB{TS3skqqw{$nd#Du-f2GG$B?z{zGd*p`NT@ydoqSuoc7*?VQp&q$ z_t3TLIJUjk0hiRlxx?>%1s`ZYbL&uOwOwTXv*3UD@CJ3>>|>vU0FuWY974#jQNK`A zKbBtc4hnqvkbYM5qjk;C5W@J1=tE|fLu`_T2tmSN2ZxO7=+YF6aIM6c>^P)oO^KH| z5#w|B#E%g(UNeDojR5Lh1RTa@xhq68LW(1{na)BS-=e80_|$otKLFkeKctp)&);XiPxN!ZY0BN%%_D>`&xe1bX@vh@G3E}n+wtr9LBvWucl*PUF3~wWM zp$Vk6R~Yw&XTtgOHxdKl6`>HOZn%3;!$9Y)hARehV*k?XR23rPWOaD3D!SP>`$`Du z=o{*aKnYSi_37mNd>y&AcqnA>cjm5oUi$$x&S0R>bhiffAHU<{HtauSS6;D>w1I*X zM_*7;m)5R_kzmJv1gts+r8VqJ2B$5?bE&d6167o3`z}Zo|HYT@vrt+B}@MU4GdlUU{bcoa*Y1 z9MqaF3PR-pcSzKA7o#;7=94)#Gh|`Drf6?Ft`eMHm^&leXX*X&=i*HYeBVJQ+WnuH zgkYM7-)oMxC{93A3{R{MDq~PD#!@q6C2~dG=W|}dlhLn=V!yLwJVfuoVrTTOf0q5H->3g(qnm%Dml5n5{ZX0&OB4sKj#Tg+YRg4DllYz%E&`#$MbHoc-Z5wU)C@e(&3K% zv^t4vr65c)7EN+w-1+)2=KGeY&b52~#8iqs@UW?|i?A=gog+B#i`oVJU>8R!q~nAW z7L}70`*OV0vgj|{uSsZw@ILYc`6WN8Bc~T;o*jVMW81xe$U0tb$x5#BkO)tTA2_Ef zN(d6ejg3>m4*v#3%HsY@h{_Ae!5mVCyT-Nta|B|OCQy3*pVX-gbe?}}1Ye{RA}jR% z<-h+4Ar*8J)vtKe{yFLyXv4oCyrcWi9s`%b4;Df1Ven)uWz8IbJ`Iytn3JA-7TW-{ zJr9-L3^2mn5B~S#_5_o_W2J9pjA{3X#LG`Tb(s^eNj)$={TifKVvHS>-&^L+;%&U# zT0U~6=7ZerpOAu64DU1!=n72$O@@|LWE)FMkJb#`y7~`P|-TAN-&t4H9m*e*Nzds%%&MW!#RO@Ar#9Le4{f@SQu? z5a%<)3j^^yym6yw9GJo>mER{v%3xr z>bog0!u%z1k3Rh#>%${K*XpVtug+>%73`4M{O&7lFd{m9u~P6+WYrfQqA&f0k;8%# z5V8*Bq9BCi;O*}>&510UTyA6y4{R}fZh1&&#C&g97GG)q zl;EDH@pc{wZnME^(38pjH+~(0)^E3KQ4E7A?>M>lfME`CiY|2qA^lVR3=L% z|MboM`O=(V%d$5c^%!3FLuHdj!2Pm4H)wV1y$A)Edj0YS$0j11;b}f$SElZ1N;&(h=gu3^x;dpsK*))oHTqwEWslKAtgN{g>E+zRU#W7 znNq(poL@a#^ru@R5dpUuS1W5I&v~I<*F4;b_Kk>UotTfCoGm@VsOh)U9=n|oTSn#D;l=%pD?N0)P34XTA#27NdGhwP4{QvM3!V_ z&oCTDoR#`Dm?@vO^I@@{#OTNCUgceN%iTC?tF7MaFW)9}|D0mbA0XdMPRuwJ>#|3c z+@K|S@7p58&LX@K)GjU1Xx=tY>+%lXzNnmbY|n?r?YpJQ!`mr^wdOy>`YlJ2ftQ(@ z&_7o_2@KRH&*#Yiw@M~j*Fz_4JE9Q?J1`r^5_s4;ieVm~7~G42R`P&iVpLN`t+7#& zR##0zLPFM$ERc`1N^Fjq!I^$zOo>~teg zJ9fZr_4lCXs90vgi)!EN-u(uf_ab)pyW*T)>EmEU1QNh$l4GMz1)oWCc{YW_W2xR^ zm4}cgoHKeXSwO5CF8Qru_+~yn-xU68F)nEJtnXQX8_`Ec0n@)-p?r7uadsD+lKMcc zC(Cxa?bi?@zNS?nOu6|x#uBM=TAFnb+P+@U?H$5NILUo%E5$*8d}TD`X) zhB&Gro$V0UL1)voyio>r&5 z+so!TBTlPCg|bJdTB-UiA0+(BNqV1#{C;4B1imjLrrWH`LBRWN)Qq>vYRkHT7_ysE zEwpB5PF2;JhXj%&)ujl@HrDGXY-u_jyjNLqT=U)vr03>NOVj*8b!X|GjP=wo;fq-1 zZx2xFGQI?A?|1@0T7!8QrLe#wxybI2<=tIYXEaU z;jzBiD;XmejILwX?xzqi0vv9$6eUkK72tmAwl?g;h08Ncv-JCif8V6!T?~(YW5vl= z3_tiRe+P2(nf{T@EwH(=?aNd;i*{oprtbf=cIS}Cy;;aSd|8(v2jc}Dy;*uRYA3cG zKsj-3ZW=&tKyo|_ufcZb7{CJd*uC1BeqHK<5F`w}qU%2gIF3UK>z;wJG_IN&%JMZr zWKnqI$l+7wK|AL{gRpk(81y z2?ZoRG}0mb4fv2x|HrEgr#fQ-RJs!e)qL^_w39cbLPyPGw+!> z=bUw(o9*E$X1!M}B)!VkJ)E&Y%TW!>U&(jwcc?SOAtf?Z3b>PY;vN}N(OTI_I&b&R zpJhA~ADbIjb5>_M1NOi2-v2s-N}z%_B+5Sw@j&W44%{+DU{;~c+ar4|9B(?$+AHWf zUrB=>-$&6HA=?3B@aZ%9X4y*n6} z;=CV}#mZT*_|B1wm2d9)pgBSsk+@IuZr^>UMaN>S+%`CQm?5(7d?tNf#4oWl`}tc7 zH`|UtOFHuB3@wak<;C0oq+OmhjpPZmsUk9Se^l)_^+ghT^!_P-?u^^J&HPpmSFwAe zM|d<4n+CcB`yEZ(7N@9ax-4(rpGOvA#jmdm$tEI%I;K2UHHEy(Y&1IhNB^7$4(EPD z4kP8FHylqPcyVe);-}>S@4%bD-AuD5n2fbD9$bz5fBs#*nZN(cgvo^6!*l6s(l)(K z4WCx%pkd1-B{|&mn|b=8B`pSj}alzrJ{E@D^@hGj3kAs7O2#Hm0&BQ zJx|OlTSM;8`XlE}W}|i~)$Tm3&&_wx&Gv3t99?FsU&hORDgLIdKg}Ysy6Kf)YY`;fKrb6}dHn035xzHm*1g~`O1*t` zgS)_CQZ!vVCp+WaUo|>f<=Wj8R3&F`5O@yx^iNKX#kl{Bl#uMAg+dixABU5Yxt$xN z8B<->w|q{@*2TL-e5Dt%RG3FlG7#-aL;#^gO<1m;pvJ%VJPv5n%;D!iEZjyk@3gbyXs3GEO55`3jrVNar#MOh)~2EXDqRyffjHj%B?aqF1g zTuZau^+Wg5wOkTU;<-qaU{`e<=3wsED<;89r9WSOkI5HEIE5G*=%CnV{Z?03)qv0} z;$`Wsk-&nqqor2m&KJ}XZRWgBqsbW1x2eGt6#~j8y$YN6U1rG93E!@I2qW&X5#6faD8E={npe;dY^zzNSQ$mXY2yqx+2%i}>LRY#sufK)T z$R;ZRS0~SL+;NI%pSHSCPDxxHe2>+1q$iAC7=GvS3oZ5sl|rf=z~Bmw^N*<} z39V_BL01JD+xiU=!}N->iWAiLrOBkxCKePrF+|E5Jur06=LVNjff%vr_d8sB%$O>Dt7H)OU=oY(EE)0CMcdhUQLUe2BdejxXlp5 z&&vl?tB=?b^W-o#z+^9Uj7L$;lxF&3m~G>aMKX>vH6h`)nfd&nROX_+)Y%$bz$@2X zYEf!Brcvq7`T4w6f=CBYw0wdRyC)mGoxWxk6&eKz`eB}GIT=)Otyz0}|Vs5#*@Va2fR>NZ_l!6T(Snu2@ zWV)3Rgs7>1c3n^b>+Ww{}pp>g%_u3Pm zbw6@x>Rxr3dE3ROTahL~?>07m?oHEG%NZxSzC{9FTi)xiEhH-@}u>hEF9D zhk5g_XyKDXVtCKyFW7P+g+;dCp^Id*E&JdWtdeBG!;lz{BsyZJVF@(EI#P30sxySePPExTP6dwD<- zK9|Uw$mZ)gXD3#(+W>dgG1!L>&@xM(TQ2`Rur)GFsS=ith-pYcn~^GQDuhC@Ua zP0^i6s&+-->8j9C-GKRDp}DHjC0PYK$5N8aUs*)^q_3YGvRmIfydOG)u582b)O|(@ z26DPCN!9la=-p@1)(v3;y>x)b&Hgf_f)-ehX-}xtBP#Uy+TckZxV0up|MK8_%<|6i zyx9d&3;Q!gC&CMfC$V%fvDD+Q`|OMiJ#Py5do#>upz|*oQWo4K&v?`EyJyG^I@&;K z9LKy!Ph*K_>8#ak@saB2P~4+mSalKhW)bDl;TGes`oB^z{%9L%$+4T|R&`#K7Z?v> zfe7swmIH(^$z#nr|5#>U1sc0JyILVPfK#m#b7JDP*_>k$FR=}z!M ztoH@_bnd{7HIT1~ZrXV->InUX;|EGI1i;aO$yP8HN(Jt-EEPXg>ySMsb{~uFv_(AU{Nh9Ox!sNVB-2RKnUTi%+HBQZ!a}J+7O)-{FAfCTz76FD3VDq>ymDv(khzP<+`ty(AJ37CY$kuq$>yh7 z1!!`6s?1Afag2edWUo~d#4YlMaDqGPd8d>>nWF3RBEmSv+xi5*Gy97-|vj;vbHHB0_Eb9SZ zfer!~`J5iLTdaB1H*;SYo}O^H4D;TTk(1ZtBvF$dO>Dp>a|rv1P1GmCx}7sqDn^># zv|K?UUD*sF=@)G}hZy$)F0Z{t|Mo<^5A`?9;r1IP=SoQ2dG&;xsk%ef4-I)T-$JiaYEy1ouK?!H7M#V{vj+l3ym?h|p1k-cYtI??U;&T!^f z9{n~0j|F?e{;)ZI{i?pdY5R!iaoe7x&|=cwW5`*x0s{|o)fD3WvT>12q&P_wTm}Mp z>-+9j5zUsv4u|TAru0Pu|7KbOKzvKluz|LgNWj(XX6(;6H&Oq`(~8%Xv)~ckmvs+_ zu7S}*#ISkeJ=Lo#TV1lJLVT5H0Tg5RgPmd%>mkEJB|2p&Lz#>!`t@O7VOfA~@G<=FIe{190tj5Ut@{OpXhMBS1s1IFqFe6rj>pfL}6 zmJYLCRy7N3xojwj(HWl)2#mYJ`|TQ-M%hpeA71DriP~eN-z64)1f|bbL7>RF5KzeH zk&a%A@{Y*V@3G%AVZx1E8d?cj?>=V2eyY$6q|%E>d60$m-Dt3Ioq~L>uT&WNY#|fm z&v<$g(|+Wu>}I15^{@b*-?}SplZ4*`t0i;P3DUInNv8f5kA1r}LksI-(PwK0h>6^B zyp&8wJU09JW71T;FPo*@I2t|#lwy{2{?*WSr~Bfz#PCdB^7e-}G}A77UeeWzPaB;Y zu|FpB+FY`lQ3svDu6sIj5T0G^OCnxa)+-_885GgQ1PV#J4oEvGJ$P`)to$QcRr>k% z!;%3iR<-S@7eA0BBJAoLkL2gBlPt-GJ>+y9b}0NwRvy2f+hW}{mSy#qhxF2Y%FGpN zxS{{Wkn=G4k#x&xx$LuSZ-8$|1q)qC6}Wb(&chM3Fmw`#DiHMsPbKDC`yt}EI4%#M z1nYsD6Ncw1;Xt>wFgIQbE4{i2`A3kZ|L?vj#s7%7^4oj2?1kwmB6XCxNFx8$O(vpW zEwhx{3MdkVcUxa_A|MPDMB%GRTJwTqGb5}b0X*#WI!8Y3Y$Kez#>V#^1(%@yyMDb4 zP!Lg;6yr7e5FOF#I3&2j>G~e}(=e`S1s(qfa6gTSHvWFc_FBtIJGcR*Koov&vYLGA zXbV3yrc`u4z5WRruBr!;2Feq^P>3DnHs6xb)6E%UG}cboaXkeO`}em?KW zUwYcQFeNU|?zXHayF6umVL3ZhmM#woa$n^K+guMPci5junMjO_ZVGg`?kuP|$4Jup zKfo9o#xK9HXnC%U*+G0U3iCf4zbhXwndP^4kMzT0Hr}7;k6!SzIp_2ERoL@Z))wh|FRdT+M6t1NJVzw@h+&3OUW{#JR!+qHP|myTp`zl+=T9c~eV`cO?z z{D6wYmCD4}yW&a;xbe%JPpfRIZt^PG(RnqoR81%oGurq*(Y}mJQ7)h;7R$qwL_2HT zcB5q__iqHmHB377s(6R0^VYxYl$Vze4h^ZO42X{y%Da(nYa>_zC{fzIkMM95*DEmz zc!TuXYFZ5iSk(LrN%ks~g^^YAWd5e`uNH!0GRCQnQsgoS$?`}0W1I(KR@HiBfzUSK zV)6DuZT+o}lAH^`?AcHH#5^4S%8gp!=+!6cI0`5pSYf$;jBf3mn_Z@LPNmN=vQ2YK z)|E#{JP(~ z60iL>gc=He!?|@YNJwPe`KRKHwYw9Z6D`px_baWJVV!_$D2q<`m|Po7($nfr6P>+7 zLQ)n>!nhmEI6K}zay%`N|ppCs+gz}UidM6=MNH5*7*>tuv*-_N4u zIfg!1$ZoL5yx~>s$Pmrvn)54Ao?mm6f>x@cYXE1S`@zN~TX8*h1KA}_IkSh(A>*6V zwN&Bea3BODk@LJsr)E~AXq?sNN-a0t91J{#C>D+9H#gHm@~2-Hj61e}B4SNn202%1 z#v|0PBkxR0AD0QNY9R!B@kEw_05WbFi-sg+5}TM=#wtuNtJ<3j@%eJw==pHBR=#$G zWkuDExviGKVm~Ija`m0MT-zi2#q@U`6zBkaRu8Iw!5%-1GUL+HMc-6fgg9JRS1V9r z#5Ln?>_|!1&OI}F693+0&K@;U`d`{*^$Wr!_$eUPF3!C_;Wvbk!;X(uD~r1hpH6x# zWjKbVzAdh=&w=ySsQN`qO~E=Nan;&cfE=Wo`K!@GF-FSM069iRM%E3yP(uTJyIVj2 zVXx<#BfPG-Pvh|D2hZA+8LE#Slhv1AlVIESq!VC>TaY($FCw#AKI8}bD4d1k|9zMj z&AvDolF7EJ1sDMCj*biMFBPk znE&_zl{4D2s?sw>{@E1}W3&N3&ootbw}v$aFsV2QgqY-CW`f0b1{$RT28r^ribOZMJ;iJvZ!m)3?TkZbvcpCSS@Br@63&C2`^6VmyeJlha`% zdXm=c>pcKea7ZYqH(uV}KiSqlcdty`^3=w(t`-Qn;T3(Ak3{;t30*W4r+2K2;cf?c|z%*~_9F5}cIP39lheO$`V#(0`eRD*DX63Z|>VV>KWW3yBa74h+tPDb42i z1R3GVEjmYc6;#1Lhc_gK!4uc4Db;P8OMDPxCUGy&)_1r-5i^rnpn(d1JlY8+sjRhceij0U1 zThB(DB9Jy^<_nQQn&b)lg9R0PBpJsmabLc0nl_Ne3tZXKb;V`OF--&`2;>Gl@#Ch7 zz+sp4gcclufe0K1WKNe&GQf^jo*>TD@IX)6Wl9iUv-i*&Gs`b>%-QO>etl*_e~-v{ zwqHch4|&Bk*i@en_Bk1j7G!+LSI$EGPAg(?a8OZAjR;I@R%_c&_C!@Rx~8g%f17TM zGK8&uR-C74R-7&zg{j>?n?5{TK_RA7mXkX-#<0FW)_HZob>cIi(-HRd!_eK>TeL=P z?lm$`TlI-1ODprjwAUt_M>PI?BPAM}gzlq=AqdzuUF+lsK2ChZmo7(vkTvQ8ny#dp zmp}8**4dpd<~Jl^uhJ$wP!*105d#U`$*GY&7-A3ib*Rlk$9*`TtgWWxu~?hZzlEjI zjjrSg6_`N*a6jI7>M{SiL79O^FkH0?#iZP~8}+ zX(zWZ0;%CdHW+A!dDY$>1QEtV67Wex-V_ABl-SK=q^6;0D@;_2h(Tp+!jn(DUWtI8WZaa=2T)UNz%JKEHQ}U{G%FVxxIlCxg{^@=3bphtW zVTblAOq`769Kc+~z?SUMMEW0Q1C%abMlt^@ZV!tHvk7SG3c+WKHl z9Ri8(ox9{|n{Q~;~wKtpHJ=-AA% ze$XA{MBTu~B1q)Ct1H_{bO?f&ZXpJ(_#gKETT)(LO$}$cNJ*^on1Eo_fW$TojFv^* zlt{5Ku_}!9EFx%U@VO}JP3@WRy$qw{EXZE3{bR5cRdMIOPTm$DZ-V_5&YS6DgTVa~ z2Q|7SA=x8|CG#ewzlF(lHwW93{P1<(`%j;#{uq}HVz|p+GQ78^s-({+9&GD+K3{!| z*GDpNkmkU`%9@@JOt;1uPu~2#%)8L4AWu%uw`0svc?#XfTo8 z?pg|7#k)D0cNv{-d&EQ^{E|mb8RE)^>P7#DyM-OQ{y##O|5-1h=xaPvdd4gPLfm4% z?|11Z9fV7WlQM}4#9jugIz0SHWm{OtrKvj(uuD%~SYSYuo?GQw==n*#$(n7jDBMgz zXbfO)6WSA{e=8zDK}D6C{$c6S9fh6)C~`r{fbfIMZ~Kho8Ap1Hu6FT<4|?r9Jn zrvDHXK^)hxA5iZT_tYiGcViMJ8y)+i%xI%`?gKkwOv??3l8Pmy-RX=+#Xd>qI%w8^ zLKgth9g@ARHxpB|gi{g=8yLwSlfmScb>ED(a|yF~XMv1W8*cU%S8TFP+rx@jEWRW= zG(R~SfO{(XkqmC#8em)OJxO0J&nkA%t{6$aYRtZw@xEcE7!kLpGM$=S`x0h@f%Ln} zvzbC>gI*zNe-o`-5}j9h2)nlSo3&inMjL6RN0bsvUT7Y(VfjxL+i2w9sj}iStZ6#^ z%^$};BzxGzAk9$F9<9GqJq7&XZo-;U%)kb5T$Jv4em~c+qQhvy(N2U5i@&m7DQA_a zu8pQ>8Nmy7bO?k6zSzl7&zH>g*l=U7T%}8D6n{XdbZMrmL@;?esc2%jH(d|NnJ3^~; zz6Vd07!=7ZaLxj*I0D}4d_EmM2|FaaK`J9l_BD}(N^nh9il}6OW6EQY2dZ={fPG#I z8qefV`rYI}UY)FCaQQgj?j!@FZa)aWDI;(92|31NyR{7cXYT5l;OGPnj$_h&Y02O@ zBlhg~i{BcM#p|u4>}UU~DtKynVtKtBLB;q1hlRvz9)4iu=B4{S_(7uq&5?}d8`2ow zwNgdHQ|W$Tr%sNCwMxbF+R34}=b^>OE67$>_Pj3Z(T> z>uIIeJb3;&1wqPh0C=_F=Li8)UeM9!1)k;nKti+A8|?<#KoS}-qk$=t*A(vF_WrS{ z`T8&05@1jv%XI0R7``yrrAq*1W5xWl*rL0$5u^#5%LYS#q)0QVyvfjC{cf7IUn48W zqX)CzgNtd!#8S5$*>`3{FVk!5gsp^g^}bkeSK(LiF8OZ(+BeQB7@o)HsNgf?iV`@@ ztEXkxlms3^vCEzr%8Z=?R@yM(zX7aokIEQHC4i|zuW%YJ!Ci~o23Z^4r>MM_#Kz1z zhPU2d`8((HfYZCwHuhddk9B6W2e3tqWB%{T8%j#o=0q2xoZ2I2!wQ+?tT`H zc!`GMcMc1+#ZAXcN^+hs4L+AhZuj*D#T{Pft1So!+gFQy_vuWL_IIh9chB;KXlDXb1f*l!fnK#&l({w3{6nAhm0wKw+ z_&utkn8Imo5yH_=prV9jEdPYg3H$0a#sRWbyTI`Sbj1)fXe(NQ5lJHH zeH!#Tm+6NlzSi>CY9ZDyt+KMJf))O?W$V7(VT8=v`GX56#c!9*YRU9Uy=qWb2?DAv9 zP5NhNntiGBJ1fY;DO4gN+W6hTOE&?``0Kgu#cwc*+1&>PaXlEuEz{>u(=G9C?qJEn zVuj@V;i}UM-r<0$z2N4&rg(2Q!uD(y*Wb-reytN4zzi=7)>}d`Ss#?}%8u}&21nIH z!g)-UdVUrUnH6r>_-r7~(y!5^z_EO;%}-DMX%v=ojiP71GfBa^>Hz^TIG<XjQa-@a)5PqTW35vS zaVz?M#?^0;>Ye)zZw;)2RA6c_9?Z?bJjdgjZofx1%pmhFwBQ!qdoyP?6H|I`d(N#>~oiU^C|uF+CmT6JCO#_eIL zqJ*89UzSoIVhqmkJVuv0_8f0vE-SJ2x2<>m2^z<)>c|ne0LoiAN_29W=1&tWoJ4=c zy60R=XVre&S3DO3b730<^SZF`|XCjKn(b-b~QqCc6zJM(GE$yK$9{3 zeuUcf6j$>SFIaQ>OD*-#cdw~}O}3n@r|j)=Shh#zqo-_|e|W;vQ|kU--MX9m*%-c* zsX?c>9{JG_ zL)_EkyiWo`< zz8R+XJm;+AQXbw@@0R=X^UaS2+J2n9->hFm))Xz!$Ka3JfA>wa{T`T<(G%fk4>GC2 zn0MjU9Q76VN8zm;FSQ057I`l<)lfZeXC2Jw0HIsa$<(Z3YeB)A?#hnX?=S2Fx7M?t zN{*^|9F*UJkxJ?Pcdcpgk6%gjEkEo!AQn4bhla9-uf{zPYA&x{jT3;(F=`F9JC$>* z@df7^>V?>$_E^^X`J7r0!!WIuf6fP3b0TP=X3%=BW=&9-XkQalzm~D|baIYDayTmo zY6a$ee9Dm2ovhM7<}2ZU{p9JWcYB)?30SSHPK2wgcN`)YJlXI6EMzDV}Ricw%3XyT`R5 z>JD@AU*v~C*Ut5_-@YSEDlRO~-QDQ{-8>Lat~Xp2L4t-9qs|hi4IuTNT(QB1T+HzO zZCeai1~YGCb>y61@6b6*RNu@raI|Pugk`mJgjMYE!kT(|HDuGmE`(+e54Z~A#?w&8 zIe$qnd>@`2b`u_Z6xmecZNX*8do*pw(>Z?%%v-zY5%dn-hk`H&1!G_jKK-Br{I!={ z#8O*uTQ+I^H#{yKKhCei)t$w2#Z80~px@ofvU`;_Je1BR?q6PV?jh=lhm#Fee&vej zR%g{F_t6aEY3*IY{Bi7~FkZ*|RsLC$sY5cOvM?!*83Fv3h z1S(L(N+1f>ys09Sp;zdecB(yC`mT&f^f{Bo|C*Zl)QP;2Y?W3_9r{+wR}WwBKFufP zY9+;e7Fi@V{7pt|WuV`7Do-qegf}T8gIKRLhT`8iv?&p)Fc)z<P<^Nk_ej; z^i&%TUX5|Cb2Vb&Ku6pcqmkn+iqGk(KTcUKtjOO}c$kT6l+k^gPlT^>Pr#(?sJ}Fnf{$=U_s%XDZeSj4ZG9oY|?KEkf11ho^b^+e$GPYq(xp{l3VWQOt}fOE9k*X8pB$;J?3~SmIKG1b zh~E#t{t!{h!1=2WDM z!3o{Ie`)|XT{nP7apjvTh(mKrVL!BP`AVPJiZ7lgf?itrM;ph$>736`AhW-v2S&5S ztjeGtYPu6oMbsc0Ck62ffRJ`;Kpn`1Z$v~f4EJojbaNF|dee~5FdoyFYFrw#t6zYFdS-S) zbW`o~t8U+BjVB%J7Zs|H9~E_UCIs@ZnObZXUl~l)f|w6U#EVb-nMnV|RFQ*tGUh_!#2+GJpAi=4+B;Clz4KpSc#l6FSrM4A|`NcD9f1wr~lAWqd3^mI{Kk zne(vU<+lW>x4JN?Rk)|Ld%ChZ?z!(jb@)t>{AjjNDLw`6TGz3$u!I1eEQ+n|ZC)k@ z%Mp_4yRNv8((3IV?9I*1C(HHWCwDJICT=nYYs6#z+FM6E}Qe9G3?k zStkSqG*HB0^W2}g19aTd&73#;5iWEf3)#FR@9cq3%xw4HW&1qgTkvj)@e1taAAW|o z3gP?#h1w{K#>$^(Awl`8HkzVn@PROa%u7q3_AdoNF_5JsN1vJRN=uKYjc$;8P?hBZ zGjr1hY{%mfgKD{Ee}#4{*LmAD;|OzBqo!BOb2~Yu|6K(jML5x!UHbHr#GTjHkjm2O zxIGk0`8M(!Jp)6tt4a$p+Qk-U<%#mFbFlw2bFGjg8Xh+0J?U}|C;;x}jV!T%j)bE5 z822$@;=J9x8#(k=2}aC$?i(pDNXMgBABXWgtPDI%cs(= z3}U#*pA0BWf48&@3AggU{mN8tYRp{abCG`>{Hc$)lcm;F`FHR{cxaQEj#rXOzI zKmYw^RTiqi;K@^#uDONZhFX;yS+Vx<{`!RSnRX)cJdpY)D>E3>bka(^XTyuqwR9r#`;{#| z(Od_Eu(RSMyK$3`fS=V-=oa#qJ!C!MxNrTZ(_5{T(}wOtK5$d*^3Zv2L|WStd?SE} zlA{FysgTYwyF*b`*FvY=7$LbbjMr|W+T)X0h}pRjtG8yD*ppl)TjO&i5oZ*ohKAeY z!R1}1l}2Zk9TMhl#>Qc_r1lFe0p>+E-il~<$97wkP-tt(l)5wdd0N{6rgGczNyBIe@w+FT6OUr*9*U1`+zzKA8WYmN< ztXvc)yFF*|j#qD%R24(%ZeHysxocrmxGuA+f!EOy;lAZ#`wkCF6@TpIn(lZaj)PM~ zm`uzTZP`uI8v65RGu^i1aDgT^uRT6+986-H8TH)1myldnLYo%x%|A^JAUDyK`*Y^q zzP5gH%|cJR154{yfD763(oqa2qW=C(0h*}djJqhlo)2bqqp*qSa_`e$sX)q?O8I2*)be{0 zss#AEyKWwC3X4usp_imIsOfTan`bB#Ozep>rsJPX{+dZiNzpPg0|OpwFK|d-7#ug( z+E-lHz4`7|91ZJg>_>K^Lsn*%tX5uqiXp1SGnbdq0|sB-U)I#FPS>eW=*v)4di|aC zJ-a(QId8E`Ug}tA{&-OCeF%er&mMcF07?0Is>H6Mn)eyyd zIo#(9J9{Rj57faVJ^l3c1+_vd%gde3IFS<(l#;^((Fn5y?6>;fihKGx;v|Pwg_w;v zxtn9F?Exd+k&&ofMW1vpr6>Lz+<2s=r?b9AUzxJ&sd?fC$jC0Uo35)@2ggrXJXAWe zP6YS2DPQmtwy+@opup**Y1u_-RyH&$frL`3+$&E^U~d&WaIj$d&eV%D8mR41CLDYd zlfg(ESdfLZ;(v|VqIstofs#UXQV;yP0|`akaXGGc6)7>7FQ64MH}ato)A@j0pC%?G zBqTPP_kkBV=qOpM^+7v?co&ee)hDK1hbR(3IY-COO2smpy-c?BtvD2--tB&!g+Ju< zzjEtiPeJ9BxwE%-HNF0VGMSIe1Ma}-6FFr-GEf2&bX7IV~*e~|E(eBs0_Z0}w zz9FhA2a)o*#aJ}i~h#`^MOj*8;8)^cj`G0uU%Hyd<2 zZ~f~TREtZ9%GpM81Y=>Wi>gPc4m_`t&RctHx_SRInz^~TKU|iKU6Qq;Z`rUa<;ASw zLT}xIN|lN+h%VzL9)G4G@J#njBo&(f61A6v2}W&XNbm9LFY1iF1A#t(Bt^d}1DH3k zT9=CddZg&g@m*a?Po!hL7F9Mn;kI`DIR<5nxr#tY<;1F;AD>A$YaX^FEVI0^m`&lb zc5en&><1YMQ@=bE&3YDqTtw8?A&xHo;Y?9@eE47=g?}(_B^H*ehr2}%n`Wl)LXs*j zHW*JRRFon%LSlz-6N>l%Q8tR${|3MR{RoPT|KVLx3WR^~mWmRG&KF9H;$5r+Ov3+0 z$EZ0_8WP{AzW)a`{v&Y!dN~zT#3-hOejtL5sYa+rn~%C4=`6m>mG*BSeKD|$^8a3u z*o=oF?c8v@E>g3$1Aq*+YyTQtuqX*qPwRNhh`AdWy)$}_kqCMV1=UDi0-ds#4^JG> z{NSIVulPKc-CAiKnpUG;^3~6^+Ji2wn>|0}NeBSuA*UsKNk~P#;7Uxk$Pq%r*8cT_ zbr_)3gp7_3|6$$DLA2v}-Qj_f;?9W!#Sq7RH@`S&j9Wbo=+LC1ilE`VqnhsoH8<0o zLeqL2M?4K+OhQciegv|xE;aG^H34r|s}`kb>1EgQ=glB=zvb?%4VZh*z{UwcR3?=# zwe88PIBY%LQV<993SD+KZ4dMd7k-DmL8J&j%I%D%k z3w`WcnQP$bIXx;IiHvWd7P3v2{lVJaVUX1{O-yk$+EMD1I8XPQ`nrgE&2Fk!?LVFO z`SNx3O)A60Xxn$06K>@`v7_dI&R#Pw*G+t-J3D95%;5TF?4vEOszPTX2|<_k_Eu6I zL3f=H+~~SGE?Lm}4@hhZpF0~!Lqp^59v}{c#ngKzLd}W5(}hSy(-x|Qr6n(uW1Y9< zk3;vfb*CQ%OmeDg(2ttVl9RQ3<{riw!x_}=yMrk%Hq1u;67@4*_ky^%hizEDt3K}Q#Qb>)B~i9e3j?Q-b|*S0XGt(MKlo*EX0IzOhp0JIql zq6+4q)MD{ucx_9H;dlQV>n|TC%+T}~i42=IJ7eTo)r7j8enMTOjfz&As!^>Lr_xnt z0!9gOv{9Xs+pOZFQ_bx4HRP2S*+Hh=Kf}ZC?NT4VV~B$rb{|V*VqcETP@%K9S44e1 z`d4Q2ckqQoBW6{}ssJZ@Y}O&*1*zDYDhcfA?TsH8K*V!(ZENS(aJ)T+A#?47zktrK zO+6;l=2c>{T}>|Q5gBX`)VOBBZK2QCDpqoV_|TCIljEg6z%I6suD>j@ho@LWv?kWF zDf=-u`a&s2Udy&knS|y?3=Qhq#p?g^=|a_JH)(|I(5b`GQ66^h48sJwZ!5L5C%@sQ z^v|bx$V?vb{56SnE5q!Cu1U+oX7=GwCgxYj9!eJqMMf&dQ+;WzH_ei2Ge4JhfG1K; zAg4*RrwFhYqIU-pJ|h1>0Z$!Z*U}M385|vh^)6K4O9;~Yy>L_dhMN(e%GR&{X2jvV z%&GciM5g2Q1v$$@{`+g}@NY=*#=8y4mqW_`!k=j&(H6i=L$8tX{wB%ESO7b2ii0D? zTK8H)(tfo$Sbyx~*X-rt{NJ@o4cVpn;;hkE4p#9U)a6)8tK6&wFZ>R;sQ{nq(Og@t9dqt;a5Pe=(!oe9Z zY+n^ZC~4fC>}g=K#Vcl*4~s9AP4JXhnt(6$iJ}R0r*h?7d9ve!9AO^6hk_lI} zMzK!W7tqLU{b3#H6Un_M$pREv(zq4Wr1XusX|B;q%Gp2J&zcpDWp-mCaKEK5)5u`W zepxFli^{slRsk56Y! zWl5}}qT+Usg)>HgJ;5vR0gy|G(x2aV9W*!Z6sD^>@jQ+q$q;Z1Qov@|+TLQ6WTUrl zxy&mnf@TkdD0+KQ(9w5tkw_1cS6dCmiVeRb$iMMiMhjgA+vH?$DfWfpiV>Vkzxk?T z-;eLR#Gte=^E#dEzJ`Z%+y zb8LH2tW?ZIVnBE`f<8`;B5VZz)zvlAE7-&DAG_64D|i}E8zQOkE_QSCX>UrLL?^1E zO^~VSxPpl1W0&s|$4cOJip$7-w$1uK!P%GjDqRkUC54+Bio*sTg-%%_@m) zUlBuvOfMNDGz>vB1vlLEq0c$b;w65Dic?jmGY!5DEbMYoSrQ|6-?+Hz`cN6ZL$0^h&Q~vxXx)V z1X4Lfhzg6PA1;dpF%XZkqdeRC6>m@VS5b8EdC17ft|Dm?#pp)hyF%k>%&n~Y1_zPs zWK18r7ci?V>uM^gyJzR;HGSr81wS>y@C>`Sie#nY>erk!z$|O&{&M(hOcHAJ;m0o+=0I*@kr}u2O#s4l}E7w?Ul@gSMZ#|a0z|eD& zVbsSJceI!w2jLV^Re!$r^wp`CUdHd@4jmCy7aauuAMm>N#b;|QMH#ji&fLblsHiR| zJBe)frNskbgZuwL*v{WuYIM_{tB7*Y_|IA1kO89d-GY7DNl64p^v6v_PjB&CeRk2_ zQsTVoy$^ZLQsC`FLPXSruWD|7=d3gB=19@Q8QiJxV^vmI`sGJXNULGs)`8Vb#Q{B< z@{O>efdMgdn*~AP<1dWBA`_po&Lc1IO+7P`6Z%9^qIGCr+ONOy0mT=3HM;OVK0XIt z-j~4L-@J;#)U>qsw<>#AE+R>LH|O-vRIKcJc!rdD7jICEj&q*_nhqt>IyiSzV0|L6)}Z3ekmY|?1Mz+?dYNOBZa*q z{E`%=-Fek&wHE${P{wol3l^k3cf57f;kyc^ZJ5e86G@F!u_t1E+p4?+3V4@UgQYFjmt^JoOSsQ*hm#Ty79G7;6op945L!N(9K> zqb{kX4Mu$)uBs>^<#TkS{KFQ)|k#*9iF=V3=jKK88u7aw#`yFF`x?DIr`8%O1u@tH6CgKsXs+ z`z;fiN|Q%n$Xicxi=+lV$MA$L3F6&$+6Kg??=K}_h_e<Q4@^i9tM2 zwx=9e1hBHmTW|$qbbr46^dh@S!A%#s6^8@0%w{&`xlIM|Z<}>P-=h2r3=lD0gU7LP zf97#(D-Dnhw-WMO?%aXcg~Qe_OiO@EVTyOmPt69!HO)J3^=_X$S~LHGNCE)oo^U+D zf5FAm{{$C7LjO|H|DWO#+StGG_T5T5pQLd9V10weEz|N)h^ws)5A6X|0D>m7pFgbd zfBoTcSQyYsBf+9T@h;D;sRi`>ah^pohZZ?Lv?s{w;RYd8DFu&RBq1@;Ic*^xIjMek z_>s>3t@QWgP_cK{7k@7{tiHm~$nRIbK%C`%8TS5piFtZ2T4$RV5=kZ|VTMc-MV$Y~ ztf0jH9`HX%ODZ&Q6=g;I3DXWRqxvp~qr#LdmF9Eb-B$@B-QHibkm7(`UvJFEqJZzS z=rDQ=KK!u>2~gig6I74Pe5peY>acNG6R|6(@ftv__WC2N0D@sEFaI*jd9mzC7NhO1 zetj*ta)K#|IXSi(88eA>iPWlHz`$6`(wN4E-`_{-Qq%SBU(k*IDDV=HAKsU*2w-(G_$(GKc!b`eDuR`z9fo8;7U2XT{8sN+ zZzh%s`o{?J#bt|YT7Z@rFIP^^aY0*x6De%Xut~c*!2TJU4eT;bI3rImp zM)fTpeBnJA|2bUix<8EI1+#qNarx*7;7(Udbj)SuW zDk&>5a#&V|g@uDb4i5o|>HpBXnhZa@?K%tD!nm9fv+us@UvVBB^Q!m3Wvz}~aeVy< zzk(+Mof_9w`_Go7&Dp$af=83rSW9Wt{zo(@$LmA$z?b5zW7G2{@u!1%$|HK_0>|9UV&SE)(0&~GW7F(xJ3Qz{?&Mw#|R4aT=FcOO#3SnS3>3SW{^ zf^dNBCw5TS-P>H|nQ5Q)T$ubR2@w%WfschU0`92Uao_0~et{;_Wi-3B4W61Zj;od0Cs~nlow7@mmpmA14xb8kWV5H0(23gvG)4zFwiOt}dsk zb$frm*H#|LJ$xqR+Q-3m-bH;<0%+o&!LK6Ok4hsfPvLzufb6Ot;|5M{p}5(nx08oX zeF=%xTj28Fyn;UmhL9t^QHFKuFw|zA$p0$Y>9K8ut%5$ZQm+XigN4m7StpQ}pYS0A zD*3v|3Rh`*Xd)=xtQg5jU#O^M4W>r988x3u?iB}qrghvz+!C?$P*9cvv`qOO6;Z^7 z6$T~0@*9eh9(mxtl6NOLJ4Q51Y0Kj0{VCCK|6V+Sbxmjz638lPpxWogN@JL%-gYl6 zJMO0@TywuP5D3j`Mv)2HV0R8?d(78F)!(_^cj-rE4dvG5`G-s@1bg_ct*x~^&+F1o zu;{%!9YSUDQGopC;dKQ-!N^Qd&fkM5!qi+WZ@;I^Q5fj1oIo&bWCh=~s4g#NPR?B{ zr>LSN{+K`&49s@Jg^NvGyWiwAB zEK>8MXfha*dv3e-Yl1JN=VZV+aW1dIEgV!Z8_=6fqpn-Gz=l&S9-icXMPN~qTbGK` z8C%XKI!^45v)MSGIZ`cO_7MyQsPpBY=~4-`PtmWT%tGaWZ(sdSC_NW;&_7h>*h5+z z`@f<=O#Oc@RvBS~j>ji9Wb9&;P8;j$oYEGir>AWp{2snDN;cTJq_LtZB8vyeDTLj* zz|nUX>m|vnrfT@XfGGvX;`^74b$0h-ZYAKmJ%a?+m@s)~DP?>`b18~per(`jLk8PO}bV3yiMM17zA?NyH4{%zj-``FOyG^CgD_J$krUuO5Da_&G*A(cR&~ zY8u|ptv2FdzaQR~=a-hUKn=zuE~?5200jA4v(vChSVcAW;6zKT6)bc`3vmnTK4wQ4tXy?M;kDx z#=<$_cCKna1S*AyJ2Sd|s+X-NuH>`11YssTcdg~MyYyEylqP8vtqo`WjH(4}hlpV| z&d++GLDHU>9Ky!aujE=wFzN7-MM!kmu3yl@R%)1a+RAG^1Otc9mIG#{*nsPT#bnge z?-xy)ZpZq|y)L{=wv>`0N<9D}cH40I^cEc|)i7tCu)*l#x>0jdbs>=Hr*Pe`qFi$@ zFbdk+UmzMBgPH6;KRQqEXniA#5HS+73#!WlYa^W_P%%x(d+QWBUIu$ytd0*3_Ujn=lgdhTEZWPYf_&)*3jZxHwl;!125%1GSpU{|lduMQMGg;0^N!{Gs zVC|kJ@9_3AVNJMu{&FYO@6v-C?>eqq30BFNJ84suAVj_x&SM|cVKx%!b$HF_d1Eu4?Flx zrEk~WL}XQ0kBJw1UN9SG>8NlOG6hieL`z~ZF_>1DE}4y8%2`vHg6$e)NLjQugn=5;jbzN{*m`-vA%x^n16>ms z(9DdX`}TD*i3ub(krTyNT6JAwzJuh;JW)yvPdHS#Fkf?xPQl$#tEsc^-{1GM0R7YH z0E>Of=|4zmSaCQ6Uyl)Nv;2CxjMD8o$YJ?%LSl34Ift0yxu>+db9k5Vxqgt##e=LkIy+~>3I!tg z;HSdLw6Cl|&MUYwVtuz3GH>k-RMTq_0LNdsnO14`}O35yEdhv%?cPVi=XA{(z zrV5qGJwSKm$WH5a(ZwKqdeN-l_wR_K zGK;iyD6n^R4ZBAdhdjSWq4rr36F$fO)}~8^8y_#3!XI_MkPa!3eO9E;_I_aZrPjzR zjhzWNT1CKSz!``Dx&=S^X5cP0HMh>J%m%3HD!MFqg&UfX+{IR`)uHHf$#FT1b#}E6=wU5syZHZ6f?mwa0^Gzj4z2$3( zb)e=gg0e^+6nq5q_fH?~%k`%+j$930pk(l+NkWAqG6Gy&l%@AC+HVitU+z*xWQ%HP zF<6(EyLq_h)0!w*zTOe?Jq_!!m&47U`nRW^(=t!3(^p7qf>OlfjYV!an9GJ246rSYm~7qSwq~wyR041L@u{4xG(*2&Izde z;P~9jmKmSCE(zcJ_vOHAOk0FwmsIbYD21Ouht)8DS1aP+n~2=oSGXzyk>fr>IvmT&L}Jt^rK!;Qf%HRl%$X)0k{uP78>7$Zs)S$9nK z6?ApwU4L0@HFOiqvN}P+qq^-ha;Ps0bSHfYVvy@u|PXOe1TxPXFK( zfnQd5Us`bNW6*5=IWoJsE(`49v0#Chawa;NWRy+Y#?SvCyP2GpNo2{IkOy!&*$?S0 z;!^8SGG{cTlxwUTu96sR6<7vjyM9_f2NY{jaYTP#TwPI^Pm4m4rZaoJGWQbN?0Xe> z>ssEqSUprUDK4V#l8$Hg#u=}~n=&u~Q9Exfz1sZQ2?f;*NGZnnq#{1|+fq5UuPaOQ zOJ892x6A6wE^%IYNk2x43;?j!W)-==^WqdLyX3Aj$$h$Wb7vRkri`qFi)R$I6+?@Q zi;J`=GR8_ny7Y1o7#7 zmao4(cSl`oo%i@l1iit45Kq^YHijgW7}ZFRS3!JT@=Rs1s(a)sX#gJPBt((+LIzPG zy${fm5#`V)eTdM}pBc2*PhS(XS-k|iKdaM1&VT5ene}o|(f_OV#2`Y41pln0UC&&G z?TV;t&0u3xWJi!{?-tS-H_zKLKt_E-{^8Rko5LTwZ#VGWj4qpMA44K;S-uA7CVqgm z3A5K&`i8Tae5O!vF9}eI#FIaK{h{T5;Dr^Ihi-W;|M968o^>;}PVQayJ6vY`q^gpC zd+jYo&??}64JvQrAur7TY|P_`Qy^$O`gs0#F~R@)ZauWhlvqln8+{3A91a}1UWb+s zNCn|v?Ilap>2s}VLAUiq!ZzJ-r4WODpHN@CxBo}X->8(fr*L|py6h%MIfRMlFMo4tP}M3kVLwHWlF2o;ivap zq4WwdzeZV>-8h4|MUFZ{Nz{X)32d3=YHxFu&nxL69`@=v% z>Mq^rXt}|Z0QkKz85&lqemYyfiiUNPkIpa@)19iJe=Aj#$rHGe{oJU=*KA6*hh6q7 zgmWrrNA!%EkQ3(rN`hv#Ov0z~4N8Ak6xEcaL1Tg=bVP-Xr)v{)W??8L+^D~g9v)Tb z`@v^I(dC^0r?(o|`Q}44Mt4*K71aTj!10Bn8rL=q-*>XVY?qcBP>RogJK*mja2p!R zGJmtqFB$2J#*8Q!8PRnG+o=QVOgnRPV~2<7p(&vax^H)X{o2)BJevS+NPp)o(ZKxX{Gtb~ZepaTKCu#D z=vbA4rln*|9blljmo&WTc^_y}23lwaf~IGTjT4nlc!|JaCeM4;trhK!-J5%fO%$7X z4C$1YxxDHz`yHPfa`jBxKHPC!ZT`Ocn=C-n4TZx+D#{L?#nOf<~EsoHvalsLFhe}OR1PXc4U!Hy}jx)9Qob|I!yt#EZ+ zgfZ+>fA4b9pY79c0y;R(?(V4Tykp;@0-UuBvHJs;fB&-aF5>tF8Pt{Pl74`J$$+W7 z7Yk4#!2->(%Uy$1u&RhPfjkdH5c$=HNlX31R4U@N8 zZ<~LRL<>ky_t#m^iqx>h;7tqIXf;e{7ZfsGbPc%Y))Yc={5XwzOw`!8loD05AL8A8 z(W>*4?u28pZ*l7H&B}7CE~10C6>zsnYfmEcR|5oNLOqHNtzXUp9eA}p>|J~-&V*M3 z2Uo-!{NA@@r5{zOv}-SH#9YoA5B?<{^lo@z1RGOcJh`;>8FSasI-D}9P!JaNHlM!t za7A;51t!5s54y8KJM}yyOUUW;Tr6yI3qrENL*FnuOlGu(= zAVP2JoKf%=D*0Q)KflJt6xB)-OEQifw-(mPa0FKPy?x~<5vTu?;5o+2(DP+y!j4ez zV3n3{oM(K^h!o@I+B&);1JG3??ri7Di-Mn-31O`e_Q6tPGphFfV7By8*roB{g_w(% z(viw-RRmiLoA_j3H%N%x;8PtohG~!#Fx0I~P<}v9Rr*pncZs>LP|QS`OWF*32xH-U zI%$67Ro-V;utNO&Cb#M8D>qI>IJsW05m zd@Hnz?rJ3pq-@Lbv>bsdgqagYrl+vbYBahMCNFo6Y`sps_RhGLpmTIoCJGM#D)0MH zTLHNG#P~QjyBx?{46j;)#Cwx|`s7tedZz$22jD$QehYc#rqYrh(a7%sgNtv}QyO|% z--yHfh-;By98L*_D!eHgDwjJ?^v!yu<1qMC?1iqUplLHuINfgh$hUM$S?jasQM9?i z>rvGbg~Dadw>q2>w~OyfF2z7ce`g(!$Y{F}0fm-OXTtzjV zXds0QdICy&t3Nky<97!uA%%UC1c}H>ImB<-3@p{!l!8ASye?zLt8ep8-$txtTEzeFq< zg(E9;X(T|WtE|AZ;A;9PLI8YM5k}BJs%sm_IO^SIhRXbX_NKhQs!=^$cS%c2q_=Wx z$a$nP($*GDng46JxEXZScnJWO2krLn@b3nUcT`^hBX6@!Z*aorMq7!u&sTxXQ4&e^ zLHD}_R2`s;7G@#%ZviTG6H$L8CHWS$$kVk1G>MUUew7?+h3nheJ3lw>2J)(|USY8rCbRQY!j}uu0WzMM}NtdhIUJ_vO`T z_kfAC(8@~8H*X@LXC9n*GL1cY_s+TOT#~5=A97xe6sPB<77L90aSWPnD$>n9aa_&| zuIKVJ##~VjhC1DCL_2F>)UVG(f)^S$J33IrTL-mH1bvKQ^=?tyMQ|1`|Fr0Mx_Ii| zHxI3NtB>%BpRvT+_3iZv<|iyw+c~B)6mY&dhb|_;*8%%RcCZD04YN znzOW9Cj-}slI>44Flfsz3i+ykZ*2&={Qc##*l_dpwQs^hP&};FhkB=giUXEMhFa8H ze73QnIyGJHfC>7a4-g?oC@p0#ua2t0tHaAeI;(Y4ryV0EssAPkJQkjuhGQUe3g~Pw z&P?3?U2i=J8$5R(H|XqM&z`XDT(#bti0csu z%FD}-I7v&RiCMcRonm%8NBFLJ2C|foV|inDu|F!ul5UJ7yzkBx3LITVB>i7KTz5EJ zPq;paPF7z;iQb74BBB$$cft~)_Y!p-5}ibXs8N$BiRir(geXh&-XePM?Ap8e-TT~q z&hD9K&it|OcfR>%-kEtn35E(+W{hGSXmy9~YFtuv2(+K~pGKxVads73UHi0lGn88j z)O{N`cr#FZd0KyKx6}r<8F2pRj=#I5@#>Rd@5+#_Z>mR=_%eUiInHmP0-5UwMgxax57dxbx2-+ zKTFJM|AR8FqaBwF3I1lS!OW!IQXZ#nl?cxt35G=zXg_>Na|!sNHoW*%z{%>D!YruJ z!x9@^ffiXH5p}aL-i`-?hVm_&>uFlhR%DeL>Fc{nNb4}Q2bM3a9>*<4JZh%sUja9< zurXU78k+`Z*l+%SBWv_Mvb~9aT^`;4+{8sRhaeNT27BqDy$fq-J#rUHFsh{cPL`_* zu`KSye{#FQJAW$pN(Vn=zg}M9`LqhMt#W4|f+_(uYy?7dAPfk3Jdl+p2s)g;+J8Ty}s4T zkPdun3vtjHQd1KXKhSMy^%EedHyGK*YFJyRmh-dXW_ho*xP488-EQpftxqw4)!w-N zspp<(!u-3E>RkhZ;)_j-OP?QAbKO@aRyG-Lozbn1*X;A>P8R5DornL8Y}V(O|AnHz zJsMgwMPOWd&Njq%7|&1apyiClME0hXaFA(fqkd`sW&eOs)?(lmhv3yHRmbCdzFlFi zq}*`Chm5qc>+70t7!e5#d5y9LL|6IjRPZG;UrWmqg5$$gDbn2*=1|Fla=ztn)WQKl z5y>AvziUK47^UnT;g8@z8rVD6&QHrGrVGvMI)XIMJGNH8UPeYnVl3APUCLXl$}_y=(grkX~Jrp1L0g zzIDv=QqA&-$g5TJP@=H*5^CH?#ppy~VcWZr_*I8vH=~+3TRQyZ#c%E$P*6rQ->{Aw zBf(N!{Vzg`F#oCc`V~Yt`=Hobl!*poT=dKsc>x{np-8;6^X1sG&Fb1!6EytW%a7cX zJP{Su6*&^a7v;3UkEBZL&x5+S0{K(^P%x7h1ftN2JuK@sgYXa|7O{93yG@V}lR;yC z(y!SL?Kx@D73_hl(B)|pR2^90n|nNL0gmBXlPee@Q~ zUgo;v@{j#p@3+Lzm9wNZqq8QQp@}&IkmR##Sadd?h5pw;FiHkPHggc)4l{Nt zBFC4GkB_x?is3j$<$|-)R;5>ofir73Rg2Qm*wn>)>Bc=CZ)A)-d!HO!te>^gJhAxt zZ%$S(<&x`~E|K*+oqPB%ROFWNT|n?t)P0{80Ba9h_D7RKZF#PMMT@aJ5pHUi^(8YY>7?+}Pm_LwDNg+beBe zIw;}18Dau5=b?dLvUR@EoG}lw666u(^M*bKVF`YJp`CG6ta*x;6wesAZ&(B~Sh89qBI^|H>0>am zGn5|_bx!gynJmQLwR&uL0D)aZ6b4Q*j1Lwb*#7K3_4H^nC)b#KZ;7$x1OJ}q&F6Pp z(2)cQ@dcdi5$#K7{|JfKEoFp9mmfR8FH8kaG_!%pYbpA-E7vvqNmut6rJUD%p77* zG9ze{U&vUK_jxOFG)B7P9OGdnu@(~Vj1=*{s)zZIrpBCJ5geZVR5s@wtX62I&!s@@%PKxdvCWYZKFw<^A>=Xn)&C8`qCLRa;c7=y7cSDJM|{N1fTD6lpj_Pa{?<9tJ;9%XW$bVvfmy5$dga6_ES zMd7f`gR_f~9!PPbwYGWzd0wDHn8ZG*Se?T1ym9Y&` z@)n$s?$7fDSRC|U&GL@OSuEpVJvbm#rr%az?9ES~%d2nYqz$*DUAb6TIv2wL$;K~afux45gt1aJBrc0-wBV5!27rT#KlV2EW zgY}IXox6}atGw+6j_&k60bkoiw8z2jkIaT+>03rJWh+-+XLd)wFL5z(UmQLB-pt7y z@tO|I3eKfH+Z@yXS`Yo!T6;e0{vAH^yVlo)Zx5IHg2%mP;blF$W^zSWu$1d1 zRbL`jjsTv$Ko>GYR5-NjPPDg;w7=f6+nL<6Ux&88Qq+L3_9+;?m1WFiuIu61Sr23K zcmeX3*li;{Do0~b?kOjO5LL27SqAN~cP%)aSSF+7{!0462ZoMHLhLgvp;&|||NbEWqN z1Hn$0I)e}Hy+5J+k2|ZxJ0RAy?hFYl`=xvOLV571J5%vHnua=FX8WX*oP2=b@ja** z&5#yp%M5jH)iP-4N8F41W?f6q6`RwiwJ*BrH+j1~r3Buz%S(=p;gxrzeabPdg`0#0 zPsmKP6@AaT{pnHt(O{nRSk3F&6~>7t%4oW;t(QVTNBVmi+M64Xqxc7c6ivR3ZSBmI zj1*UrTm!0FJ&a}O-GvVjnw5Du=tmL~BBg0~C2epcQzdwXj;>7GCZ{NrpVF}e4&QO( zk3!UQ!Mf%FudF@n4nSHO@ccQHfFh03FbVBA`$`{OwPW<~k(r+0*WutHYR%T3(K}d& zoB;H5A`Kg|;6X;yc6~QWr(E@lRKf+#^g`l+Pd=q8a2ZYrm@iqy& z+;v}>#y&u??6PK8KiKb>$ER6Q*yBim+*PoQq@(5{>Z7&x9PpT`SMy^C^WMl!pnUn^ z>(kB+m7BLr)X2ZERxCi@KOFm<@Z=L);n82He*jp-z6X7ak1dzcAD8aacAsM?AR#zCI@+1R6xeSU3QQ>n zeFbY@Ctm(}Alp$HU$d&zDFs!(jXiG~fDb}CdKdlsb+?fhnREW3l>!n?QdrZy*p{|2 zS8%TAD=fMBmF&U(IPY=#L^bD7xh2(i=?odzEMl_yDw-eJ4Kp>shl~%!BSs=S$U|v0{ybI;vp5h`xN23U0p$P|+do zG`O>958mZ?#y-$TamCY*j_^Fe`5`v{vbCp8NYi$SM)aCe#8%-z>1xqWA$#gB#~ex- z47+2Q=S_!@TgV*;zStTax{5#VR&DXGO)#T=l7*_$irOI4cQ=bzi}=xV%FWPC0A|1c zb@`Fy>E@tZugYPNfbL3N#WUv_uB> zCC8$I!G5|WzMndyK05ijQS6HD93ZVu9{K%9g?wGS)jBabqW?+?S8C6w{uQ~yrVu!v zb-AgC*6kat%6C<%-vB(ACnEg$c&hoj+$lDMd)TdN+nG3*yZI$7j8#96Mk|A?mJFTq zt_?xcEj~C(&mB^XwRp#G2+OtKw&Z*dfo&=&)U|0U-F$4*nx_OJeg#q%TpPmF;9tsR zf9>JyVKcH1Lz#h;C#l;O5;Picth!69=a!?i-O%tV?7Y-=acJ6N97 zlZ-&9?J9TAJ0NY1l`3;d#h{CEalL_%&?6KdLd&pNf@y62U*j7u1H6FJLx$ke!;h<= zE4uNb3f%o^?c{t1_#@r$dnG$XLu)_rMSg*uqhrcmPZ+4$TF!=|k7&?;T1y?rZ31kO^?~*fqbLiJ9 zDy+KGh44=JL570(yLJvA5n=V`G)U7w)BS zHs$m4sVsG9wDM1;a)}T2n0p!1E`m=QGQx%va%G}Zc{S$)2kr~A{h0K+5<9NnxMm0K z?WX^TcS`N+SQoXo5|YA9^D}6$G_)?lxKzo-@f}^WHA{p^w=2jc1&}< zzP*0DKQk7J`Ku6`SttrtV!_kg_It1B`q#f#&J+If-23*a+Y_I3@>DKPPF7J-N+YfH zgyx{d)u}f2$dG*^{$DJ)ICH6=4Z*393hV6!q3m5uotFuMQSlcbE0X1grl#AfW|f*t zZ4au203mkbbAQC-?8gz)JT3;pyoN(*xGE|u$epdEtow9pv_%V@oWU^T>qzSEZwa zkVC!uLY$5)iVDy*Htx;J!e9{RK99pMIrPlTdwyD}c1V|`Cu3Kjow!zHzI+I;!5N)uVqxvC3eq$dI@#Ko3R+L5>b zM(nq=OgT0-ecWY?&$e*9(kstw5)||p{5zDDrZ-_Y3|v%@V|dylpBnS;7~nB6F>*#m z)D4dT&&1+b;n2O0E0QW9z=PlRXiZJMY3d-pHF08JrNBl=px+(**R-o~yRLJX?>&1j zXh#+ppf*W+p6LX+ZC)oihkwKaOsnT&;-y~7pPY)TokmFHhKnrpg$f&VfhBF0?cbW4 zmzwO_)33Y6gLUSF?A6+I736( zNt^w>41`o0wToV3E*T!e*hHDQZWU(bO%c(YxLdZmkcRi9y`s?>qc;4u65@GZ zzhaEyw_{v9;T$c}rfmR9vOT@v+UoM%|K$o1{N+?y%Hv6mn{=I%fW`Yp183gj!M||v zw4e<+@eNKfS-PTm=ql`4M|)&0kP>qX+fRa`RlvQ2mPMA>{{@UGu8dwm z717;|3Qu!W?zkx8z|QCD7ZrBk#GZ~PY7Bh{%&BUSc`^zQBW2ljgvCglBCJ(z6gHES z0O0yFd%zrO>u#<2o9=EUKu%MW#N6Ec^E)pM6Kg$fl+(#-&OWms)_Ji9_i7b!&9ypR z^%5EQ1G|H=m9s&XkC<>)G6q&n2zYYyF|re}x3mOup{T>2RZ=|3L_(1xt zxIaJN)HXR4ilmz9R8j1T_=KZ3GopF4k1Dwi(r4!CYeM0 z-V4?r9G$yeZ}9kLH9v%i1q{`wxbiTqFcjUNcoZGa45V&TkbS1d4;y&(t%N`SnquoF z@ve8n6;=lZ(;+h>dq$h*+ZnmNT>9Ug>9>1ok`vH0u7NmwBSCTXdaz+~r<|OFAt*5$G~dDI<7^@)3RiVuiJR zRYykNPYsj0SpL2Ni@v`8yQHL7S0@{``}2(i5Xc4$BZY~f6>>i&&abSpe_{JV3v2ou zy$MH6kByz(1Q~4Et!NOr@f=+`kzplo6s(D)IZ0yZ8X))T<=x||s&}m(%$o1thb$!d z^|z3hg&wN`AR_ihNGUw73k=0-IF_vy1mIM{*F8X0lH!_I^rA%JK<9cBB5gF<(T# z$a4{4=UI6GKinzAthMB{tYUL|K!3A8QpF`asZ2M|e;0Bt+;L}*A)S>ipNChWW+vg< zub*HpCqAj&d(`vQ%eTdP%MZtxG{N9xMHbsIW1oC z5Sq=M@;v$unLG)?ry;yThHShcQ3Jb=H!8`(?v-PO6(7=(+44tiOKrDTyd*B@x*4wg z-l9utm>N^&;p7})k5sxX!BKctn_H?=LMJ=w;wE=>0NXkzK2v;LZmWYVx4d=N01eo3 zBu^bi&-zpF{cm!#v~YzrfWE=OJNNgW$g#|iN@Q?gU z#|Hq2v^2I^*IrETh;TzF*UXR@*s(h#w4O!S##%8}So72@Z*l`4S;RxV)`P1?^bB`pr+8(#AIYb z{dHGez*iyro9r`1ci&ad<5`)r)Qx?)6K+uNG@GldIUeYD7KS+1BJBcMNL5%lvWQk% z@QSJEar8WRvv=K~n*z;LnS6bx1kYb#LhL^-`4mbQTd^2~;rdq~;&~=BP$A)*5ij+K zl6~H>LR}nhbD#6KKTmNu7_|+NhWks5-k$b6!|iDl04-ZcobDy%gY#{NZ7XB0A$0+C zs^_0l_AZoQgXdD{GHI_^)&3#O*{<-And!GL|8#T26(TaS;XGpg3%TdsjKPDBzLhZg z6PyOs5$D!uBN6cU-u4>Uai5gT)8iH4PEw=)9>YI#Vm#uGW)5+l!s%;H&dq0>O}eu0 zdO*o%Ld42vC2dp;plRYq*;_2a0b`bfzO+ZTro8vpP7YHhg;ceFAQ3N*u5tUF3U(lz z;mThnK^*yJ>DG-xrWlQ+=f?@u1nEzpI-6(z`pX75FhE`>4K)!JdFN2t5&Bwwd{c)Y z_*3fWlUCB*H|9^>PuTjd2x!0RoR!>u|Dr>8P4XCb`9JSU6h+jMbG-_du9 wSPZM4k?CV_5Tc}4e@=+JFw9k;OGi`VBY!|_KStKg0GN-OvbIv0g7vHa0l2;^2><{9 diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 69f25391090a879ba96ef4eed6fb68dd10571660..5349d33e7210038b748e91531015f928c2c0a37e 100644 GIT binary patch delta 38912 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 Hb&mTlBblk1 delta 38835 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 diff --git a/strings/cas_white.txt b/strings/cas_white.txt index 9429f88bcc2..644ffdf21cf 100644 --- a/strings/cas_white.txt +++ b/strings/cas_white.txt @@ -304,7 +304,7 @@ The vomitgoose. Ziptie hogtying. Defeating a changeling by sticking your hand down its pants. A crateful of fresh organs. -The primal, nerve-slapping sex that nanites are having inside you. +The primal, nerve-slapping sex that nanites were having inside you. Calling a shuttle because I broke a toenail. Chunks of dead flyperson. Curse of the Barnyard. diff --git a/strings/locations.json b/strings/locations.json index 27bba0ba6c1..0696718e198 100644 --- a/strings/locations.json +++ b/strings/locations.json @@ -58,7 +58,6 @@ "Mining Office", "Morgue", "Morgue Maintenance", - "Nanite Lab", "Primary Tool Storage", "Prison Wing", "Prisoner Education Chamber", diff --git a/tgstation.dme b/tgstation.dme index d0b9246fe11..bdbb450267e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -101,7 +101,6 @@ #include "code\__DEFINES\move_force.dm" #include "code\__DEFINES\movement.dm" #include "code\__DEFINES\movespeed_modification.dm" -#include "code\__DEFINES\nanites.dm" #include "code\__DEFINES\networks.dm" #include "code\__DEFINES\nitrile.dm" #include "code\__DEFINES\obj_flags.dm" @@ -386,7 +385,6 @@ #include "code\controllers\subsystem\processing\fields.dm" #include "code\controllers\subsystem\processing\fluids.dm" #include "code\controllers\subsystem\processing\instruments.dm" -#include "code\controllers\subsystem\processing\nanites.dm" #include "code\controllers\subsystem\processing\networks.dm" #include "code\controllers\subsystem\processing\obj.dm" #include "code\controllers\subsystem\processing\processing.dm" @@ -544,7 +542,6 @@ #include "code\datums\components\mirage_border.dm" #include "code\datums\components\mirv.dm" #include "code\datums\components\mood.dm" -#include "code\datums\components\nanites.dm" #include "code\datums\components\ntnet_interface.dm" #include "code\datums\components\omen.dm" #include "code\datums\components\orbiter.dm" @@ -674,7 +671,6 @@ #include "code\datums\diseases\advance\symptoms\headache.dm" #include "code\datums\diseases\advance\symptoms\heal.dm" #include "code\datums\diseases\advance\symptoms\itching.dm" -#include "code\datums\diseases\advance\symptoms\nanites.dm" #include "code\datums\diseases\advance\symptoms\narcolepsy.dm" #include "code\datums\diseases\advance\symptoms\oxygen.dm" #include "code\datums\diseases\advance\symptoms\sensory.dm" @@ -3288,7 +3284,6 @@ #include "code\modules\research\designs\medical_designs.dm" #include "code\modules\research\designs\mining_designs.dm" #include "code\modules\research\designs\misc_designs.dm" -#include "code\modules\research\designs\nanite_designs.dm" #include "code\modules\research\designs\power_designs.dm" #include "code\modules\research\designs\smelting_designs.dm" #include "code\modules\research\designs\stock_parts_designs.dm" @@ -3303,30 +3298,6 @@ #include "code\modules\research\machinery\departmental_techfab.dm" #include "code\modules\research\machinery\protolathe.dm" #include "code\modules\research\machinery\techfab.dm" -#include "code\modules\research\nanites\nanite_chamber.dm" -#include "code\modules\research\nanites\nanite_chamber_computer.dm" -#include "code\modules\research\nanites\nanite_cloud_controller.dm" -#include "code\modules\research\nanites\nanite_misc_items.dm" -#include "code\modules\research\nanites\nanite_program_hub.dm" -#include "code\modules\research\nanites\nanite_programmer.dm" -#include "code\modules\research\nanites\nanite_programs.dm" -#include "code\modules\research\nanites\nanite_remote.dm" -#include "code\modules\research\nanites\program_disks.dm" -#include "code\modules\research\nanites\public_chamber.dm" -#include "code\modules\research\nanites\rules.dm" -#include "code\modules\research\nanites\extra_settings\_extra_setting.dm" -#include "code\modules\research\nanites\extra_settings\boolean.dm" -#include "code\modules\research\nanites\extra_settings\number.dm" -#include "code\modules\research\nanites\extra_settings\text.dm" -#include "code\modules\research\nanites\extra_settings\type.dm" -#include "code\modules\research\nanites\nanite_programs\buffing.dm" -#include "code\modules\research\nanites\nanite_programs\healing.dm" -#include "code\modules\research\nanites\nanite_programs\protocols.dm" -#include "code\modules\research\nanites\nanite_programs\rogue.dm" -#include "code\modules\research\nanites\nanite_programs\sensor.dm" -#include "code\modules\research\nanites\nanite_programs\suppression.dm" -#include "code\modules\research\nanites\nanite_programs\utility.dm" -#include "code\modules\research\nanites\nanite_programs\weapon.dm" #include "code\modules\research\techweb\__techweb_helpers.dm" #include "code\modules\research\techweb\_techweb.dm" #include "code\modules\research\techweb\_techweb_node.dm" diff --git a/tgui/packages/tgui/interfaces/NaniteChamberControl.js b/tgui/packages/tgui/interfaces/NaniteChamberControl.js deleted file mode 100644 index 28e62f15d5d..00000000000 --- a/tgui/packages/tgui/interfaces/NaniteChamberControl.js +++ /dev/null @@ -1,277 +0,0 @@ -import { useBackend } from '../backend'; -import { Box, Button, Collapsible, Grid, LabeledList, NoticeBox, NumberInput, Section } from '../components'; -import { Window } from '../layouts'; - -export const NaniteChamberControl = (props, context) => { - return ( - - - - - - ); -}; - -export const NaniteChamberControlContent = (props, context) => { - const { act, data } = useBackend(context); - const { - status_msg, - locked, - occupant_name, - has_nanites, - nanite_volume, - regen_rate, - safety_threshold, - cloud_id, - scan_level, - } = data; - - if (status_msg) { - return ( - - {status_msg} - - ); - } - - const mob_programs = data.mob_programs || []; - - return ( -

act('toggle_lock')} /> - )}> - {!has_nanites ? ( - <> - - No Nanites Detected - -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/NaniteCloudControl.js b/tgui/packages/tgui/interfaces/NaniteCloudControl.js deleted file mode 100644 index e679c36e40c..00000000000 --- a/tgui/packages/tgui/interfaces/NaniteCloudControl.js +++ /dev/null @@ -1,333 +0,0 @@ -import { useBackend } from '../backend'; -import { Box, Button, Collapsible, Grid, LabeledList, NoticeBox, NumberInput, Section } from '../components'; -import { Window } from '../layouts'; - -export const NaniteDiskBox = (props, context) => { - const { data } = useBackend(context); - const { - has_disk, - has_program, - disk, - } = data; - if (!has_disk) { - return ( - - No disk inserted - - ); - } - if (!has_program) { - return ( - - Inserted disk has no program - - ); - } - return ( - - ); -}; - -export const NaniteInfoBox = (props, context) => { - const { program } = props; - const { - name, - desc, - activated, - use_rate, - can_trigger, - trigger_cost, - trigger_cooldown, - activation_code, - deactivation_code, - kill_code, - trigger_code, - timer_restart, - timer_shutdown, - timer_trigger, - timer_trigger_delay, - } = program; - const extra_settings = program.extra_settings || []; - return ( -
- {activated ? 'Activated' : 'Deactivated'} - - )}> - - - {desc} - - - - - {use_rate} - - {!!can_trigger && ( - <> - - {trigger_cost} - - - {trigger_cooldown} - - - )} - - - - - -
- - - {activation_code} - - - {deactivation_code} - - - {kill_code} - - {!!can_trigger && ( - - {trigger_code} - - )} - -
-
- -
- - - {timer_restart} s - - - {timer_shutdown} s - - {!!can_trigger && ( - <> - - {timer_trigger} s - - - {timer_trigger_delay} s - - - )} - -
-
-
-
- - {extra_settings.map(setting => { - const naniteTypesDisplayMap = { - number: <>{setting.value}{setting.unit}, - text: setting.value, - type: setting.value, - boolean: (setting.value - ? setting.true_text - : setting.false_text), - }; - return ( - - {naniteTypesDisplayMap[setting.type]} - - ); - })} - -
-
- ); -}; - -export const NaniteCloudBackupList = (props, context) => { - const { act, data } = useBackend(context); - const cloud_backups = data.cloud_backups || []; - return cloud_backups.map(backup => ( -