diff --git a/.vscode/launch.json b/.vscode/launch.json
index 543058728f56..fbf8bfba5851 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -6,7 +6,8 @@
"request": "launch",
"name": "Launch DreamSeeker",
"preLaunchTask": "Build All",
- "dmb": "${workspaceFolder}/${command:CurrentDMB}"
+ "dmb": "${workspaceFolder}/${command:CurrentDMB}",
+ "dreamDaemon": true
}
]
}
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 74efff0dc284..4f0afde61641 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -197,48 +197,13 @@
"aat" = (
/turf/closed/wall/r_wall/rust,
/area/security/prison)
-"aau" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/table,
-/obj/machinery/status_display/ai{
- pixel_y = 32
- },
-/obj/item/storage/toolbox/mechanical,
-/obj/item/multitool,
-/obj/effect/decal/cleanable/cobweb,
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"aav" = (
/turf/closed/wall/r_wall,
/area/security/prison)
-"aaw" = (
-/obj/machinery/power/smes{
- charge = 5e+006;
- name = "ai power storage unit"
- },
-/obj/structure/cable/yellow{
- icon_state = "0-8"
- },
-/turf/open/floor/circuit/red,
-/area/ai_monitored/turret_protected/ai)
"aax" = (
/obj/item/beacon,
/turf/open/floor/engine,
/area/science/xenobiology)
-"aay" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"aaz" = (
/obj/structure/table/wood,
/obj/item/clipboard,
@@ -330,30 +295,6 @@
/obj/machinery/status_display/evac,
/turf/closed/wall,
/area/security/prison)
-"aaH" = (
-/obj/machinery/power/terminal{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable/yellow{
- icon_state = "0-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"aaI" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/table,
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
-/obj/item/storage/toolbox/electrical,
-/obj/item/assembly/flash/handheld,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"aaJ" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -421,37 +362,6 @@
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
-"aaM" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 5
- },
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/remains/human,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"aaN" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"aaO" = (
/obj/structure/flora/grass/jungle,
/turf/open/floor/plating/asteroid/airless{
@@ -526,12 +436,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/warden)
-"aaU" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"aaV" = (
/obj/structure/table/wood,
/obj/item/radio/intercom,
@@ -579,22 +483,6 @@
"aaY" = (
/turf/closed/wall,
/area/security/detectives_office)
-"aaZ" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 10
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"aba" = (
/obj/machinery/vending/snack/random,
/obj/effect/turf_decal/tile/neutral{
@@ -648,24 +536,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
-"abd" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/status_display/ai{
- pixel_x = 32
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable/yellow{
- icon_state = "2-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abe" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -700,13 +570,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark,
/area/lawoffice)
-"abg" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/decal/cleanable/blood/old,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"abh" = (
/turf/closed/wall/rust,
/area/security/prison)
@@ -744,18 +607,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
-"abk" = (
-/obj/structure/sign/warning/nosmoking{
- pixel_x = 30
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abl" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -882,33 +733,6 @@
icon_state = "platingdmg1"
},
/area/maintenance/starboard)
-"aby" = (
-/obj/machinery/requests_console{
- department = "AI";
- departmentType = 5;
- name = "AI RC";
- pixel_x = 30;
- pixel_y = -30
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/effect/turf_decal/box,
-/obj/machinery/flasher{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_x = 24;
- pixel_y = 24
- },
-/obj/machinery/camera{
- c_tag = "AI Chamber Core";
- dir = 1;
- name = "core camera";
- network = list("aicore")
- },
-/obj/machinery/light/floor,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abz" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
/obj/machinery/computer/operating{
@@ -961,37 +785,11 @@
},
/turf/open/floor/plasteel/dark,
/area/security/detectives_office)
-"abC" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
-"abD" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abE" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/maintenance/starboard)
-"abF" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abG" = (
/obj/structure/chair/pew/left{
dir = 4;
@@ -1044,20 +842,6 @@
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/space/nearstation)
-"abM" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abN" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -1077,45 +861,6 @@
/obj/structure/sign/warning/securearea,
/turf/closed/wall/rust,
/area/chapel/office)
-"abQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/flasher{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_x = 24
- },
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/remains/human,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"abR" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/flasher{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_y = 24
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"abS" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"abT" = (
/obj/structure/sign/departments/security,
/turf/closed/wall,
@@ -1131,39 +876,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/detectives_office)
-"abV" = (
-/obj/machinery/flasher{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_y = 24
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
-"abW" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
-"abX" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/obj/machinery/newscaster/security_unit{
- pixel_x = 30
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"abY" = (
/obj/effect/turf_decal/tile/red{
dir = 1
@@ -1200,19 +912,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/security/warden)
-"acd" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"ace" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -1245,15 +944,6 @@
},
/turf/open/floor/plasteel,
/area/security/warden)
-"acg" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"ach" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/neutral{
@@ -1271,26 +961,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/detectives_office)
-"acj" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"ack" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
@@ -1310,35 +980,6 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"acn" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/light,
-/obj/structure/extinguisher_cabinet{
- pixel_x = -26
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"aco" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/status_display/ai{
- pixel_x = 32;
- pixel_y = -32
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 9
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"acp" = (
/obj/effect/turf_decal/tile/red{
dir = 4
@@ -1380,37 +1021,9 @@
},
/turf/open/floor/wood,
/area/security/detectives_office)
-"acs" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/light,
-/obj/item/radio/intercom{
- pixel_x = 28
- },
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"act" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
-"acu" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"acv" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/neutral{
@@ -1430,30 +1043,6 @@
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
-"acw" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/effect/decal/cleanable/blood/old,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
-"acx" = (
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/turret_protected/ai";
- dir = 1;
- name = "AI Chamber APC";
- pixel_y = 23
- },
-/obj/structure/cable/yellow{
- icon_state = "0-8"
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"acy" = (
/obj/docking_port/stationary/random{
dir = 1;
@@ -1557,21 +1146,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/satellite)
-"acG" = (
-/obj/machinery/power/port_gen/pacman,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/plating{
- icon_state = "panelscorched"
- },
-/area/ai_monitored/storage/satellite)
"acH" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -1653,21 +1227,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/warden)
-"acP" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/status_display/ai{
- pixel_x = -32;
- pixel_y = -32
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 5
- },
-/obj/effect/decal/cleanable/blood/old,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"acQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
@@ -1688,29 +1247,6 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/port/fore)
-"acR" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"acS" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/turf/open/floor/engine,
-/area/ai_monitored/storage/satellite)
"acT" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/delivery,
@@ -1750,21 +1286,6 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/satellite)
-"acV" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"acW" = (
/obj/structure/flora/ausbushes/lavendergrass,
/obj/structure/flora/ausbushes/sparsegrass,
@@ -1825,19 +1346,6 @@
},
/turf/open/floor/plasteel/dark,
/area/hallway/primary/fore)
-"adb" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/decal/cleanable/blood/old,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"adc" = (
/obj/structure/filingcabinet/employment,
/obj/effect/turf_decal/tile/neutral{
@@ -1886,21 +1394,6 @@
"adg" = (
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/aisat_interior)
-"adh" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/aisat_interior)
"adi" = (
/obj/structure/chair{
dir = 8
@@ -1950,20 +1443,6 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/plasteel/dark,
/area/security/prison)
-"adm" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/mob/living/simple_animal/bot/secbot/pingsky,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/aisat_interior)
"adn" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -2008,39 +1487,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
/area/security/warden)
-"adq" = (
-/obj/machinery/door/airlock/highsecurity{
- name = "AI Chamber";
- req_access_txt = "16"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "AI Chamber entrance shutters";
- name = "AI Chamber Lockdown Shutter"
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -26;
- pixel_y = 3
- },
-/obj/item/radio/intercom{
- broadcasting = 1;
- frequency = 1447;
- listening = 0;
- name = "Station Intercom (AI Private)";
- pixel_x = 28
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"adr" = (
/obj/machinery/ai_slipper{
uses = 10
@@ -2066,20 +1512,6 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
-"adt" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/aisat_interior)
"adu" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -2111,20 +1543,6 @@
/mob/living/simple_animal/hostile/retaliate/poison/snake,
/turf/open/floor/plasteel/dark,
/area/maintenance/port/fore)
-"adw" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/aisat_interior)
"adx" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -2302,23 +1720,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/bridge)
-"adL" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/aisat_interior)
"adM" = (
/obj/machinery/camera{
c_tag = "Satellite Antechamber";
@@ -2900,22 +2301,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark,
/area/security/warden)
-"aeK" = (
-/obj/effect/turf_decal/loading_area{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/sign/warning/nosmoking{
- pixel_x = 30;
- pixel_y = -32
- },
-/obj/structure/cable/yellow{
- icon_state = "2-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/storage/satellite)
"aeM" = (
/obj/machinery/photocopier,
/obj/effect/turf_decal/bot,
@@ -3147,25 +2532,6 @@
"afh" = (
/turf/open/space/basic,
/area/hallway/secondary/command)
-"afj" = (
-/obj/machinery/recharge_station,
-/obj/effect/turf_decal/bot,
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/storage/satellite";
- dir = 2;
- name = "MiniSat Maint APC";
- pixel_y = -23
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable/yellow,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/storage/satellite)
"afl" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable/yellow{
@@ -3454,24 +2820,6 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/science/xenobiology)
-"afN" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/flasher{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_y = 24
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/obj/machinery/camera{
- c_tag = "AI Chamber SMES";
- dir = 2;
- name = "core camera";
- network = list("aicore")
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"afO" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -4131,19 +3479,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/main)
-"ahf" = (
-/obj/machinery/light{
- dir = 8
- },
-/obj/machinery/status_display/ai{
- pixel_x = -32
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"ahg" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/remains/human,
@@ -4328,15 +3663,6 @@
/obj/item/beacon,
/turf/open/floor/engine,
/area/ai_monitored/turret_protected/aisat/foyer)
-"ahA" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/chair/office{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/ai_monitored/storage/satellite)
"ahC" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/cobweb,
@@ -5372,26 +4698,6 @@
},
/turf/open/floor/plasteel/dark,
/area/construction/mining/aux_base)
-"ajp" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"ajq" = (
/obj/effect/spawner/lootdrop/glowstick,
/obj/effect/turf_decal/stripes/corner{
@@ -5513,19 +4819,6 @@
},
/turf/open/floor/engine,
/area/ai_monitored/turret_protected/aisat/foyer)
-"ajE" = (
-/obj/machinery/porta_turret/ai{
- dir = 4
- },
-/obj/structure/sign/warning/securearea{
- pixel_y = 32
- },
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/turf_decal/box/red,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"ajF" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -6301,16 +5594,6 @@
icon_state = "wood-broken7"
},
/area/maintenance/port/fore)
-"alh" = (
-/obj/machinery/airalarm{
- dir = 4;
- pixel_x = -24
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"ali" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -6614,13 +5897,6 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/ai_monitored/security/armory)
-"alz" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"alA" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -8730,19 +8006,6 @@
/obj/effect/decal/cleanable/blood/gibs/old,
/turf/open/floor/plating/asteroid/airless,
/area/space/nearstation)
-"apn" = (
-/obj/machinery/porta_turret/ai{
- dir = 4
- },
-/obj/structure/sign/warning/securearea{
- pixel_y = 32
- },
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/effect/turf_decal/box/red,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"apo" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -11314,15 +10577,6 @@
"atA" = (
/turf/closed/wall/rust,
/area/bridge)
-"atB" = (
-/obj/machinery/porta_turret/ai{
- dir = 4
- },
-/obj/effect/turf_decal/box/red,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/ai_monitored/turret_protected/ai)
"atC" = (
/obj/structure/sign/warning/electricshock,
/turf/closed/wall/r_wall,
@@ -31527,14 +30781,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningoffice)
-"baP" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- external_pressure_bound = 140;
- name = "server vent";
- pressure_checks = 0
- },
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/science/server)
"baQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -32446,16 +31692,6 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/science/mixing)
-"bcz" = (
-/obj/machinery/atmospherics/pipe/simple/general/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/science/server)
"bcA" = (
/obj/structure/cable/yellow,
/obj/machinery/door/firedoor/border_only{
@@ -32489,24 +31725,6 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/science/research)
-"bcC" = (
-/obj/effect/landmark/blobstart,
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/airalarm/server{
- dir = 8;
- pixel_x = 24
- },
-/obj/machinery/atmospherics/pipe/manifold/general/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/science/server)
"bcD" = (
/turf/closed/wall/rust,
/area/science/mixing)
@@ -61363,6 +60581,20 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/exit/departure_lounge)
+"bXP" = (
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"bXQ" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/techstorage/rnd,
@@ -65257,31 +64489,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"cdW" = (
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = 3;
- pixel_y = 28
- },
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 8;
- icon_state = "leftsecure";
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "AI Core shutters";
- name = "AI Core Shutter"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"cdX" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -65324,43 +64531,6 @@
/obj/item/seeds/potato,
/turf/open/floor/grass,
/area/security/prison)
-"ced" = (
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -28;
- pixel_y = 6
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 28;
- pixel_y = 6
- },
-/obj/effect/landmark/start/ai,
-/obj/machinery/button/door{
- id = "AI Core shutters";
- name = "AI Core Shutters Toggle";
- pixel_x = 24;
- pixel_y = 24;
- req_access_txt = "16"
- },
-/obj/machinery/button/door{
- id = "AI Chamber entrance shutters";
- name = "AI Chamber Lockdown";
- pixel_x = -24;
- pixel_y = 24;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/red,
-/area/ai_monitored/turret_protected/ai)
"cee" = (
/obj/structure/table,
/obj/item/stack/sheet/metal/fifty,
@@ -65379,61 +64549,6 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel/dark,
/area/engine/atmos)
-"cef" = (
-/obj/effect/landmark/start/ai/secondary,
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = -10;
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = -10;
- pixel_y = -25
- },
-/obj/machinery/door/window{
- base_state = "rightsecure";
- dir = 4;
- icon_state = "rightsecure";
- layer = 4.1;
- name = "Secondary AI Core Access";
- obj_integrity = 300;
- pixel_x = 4;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/red,
-/area/ai_monitored/turret_protected/ai)
-"ceg" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
-"ceh" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/firealarm{
- dir = 4;
- pixel_x = -24
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"cei" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/vomit/old,
@@ -65512,50 +64627,6 @@
icon_state = "panelscorched"
},
/area/maintenance/port/aft)
-"ceo" = (
-/obj/effect/landmark/start/ai/secondary,
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 10;
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = 27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 10;
- pixel_y = -25
- },
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 8;
- icon_state = "leftsecure";
- layer = 4.1;
- name = "Tertiary AI Core Access";
- obj_integrity = 300;
- pixel_x = -3;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/red,
-/area/ai_monitored/turret_protected/ai)
-"cep" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/flasher{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_x = -24
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"ceq" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -66041,18 +65112,6 @@
icon_state = "platingdmg1"
},
/area/maintenance/starboard/aft)
-"cft" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/camera{
- c_tag = "AI Chamber Door";
- dir = 1;
- name = "core camera";
- network = list("aicore")
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"cfu" = (
/obj/machinery/door/airlock/hatch{
name = "Satellite Antechamber";
@@ -66118,12 +65177,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/engine,
/area/security/nuke_storage)
-"cfy" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"cfz" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible{
dir = 4
@@ -66207,29 +65260,6 @@
icon_state = "platingdmg3"
},
/area/maintenance/starboard/aft)
-"cfK" = (
-/obj/machinery/door/window{
- base_state = "rightsecure";
- dir = 4;
- icon_state = "rightsecure";
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "AI Core shutters";
- name = "AI Core Shutter"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light_switch{
- pixel_x = 6;
- pixel_y = 24
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/ai_monitored/turret_protected/ai)
"cfM" = (
/turf/closed/wall/r_wall,
/area/tcommsat/computer)
@@ -67161,25 +66191,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
-"chp" = (
-/obj/machinery/door/airlock/hatch{
- name = "Satellite Antechamber";
- req_one_access_txt = "32;19"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"chq" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -67343,22 +66354,6 @@
icon_state = "platingdmg1"
},
/area/maintenance/starboard/aft)
-"chB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/obj/machinery/power/terminal{
- dir = 1
- },
-/obj/structure/cable/yellow{
- icon_state = "0-8"
- },
-/turf/open/floor/engine,
-/area/ai_monitored/storage/satellite)
"chC" = (
/obj/machinery/light_switch{
pixel_y = -24
@@ -67396,23 +66391,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"chG" = (
-/obj/machinery/computer/station_alert{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/machinery/status_display/ai{
- pixel_x = 32
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/storage/satellite)
"chH" = (
/obj/structure/reflector/box/anchored{
dir = 1;
@@ -67479,13 +66457,6 @@
/obj/structure/sign/warning/vacuum/external,
/turf/closed/wall,
/area/ai_monitored/turret_protected/aisat/atmos)
-"chP" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat/atmos)
"chQ" = (
/obj/structure/lattice/catwalk,
/obj/structure/transit_tube/horizontal{
@@ -67785,18 +66756,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat/foyer)
-"ciq" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/storage/satellite)
"cir" = (
/obj/structure/sign/warning/nosmoking{
pixel_x = 28;
@@ -67920,34 +66879,6 @@
},
/turf/open/floor/plasteel,
/area/engine/break_room)
-"ciC" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/ai_monitored/storage/satellite)
-"ciD" = (
-/obj/structure/table,
-/obj/item/stack/sheet/metal/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/mineral/plasma{
- amount = 5
- },
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/storage/satellite)
"ciE" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 5
@@ -68859,6 +67790,18 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
+"ckb" = (
+/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/turret_protected/ai";
+ dir = 1;
+ name = "AI Chamber APC";
+ pixel_y = 23
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ckc" = (
/obj/machinery/power/smes{
charge = 5e+006
@@ -76397,6 +75340,20 @@
icon_state = "platingdmg3"
},
/area/maintenance/port/fore)
+"cyw" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 30
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"cyy" = (
/obj/structure/sign/warning/nosmoking,
/turf/closed/wall,
@@ -83542,6 +82499,17 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
+"cMX" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"cMY" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -86336,6 +85304,23 @@
/obj/machinery/atmospherics/pipe/layer_manifold,
/turf/open/floor/plasteel/dark,
/area/maintenance/port)
+"ecz" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/ai_monitored/turret_protected/aisat_interior)
"ecD" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -86389,6 +85374,28 @@
icon_state = "panelscorched"
},
/area/maintenance/port/fore)
+"egr" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Satellite Antechamber";
+ req_one_access_txt = "32;19"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"egC" = (
/obj/structure/chair/office/light{
dir = 8
@@ -86508,6 +85515,20 @@
icon_state = "panelscorched"
},
/area/maintenance/port/aft)
+"eoH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/camera{
+ c_tag = "AI Chamber Door";
+ dir = 1;
+ name = "core camera";
+ network = list("aicore")
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"eoL" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -86699,6 +85720,25 @@
/obj/effect/turf_decal/stripes/line,
/turf/closed/wall,
/area/maintenance/port)
+"exR" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/ai_monitored/storage/satellite)
"eyC" = (
/obj/effect/turf_decal/box,
/obj/structure/cable{
@@ -86707,6 +85747,21 @@
/obj/effect/spawner/structure/solars/solar_96,
/turf/open/floor/plasteel/airless/solarpanel,
/area/solar/starboard/fore)
+"eyD" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"eyF" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -86727,6 +85782,17 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/dark,
/area/maintenance/port/fore)
+"ezT" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/obj/structure/sign/warning/securearea{
+ pixel_y = 32
+ },
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/turf_decal/box/red,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ezV" = (
/obj/structure/table/wood,
/obj/item/storage/crayons,
@@ -86874,6 +85940,28 @@
/obj/effect/landmark/start/chief_engineer,
/turf/open/floor/plasteel/dark,
/area/bridge)
+"eLz" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"eLB" = (
/obj/effect/turf_decal/box/corners{
dir = 1;
@@ -87008,6 +86096,32 @@
},
/turf/open/floor/plasteel/dark,
/area/quartermaster/miningoffice)
+"eYS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/ai_monitored/storage/satellite)
+"eZj" = (
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 5
+ },
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/storage/satellite)
"eZv" = (
/obj/structure/disposalpipe/trunk{
dir = 4
@@ -87033,6 +86147,23 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"faP" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "AI Core shutters";
+ name = "AI Core Shutter"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light_switch{
+ pixel_x = 6;
+ pixel_y = 24
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"faW" = (
/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
dir = 8
@@ -87543,6 +86674,19 @@
},
/turf/open/floor/plasteel/dark,
/area/library)
+"fwp" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/remains/human,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"fws" = (
/obj/machinery/newscaster/security_unit{
pixel_x = -28
@@ -87917,6 +87061,23 @@
},
/turf/open/floor/plasteel,
/area/clerk)
+"fSU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/status_display/ai{
+ pixel_x = 32;
+ pixel_y = -32
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"fTc" = (
/obj/effect/turf_decal/tile/yellow,
/obj/effect/turf_decal/tile/red,
@@ -87988,6 +87149,20 @@
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
/area/maintenance/port)
+"fWT" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/decal/cleanable/blood/old,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"fXV" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12";
@@ -88544,6 +87719,17 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/engine/atmos)
+"gCY" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/obj/structure/sign/warning/securearea{
+ pixel_y = 32
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/turf_decal/box/red,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gDD" = (
/obj/structure/flora/ausbushes/lavendergrass,
/obj/structure/flora/ausbushes/sparsegrass,
@@ -88645,6 +87831,18 @@
icon_state = "platingdmg1"
},
/area/maintenance/port/aft)
+"gJr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"gJw" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -88671,6 +87869,20 @@
icon_state = "panelscorched"
},
/area/engine/engineering)
+"gJU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
+ dir = 1
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"gKq" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -88837,6 +88049,20 @@
"gWk" = (
/turf/open/floor/plating,
/area/maintenance/disposal/incinerator)
+"gXx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/structure/sign/warning/electricshock{
+ pixel_y = 32
+ },
+/obj/item/storage/toolbox/electrical,
+/obj/item/assembly/flash/handheld,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"gXF" = (
/obj/effect/landmark/stationroom/maint/tenxten,
/turf/template_noop,
@@ -89715,6 +88941,19 @@
},
/turf/open/floor/engine,
/area/science/mixing/chamber)
+"idl" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"idU" = (
/obj/structure/cable/yellow{
icon_state = "0-2"
@@ -89819,6 +89058,20 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"ihI" = (
+/obj/structure/sign/warning/nosmoking{
+ pixel_x = 30
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"ihX" = (
/obj/machinery/door/poddoor/preopen{
id = "bridge blast";
@@ -89978,6 +89231,14 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/heads/chief)
+"ioh" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"iol" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -90104,6 +89365,27 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark,
/area/tcommsat/computer)
+"ivT" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/storage/satellite";
+ dir = 2;
+ name = "MiniSat Maint APC";
+ pixel_y = -23
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/yellow,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/storage/satellite)
"ivX" = (
/obj/machinery/atmospherics/miner/nitrogen{
max_ext_kpa = 2500
@@ -90395,6 +89677,22 @@
},
/turf/open/floor/plating,
/area/hallway/primary/fore)
+"iED" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"iFa" = (
/obj/machinery/door/airlock/medical/glass{
name = "Infirmary";
@@ -90403,6 +89701,47 @@
},
/turf/open/floor/plasteel/dark,
/area/security/main)
+"iFr" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
+"iFz" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/status_display/ai{
+ pixel_x = 32
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 8;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"iGD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -90975,6 +90314,21 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/toilet/restrooms)
+"jdk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/sign/warning/electricshock{
+ pixel_y = 32
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/computer/ai_server_console,
+/turf/open/floor/plating{
+ icon_state = "panelscorched"
+ },
+/area/ai_monitored/storage/satellite)
"jeG" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -91236,6 +90590,13 @@
},
/turf/open/floor/engine,
/area/science/explab)
+"jri" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/obj/effect/turf_decal/box/red,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jsL" = (
/obj/effect/decal/cleanable/blood/old,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -92429,6 +91790,15 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/engine,
/area/tcommsat/computer)
+"kEH" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"kEP" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -93053,6 +92423,14 @@
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"lfA" = (
+/obj/machinery/flasher{
+ id = "AI";
+ name = "Meatbag Pacifier";
+ pixel_y = 24
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lgh" = (
/obj/structure/chair/office/light,
/obj/effect/turf_decal/tile/purple{
@@ -93400,6 +92778,46 @@
/obj/item/card/id/departmental_budget/sec,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
+"lFF" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/mob/living/simple_animal/bot/secbot/pingsky,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/ai_monitored/turret_protected/aisat_interior)
+"lGG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/status_display/ai{
+ pixel_y = 32
+ },
+/obj/item/storage/toolbox/mechanical,
+/obj/item/multitool,
+/obj/effect/decal/cleanable/cobweb,
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
+"lGJ" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light,
+/obj/machinery/power/port_gen/pacman,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat/atmos)
"lHd" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -93422,12 +92840,42 @@
icon_state = "platingdmg1"
},
/area/maintenance/disposal/incinerator)
+"lKi" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/status_display/ai{
+ pixel_x = -32
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"lKm" = (
/obj/machinery/atmospherics/components/trinary/mixer{
dir = 4
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"lKv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/airalarm/tcomms{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"lKW" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -93455,6 +92903,25 @@
icon_state = "panelscorched"
},
/area/maintenance/port/aft)
+"lNE" = (
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_x = 3;
+ pixel_y = 28
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "AI Core shutters";
+ name = "AI Core Shutter"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"lNV" = (
/obj/structure/table,
/obj/item/paper_bin/construction{
@@ -93501,6 +92968,13 @@
/obj/item/storage/box/gloves,
/turf/open/floor/plasteel/dark,
/area/medical/storage)
+"lQf" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lRF" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12";
@@ -93550,6 +93024,23 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"lUG" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/sign/warning/nosmoking{
+ pixel_x = 30;
+ pixel_y = -32
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine,
+/area/ai_monitored/storage/satellite)
"lVf" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -94126,6 +93617,17 @@
},
/turf/open/floor/plating,
/area/maintenance/disposal/incinerator)
+"mtL" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"mxg" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/neutral{
@@ -94499,6 +94001,39 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"mNJ" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "AI Chamber";
+ req_access_txt = "16"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "AI Chamber entrance shutters";
+ name = "AI Chamber Lockdown Shutter"
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -26;
+ pixel_y = 3
+ },
+/obj/item/radio/intercom{
+ broadcasting = 1;
+ frequency = 1447;
+ listening = 0;
+ name = "Station Intercom (AI Private)";
+ pixel_x = 28
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/structure/fans/tiny,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"mOy" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -94638,6 +94173,16 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/central)
+"mYy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine,
+/area/ai_monitored/storage/satellite)
"mZu" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
@@ -95388,6 +94933,14 @@
},
/turf/open/floor/plating,
/area/maintenance/disposal)
+"nLv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"nLA" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -95467,6 +95020,16 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
+"nNf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/chair/office{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine,
+/area/ai_monitored/storage/satellite)
"nNt" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -95521,6 +95084,25 @@
icon_state = "platingdmg1"
},
/area/maintenance/port)
+"nQx" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"nRc" = (
/obj/structure/cable/yellow,
/obj/effect/spawner/structure/window/reinforced/shutter,
@@ -96006,6 +95588,15 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"oAg" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"oAH" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/dirt,
@@ -96220,6 +95811,14 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"oQb" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"oTH" = (
/obj/machinery/door/poddoor/shutters{
id = "Skynet_launch";
@@ -96517,6 +96116,21 @@
},
/turf/open/floor/plasteel/white,
/area/crew_quarters/cryopods)
+"poi" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/status_display/ai{
+ pixel_x = -32;
+ pixel_y = -32
+ },
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"pqh" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -96580,6 +96194,23 @@
icon_state = "platingdmg3"
},
/area/maintenance/port/aft)
+"psK" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/ai_monitored/turret_protected/aisat_interior)
"psT" = (
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -96748,6 +96379,10 @@
},
/turf/open/space/basic,
/area/space)
+"pzG" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pBF" = (
/obj/structure/table,
/obj/machinery/computer/security/telescreen/turbine{
@@ -96932,6 +96567,43 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
/turf/open/floor/engine,
/area/ai_monitored/turret_protected/aisat/atmos)
+"pNK" = (
+/obj/item/radio/intercom{
+ freerange = 1;
+ name = "Common Channel";
+ pixel_x = -28;
+ pixel_y = 6
+ },
+/obj/item/radio/intercom{
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_y = 22
+ },
+/obj/item/radio/intercom{
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_x = 28;
+ pixel_y = 6
+ },
+/obj/machinery/button/door{
+ id = "AI Core shutters";
+ name = "AI Core Shutters Toggle";
+ pixel_x = 24;
+ pixel_y = 24;
+ req_access_txt = "16"
+ },
+/obj/machinery/button/door{
+ id = "AI Chamber entrance shutters";
+ name = "AI Chamber Lockdown";
+ pixel_x = -24;
+ pixel_y = 24;
+ req_access_txt = "16"
+ },
+/obj/machinery/ai/data_core/primary,
+/turf/open/floor/circuit/red/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pNM" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/asteroid/airless{
@@ -97617,6 +97289,19 @@
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/space/nearstation)
+"quW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ name = "Meatbag Pacifier";
+ pixel_y = 24
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"qvn" = (
/obj/structure/table,
/obj/machinery/camera{
@@ -98190,12 +97875,44 @@
},
/turf/open/floor/plating,
/area/quartermaster/warehouse)
+"qXr" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/remains/human,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 10
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"rbv" = (
/obj/effect/decal/cleanable/ash,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
/area/maintenance/disposal/incinerator)
+"rbE" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/airalarm/server{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/ai/data_core,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"rbL" = (
/obj/effect/turf_decal/bot,
/obj/machinery/portable_atmospherics/canister/air,
@@ -98349,6 +98066,11 @@
icon_state = "platingdmg1"
},
/area/maintenance/port/aft)
+"rnq" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rnQ" = (
/obj/machinery/door/airlock/external{
name = "Ferry Shuttle Airlock"
@@ -98452,6 +98174,22 @@
icon_state = "panelscorched"
},
/area/maintenance/port/fore)
+"rry" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"ruq" = (
/obj/structure/chair/comfy/brown{
buildstackamount = 0;
@@ -98664,6 +98402,10 @@
icon_state = "panelscorched"
},
/area/maintenance/fore)
+"rEU" = (
+/obj/machinery/ai/expansion_card_holder/prefilled,
+/turf/open/floor/circuit/red/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rGm" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/yellow{
@@ -98940,6 +98682,25 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/fore)
+"sdu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ name = "Meatbag Pacifier";
+ pixel_y = 24
+ },
+/obj/machinery/camera{
+ c_tag = "AI Chamber SMES";
+ dir = 2;
+ name = "core camera";
+ network = list("aicore")
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"sec" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -99276,6 +99037,15 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"spM" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"spN" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "Shower_2Privacy";
@@ -99605,6 +99375,27 @@
dir = 1
},
/area/hallway/primary/fore)
+"sGh" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/light,
+/obj/item/radio/intercom{
+ pixel_x = 28
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 8;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"sHw" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -100321,6 +100112,23 @@
/obj/structure/girder,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"twd" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/ai_monitored/turret_protected/aisat_interior)
"tBP" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
@@ -100922,6 +100730,23 @@
/obj/structure/grille,
/turf/open/space/basic,
/area/space)
+"uqZ" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/status_display/ai{
+ pixel_x = 32
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/computer/ai_resource_distribution{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/storage/satellite)
"uru" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -101371,6 +101196,17 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"uKV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"uMM" = (
/obj/machinery/computer/turbine_computer{
dir = 8;
@@ -101423,6 +101259,23 @@
icon_state = "panelscorched"
},
/area/maintenance/solars/starboard/fore)
+"uRd" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/light,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -26
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"uRZ" = (
/obj/structure/flora/grass/jungle,
/obj/machinery/light{
@@ -101693,6 +101546,20 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"viP" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/engine,
+/area/ai_monitored/turret_protected/aisat_interior)
"viV" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -101827,6 +101694,13 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/port/aft)
+"voX" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"voZ" = (
/obj/structure/chair/office{
dir = 1
@@ -102399,6 +102273,17 @@
/obj/structure/sign/warning/fire,
/turf/closed/wall,
/area/maintenance/disposal/incinerator)
+"vQc" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"vQC" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/simple/general/visible,
@@ -102582,6 +102467,14 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"wgW" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"whN" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -102942,6 +102835,16 @@
},
/turf/open/floor/plating/asteroid/airless,
/area/space/nearstation)
+"wFN" = (
+/obj/machinery/power/smes{
+ charge = 5e+006;
+ name = "ai power storage unit"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit/red/telecomms,
+/area/ai_monitored/turret_protected/ai)
"wFY" = (
/obj/structure/door_assembly/door_assembly_eng{
anchored = 1
@@ -103453,6 +103356,35 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
+"xkV" = (
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ name = "AI RC";
+ pixel_x = 30;
+ pixel_y = -30
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/effect/turf_decal/box,
+/obj/machinery/flasher{
+ id = "AI";
+ name = "Meatbag Pacifier";
+ pixel_x = 24;
+ pixel_y = 24
+ },
+/obj/machinery/camera{
+ c_tag = "AI Chamber Core";
+ dir = 1;
+ name = "core camera";
+ network = list("aicore")
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/engine{
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/ai_monitored/turret_protected/ai)
"xlm" = (
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/blue{
@@ -103730,6 +103662,14 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/starboard)
+"xyR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ external_pressure_bound = 140;
+ name = "server vent";
+ pressure_checks = 0
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/science/server)
"xAx" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -103804,6 +103744,22 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"xFc" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/computer/ai_control_console{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/storage/satellite)
"xFy" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -131977,7 +131933,7 @@ aAg
aAg
asZ
asZ
-cef
+rEU
asZ
asZ
aAg
@@ -131988,7 +131944,7 @@ auf
bmD
ccl
adZ
-chP
+lGJ
chO
agf
ceF
@@ -132230,14 +132186,14 @@ aeu
aeu
asZ
asZ
-ajE
-ahf
-alh
-alz
-ceg
-cep
-ceh
-acn
+ezT
+lKi
+lKv
+spM
+mtL
+ioh
+gJr
+uRd
asZ
adg
azv
@@ -132487,15 +132443,15 @@ aeu
asZ
aAg
asZ
-abR
-aaM
-acg
-acg
-acu
-acw
-abS
-acP
-atB
+quW
+qXr
+lQf
+lQf
+rry
+wgW
+voX
+poi
+jri
adT
aHw
cgp
@@ -132743,16 +132699,16 @@ ciQ
aeu
aAg
asZ
-aau
-aay
-acd
+lGG
+cMX
+oAg
cdY
cdZ
-cdW
+lNE
cdY
-acx
-acR
-cft
+ckb
+nQx
+eoH
adg
byD
cgJ
@@ -133000,20 +132956,20 @@ ciI
cmS
asZ
asZ
-aaw
-aaH
-ajp
+wFN
+bXP
+iED
cdY
-ced
-aby
+pNK
+xkV
ceq
-atB
-acV
-adb
-adq
-adh
-adm
-adL
+jri
+gJU
+fWT
+mNJ
+viP
+lFF
+ecz
adR
fzy
afg
@@ -133257,19 +133213,19 @@ anH
aeu
asZ
aAg
-aaI
-aaU
-aaN
+gXx
+oQb
+kEH
cdZ
cdY
-cfK
+faP
cdY
-abV
-acj
-cfy
+lfA
+eLz
+nLv
adg
ceH
-adt
+psK
adM
chX
aei
@@ -133515,18 +133471,18 @@ aeu
asZ
asZ
asZ
-afN
-aaZ
-abg
-abC
-abF
-abC
-abW
-aco
-atB
+sdu
+eyD
+rnq
+pzG
+idl
+pzG
+pzG
+fSU
+jri
adT
acD
-adw
+twd
adN
adg
aen
@@ -133772,18 +133728,18 @@ aeu
aeu
asZ
aAg
-apn
-abd
-abk
-abD
-abM
-abQ
-abX
-acs
+gCY
+iFz
+ihI
+uKV
+iFr
+fwp
+cyw
+sGh
asZ
alV
azv
-chp
+egr
chV
adg
aeq
@@ -134033,14 +133989,14 @@ asZ
asZ
aAg
asZ
-ceo
+rEU
asZ
aAg
asZ
asZ
cfY
acF
-chB
+exR
adr
adD
aex
@@ -134296,12 +134252,12 @@ asZ
aAg
asZ
cfY
-acG
-acS
-ahA
-ciC
-aeK
-afj
+jdk
+eYS
+nNf
+mYy
+lUG
+ivT
cga
acm
aeo
@@ -134555,9 +134511,9 @@ asZ
cga
cfY
acU
-chG
-ciD
-ciq
+uqZ
+xFc
+eZj
cfY
cfY
aaa
@@ -143578,9 +143534,9 @@ aCh
bkd
cGo
aZF
-baJ
-bcz
-baJ
+xyR
+vQc
+bcH
bdi
fcB
aAv
@@ -143835,9 +143791,9 @@ anO
cbj
aki
aZF
-baP
-bcC
-bcH
+baJ
+rbE
+baJ
bdi
bcV
kGp
diff --git a/_maps/map_files/YogStation/YogStation.dmm b/_maps/map_files/YogStation/YogStation.dmm
index 0420d58205b0..880b9c03df7f 100644
--- a/_maps/map_files/YogStation/YogStation.dmm
+++ b/_maps/map_files/YogStation/YogStation.dmm
@@ -1606,9 +1606,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"aet" = (
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aev" = (
/obj/machinery/light{
dir = 4
@@ -6917,12 +6914,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/ai_monitored/security/armory)
-"asK" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/clothing/ears/earmuffs,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"asM" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -6945,16 +6936,6 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/maintenance/fore)
-"asU" = (
-/obj/structure/table,
-/obj/machinery/cell_charger{
- pixel_y = 5
- },
-/obj/item/stack/cable_coil,
-/obj/item/multitool,
-/obj/item/stock_parts/cell/high/plus,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"asV" = (
/obj/structure/chair{
dir = 1
@@ -8370,6 +8351,24 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"axv" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Fore";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/porta_turret/ai,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"axw" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -8978,10 +8977,6 @@
/obj/structure/closet/ammunitionlocker,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
-"azM" = (
-/obj/machinery/light,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"azP" = (
/obj/structure/window/reinforced{
dir = 1
@@ -15032,6 +15027,21 @@
luminosity = 2
},
/area/security/prison)
+"aSW" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"aSX" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -20109,6 +20119,18 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"bkk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"bkr" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -20242,6 +20264,9 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/office)
+"bkO" = (
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"bkQ" = (
/obj/machinery/camera{
c_tag = "Teleporter"
@@ -20825,6 +20850,12 @@
},
/turf/open/floor/plasteel/white,
/area/science/lab)
+"bmM" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"bmS" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 5
@@ -23686,6 +23717,10 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"bwn" = (
+/obj/item/twohanded/required/kirbyplants/random,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"bwq" = (
/obj/machinery/teleport/station,
/turf/open/floor/plating,
@@ -27311,14 +27346,6 @@
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
/area/science/research)
-"bMw" = (
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/machinery/firealarm{
- dir = 1;
- pixel_y = -26
- },
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"bMy" = (
/obj/machinery/atmospherics/components/binary/valve{
dir = 4;
@@ -27502,6 +27529,15 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"bNt" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"bNw" = (
/obj/machinery/door/airlock/maintenance{
name = "Library Maintenance";
@@ -28282,6 +28318,13 @@
"bQZ" = (
/turf/closed/wall/r_wall,
/area/science/misc_lab)
+"bRg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/dark,
+/area/science/misc_lab)
"bRh" = (
/obj/effect/spawner/lootdrop/maintenance{
lootcount = 3;
@@ -28508,6 +28551,15 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/science)
+"bSQ" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"bST" = (
/obj/machinery/doorButtons/airlock_controller{
idExterior = "virology_airlock_exterior";
@@ -29849,6 +29901,19 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"cgJ" = (
+/obj/machinery/status_display/ai{
+ pixel_x = 32
+ },
+/obj/structure/rack,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/gloves/color/black,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"cgO" = (
/obj/structure/rack,
/obj/item/lighter,
@@ -30538,6 +30603,13 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"clO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"clQ" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -31623,6 +31695,10 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
+"cBI" = (
+/obj/machinery/ai/data_core/primary,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"cBL" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
@@ -32775,6 +32851,15 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
+"cWa" = (
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"cWT" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/turf/open/floor/plasteel/white,
@@ -32823,12 +32908,6 @@
},
/turf/open/floor/carpet,
/area/crew_quarters/fitness)
-"cYM" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 5
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"cZl" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -33005,13 +33084,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/science/xenobiology)
-"dgo" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/status_display/ai{
- pixel_y = -32
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"dgz" = (
/obj/structure/sign/warning/docking,
/obj/structure/grille,
@@ -33022,6 +33094,12 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"dhB" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dhY" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plasteel,
@@ -33030,12 +33108,6 @@
/obj/machinery/telecomms/server/presets/common,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"diN" = (
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"djf" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -33065,6 +33137,19 @@
},
/turf/open/space/basic,
/area/solar/port/fore)
+"dlp" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 6
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/misc_lab)
"dlq" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 8
@@ -33244,38 +33329,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"dpR" = (
-/obj/effect/landmark/start/ai/secondary,
-/obj/machinery/door/window{
- base_state = "rightsecure";
- icon_state = "rightsecure";
- layer = 4.1;
- name = "Secondary AI Core Access";
- obj_integrity = 300;
- pixel_y = -4;
- req_access_txt = "16"
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 28;
- pixel_y = 10
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_y = 21
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = -27;
- pixel_y = 10
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"dqb" = (
/obj/machinery/camera{
c_tag = "Aft Port Solar Access";
@@ -33391,6 +33444,15 @@
/obj/machinery/atmospherics/pipe/layer_manifold,
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"dvS" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dwe" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 1
@@ -33568,6 +33630,10 @@
/mob/living/simple_animal/pet/cat/Runtime,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/heads/cmo)
+"dAN" = (
+/obj/machinery/status_display/ai_core,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dBV" = (
/obj/machinery/camera{
c_tag = "Central Hallway West";
@@ -33651,12 +33717,6 @@
/obj/effect/landmark/stationroom/maint/tenxfive,
/turf/template_noop,
/area/maintenance/aft)
-"dEa" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"dEb" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -34421,6 +34481,15 @@
},
/turf/open/floor/engine,
/area/science/xenobiology)
+"egw" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"ehJ" = (
/obj/structure/flora/ausbushes/grassybush,
/obj/machinery/door/window/westleft{
@@ -34452,10 +34521,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
-"ejs" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"ejx" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -34594,23 +34659,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"epG" = (
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 1;
- icon_state = "leftsecure";
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = -31;
- pixel_y = 5
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"epR" = (
/obj/structure/chair/office/light,
/obj/effect/turf_decal/tile/blue{
@@ -35484,14 +35532,6 @@
/obj/structure/grille,
/turf/open/space/basic,
/area/space/nearstation)
-"eSF" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Aft";
- dir = 1;
- network = list("aicore")
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"eSR" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -35710,10 +35750,6 @@
/obj/machinery/seed_extractor,
/turf/open/floor/plating,
/area/security/prison)
-"eYo" = (
-/obj/machinery/porta_turret/ai,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"eYG" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/tile/neutral{
@@ -35971,18 +36007,6 @@
"fhq" = (
/turf/open/floor/carpet,
/area/crew_quarters/fitness)
-"fhv" = (
-/obj/machinery/power/smes/engineering{
- charge = 5e+006
- },
-/obj/structure/cable/white{
- icon_state = "0-2"
- },
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"fib" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/effect/turf_decal/bot,
@@ -36007,6 +36031,16 @@
/obj/effect/mapping_helpers/airlock/abandoned,
/turf/open/floor/plating,
/area/maintenance/aft)
+"fje" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fjY" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 1
@@ -36148,6 +36182,15 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
+"fnF" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fnG" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/door/window/westleft{
@@ -36325,6 +36368,13 @@
},
/turf/open/floor/plasteel/white,
/area/medical/surgery)
+"ftM" = (
+/obj/machinery/status_display/ai{
+ pixel_x = 32
+ },
+/obj/machinery/recharge_station,
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"fuj" = (
/obj/machinery/light{
dir = 1
@@ -36374,6 +36424,15 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"fwM" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 1
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"fxr" = (
/obj/machinery/airalarm{
pixel_y = 24
@@ -36753,12 +36812,6 @@
/obj/item/geiger_counter,
/turf/open/floor/plating,
/area/maintenance/aft)
-"fMt" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"fMu" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hopqueue";
@@ -36778,6 +36831,16 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"fMA" = (
+/obj/machinery/status_display/ai{
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/machinery/porta_turret/ai,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"fMS" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -36825,15 +36888,6 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/entry)
-"fNM" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/obj/structure/showcase/cyborg/old{
- dir = 4;
- pixel_x = -9;
- pixel_y = 2
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"fNQ" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
@@ -36868,6 +36922,10 @@
},
/turf/open/floor/plasteel,
/area/vacant_room/commissary)
+"fQc" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fQz" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cloth_curtain{
@@ -36889,6 +36947,15 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
+"fRC" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"fRK" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -36932,6 +36999,12 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"fUm" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"fUP" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -36961,13 +37034,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos_distro)
-"fVa" = (
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable/yellow,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"fVj" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -37190,6 +37256,13 @@
},
/turf/open/floor/engine,
/area/science/xenobiology)
+"gei" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"geF" = (
/obj/machinery/door/firedoor/border_only{
dir = 4
@@ -37243,15 +37316,6 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/engine/engineering)
-"ghq" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"ghA" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
@@ -37451,6 +37515,13 @@
},
/turf/open/floor/plasteel,
/area/clerk)
+"gnL" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gnZ" = (
/obj/machinery/disposal/bin,
/obj/structure/sign/warning/deathsposal{
@@ -37622,10 +37693,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"gsL" = (
-/obj/effect/landmark/stationroom/maint/fivexfour,
-/turf/template_noop,
-/area/maintenance/starboard/aft)
"gsM" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -38101,14 +38168,6 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
-"gGj" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/holopad,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"gGA" = (
/obj/structure/rack,
/obj/item/restraints/handcuffs/cable/zipties,
@@ -38130,6 +38189,17 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos)
+"gHm" = (
+/obj/structure/table,
+/obj/machinery/cell_charger{
+ pixel_y = 5
+ },
+/obj/item/stack/cable_coil,
+/obj/item/multitool,
+/obj/item/stock_parts/cell/high/plus,
+/obj/item/storage/toolbox/mechanical,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"gHo" = (
/obj/machinery/door/airlock/medical{
name = "Morgue";
@@ -38195,6 +38265,12 @@
/obj/machinery/light/small,
/turf/open/floor/plating,
/area/maintenance/aft)
+"gIT" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/science/misc_lab)
"gJh" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -39289,6 +39365,14 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"hzD" = (
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_y = 32
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"hzQ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
@@ -39713,6 +39797,12 @@
/obj/item/clothing/under/color/lightpurple,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"hLE" = (
+/obj/item/stack/cable_coil,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"hLI" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/turf/open/floor/plasteel/white,
@@ -39955,17 +40045,6 @@
icon_state = "platingdmg3"
},
/area/maintenance/port)
-"hVC" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/abandoned,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"hVM" = (
/obj/machinery/power/apc{
areastring = "/area/quartermaster/miningdock";
@@ -40899,12 +40978,6 @@
/obj/effect/landmark/start/research_director,
/turf/open/floor/carpet/blue,
/area/bridge/meeting_room)
-"iwJ" = (
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"ixh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 5
@@ -41137,17 +41210,6 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
-"iCG" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 23;
- pixel_y = 22
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"iCJ" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -41337,21 +41399,6 @@
"iKq" = (
/turf/template_noop,
/area/maintenance/starboard/aft)
-"iKM" = (
-/obj/machinery/door/window{
- base_state = "rightsecure";
- icon_state = "rightsecure";
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/camera{
- c_tag = "AI Chamber - Core";
- dir = 4;
- network = list("aicore")
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"iLi" = (
/obj/structure/disposalpipe/segment{
dir = 2
@@ -41479,17 +41526,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/engine/atmos_distro)
-"iNG" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"iOa" = (
/obj/structure/spacepoddoor,
/turf/open/floor/engine/airless,
@@ -42016,24 +42052,6 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/department/tcoms)
-"jgB" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 10
- },
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"jhe" = (
/obj/machinery/door/airlock/maintenance{
name = "Medbay Maintenance";
@@ -42243,6 +42261,15 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
+"jnz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"jnE" = (
/turf/closed/wall/r_wall,
/area/medical/medbay/lobby)
@@ -42559,28 +42586,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"jtX" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 24;
- pixel_y = -10
- },
-/obj/machinery/camera/motion{
- c_tag = "MiniSat Foyer";
- dir = 8;
- network = list("minisat","ss13")
- },
-/obj/machinery/turretid{
- control_area = "/area/ai_monitored/turret_protected/aisat_interior";
- name = "Antechamber Turret Control";
- pixel_x = 32;
- req_access_txt = "19"
- },
-/obj/effect/turf_decal/tile/darkblue{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"juh" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -42608,6 +42613,18 @@
},
/turf/open/floor/plasteel,
/area/construction)
+"juE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jva" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
/obj/structure/sink{
@@ -42948,6 +42965,16 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/library)
+"jIH" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4
+ },
+/obj/machinery/ai/data_core,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/circuit/green/telecomms,
+/area/science/misc_lab)
"jIM" = (
/obj/structure/window/reinforced{
dir = 4
@@ -43508,39 +43535,6 @@
},
/turf/open/floor/plating,
/area/security/processing)
-"kbP" = (
-/obj/effect/landmark/start/ai/secondary,
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 1;
- icon_state = "leftsecure";
- layer = 4.1;
- name = "Tertiary AI Core Access";
- obj_integrity = 300;
- pixel_y = 1;
- req_access_txt = "16"
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = -27;
- pixel_y = -13
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_y = -27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 28;
- pixel_y = -13
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"kbT" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/structure/cable,
@@ -43623,17 +43617,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"keO" = (
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"kfj" = (
/obj/machinery/computer/station_alert{
dir = 4
@@ -43861,6 +43844,30 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
+"kmh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/airlock/highsecurity{
+ name = "AI Core";
+ req_access_txt = "16"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/ai)
"kmp" = (
/obj/machinery/computer/telecomms/traffic{
dir = 8;
@@ -44014,6 +44021,15 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos_distro)
+"krE" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"ksg" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -44061,15 +44077,6 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos_distro)
-"kvW" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"kvX" = (
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
@@ -44518,6 +44525,15 @@
/obj/item/toy/figure/curator,
/turf/open/floor/engine/cult,
/area/library)
+"kLo" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/misc_lab)
"kLy" = (
/obj/structure/toilet{
dir = 1
@@ -45166,17 +45182,6 @@
},
/turf/open/floor/engine,
/area/science/xenobiology)
-"lhR" = (
-/obj/machinery/camera{
- c_tag = "MiniSat - Monitoring room";
- dir = 8;
- network = list("minisat","ss13")
- },
-/obj/machinery/newscaster/security_unit{
- pixel_x = 28
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"lhU" = (
/obj/effect/turf_decal/stripes/end{
dir = 8
@@ -45498,6 +45503,17 @@
/obj/item/stock_parts/subspace/filter,
/turf/open/floor/plasteel/white,
/area/storage/tech)
+"lqx" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
+ dir = 1
+ },
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ pixel_x = -32
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"lrb" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
@@ -45523,6 +45539,19 @@
"lsK" = (
/turf/closed/wall/r_wall,
/area/construction)
+"lsT" = (
+/obj/structure/table,
+/obj/item/wrench,
+/obj/machinery/camera{
+ c_tag = "Secondary AI Core";
+ dir = 4;
+ network = list("ss13","rd")
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/science/misc_lab)
"lsV" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -45544,6 +45573,20 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"ltA" = (
+/obj/machinery/camera{
+ c_tag = "MiniSat - Monitoring room";
+ dir = 8;
+ network = list("minisat","ss13")
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 28
+ },
+/obj/machinery/computer/ai_resource_distribution{
+ dir = 8
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"ltQ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
@@ -45789,6 +45832,17 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel/white,
/area/medical/medbay/aft)
+"lAt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/holopad,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"lAB" = (
/obj/structure/sign/nanotrasen,
/turf/closed/wall,
@@ -46070,22 +46124,6 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
-"lJM" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 8;
- network = list("aicore")
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 8
- },
-/obj/structure/showcase/cyborg/old{
- dir = 8;
- pixel_x = 9;
- pixel_y = 2
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"lKf" = (
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/turf/closed/wall/r_wall,
@@ -46097,6 +46135,11 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
+"lLi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"lLm" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/atmospherics/pipe/simple/purple/visible{
@@ -46167,21 +46210,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
-"lMF" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"lMK" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 1
@@ -46494,6 +46522,12 @@
/obj/item/toy/figure/rd,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/heads/hor)
+"mbU" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mck" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -47215,12 +47249,6 @@
},
/turf/open/floor/plasteel,
/area/clerk)
-"mAR" = (
-/obj/machinery/status_display/ai{
- pixel_y = -32
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"mAZ" = (
/obj/structure/chair{
dir = 4
@@ -47367,13 +47395,9 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"mFd" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 4;
- network = list("aicore")
- },
-/turf/open/floor/circuit,
+"mFn" = (
+/obj/machinery/ai/expansion_card_holder/prefilled,
+/turf/open/floor/circuit/green/telecomms,
/area/ai_monitored/turret_protected/ai)
"mFw" = (
/obj/structure/disposalpipe/segment,
@@ -47756,13 +47780,15 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/aft)
-"mTp" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 9;
- pixel_y = -5
+"mTr" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
},
-/turf/closed/wall/r_wall,
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/circuit/telecomms/server,
/area/ai_monitored/turret_protected/ai)
"mTv" = (
/obj/structure/table,
@@ -47940,17 +47966,18 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/exit)
-"mZe" = (
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+"mYT" = (
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
+/obj/structure/window/reinforced{
dir = 8
},
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{
+ dir = 8
},
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mZf" = (
/obj/machinery/light{
dir = 1
@@ -48344,6 +48371,20 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"nfY" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Secondary AI Core";
+ normalspeed = 0;
+ req_access_txt = "55"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/plasteel/white,
+/area/science/misc_lab)
"ngi" = (
/obj/structure/table,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -48487,16 +48528,6 @@
/obj/machinery/telecomms/server/presets/security,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"njB" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 1
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"njN" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/obj/structure/window/reinforced{
@@ -48599,6 +48630,13 @@
"nnx" = (
/turf/closed/wall,
/area/ai_monitored/turret_protected/aisat_interior)
+"nnM" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"nnZ" = (
/obj/machinery/shower{
dir = 8
@@ -49082,6 +49120,15 @@
},
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
+"nDg" = (
+/obj/structure/cable/white,
+/obj/machinery/power/apc/highcap{
+ name = "AI Chamber APC";
+ pixel_y = -23
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"nDj" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
@@ -49187,6 +49234,12 @@
/obj/effect/turf_decal/trimline/purple/filled/corner,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
+"nHE" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nHJ" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -49268,6 +49321,22 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/plating,
/area/engine/engineering)
+"nKD" = (
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 24;
+ pixel_y = -10
+ },
+/obj/machinery/camera/motion{
+ c_tag = "MiniSat Foyer";
+ dir = 8;
+ network = list("minisat","ss13")
+ },
+/obj/effect/turf_decal/tile/darkblue{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"nLo" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 10
@@ -49688,6 +49757,13 @@
/obj/effect/turf_decal/ramp_middle,
/turf/open/floor/wood,
/area/library)
+"nZh" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oaa" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -50575,6 +50651,13 @@
/obj/effect/turf_decal/box/corners,
/turf/open/floor/engine,
/area/science/xenobiology)
+"oAk" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oAD" = (
/obj/structure/chair/office{
dir = 8
@@ -50755,59 +50838,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit)
-"oDF" = (
-/obj/machinery/button/door{
- id = "AI Core shutters";
- name = "AI Core shutters control";
- pixel_x = 8;
- pixel_y = 22;
- req_access_txt = "16"
- },
-/obj/machinery/button/door{
- id = "AI Chamber entrance shutters";
- name = "AI Chamber entrance shutters control";
- pixel_x = 9;
- pixel_y = -24;
- req_access_txt = "16"
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = -5;
- pixel_y = -40
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -5;
- pixel_y = -27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = -7;
- pixel_y = 20
- },
-/obj/machinery/door/window{
- base_state = "rightsecure";
- closingLayer = 4.1;
- dir = 4;
- icon_state = "rightsecure";
- layer = 4.1;
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/requests_console{
- department = "AI";
- departmentType = 5;
- pixel_x = -32
- },
-/obj/effect/landmark/start/ai,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"oEb" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -51045,15 +51075,6 @@
/obj/item/stack/cable_coil,
/turf/open/floor/plasteel,
/area/engine/engineering)
-"oLO" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "2-8"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"oME" = (
/obj/structure/door_assembly/door_assembly_mhatch,
/turf/open/floor/plating,
@@ -51642,12 +51663,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/atmos)
-"piS" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/ai_monitored/storage/satellite)
"pjc" = (
/obj/effect/landmark/start/medical_doctor,
/obj/structure/disposalpipe/segment{
@@ -51853,13 +51868,6 @@
/obj/machinery/telecomms/server/presets/command,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"psc" = (
-/obj/machinery/light,
-/obj/machinery/computer/aifixer{
- dir = 1
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"psk" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
@@ -51911,6 +51919,9 @@
/obj/item/stamp/cmo,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/heads/cmo)
+"pvx" = (
+/turf/open/floor/circuit/telecomms/server,
+/area/science/misc_lab)
"pvF" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/turf/open/floor/plasteel/white,
@@ -52175,18 +52186,6 @@
},
/turf/open/floor/plasteel/white/corner,
/area/hallway/secondary/entry)
-"pBu" = (
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/turret_protected/aisat_interior";
- dir = 4;
- name = "MiniSat Antechamber APC";
- pixel_x = 24
- },
-/obj/structure/cable/yellow{
- icon_state = "0-8"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"pBw" = (
/obj/machinery/telecomms/broadcaster/preset_right{
name = "subspace broadcaster B"
@@ -52478,6 +52477,19 @@
},
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
+"pJV" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/science/misc_lab)
"pLf" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 8
@@ -52669,6 +52681,9 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/escapepodbay)
+"pQR" = (
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pRc" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
@@ -53378,12 +53393,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"qkW" = (
-/obj/structure/cable/yellow{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"qlj" = (
/obj/effect/turf_decal/arrows/white{
color = "#99ccff";
@@ -53544,6 +53553,23 @@
/obj/structure/ore_box,
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
+"qpw" = (
+/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/turret_protected/aisat_interior";
+ dir = 4;
+ name = "MiniSat Antechamber APC";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/structure/rack,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/item/clothing/suit/hooded/wintercoat,
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"qpB" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -53678,6 +53704,13 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"qtg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 4
+ },
+/obj/machinery/power/port_gen/pacman,
+/turf/open/floor/plating,
+/area/ai_monitored/storage/satellite)
"qts" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
@@ -53981,21 +54014,6 @@
/obj/machinery/telecomms/bus/preset_four,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
-"qFg" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -25;
- pixel_y = -25
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
-"qFA" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"qFC" = (
/obj/machinery/door/airlock/maintenance_hatch,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -54197,13 +54215,6 @@
/obj/machinery/light,
/turf/open/floor/plasteel/white,
/area/storage/tech)
-"qLf" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Fore";
- network = list("aicore")
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"qLj" = (
/obj/effect/turf_decal/tile/red{
dir = 4
@@ -54384,6 +54395,19 @@
"qQV" = (
/turf/template_noop,
/area/template_noop)
+"qRe" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/machinery/computer/ai_control_console{
+ dir = 8
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"qRK" = (
/obj/structure/table/wood,
/obj/item/paper_bin,
@@ -55273,6 +55297,10 @@
},
/turf/open/floor/plating,
/area/medical/sleeper)
+"rto" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rtL" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -55431,6 +55459,12 @@
},
/turf/open/space/basic,
/area/solar/port/fore)
+"rAf" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating,
+/area/ai_monitored/storage/satellite)
"rAz" = (
/turf/open/floor/plating{
icon_state = "platingdmg2"
@@ -55447,6 +55481,16 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"rBl" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/white,
+/area/science/misc_lab)
"rBI" = (
/obj/effect/turf_decal/tile/blue{
dir = 8
@@ -55954,6 +55998,12 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/storage/tech)
+"rQo" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"rRn" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/turf/open/floor/plasteel,
@@ -56156,6 +56206,20 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
+"rWv" = (
+/obj/machinery/light,
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Aft";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"rXm" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
@@ -56690,13 +56754,6 @@
},
/turf/open/floor/plasteel/stairs/goon/wood_stairs_wide,
/area/library)
-"sni" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/status_display/ai{
- pixel_y = 32
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"snk" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
@@ -56884,6 +56941,19 @@
},
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/ai_upload)
+"svO" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/aisat_interior)
"swo" = (
/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
/obj/effect/turf_decal/tile/purple{
@@ -57267,6 +57337,12 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
+"sLm" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"sLs" = (
/obj/machinery/door/firedoor/border_only{
dir = 4
@@ -57279,17 +57355,12 @@
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet/locker)
-"sLV" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+"sLS" = (
+/obj/machinery/power/terminal{
dir = 4
},
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit,
+/obj/structure/cable/yellow,
+/turf/open/floor/plasteel/dark/telecomms,
/area/ai_monitored/turret_protected/ai)
"sMx" = (
/obj/structure/window/reinforced,
@@ -57374,6 +57445,14 @@
},
/turf/open/floor/circuit,
/area/science/robotics/mechbay)
+"sQn" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1;
+ external_pressure_bound = 140;
+ pressure_checks = 0
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/science/misc_lab)
"sQI" = (
/turf/closed/wall,
/area/security/execution/transfer)
@@ -57959,6 +58038,10 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"tkr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"tkv" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -58476,6 +58559,15 @@
/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2,
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"tAV" = (
+/obj/machinery/status_display/ai{
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"tBb" = (
/obj/structure/window/reinforced,
/turf/open/floor/engine,
@@ -59044,6 +59136,15 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
+"tSr" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"tSv" = (
/obj/effect/turf_decal/delivery,
/obj/structure/cable{
@@ -59420,6 +59521,13 @@
/obj/effect/landmark/stationroom/maint/threexthree,
/turf/template_noop,
/area/maintenance/port)
+"ucJ" = (
+/obj/structure/cable/white{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ucZ" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -59850,21 +59958,6 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
-"urx" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/turret_protected/ai";
- dir = 1;
- name = "AI Chamber APC";
- pixel_y = 23
- },
-/obj/structure/cable/white{
- icon_state = "0-4"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"usD" = (
/obj/machinery/door/airlock/research{
name = "Robotics Lab";
@@ -59927,10 +60020,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/warehouse)
-"uvU" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"uwp" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -60748,6 +60837,15 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"uYl" = (
+/obj/structure/table,
+/obj/item/hand_labeler,
+/obj/item/clothing/glasses/science,
+/obj/item/clothing/glasses/science,
+/obj/item/flashlight,
+/obj/item/clothing/ears/earmuffs,
+/turf/open/floor/plasteel,
+/area/science/misc_lab)
"uYq" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor/border_only{
@@ -60774,12 +60872,6 @@
},
/turf/open/floor/carpet,
/area/library)
-"uYx" = (
-/obj/structure/cable/yellow{
- icon_state = "2-8"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"uYC" = (
/obj/machinery/door/window/northleft{
dir = 4;
@@ -61042,6 +61134,20 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
+"vhf" = (
+/obj/machinery/status_display/ai{
+ pixel_y = 32
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 8;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"vhN" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 5
@@ -61101,6 +61207,17 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
+"vkw" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/machinery/airalarm/tcomms{
+ pixel_y = 24
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/turret_protected/ai)
"vkS" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -61809,12 +61926,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
-"vIi" = (
-/obj/machinery/status_display/ai{
- pixel_y = 32
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"vIj" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 5
@@ -61857,6 +61968,14 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
+"vJL" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 8;
+ network = list("aicore")
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"vJO" = (
/obj/structure/table/reinforced,
/obj/item/aiModule/core/full/custom,
@@ -61956,6 +62075,15 @@
/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/white,
/area/medical/medbay/lobby)
+"vMw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"vMA" = (
/obj/structure/transit_tube/curved/flipped{
dir = 1
@@ -61990,10 +62118,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"vOk" = (
-/obj/machinery/holopad,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"vPf" = (
/obj/structure/rack,
/obj/item/circuitboard/machine/techfab/department/security,
@@ -62044,6 +62168,13 @@
/obj/effect/mapping_helpers/airlock/abandoned,
/turf/open/floor/plating,
/area/maintenance/fore)
+"vQG" = (
+/obj/machinery/light,
+/obj/machinery/computer/ai_server_console{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"vQV" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/blue{
@@ -62099,6 +62230,18 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"vSc" = (
+/obj/machinery/power/smes/engineering{
+ charge = 5e+006
+ },
+/obj/structure/cable/white{
+ icon_state = "0-2"
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"vSo" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -62106,6 +62249,12 @@
/obj/structure/bed/roller,
/turf/open/floor/plasteel/white,
/area/medical/medbay/aft)
+"vSY" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ external_pressure_bound = 120
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/science/misc_lab)
"vTi" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -62689,14 +62838,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"wku" = (
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "AI Core shutters";
- name = "AI core shutters"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/ai_monitored/turret_protected/ai)
"wkE" = (
/obj/machinery/door/airlock/external{
name = "External Access";
@@ -62959,6 +63100,9 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/atmos_distro)
+"wtN" = (
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"wtY" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/requests_console{
@@ -63410,15 +63554,6 @@
},
/turf/open/floor/plasteel/white,
/area/medical/storage)
-"wHY" = (
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"wIv" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -63528,15 +63663,6 @@
},
/turf/open/floor/plasteel/dark,
/area/engine/atmos_distro)
-"wLP" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"wMq" = (
/obj/effect/turf_decal/trimline/yellow/filled/corner,
/turf/open/floor/plasteel/white,
@@ -63636,6 +63762,15 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit)
+"wTd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 6
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/circuit/telecomms/server,
+/area/ai_monitored/turret_protected/ai)
"wTx" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -63772,17 +63907,6 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
-"wZa" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 1
- },
-/obj/structure/showcase/cyborg/old{
- dir = 4;
- pixel_x = -9;
- pixel_y = 2
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"wZs" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating{
@@ -63934,14 +64058,6 @@
},
/turf/open/floor/plating,
/area/engine/atmos_distro)
-"xgD" = (
-/obj/structure/table,
-/obj/item/hand_labeler,
-/obj/item/clothing/glasses/science,
-/obj/item/clothing/glasses/science,
-/obj/item/flashlight,
-/turf/open/floor/plasteel,
-/area/science/misc_lab)
"xgS" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -64471,17 +64587,6 @@
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
-"xAd" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/obj/structure/showcase/cyborg/old{
- dir = 8;
- pixel_x = 9;
- pixel_y = 2
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"xAP" = (
/obj/structure/rack,
/obj/item/electronics/airlock,
@@ -64675,6 +64780,23 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"xDS" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/door/airlock/command/glass{
+ name = "Physical Core Access";
+ req_access_txt = "30"
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plasteel/white,
+/area/science/misc_lab)
"xEg" = (
/obj/structure/closet/crate,
/obj/item/toy/figure/miner,
@@ -64708,6 +64830,11 @@
},
/turf/open/floor/carpet,
/area/library)
+"xGv" = (
+/obj/structure/frame/machine,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/circuit/green/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xGG" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -64940,13 +65067,6 @@
},
/turf/open/floor/plasteel,
/area/construction)
-"xPv" = (
-/obj/structure/cable/yellow{
- icon_state = "1-8"
- },
-/obj/machinery/power/port_gen/pacman,
-/turf/open/floor/plating,
-/area/ai_monitored/storage/satellite)
"xPK" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 4
@@ -65449,15 +65569,6 @@
/obj/machinery/door/airlock/maintenance_hatch,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
-"yeT" = (
-/obj/machinery/status_display/ai{
- pixel_x = 32
- },
-/obj/machinery/porta_turret/ai{
- scan_range = 4
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/aisat_interior)
"yfe" = (
/obj/structure/table,
/obj/item/shard{
@@ -65641,36 +65752,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"ykl" = (
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "AI Chamber entrance shutters";
- name = "AI Chamber entrance shutters"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/machinery/door/airlock/highsecurity{
- name = "AI Core";
- req_access_txt = "16"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"ykC" = (
/obj/machinery/flasher{
id = "AI";
@@ -65709,12 +65790,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
-"ykL" = (
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
-/turf/closed/wall/r_wall,
-/area/ai_monitored/turret_protected/ai)
"ykZ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
@@ -106056,7 +106131,7 @@ oLF
bQu
fbU
nnx
-jtX
+nKD
kAv
dEd
pyZ
@@ -106823,7 +106898,7 @@ ucZ
tgv
wFq
fSL
-piS
+qtg
tmG
pnH
vZa
@@ -107085,12 +107160,12 @@ pPs
pGB
oTV
bEI
-keO
+svO
cVj
wjG
pbT
bTj
-gGj
+lAt
nyz
war
uHv
@@ -107338,18 +107413,18 @@ tgv
hWd
gEh
igK
-xPv
+rAf
pnH
-yeT
+ftM
ykC
-lMF
-pBu
-yeT
+bkk
+qpw
+cgJ
nnx
-mZe
-lhR
+qRe
+ltA
ouJ
-psc
+vQG
gtB
pEf
gXs
@@ -107599,7 +107674,7 @@ tgv
tgv
cva
cva
-ykl
+kmh
cva
cva
gtB
@@ -107855,9 +107930,9 @@ pEf
cva
cva
cva
-mFd
-sLV
-aet
+vkw
+jnz
+bkO
cva
cva
cva
@@ -108106,16 +108181,16 @@ aaa
aaa
aaa
aaa
-aaa
+pEf
pEf
cva
cva
cva
-fNM
-ejs
-njB
-uvU
-wZa
+hzD
+bkO
+tSr
+tkr
+lqx
cva
cva
cva
@@ -108362,18 +108437,18 @@ aaa
aaa
aaa
aaa
-aaa
pEf
pEf
cva
cva
-eYo
-ghq
-iNG
-jgB
-qFA
-cYM
-eYo
+cva
+axv
+wTd
+gei
+juE
+pQR
+bkO
+rWv
cva
cva
pEf
@@ -108619,18 +108694,18 @@ aaa
aaa
aaa
aaa
-aaa
+pEf
pEf
cva
cva
cva
-vIi
-wLP
-cva
-cva
-cva
-urx
-mAR
+fwM
+nZh
+gnL
+sLm
+dhB
+pQR
+tAV
cva
cva
cva
@@ -108876,19 +108951,19 @@ aaa
aaa
aaa
aaa
-aaa
+pEf
mao
cva
cva
-cva
-iwJ
-wLP
-cva
-oDF
-mTp
-kvW
-eSF
-cva
+rto
+mTr
+clO
+dAN
+pQR
+mFn
+mbU
+rQo
+xGv
cva
cva
mGQ
@@ -109133,19 +109208,19 @@ aaa
aaa
aaa
aaa
-aaa
+pEf
pEf
cva
cva
-dpR
-iCG
-wLP
-epG
-vOk
-iKM
-kvW
-qFg
-kbP
+hLE
+bNt
+clO
+cBI
+fQc
+mFn
+mbU
+rQo
+wtN
cva
cva
pEf
@@ -109390,18 +109465,18 @@ aaa
aaa
aaa
aaa
-aaa
+pEf
pEf
cva
cva
cva
-qLf
-wLP
-wku
-wku
-wku
-kvW
-azM
+fRC
+fje
+bSQ
+oAk
+mYT
+ucJ
+nDg
cva
cva
cva
@@ -109649,16 +109724,16 @@ aKN
gXs
gXs
pEf
-pEf
cva
cva
-sni
-oLO
-qkW
-dEa
-diN
-wHY
-dgo
+cva
+vhf
+vMw
+fnF
+nHE
+dvS
+bkO
+fMA
cva
cva
pEf
@@ -109905,16 +109980,16 @@ aaa
aKN
aaa
gXs
-gXs
+pEf
pEf
cva
cva
cva
-xAd
-uYx
-fVa
-fMt
-lJM
+fUm
+egw
+sLS
+krE
+vJL
cva
cva
cva
@@ -110162,15 +110237,15 @@ aaa
aKN
gXs
gXs
-aaa
+pEf
pEf
rfJ
cva
cva
cva
-cva
-fhv
-ykL
+bmM
+vSc
+cWa
cva
cva
cva
@@ -115530,12 +115605,12 @@ bQZ
alN
alN
bwU
-bWr
+nnM
+bQZ
+lsT
+dlp
+pJV
bQZ
-iKq
-iKq
-iKq
-gsL
cNW
ezr
cOe
@@ -115786,13 +115861,13 @@ bTl
bQZ
alX
alX
-bwU
-bMw
+aSW
+lLi
+nfY
+bRg
+kLo
+rBl
bQZ
-iKq
-iKq
-iKq
-iKq
cNW
cOT
cOT
@@ -116044,12 +116119,12 @@ bQZ
alY
bwT
bxG
-asK
+bwn
+bQZ
+bZZ
+xDS
+bZZ
bQZ
-iKq
-iKq
-iKq
-iKq
phB
axl
uxT
@@ -116301,12 +116376,12 @@ alj
alj
bwU
aqV
-asU
+gHm
+bQZ
+pvx
+gIT
+pvx
bQZ
-iKq
-iKq
-iKq
-iKq
cNW
cOe
cNW
@@ -116557,13 +116632,13 @@ bQZ
alk
alk
bwU
-xgD
+uYl
asW
bQZ
-iKq
-iKq
-iKq
-iKq
+vSY
+jIH
+sQn
+bQZ
cNW
cOe
cNW
@@ -116817,10 +116892,10 @@ aRv
bQZ
bQZ
bQZ
-cNW
-hVC
-cNW
-cNW
+bQZ
+bQZ
+bQZ
+bQZ
cNW
cOe
cNW
diff --git a/_maps/map_files/YogsDelta/YogsDelta.dmm b/_maps/map_files/YogsDelta/YogsDelta.dmm
index a630d788763e..7e5a9ef8ffaf 100644
--- a/_maps/map_files/YogsDelta/YogsDelta.dmm
+++ b/_maps/map_files/YogsDelta/YogsDelta.dmm
@@ -15500,6 +15500,17 @@
},
/turf/open/floor/plasteel,
/area/engine/atmospherics_engine)
+"aAv" = (
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/obj/item/twohanded/required/kirbyplants/random,
+/obj/structure/sign/warning/nosmoking{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"aAw" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/disposal/bin,
@@ -26411,12 +26422,6 @@
icon_state = "panelscorched"
},
/area/security/prison)
-"aRA" = (
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"aRB" = (
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
dir = 4
@@ -26516,45 +26521,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/hydroponics)
-"aRL" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"aRM" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"aRN" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/cable/white{
- icon_state = "1-4"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"aRO" = (
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"aRP" = (
/obj/machinery/rnd/production/circuit_imprinter,
/obj/effect/turf_decal/bot,
@@ -30588,22 +30554,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/security/brig)
-"aXB" = (
-/obj/machinery/light{
- 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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aXC" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -33699,23 +33649,6 @@
},
/turf/open/floor/carpet,
/area/security/detectives_office)
-"bcv" = (
-/obj/item/twohanded/required/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
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bcw" = (
/obj/structure/table/reinforced,
/obj/item/storage/belt/utility,
@@ -33856,23 +33789,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"bcI" = (
-/obj/machinery/firealarm{
- dir = 1;
- pixel_y = -26
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bcJ" = (
/obj/structure/table/reinforced,
/obj/item/folder/red,
@@ -33904,25 +33820,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
-"bcL" = (
-/obj/machinery/camera/motion{
- c_tag = "AI Chamber - Aft";
- dir = 1;
- name = "motion-sensitive ai camera";
- network = list("aichamber")
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bcM" = (
/obj/structure/cable/white,
/obj/effect/spawner/structure/window/reinforced,
@@ -34936,15 +34833,6 @@
/obj/effect/spawner/structure/window/reinforced/shutter,
/turf/open/floor/plating,
/area/quartermaster/miningoffice)
-"bem" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 10
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"ben" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -36483,15 +36371,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"bgA" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 6
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bgB" = (
/obj/structure/showcase/cyborg/old{
dir = 4;
@@ -36513,25 +36392,6 @@
"bgC" = (
/turf/open/floor/plasteel/grimy,
/area/ai_monitored/turret_protected/aisat_interior)
-"bgD" = (
-/obj/structure/chair/office/dark{
- 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/components/unary/vent_scrubber/on/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bgE" = (
/obj/structure/showcase/cyborg/old{
dir = 8;
@@ -37108,20 +36968,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/security/brig)
-"bhq" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"bhr" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bhs" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -39778,16 +39624,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/security/brig)
-"blk" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bll" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -39908,35 +39744,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"blv" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"blw" = (
-/obj/machinery/turretid{
- control_area = "/area/ai_monitored/turret_protected/ai_upload";
- icon_state = "control_stun";
- name = "AI Upload turret control";
- pixel_y = -32
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"blx" = (
/obj/structure/sign/warning/securearea,
/turf/closed/wall,
@@ -42104,22 +41911,6 @@
},
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/heads/hop)
-"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/atmospherics/components/unary/vent_pump/on/layer2{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"boU" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -46589,28 +46380,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/dark,
/area/aisat)
-"bvq" = (
-/obj/structure/cable/white{
- icon_state = "0-2"
- },
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/turret_protected/ai";
- dir = 1;
- name = "AI Chamber APC";
- pixel_y = 23
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bvr" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -47152,46 +46921,6 @@
/obj/machinery/status_display/ai,
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/ai)
-"bwo" = (
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bwp" = (
-/obj/machinery/power/smes{
- charge = 5e+006
- },
-/obj/structure/cable/white{
- icon_state = "0-4"
- },
-/obj/structure/cable/white{
- icon_state = "0-8"
- },
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
-/obj/machinery/camera/motion{
- c_tag = "AI Chamber - Fore";
- name = "motion-sensitive ai camera";
- network = list("aichamber")
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bwq" = (
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/structure/sign/warning/nosmoking{
- pixel_y = 32
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bwr" = (
/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{
dir = 1
@@ -47919,36 +47648,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"bxv" = (
-/obj/machinery/porta_turret/ai,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bxw" = (
-/obj/machinery/light{
- 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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bxx" = (
/obj/effect/turf_decal/tile/red{
dir = 1
@@ -47961,38 +47660,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"bxy" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bxz" = (
-/obj/machinery/power/terminal{
- 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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bxA" = (
/obj/machinery/door/airlock/command{
name = "Emergency Escape";
@@ -48326,18 +47993,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/engine/engineering)
-"bxW" = (
-/obj/structure/cable/white{
- icon_state = "1-4"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 5
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bxX" = (
/obj/structure/table,
/obj/machinery/light{
@@ -48834,24 +48489,6 @@
},
/turf/open/floor/plasteel,
/area/security/execution/transfer)
-"byI" = (
-/obj/item/twohanded/required/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
- },
-/obj/machinery/firealarm{
- dir = 8;
- pixel_x = 26
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"byJ" = (
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
@@ -48986,39 +48623,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/turf/open/floor/plasteel,
/area/engine/storage_shared)
-"byS" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/blue,
-/obj/item/bodypart/l_leg/robot,
-/obj/item/bodypart/r_leg/robot,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"byT" = (
-/obj/structure/chair/office/dark{
- 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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"byU" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -49103,35 +48707,6 @@
},
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
-"bzb" = (
-/obj/item/twohanded/required/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bzc" = (
-/obj/structure/table/reinforced,
-/obj/item/flashlight/lamp,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bzd" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb,
@@ -50076,22 +49651,6 @@
/obj/machinery/status_display/evac,
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/ai)
-"bAy" = (
-/obj/structure/table/reinforced,
-/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
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bAz" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -50129,18 +49688,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"bAB" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bAC" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -50201,22 +49748,6 @@
},
/turf/open/floor/plasteel,
/area/security/execution/transfer)
-"bAG" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/blue,
-/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
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bAH" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -51486,19 +51017,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/main)
-"bCq" = (
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bCr" = (
/obj/structure/table,
/obj/item/storage/box/fancy/donut_box,
@@ -52713,54 +52231,6 @@
},
/turf/open/floor/plasteel/dark,
/area/aisat)
-"bEf" = (
-/obj/item/radio/intercom{
- anyai = 1;
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = -10;
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -27
- },
-/obj/item/radio/intercom{
- anyai = 1;
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = -10;
- pixel_y = -25
- },
-/obj/machinery/door/window{
- base_state = "rightsecure";
- dir = 4;
- icon_state = "rightsecure";
- layer = 4.1;
- name = "Secondary AI Core Access";
- pixel_x = 4;
- req_access_txt = "16"
- },
-/obj/effect/landmark/start/ai/secondary,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"bEg" = (
-/obj/machinery/holopad,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bEh" = (
/obj/machinery/camera{
c_tag = "Central Hallway - Dormitory Hallway";
@@ -52772,84 +52242,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"bEi" = (
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = 3;
- pixel_y = -23
- },
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 8;
- icon_state = "leftsecure";
- name = "Primary AI Core Access";
- req_access_txt = "16"
- },
-/obj/machinery/newscaster/security_unit{
- pixel_x = 4;
- pixel_y = 33
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bEj" = (
-/obj/machinery/requests_console{
- department = "AI";
- departmentType = 5;
- name = "AI RC";
- pixel_x = 30;
- pixel_y = 30
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 23;
- pixel_y = -23
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bEk" = (
-/obj/machinery/door/window{
- base_state = "rightsecure";
- dir = 4;
- icon_state = "rightsecure";
- name = "Primary AI Core Access";
- req_access_txt = "16"
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bEl" = (
/obj/machinery/button/door{
id = "evastorage";
@@ -52877,40 +52269,6 @@
},
/turf/open/floor/carpet,
/area/bridge)
-"bEm" = (
-/obj/item/radio/intercom{
- anyai = 1;
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 10;
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = 27
- },
-/obj/item/radio/intercom{
- anyai = 1;
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 10;
- pixel_y = -25
- },
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 8;
- icon_state = "leftsecure";
- layer = 4.1;
- name = "Tertiary AI Core Access";
- pixel_x = -3;
- req_access_txt = "16"
- },
-/obj/effect/landmark/start/ai/secondary,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bEn" = (
/obj/machinery/light{
dir = 8
@@ -52933,25 +52291,6 @@
"bEo" = (
/turf/open/floor/circuit/green,
/area/engine/gravity_generator)
-"bEp" = (
-/obj/structure/chair/office/dark{
- 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
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bEq" = (
/obj/machinery/door/airlock/command{
name = "Captain's Office";
@@ -53054,16 +52393,6 @@
},
/turf/open/floor/plasteel/dark,
/area/aisat)
-"bEw" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 10
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bEx" = (
/obj/structure/cable/white{
icon_state = "0-8"
@@ -53120,16 +52449,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/engine/storage)
-"bEE" = (
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 6
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bEF" = (
/obj/structure/cable/white{
icon_state = "1-4"
@@ -54038,61 +53357,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/warden)
-"bFS" = (
-/obj/machinery/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bFT" = (
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -27;
- pixel_y = -7
- },
-/obj/item/radio/intercom{
- anyai = 1;
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_y = -27
- },
-/obj/item/radio/intercom{
- anyai = 1;
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 27;
- pixel_y = -7
- },
-/obj/machinery/button/door{
- id = "aicorewindow";
- name = "AI Core Shutters";
- pixel_x = 24;
- pixel_y = -22;
- req_access_txt = "16"
- },
-/obj/machinery/button/door{
- id = "aicoredoor";
- name = "AI Chamber Access Control";
- pixel_x = -23;
- pixel_y = -23;
- req_access_txt = "16"
- },
-/obj/effect/landmark/start/ai,
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bFU" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -55024,21 +54288,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"bHy" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 1
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bHz" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -55214,23 +54463,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/warden)
-"bHM" = (
-/obj/structure/table/reinforced,
-/obj/item/crowbar,
-/obj/item/wrench,
-/obj/item/mmi,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bHN" = (
/obj/structure/chair{
dir = 1;
@@ -55418,25 +54650,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
-"bId" = (
-/obj/structure/chair/office/dark{
- 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/components/unary/vent_pump/on/layer2{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bIe" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -56529,40 +55742,6 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/engine/engineering)
-"bJH" = (
-/obj/machinery/airalarm{
- pixel_y = 24
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bJI" = (
-/obj/machinery/flasher{
- id = "AI";
- pixel_y = 26
- },
-/obj/machinery/porta_turret/ai,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bJJ" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -56609,37 +55788,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"bJM" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"bJN" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/blue,
-/obj/item/assembly/flash/handheld,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bJO" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
@@ -57004,18 +56152,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"bKn" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bKo" = (
/obj/structure/table/reinforced,
/obj/item/electronics/airalarm,
@@ -57168,18 +56304,6 @@
/obj/item/gun/ballistic/shotgun/automatic/breaching,
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
-"bKD" = (
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 9
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bKE" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
/obj/machinery/firealarm{
@@ -57770,27 +56894,6 @@
},
/turf/open/space,
/area/space/nearstation)
-"bLx" = (
-/obj/structure/table/reinforced,
-/obj/item/bodypart/chest/robot,
-/obj/item/bodypart/r_arm/robot{
- pixel_x = 6
- },
-/obj/item/bodypart/l_arm/robot{
- pixel_x = -6
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bLy" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -57800,12 +56903,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
-"bLz" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bLA" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -59248,20 +58345,6 @@
},
/turf/open/floor/plasteel,
/area/maintenance/starboard/aft)
-"bNA" = (
-/obj/machinery/light,
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bNB" = (
/obj/structure/window/reinforced{
dir = 1;
@@ -61545,22 +60628,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
-"bRi" = (
-/obj/machinery/holopad,
-/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/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bRj" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
@@ -64765,45 +63832,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
-"bVQ" = (
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/highsecurity{
- name = "MiniSat Chamber";
- req_access_txt = "16"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "aicoredoor";
- name = "AI Core Access"
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -26
- },
-/obj/item/radio/intercom{
- broadcasting = 1;
- frequency = 1447;
- listening = 0;
- name = "AI Intercom";
- pixel_x = 28
- },
-/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/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bVR" = (
/obj/structure/window/reinforced{
dir = 4
@@ -67506,23 +66534,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/brig)
-"bZO" = (
-/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/simple/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bZP" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -67680,23 +66691,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"cac" = (
-/obj/machinery/recharge_station,
-/obj/machinery/status_display/evac{
- pixel_y = -32
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
-"cad" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/space_heater,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"cae" = (
/obj/structure/cable/white,
/obj/item/twohanded/required/kirbyplants/random,
@@ -67776,25 +66770,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"cai" = (
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/machinery/light,
-/obj/machinery/airalarm{
- dir = 1;
- pixel_y = -24
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"caj" = (
/obj/structure/table/wood,
/obj/item/camera_film{
@@ -67891,26 +66866,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"cao" = (
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/structure/extinguisher_cabinet{
- pixel_x = 26
- },
-/obj/structure/sign/poster/official/ian{
- pixel_y = -32
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"cap" = (
/obj/structure/lattice,
/obj/structure/transit_tube/curved{
@@ -84046,36 +83001,6 @@
},
/turf/open/floor/plasteel/white,
/area/maintenance/department/medical)
-"cAS" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Server Access";
- req_access_txt = "30"
- },
-/obj/structure/cable/white{
- icon_state = "1-4"
- },
-/obj/structure/cable/white{
- icon_state = "1-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
- },
-/obj/machinery/atmospherics/pipe/simple/general/hidden{
- dir = 6
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/turf/open/floor/plasteel/dark,
-/area/science/server)
"cAT" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral{
@@ -87004,21 +85929,6 @@
/obj/item/bedsheet/dorms,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
-"cFA" = (
-/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/light/small,
-/obj/machinery/atmospherics/pipe/manifold/general/hidden,
-/turf/open/floor/plasteel/dark/telecomms,
-/area/science/server)
"cFB" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -89642,14 +88552,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/dark,
/area/aisat)
-"cJz" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"cJA" = (
/obj/machinery/door/airlock{
id_tag = "AuxCabinB";
@@ -106835,44 +105737,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"diC" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "MiniSat Antechamber";
- req_access_txt = "16"
- },
-/obj/item/radio/intercom{
- pixel_y = 26
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- 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
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"diD" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -106906,21 +105770,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"diF" = (
-/obj/structure/cable/white{
- icon_state = "4-8"
- },
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"diG" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -107336,18 +106185,6 @@
},
/turf/open/space,
/area/space/nearstation)
-"dji" = (
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
-/mob/living/simple_animal/bot/secbot/pingsky,
-/turf/open/floor/plasteel/grimy,
-/area/ai_monitored/turret_protected/aisat_interior)
"djj" = (
/obj/structure/lattice/catwalk,
/obj/structure/transit_tube/junction{
@@ -117686,6 +116523,27 @@
},
/turf/open/floor/plasteel,
/area/science/mixing)
+"dHj" = (
+/obj/machinery/power/smes{
+ charge = 5e+006
+ },
+/obj/structure/cable/white{
+ icon_state = "0-4"
+ },
+/obj/structure/cable/white{
+ icon_state = "0-8"
+ },
+/obj/structure/sign/warning/electricshock{
+ pixel_y = 32
+ },
+/obj/machinery/camera/motion{
+ c_tag = "AI Chamber - Fore";
+ name = "motion-sensitive ai camera";
+ network = list("aichamber")
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dHp" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -117723,6 +116581,24 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/science/robotics/lab)
+"dHv" = (
+/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/tile/neutral,
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dHw" = (
/obj/structure/table,
/obj/structure/window/reinforced{
@@ -123415,6 +122291,22 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
+"elj" = (
+/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/tile/neutral,
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"epg" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/neutral{
@@ -123474,6 +122366,38 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/customs)
+"erz" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
+"ewO" = (
+/obj/structure/table/reinforced,
+/obj/item/folder/blue,
+/obj/item/bodypart/l_leg/robot,
+/obj/item/bodypart/r_leg/robot,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"eym" = (
/obj/structure/table/reinforced,
/obj/structure/cable/white{
@@ -123507,6 +122431,22 @@
/obj/item/gps/mining,
/turf/open/floor/plasteel,
/area/quartermaster/qm)
+"ezJ" = (
+/obj/machinery/light{
+ 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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"eCM" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -123591,6 +122531,12 @@
},
/turf/open/floor/plasteel/dark,
/area/science/mixing)
+"eOD" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"eSx" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -123598,6 +122544,14 @@
/obj/machinery/electrolyzer,
/turf/open/floor/plasteel,
/area/engine/atmos)
+"eSF" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"eTv" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -123685,6 +122639,61 @@
},
/turf/open/floor/plasteel/dark/corner,
/area/engine/storage_shared)
+"fsO" = (
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/highsecurity{
+ name = "MiniSat Chamber";
+ req_access_txt = "16"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "aicoredoor";
+ name = "AI Core Access"
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -26
+ },
+/obj/item/radio/intercom{
+ broadcasting = 1;
+ frequency = 1447;
+ listening = 0;
+ name = "AI Intercom";
+ pixel_x = 28
+ },
+/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/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/obj/structure/fans/tiny,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
+"fuR" = (
+/obj/structure/cable/white{
+ icon_state = "1-2"
+ },
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fyd" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -123939,15 +122948,100 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
/area/science/research)
+"gdF" = (
+/obj/machinery/turretid{
+ control_area = "/area/ai_monitored/turret_protected/ai_upload";
+ icon_state = "control_stun";
+ name = "AI Upload turret control";
+ pixel_y = -32
+ },
+/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/computer/ai_resource_distribution{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"geo" = (
/obj/machinery/light,
/turf/open/floor/engine{
name = "Holodeck Projector Floor"
},
/area/holodeck/rec_center)
+"gnF" = (
+/obj/structure/table/reinforced,
+/obj/item/bodypart/chest/robot,
+/obj/item/bodypart/r_arm/robot{
+ pixel_x = 6
+ },
+/obj/item/bodypart/l_arm/robot{
+ pixel_x = -6
+ },
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gnJ" = (
/turf/open/floor/plasteel/dark/corner,
/area/maintenance/disposal/incinerator)
+"grQ" = (
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
+"gth" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"gtX" = (
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
+"gvy" = (
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gye" = (
/obj/machinery/turnstile/brig{
dir = 4
@@ -124131,6 +123225,29 @@
},
/turf/open/floor/plasteel/dark,
/area/security/nuke_storage)
+"hFD" = (
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_x = 3;
+ pixel_y = -23
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 4;
+ pixel_y = 33
+ },
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"hHf" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -124249,6 +123366,31 @@
},
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
+"hSE" = (
+/obj/structure/cable/white{
+ icon_state = "4-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
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"hVY" = (
/obj/effect/turf_decal/tile/purple{
dir = 1
@@ -124316,6 +123458,26 @@
/obj/machinery/sci_bombardment,
/turf/open/floor/plasteel,
/area/science/misc_lab)
+"iii" = (
+/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{
+ dir = 8;
+ pixel_x = 26
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"iiu" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -124327,6 +123489,22 @@
/obj/machinery/cryopod,
/turf/open/floor/plasteel,
/area/security/prison)
+"ijM" = (
+/obj/structure/table/reinforced,
+/obj/item/folder/blue,
+/obj/item/pen,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"iko" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -124528,6 +123706,23 @@
},
/turf/open/floor/plasteel/dark,
/area/science/nanite)
+"joZ" = (
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
+/mob/living/simple_animal/bot/secbot/pingsky,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"jrG" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/neutral{
@@ -124660,6 +123855,39 @@
},
/turf/open/floor/engine,
/area/science/explab)
+"jCF" = (
+/obj/machinery/camera/motion{
+ c_tag = "AI Chamber - Aft";
+ dir = 1;
+ name = "motion-sensitive ai camera";
+ network = list("aichamber")
+ },
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"jFB" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jJl" = (
/obj/structure/cable/white{
icon_state = "0-2"
@@ -124681,6 +123909,23 @@
/obj/machinery/the_singularitygen,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"jYU" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -26
+ },
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"kam" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/conveyor{
@@ -124727,6 +123972,13 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/plasteel/white,
/area/science/research)
+"kwX" = (
+/obj/structure/cable/white{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"kyA" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -124823,6 +124075,22 @@
heat_capacity = 1e+006
},
/area/crew_quarters/fitness/recreation)
+"kQO" = (
+/obj/machinery/power/terminal{
+ 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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"kUg" = (
/obj/machinery/door/airlock/public/glass{
name = "Library Access"
@@ -124867,6 +124135,34 @@
},
/turf/open/floor/plasteel/dark,
/area/science/nanite)
+"lbr" = (
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ name = "AI RC";
+ pixel_x = 30;
+ pixel_y = 30
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 23;
+ pixel_y = -23
+ },
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ljP" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -124882,6 +124178,19 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plating,
/area/security/range)
+"lmc" = (
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lqX" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -124915,6 +124224,20 @@
},
/turf/open/floor/plasteel/dark,
/area/science/mixing)
+"ltZ" = (
+/obj/machinery/porta_turret/ai,
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lvG" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/glass/bowl,
@@ -124925,6 +124248,19 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/kitchen)
+"lDT" = (
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"lED" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -125089,6 +124425,28 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
+"mag" = (
+/obj/structure/cable/white{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/turret_protected/ai";
+ dir = 1;
+ name = "AI Chamber APC";
+ pixel_y = 23
+ },
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mbP" = (
/obj/machinery/firealarm{
dir = 1;
@@ -125183,6 +124541,16 @@
},
/turf/open/floor/engine,
/area/science/mixing/chamber)
+"moO" = (
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"msO" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -125229,6 +124597,22 @@
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
+"mwp" = (
+/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/tcomms{
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mwA" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -125414,6 +124798,27 @@
/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine,
/area/science/explab)
+"neD" = (
+/obj/machinery/light,
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/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/computer/ai_server_console{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"nfh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 4
@@ -125512,6 +124917,21 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab/range)
+"nEO" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"nFk" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -125546,6 +124966,13 @@
},
/turf/open/floor/plasteel,
/area/medical/morgue)
+"nHg" = (
+/obj/structure/cable/white{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"nJk" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/xeno_spawn,
@@ -125580,6 +125007,19 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
+"nKJ" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nOg" = (
/obj/structure/lattice,
/turf/open/space,
@@ -125593,6 +125033,59 @@
},
/turf/open/floor/plasteel,
/area/science/research)
+"nQx" = (
+/obj/machinery/holopad,
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"nRN" = (
+/obj/item/radio/intercom{
+ freerange = 1;
+ name = "Common Channel";
+ pixel_x = -27;
+ pixel_y = -7
+ },
+/obj/item/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_y = -27
+ },
+/obj/item/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_x = 27;
+ pixel_y = -7
+ },
+/obj/machinery/button/door{
+ id = "aicorewindow";
+ name = "AI Core Shutters";
+ pixel_x = 24;
+ pixel_y = -22;
+ req_access_txt = "16"
+ },
+/obj/machinery/button/door{
+ id = "aicoredoor";
+ name = "AI Chamber Access Control";
+ pixel_x = -23;
+ pixel_y = -23;
+ req_access_txt = "16"
+ },
+/obj/machinery/ai/data_core/primary,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"nUw" = (
/obj/machinery/door/airlock/grunge{
name = "Morgue";
@@ -125672,6 +125165,22 @@
},
/turf/open/floor/plasteel,
/area/security/prison)
+"okO" = (
+/obj/structure/table/reinforced,
+/obj/item/paper_bin,
+/obj/item/pen,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"olS" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/effect/decal/cleanable/dirt,
@@ -125712,6 +125221,16 @@
/obj/machinery/atmospherics/pipe/simple/orange/visible,
/turf/closed/wall/r_wall,
/area/engine/atmospherics_engine)
+"oyb" = (
+/obj/structure/cable/white{
+ icon_state = "1-2"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"oGu" = (
/obj/machinery/newscaster{
pixel_x = 32
@@ -125928,6 +125447,16 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/computer)
+"peA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 1;
+ target_temperature = 80
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"peT" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -126025,6 +125554,12 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
+"pzI" = (
+/obj/structure/frame/machine{
+ anchored = 1
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"pzW" = (
/obj/effect/turf_decal/tile/purple{
dir = 1
@@ -126099,6 +125634,20 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/qm)
+"pMv" = (
+/obj/machinery/porta_turret/ai,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pMM" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -126234,6 +125783,22 @@
},
/turf/open/floor/plasteel/dark,
/area/science/nanite)
+"qet" = (
+/obj/structure/table/reinforced,
+/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
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"qeU" = (
/obj/structure/cable/white{
icon_state = "0-8"
@@ -126255,6 +125820,21 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab/range)
+"qlQ" = (
+/obj/machinery/holopad,
+/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/tile/neutral,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"qnx" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input,
/turf/open/floor/engine/vacuum,
@@ -126292,6 +125872,25 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/science/xenobiology)
+"qtp" = (
+/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/layer2{
+ dir = 4
+ },
+/obj/machinery/computer/ai_control_console{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"qwa" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -126356,6 +125955,37 @@
/obj/item/camera_film,
/turf/open/floor/plasteel/vaporwave,
/area/storage/art)
+"qFX" = (
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_y = 26
+ },
+/obj/machinery/porta_turret/ai,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"qQc" = (
+/obj/machinery/porta_turret/ai,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"qQT" = (
/obj/machinery/status_display/evac{
pixel_x = -32
@@ -126383,6 +126013,25 @@
/obj/item/reagent_containers/pill/patch/silver_sulf,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
+"qTz" = (
+/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/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"qTZ" = (
/obj/effect/spawner/structure/window/reinforced/shutter,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -126462,6 +126111,14 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/engine/storage_shared)
+"rbY" = (
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
+/obj/item/twohanded/required/kirbyplants/random,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rdR" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -126488,6 +126145,15 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel/dark,
/area/maintenance/disposal/incinerator)
+"reF" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/white{
+ icon_state = "1-4"
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"reX" = (
/obj/structure/table/wood,
/obj/item/instrument/eguitar,
@@ -126579,6 +126245,38 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard)
+"rqC" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/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/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
+"rrr" = (
+/obj/machinery/ai/expansion_card_holder/prefilled,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"rwT" = (
/obj/item/twohanded/required/kirbyplants/random,
/turf/open/floor/wood,
@@ -126599,6 +126297,22 @@
/obj/machinery/light,
/turf/open/floor/plasteel,
/area/science/storage)
+"rzp" = (
+/obj/machinery/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rBC" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -126645,6 +126359,22 @@
},
/turf/open/floor/plasteel,
/area/engine/storage_shared)
+"rQR" = (
+/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
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"rUD" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/manifold/general/visible{
@@ -126799,6 +126529,47 @@
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing/chamber)
+"sxe" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "MiniSat Antechamber";
+ req_access_txt = "16"
+ },
+/obj/item/radio/intercom{
+ pixel_y = 26
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ 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
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"sEc" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -126893,6 +126664,37 @@
},
/turf/open/floor/plating,
/area/crew_quarters/fitness/recreation)
+"sZM" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Access";
+ req_access_txt = "30"
+ },
+/obj/structure/cable/white{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/white{
+ icon_state = "1-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
+ },
+/obj/machinery/atmospherics/pipe/simple/general/hidden{
+ dir = 6
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/fans/tiny,
+/turf/open/floor/plasteel/dark,
+/area/science/server)
"tbe" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/structure/cable{
@@ -126965,6 +126767,15 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/science/xenobiology)
+"tqi" = (
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"txY" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -127067,6 +126878,31 @@
"tCh" = (
/turf/closed/wall,
/area/science/misc_lab)
+"tDf" = (
+/obj/structure/table/reinforced,
+/obj/item/folder/blue,
+/obj/item/assembly/flash/handheld,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"tGY" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"tHs" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/atmospherics/miner/nitrogen,
@@ -127086,6 +126922,18 @@
},
/turf/open/floor/plating,
/area/science/robotics/lab)
+"tOk" = (
+/obj/machinery/status_display/evac{
+ pixel_y = -32
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"tQS" = (
/obj/machinery/status_display/ai{
pixel_x = 32
@@ -127103,6 +126951,37 @@
heat_capacity = 1e+006
},
/area/crew_quarters/heads/cmo)
+"tXG" = (
+/obj/structure/table/reinforced,
+/obj/item/folder/blue,
+/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
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"udy" = (
+/obj/structure/table/reinforced,
+/obj/item/flashlight/lamp,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"uep" = (
/obj/machinery/light/small{
dir = 1
@@ -127139,6 +127018,26 @@
/obj/structure/filingcabinet/chestdrawer,
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
+"umI" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 26
+ },
+/obj/structure/sign/poster/official/ian{
+ pixel_y = -32
+ },
+/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/space_heater,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"urn" = (
/obj/structure/window/reinforced,
/obj/effect/turf_decal/stripes/line{
@@ -127147,17 +127046,58 @@
/obj/structure/closet/secure_closet/chemical,
/turf/open/floor/plasteel,
/area/medical/chemistry)
+"uvE" = (
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"uvO" = (
/obj/structure/particle_accelerator/particle_emitter/center{
dir = 8
},
/turf/open/floor/plating,
/area/engine/engineering)
+"uzu" = (
+/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/simple/scrubbers/hidden/layer4{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"uzA" = (
/obj/machinery/portable_atmospherics/canister/toxins,
/obj/machinery/atmospherics/miner/toxins,
/turf/open/floor/engine/plasma,
/area/engine/atmos)
+"uJM" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"uNP" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/effect/turf_decal/stripes/line{
@@ -127244,6 +127184,22 @@
/obj/machinery/the_singularitygen/tesla,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"uWh" = (
+/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/light/small,
+/obj/machinery/atmospherics/pipe/manifold/general/hidden,
+/obj/machinery/ai/data_core,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"uWB" = (
/turf/closed/wall,
/area/medical/psych)
@@ -127473,6 +127429,15 @@
},
/turf/open/floor/plating,
/area/crew_quarters/fitness/recreation)
+"vWG" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"vXg" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -127506,6 +127471,27 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
+"vYo" = (
+/obj/structure/rack,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
+"vYJ" = (
+/obj/structure/table/reinforced,
+/obj/item/crowbar,
+/obj/item/wrench,
+/obj/item/mmi,
+/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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"wei" = (
/obj/machinery/airalarm{
pixel_y = 24
@@ -127653,6 +127639,24 @@
},
/turf/open/floor/plasteel,
/area/medical/medbay/central)
+"wzr" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy,
+/area/ai_monitored/turret_protected/aisat_interior)
"wAA" = (
/obj/structure/sign/nanotrasen,
/turf/closed/wall/r_wall,
@@ -127667,6 +127671,12 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/engine/storage_shared)
+"wIJ" = (
+/obj/structure/cable/white{
+ icon_state = "1-2"
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"wJG" = (
/obj/structure/cable/white{
icon_state = "0-2"
@@ -127826,6 +127836,22 @@
/obj/machinery/modular_computer/console/preset/mining,
/turf/open/floor/plasteel,
/area/security/checkpoint/supply)
+"xfX" = (
+/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/tile/neutral,
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xin" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 8
@@ -127894,6 +127920,18 @@
},
/turf/open/floor/plasteel/dark,
/area/science/mixing)
+"xHu" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 4
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"xJl" = (
/obj/structure/table,
/obj/item/folder/white,
@@ -127961,6 +127999,22 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/science/xenobiology)
+"xRV" = (
+/obj/machinery/light{
+ 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/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xXe" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -128054,6 +128108,20 @@
},
/turf/open/floor/plasteel/dark,
/area/bridge)
+"yeS" = (
+/obj/machinery/light,
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"yfP" = (
/obj/structure/cable/white{
icon_state = "1-8"
@@ -134902,8 +134970,8 @@ bPC
bRB
bOI
diA
-aaI
-cac
+qTz
+tOk
bPC
aaa
btF
@@ -135146,21 +135214,21 @@ aaa
btH
btH
btH
-byS
-bAy
-btH
-bEf
-btH
-bAy
-bAG
-bLx
+ewO
+qet
+pzI
+rrr
+vYo
+qet
+tXG
+gnF
btH
bPC
bRC
bTs
-diB
-byI
-cad
+rqC
+iii
+peA
bPC
cdt
cdt
@@ -135402,20 +135470,20 @@ brO
aad
btH
btH
-bxv
-byT
-bcv
-bCq
-bEg
-bCq
-bCq
-bEp
-bCq
-bxv
+qQc
+dHv
+elj
+lDT
+nQx
+lDT
+lDT
+gth
+dHv
+ltZ
bPC
bRD
bPC
-diC
+sxe
bPC
bPC
bPC
@@ -135659,20 +135727,20 @@ brN
aaa
btH
bwn
-bxw
-aRA
-bem
-bhq
-blk
-bhq
-bhq
-bEw
-bxW
-bNA
+xRV
+tqi
+kwX
+kwX
+oyb
+kwX
+kwX
+kwX
+nHg
+yeS
bPD
bRE
bgB
-diE
+hSE
bgB
bRE
bRD
@@ -135916,20 +135984,20 @@ brO
btH
btH
btH
-bCq
-bLz
-bCq
-bCq
-bCq
-bFS
-bCq
-bCq
-bAB
-bcI
+lmc
+eOD
+lmc
+lmc
+lmc
+rzp
+lmc
+lmc
+tGY
+jYU
bPC
bRF
bgC
-diF
+wzr
bjQ
cae
bPC
@@ -136172,23 +136240,23 @@ bpJ
brN
btH
btH
-bwo
-bxy
-aRL
-bCq
+rbY
+fuR
+vWG
+lmc
btH
-bEi
+hFD
btH
btH
-bJH
-bAB
-bcL
+mwp
+tGY
+jCF
bPC
bfK
bgC
-diG
+erz
bgC
-boT
+qtp
bPC
cft
cfu
@@ -136429,21 +136497,21 @@ bpK
bjN
btH
btH
-bwp
-bxz
-aRM
-bxy
+dHj
+kQO
+uJM
+fuR
bCt
-bEj
-bFT
+lbr
+nRN
btH
-bJI
-bHy
-bRi
-bVQ
-bZO
-cJz
-dji
+qFX
+nEO
+qlQ
+fsO
+uzu
+eSF
+joZ
bbb
boU
boL
@@ -136686,23 +136754,23 @@ bpJ
brN
btH
btH
-bwq
-bxy
-aRN
-bCq
+aAv
+fuR
+reF
+lmc
btH
-bEk
+lmc
btH
btH
-bvq
-bJM
-bCq
+mag
+xHu
+lDT
bPC
bZQ
bgC
diG
bgC
-blw
+gdF
bPC
boG
cfu
@@ -136944,22 +137012,22 @@ brO
btH
btH
btH
-bCq
-bLz
-bCq
-bCq
-bCq
-aXB
-bCq
-bCq
-bKn
-bCq
+lmc
+eOD
+lmc
+moO
+lmc
+ezJ
+lmc
+lmc
+tGY
+lDT
bPH
bRF
bgC
diG
bgC
-cai
+neD
bPC
cdw
cfu
@@ -137201,16 +137269,16 @@ brN
aaa
btH
bwn
-bxw
-aRO
-bgA
-bhr
-blv
-bhr
-bhr
-bEE
-bKD
-bNA
+xRV
+uvE
+kwX
+wIJ
+oyb
+kwX
+kwX
+kwX
+grQ
+yeS
bPI
bRE
bgE
@@ -137458,16 +137526,16 @@ brO
aad
btH
btH
-bxv
-bzb
-bgD
-bCq
-bEg
-bCq
-bCq
-bId
-bCq
-bxv
+pMv
+rQR
+gvy
+nKJ
+jFB
+nKJ
+nKJ
+gvy
+xfX
+ltZ
bPC
bRD
bPC
@@ -137716,14 +137784,14 @@ aaa
btH
btH
btH
-bzc
-bAG
-btH
-bEm
-btH
-bHM
-bJN
-bAy
+udy
+ijM
+vYo
+rrr
+gtX
+vYJ
+tDf
+okO
btH
bPC
bRF
@@ -138758,7 +138826,7 @@ bRF
bgE
diE
bgE
-cao
+umI
bPC
bkE
byJ
@@ -162714,9 +162782,9 @@ cuA
cvS
cwK
cxd
-cAS
+sZM
cED
-cFA
+uWh
cOR
dfm
cIe
diff --git a/_maps/map_files/Yogsmeta/Yogsmeta.dmm b/_maps/map_files/Yogsmeta/Yogsmeta.dmm
index 37b1b950cf1a..2633b515679a 100644
--- a/_maps/map_files/Yogsmeta/Yogsmeta.dmm
+++ b/_maps/map_files/Yogsmeta/Yogsmeta.dmm
@@ -15197,33 +15197,6 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/maintenance/fore)
-"aGF" = (
-/obj/machinery/status_display/evac{
- pixel_y = 32
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"aGG" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Fore";
- network = list("aicore")
- },
-/obj/structure/showcase/cyborg/old{
- pixel_y = 20
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"aGH" = (
-/obj/machinery/status_display/evac{
- pixel_y = 32
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aGI" = (
/obj/machinery/status_display/evac{
pixel_y = 32
@@ -15837,12 +15810,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
-"aHR" = (
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aHS" = (
/obj/machinery/door/airlock/security{
name = "Interrogation";
@@ -21183,17 +21150,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/courtroom)
-"aRY" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
-"aRZ" = (
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aSc" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
@@ -22194,15 +22150,6 @@
"aTV" = (
/turf/closed/wall/r_wall,
/area/ai_monitored/turret_protected/ai)
-"aTW" = (
-/obj/machinery/power/smes{
- charge = 5e+006
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aTX" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -22784,13 +22731,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
-"aUU" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aUV" = (
/obj/machinery/airalarm{
dir = 8;
@@ -22949,12 +22889,6 @@
},
/turf/open/space,
/area/space/nearstation)
-"aVl" = (
-/obj/machinery/porta_turret/ai{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aVm" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -22969,12 +22903,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"aVn" = (
-/obj/structure/showcase/cyborg/old{
- pixel_y = 20
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aVo" = (
/obj/machinery/button/door{
id = "giftshop";
@@ -23018,12 +22946,6 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/customs)
-"aVr" = (
-/obj/machinery/porta_turret/ai{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aVs" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -23833,15 +23755,6 @@
},
/turf/open/space,
/area/space/nearstation)
-"aWL" = (
-/obj/machinery/status_display/ai{
- pixel_x = -32
- },
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aWM" = (
/obj/structure/cable/yellow{
icon_state = "1-8"
@@ -23857,15 +23770,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aWN" = (
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
-"aWO" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aWP" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -23890,15 +23794,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aWR" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/status_display/ai{
- pixel_x = 32
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aWS" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -24458,18 +24353,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"aXR" = (
-/obj/structure/table/reinforced,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
-/obj/machinery/firealarm{
- dir = 4;
- pixel_x = -26
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aXS" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -24784,29 +24667,6 @@
/obj/structure/lattice,
/turf/open/space,
/area/space/nearstation)
-"aYy" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Port";
- dir = 4;
- network = list("aicore")
- },
-/obj/structure/showcase/cyborg/old{
- dir = 4;
- pixel_x = -9;
- pixel_y = 2
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aYz" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -24837,24 +24697,6 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/engineering)
-"aYB" = (
-/obj/structure/showcase/cyborg/old{
- dir = 8;
- pixel_x = 9;
- pixel_y = 2
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aYC" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall,
@@ -24997,23 +24839,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"aYW" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
-"aYX" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"aYY" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -25581,58 +25406,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/storage/tools)
-"aZQ" = (
-/obj/effect/landmark/start/ai/secondary,
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = -10;
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = -10;
- pixel_y = -25
- },
-/obj/machinery/door/window{
- base_state = "rightsecure";
- dir = 4;
- icon_state = "rightsecure";
- layer = 4.1;
- name = "Secondary AI Core Access";
- obj_integrity = 300;
- pixel_x = 4;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
-"aZR" = (
-/obj/machinery/holopad,
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -25;
- pixel_y = -25
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"aZS" = (
/obj/structure/window/reinforced{
dir = 8
@@ -25676,83 +25449,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
-"aZV" = (
-/obj/machinery/door/window{
- base_state = "rightsecure";
- dir = 4;
- icon_state = "rightsecure";
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/camera{
- c_tag = "AI Chamber - Core";
- network = list("aicore")
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"aZX" = (
-/obj/machinery/holopad,
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 25;
- pixel_y = 25
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"aZY" = (
-/obj/effect/landmark/start/ai/secondary,
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 10;
- pixel_y = 22
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = 27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 10;
- pixel_y = -25
- },
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 8;
- icon_state = "leftsecure";
- layer = 4.1;
- name = "Tertiary AI Core Access";
- obj_integrity = 300;
- pixel_x = -3;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"baa" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/delivery,
@@ -25778,12 +25474,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
-"bae" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 5
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"baf" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -25829,15 +25519,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
-"bai" = (
-/obj/machinery/airalarm{
- pixel_y = 24
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 10
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"baj" = (
/obj/structure/cable/yellow{
icon_state = "2-8"
@@ -25969,30 +25650,6 @@
"bat" = (
/turf/closed/wall,
/area/quartermaster/office)
-"bau" = (
-/obj/machinery/power/apc{
- areastring = "/area/ai_monitored/turret_protected/ai";
- dir = 1;
- name = "AI Chamber APC";
- pixel_y = 23
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 6
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
-"bav" = (
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"baw" = (
/obj/structure/noticeboard{
desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests.";
@@ -26583,24 +26240,6 @@
},
/turf/open/space/basic,
/area/space)
-"bbF" = (
-/obj/structure/showcase/cyborg/old{
- dir = 4;
- pixel_x = -9;
- pixel_y = 2
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bbG" = (
/obj/structure/closet/secure_closet/personal,
/obj/machinery/light/small{
@@ -26626,29 +26265,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
-"bbH" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Starboard";
- dir = 8;
- network = list("aicore")
- },
-/obj/structure/showcase/cyborg/old{
- dir = 8;
- pixel_x = 9;
- pixel_y = 2
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bbI" = (
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/plasteel/dark,
@@ -26797,10 +26413,6 @@
"bbY" = (
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"bbZ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bca" = (
/obj/structure/chair{
dir = 8
@@ -26818,10 +26430,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"bcb" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"bcc" = (
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
@@ -26924,10 +26532,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"bcp" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bcq" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -27163,15 +26767,6 @@
},
/turf/open/floor/plasteel,
/area/security/checkpoint/engineering)
-"bcP" = (
-/obj/machinery/light{
- dir = 8
- },
-/obj/machinery/status_display/ai{
- pixel_x = -32
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/turret_protected/ai)
"bcQ" = (
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
@@ -28950,25 +28545,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/plasteel/dark,
/area/bridge)
-"bgm" = (
-/obj/structure/table/reinforced,
-/obj/item/phone{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/cigbutt/cigarbutt{
- pixel_x = 5;
- pixel_y = -1
- },
-/obj/item/radio/intercom{
- broadcasting = 1;
- frequency = 1447;
- listening = 0;
- name = "Station Intercom (AI Private)";
- pixel_x = 28
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bgn" = (
/obj/structure/window/reinforced{
dir = 1;
@@ -29033,17 +28609,6 @@
},
/turf/open/floor/plasteel,
/area/engine/foyer)
-"bgx" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/blue{
- pixel_y = 2
- },
-/obj/item/pen,
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bgz" = (
/obj/item/paper,
/obj/structure/table/reinforced,
@@ -29170,18 +28735,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/sorting)
-"bgK" = (
-/obj/structure/chair/office/dark{
- dir = 8
- },
-/obj/machinery/status_display/ai{
- pixel_y = -32
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 5
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bgL" = (
/obj/machinery/holopad,
/obj/structure/cable/yellow{
@@ -29206,25 +28759,6 @@
/obj/structure/chair/office/dark,
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
-"bgO" = (
-/obj/machinery/camera{
- c_tag = "AI Chamber - Aft";
- dir = 1;
- network = list("aicore")
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bgP" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 6
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bgQ" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -29327,22 +28861,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"bha" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
-"bhb" = (
-/obj/structure/chair/office/dark{
- dir = 4
- },
-/obj/machinery/status_display/evac{
- pixel_y = -32
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bhc" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 27
@@ -30075,17 +29593,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
-"bis" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/blue{
- pixel_y = 2
- },
-/obj/item/pen,
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bit" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30754,36 +30261,6 @@
dir = 1
},
/area/engine/atmos)
-"bjz" = (
-/obj/machinery/door/airlock/highsecurity{
- name = "AI Chamber";
- req_access_txt = "16"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "AI Chamber entrance shutters";
- name = "AI Chamber entrance shutters"
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -26;
- pixel_y = 3
- },
-/obj/item/radio/intercom{
- broadcasting = 1;
- frequency = 1447;
- listening = 0;
- name = "Station Intercom (AI Private)";
- pixel_x = 28
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bjA" = (
/obj/machinery/light{
dir = 8
@@ -30988,17 +30465,6 @@
},
/turf/open/floor/plasteel/white,
/area/crew_quarters/heads/captain/private)
-"bjS" = (
-/obj/machinery/power/terminal{
- dir = 1
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = -24;
- pixel_y = 28
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bjT" = (
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/satellite)
@@ -31064,11 +30530,6 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4,
/turf/open/floor/plating/airless,
/area/aisat)
-"bkb" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bkd" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -32197,13 +31658,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
-"bml" = (
-/obj/machinery/holopad,
-/obj/effect/landmark/start/cyborg,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bmm" = (
/obj/structure/sign/directions/security{
dir = 1;
@@ -33271,25 +32725,6 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
-"boC" = (
-/obj/machinery/requests_console{
- announcementConsole = 1;
- department = "Telecomms Admin";
- departmentType = 5;
- name = "Telecomms RC";
- pixel_y = -30
- },
-/obj/item/paper_bin{
- pixel_x = -1;
- pixel_y = 6
- },
-/obj/structure/table/wood,
-/obj/machinery/firealarm{
- dir = 8;
- pixel_x = 26
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"boD" = (
/obj/structure/displaycase/captain{
pixel_y = 5
@@ -33548,24 +32983,6 @@
/obj/structure/sign/warning/nosmoking,
/turf/closed/wall,
/area/engine/atmos)
-"bpx" = (
-/obj/structure/cable/yellow{
- icon_state = "2-4"
- },
-/obj/structure/cable/yellow{
- icon_state = "4-8"
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
- dir = 6
- },
-/mob/living/simple_animal/bot/secbot/pingsky,
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat_interior)
"bpz" = (
/obj/item/radio/intercom{
dir = 4;
@@ -34016,37 +33433,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"bqm" = (
-/obj/machinery/turretid{
- icon_state = "control_stun";
- name = "AI Chamber turret control";
- pixel_x = 3;
- pixel_y = -23
- },
-/obj/machinery/door/window{
- base_state = "leftsecure";
- dir = 8;
- icon_state = "leftsecure";
- name = "Primary AI Core Access";
- obj_integrity = 300;
- req_access_txt = "16"
- },
-/obj/machinery/newscaster/security_unit{
- pixel_x = 4;
- pixel_y = 33
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bqn" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -34616,33 +34002,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"brx" = (
-/obj/machinery/requests_console{
- department = "AI";
- departmentType = 5;
- pixel_x = 30;
- pixel_y = 30
- },
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/machinery/flasher{
- id = "AI";
- pixel_x = 23;
- pixel_y = -23
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"bry" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -36125,43 +35484,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark/corner,
/area/engine/storage_shared)
-"bvf" = (
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Common Channel";
- pixel_x = -27;
- pixel_y = -7
- },
-/obj/item/radio/intercom{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_y = -27
- },
-/obj/item/radio/intercom{
- freerange = 1;
- frequency = 1447;
- name = "Private Channel";
- pixel_x = 27;
- pixel_y = -7
- },
-/obj/effect/landmark/start/ai,
-/obj/machinery/button/door{
- id = "AI Core shutters";
- name = "AI Core shutters control";
- pixel_x = 24;
- pixel_y = -22;
- req_access_txt = "16"
- },
-/obj/machinery/button/door{
- id = "AI Chamber entrance shutters";
- name = "AI Chamber entrance shutters control";
- pixel_x = -23;
- pixel_y = -23;
- req_access_txt = "16"
- },
-/turf/open/floor/circuit/green,
-/area/ai_monitored/turret_protected/ai)
"bvg" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -36261,19 +35583,6 @@
"bvt" = (
/turf/closed/wall,
/area/aisat)
-"bvu" = (
-/obj/structure/table/wood,
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/item/radio/off{
- pixel_y = 4
- },
-/obj/item/screwdriver{
- pixel_y = 10
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"bvx" = (
/obj/machinery/door/window/eastright{
dir = 1;
@@ -36302,35 +35611,6 @@
dir = 1
},
/area/hydroponics)
-"bvz" = (
-/obj/structure/table/wood,
-/obj/machinery/status_display/ai{
- pixel_y = 31
- },
-/obj/item/flashlight/lamp,
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
-"bvA" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/item/radio/intercom{
- dir = 8;
- freerange = 1;
- name = "Station Intercom (Telecomms)";
- pixel_y = 30
- },
-/obj/structure/table/wood,
-/obj/item/phone{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/cigbutt/cigarbutt{
- pixel_x = 5;
- pixel_y = -1
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"bvB" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-20"
@@ -37570,24 +36850,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"byx" = (
-/obj/machinery/porta_turret/ai,
-/obj/machinery/flasher{
- id = "AI";
- pixel_y = 24
- },
-/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/plasteel/dark,
-/area/ai_monitored/turret_protected/ai)
"byy" = (
/obj/effect/landmark/start/bartender,
/obj/effect/turf_decal/tile/bar,
@@ -38514,16 +37776,6 @@
/obj/structure/table/wood,
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
-"bAW" = (
-/obj/structure/table/wood,
-/obj/machinery/status_display/evac{
- pixel_y = 31
- },
-/obj/item/book/manual/wiki/tcomms,
-/obj/item/folder/blue,
-/obj/item/pen,
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"bAX" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/components/binary/pump/on{
@@ -42306,25 +41558,6 @@
/obj/machinery/telecomms/message_server/preset,
/turf/open/floor/circuit/telecomms/mainframe,
/area/tcommsat/server)
-"bJh" = (
-/obj/item/twohanded/required/kirbyplants{
- icon_state = "plant-21"
- },
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
-"bJi" = (
-/obj/machinery/light/small,
-/obj/item/folder,
-/obj/item/folder,
-/obj/machinery/camera{
- c_tag = "Telecomms - Control Room";
- dir = 1;
- network = list("ss13","tcomms")
- },
-/obj/structure/table/wood,
-/obj/item/pen,
-/turf/open/floor/plasteel/grimy,
-/area/tcommsat/computer)
"bJk" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/blue{
@@ -63608,6 +62841,18 @@
},
/turf/open/floor/plasteel,
/area/science/robotics/lab)
+"cEl" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/status_display/ai{
+ pixel_x = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"cEq" = (
/obj/structure/lattice,
/turf/open/space,
@@ -64185,16 +63430,6 @@
"cIg" = (
/turf/closed/wall/r_wall,
/area/science/server)
-"cIh" = (
-/obj/structure/closet,
-/obj/item/storage/box/lights/mixed,
-/obj/item/flashlight,
-/obj/effect/decal/cleanable/cobweb,
-/obj/structure/sign/warning/biohazard{
- pixel_y = 32
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"cIw" = (
/obj/structure/closet/secure_closet/medical1,
/obj/effect/turf_decal/tile/neutral{
@@ -64335,20 +63570,6 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/science/server)
-"cIZ" = (
-/obj/effect/landmark/blobstart,
-/obj/machinery/atmospherics/pipe/manifold{
- dir = 4
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/airalarm/server{
- dir = 8;
- pixel_x = 24
- },
-/turf/open/floor/plasteel/dark/telecomms,
-/area/science/server)
"cJf" = (
/obj/structure/cable/yellow{
icon_state = "0-8"
@@ -65260,6 +64481,9 @@
},
/turf/open/floor/plasteel/white/corner,
/area/hallway/secondary/entry)
+"cOd" = (
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"cOh" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plasteel/dark,
@@ -67194,10 +66418,6 @@
},
/turf/open/floor/carpet,
/area/crew_quarters/heads/hop)
-"dbl" = (
-/obj/structure/easel,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"dbm" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel,
@@ -69369,6 +68589,20 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/vacant_room/commissary)
+"dtP" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"dtS" = (
/obj/item/cigbutt,
/obj/machinery/power/apc{
@@ -69532,10 +68766,6 @@
},
/turf/open/floor/plasteel,
/area/maintenance/department/science)
-"dAh" = (
-/obj/item/storage/box,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
"dAj" = (
/obj/structure/cable/yellow{
icon_state = "2-4"
@@ -70512,6 +69742,21 @@
dir = 5
},
/area/science/research)
+"eqz" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/item/radio/intercom{
+ dir = 8;
+ freerange = 1;
+ name = "Station Intercom (Telecomms)";
+ pixel_y = 30
+ },
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-18"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"eqG" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -71071,6 +70316,10 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
+"feR" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"ffa" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -71415,6 +70664,19 @@
"fEQ" = (
/turf/closed/wall,
/area/science/nanite)
+"fGs" = (
+/obj/structure/showcase/cyborg/old{
+ dir = 8;
+ pixel_x = 9;
+ pixel_y = 2
+ },
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Starboard";
+ dir = 8;
+ network = list("aicore")
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"fHn" = (
/obj/machinery/holopad,
/turf/open/floor/plasteel,
@@ -71428,6 +70690,13 @@
},
/turf/open/floor/plasteel,
/area/science/mixing)
+"fIq" = (
+/obj/machinery/atmospherics/pipe/manifold{
+ dir = 4
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
"fIv" = (
/obj/structure/cable/white{
icon_state = "4-8"
@@ -71575,6 +70844,20 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
+"fPO" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/status_display/ai{
+ pixel_x = -32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fQe" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -71769,6 +71052,15 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plating,
/area/maintenance/solars/starboard/fore)
+"fYL" = (
+/obj/machinery/power/smes{
+ charge = 5e+006
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"fZn" = (
/obj/item/radio/intercom{
pixel_x = -30
@@ -72030,6 +71322,16 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/science/xenobiology)
+"gqX" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
+"grh" = (
+/obj/structure/frame/machine{
+ anchored = 1
+ },
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"grj" = (
/obj/machinery/door/airlock/maintenance_hatch,
/obj/machinery/door/firedoor/border_only{
@@ -72219,6 +71521,11 @@
/obj/item/pen/red,
/turf/open/floor/plasteel,
/area/quartermaster/qm)
+"gGR" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"gIa" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -72448,6 +71755,9 @@
/obj/machinery/light/small,
/turf/open/floor/plating,
/area/maintenance/starboard)
+"gRj" = (
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"gRG" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -72592,6 +71902,12 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"hhM" = (
+/obj/machinery/status_display/evac{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"hii" = (
/obj/effect/mapping_helpers/airlock/abandoned,
/obj/machinery/door/firedoor/border_only{
@@ -73209,6 +72525,14 @@
icon_state = "wood-broken4"
},
/area/library)
+"hZj" = (
+/obj/structure/showcase/cyborg/old{
+ dir = 4;
+ pixel_x = -9;
+ pixel_y = 2
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"hZx" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -73693,6 +73017,13 @@
/obj/item/clothing/head/festive,
/turf/open/floor/plating,
/area/maintenance/fore)
+"iJY" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"iKc" = (
/obj/machinery/door/airlock/public/glass{
name = "Cryogenics"
@@ -74096,6 +73427,19 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"jmU" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"jox" = (
/obj/machinery/button{
id = "maintshut";
@@ -74593,6 +73937,15 @@
},
/turf/open/floor/wood,
/area/crew_quarters/heads/captain/private)
+"jZz" = (
+/obj/machinery/airalarm/tcomms{
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"kac" = (
/obj/structure/closet/secure_closet/medical3,
/obj/item/screwdriver{
@@ -74831,6 +74184,29 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plating,
/area/maintenance/disposal)
+"kop" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Port";
+ dir = 4;
+ network = list("aicore")
+ },
+/obj/structure/showcase/cyborg/old{
+ dir = 4;
+ pixel_x = -9;
+ pixel_y = 2
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"krA" = (
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plating,
@@ -75685,6 +75061,10 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"lEF" = (
+/obj/machinery/ai/expansion_card_holder/prefilled,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"lFX" = (
/obj/machinery/light,
/obj/machinery/smartfridge/drying_rack,
@@ -75930,6 +75310,12 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
+"mak" = (
+/obj/machinery/status_display/ai{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mbS" = (
/obj/structure/cable/yellow{
icon_state = "2-4"
@@ -76018,6 +75404,19 @@
},
/turf/open/floor/plasteel,
/area/janitor)
+"mmz" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"mmB" = (
/obj/structure/chair/wood/wings{
dir = 8
@@ -76057,6 +75456,36 @@
},
/turf/open/floor/plasteel,
/area/science/mixing)
+"moA" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "AI Chamber";
+ req_access_txt = "16"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "AI Chamber entrance shutters";
+ name = "AI Chamber entrance shutters"
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -26;
+ pixel_y = 3
+ },
+/obj/item/radio/intercom{
+ broadcasting = 1;
+ frequency = 1447;
+ listening = 0;
+ name = "Station Intercom (AI Private)";
+ pixel_x = 28
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/fans/tiny,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"moD" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
@@ -76212,6 +75641,23 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"mDM" = (
+/obj/machinery/airalarm/server{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/ai/data_core,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/science/server)
+"mDW" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"mEa" = (
/obj/structure/chair/office/light{
dir = 1
@@ -76388,6 +75834,19 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/crew_quarters/toilet/auxiliary)
+"ndE" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = -26
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ndM" = (
/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
dir = 9
@@ -76782,6 +76241,17 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"nzY" = (
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -24;
+ pixel_y = 28
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"nAo" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -77057,6 +76527,15 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"nWY" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
+ dir = 1
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"nXc" = (
/obj/structure/sign/map/right{
desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown.";
@@ -77333,6 +76812,13 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plating,
/area/engine/atmos)
+"orw" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"otk" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -77516,6 +77002,23 @@
icon_state = "platingdmg3"
},
/area/maintenance/starboard)
+"oBN" = (
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Telecomms Admin";
+ departmentType = 5;
+ name = "Telecomms RC";
+ pixel_y = -30
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = 26
+ },
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"oBY" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
@@ -77530,6 +77033,25 @@
/obj/machinery/atmospherics/pipe/layer_manifold,
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"oFH" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
+"oGr" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Fore";
+ network = list("aicore")
+ },
+/obj/structure/showcase/cyborg/old{
+ pixel_y = 20
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"oJs" = (
/obj/machinery/light/small{
dir = 1
@@ -77817,6 +77339,12 @@
/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4,
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
+"pdx" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pdO" = (
/obj/machinery/door/airlock/grunge{
name = "Courtroom"
@@ -77836,6 +77364,12 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
+"pfd" = (
+/obj/machinery/status_display/evac{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"pgb" = (
/obj/structure/table/wood,
/obj/item/clothing/glasses/regular/hipster{
@@ -78043,6 +77577,41 @@
},
/turf/open/floor/carpet,
/area/medical/psych)
+"pAc" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Core";
+ network = list("aicore")
+ },
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"pAV" = (
+/obj/machinery/button/door{
+ id = "AI Core shutters";
+ name = "AI Core shutters control";
+ pixel_x = 24;
+ pixel_y = -22;
+ req_access_txt = "16"
+ },
+/obj/machinery/button/door{
+ id = "AI Chamber entrance shutters";
+ name = "AI Chamber entrance shutters control";
+ pixel_x = -23;
+ pixel_y = -23;
+ req_access_txt = "16"
+ },
+/obj/machinery/ai/data_core/primary,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"pBX" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -78420,6 +77989,20 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark/corner,
/area/engine/storage_shared)
+"qdY" = (
+/obj/structure/table/wood,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/item/radio/off{
+ pixel_y = 4
+ },
+/obj/item/screwdriver{
+ pixel_y = 10
+ },
+/obj/item/flashlight/lamp,
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"qek" = (
/obj/structure/lattice,
/turf/closed/wall,
@@ -78444,6 +78027,12 @@
},
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
+"qhm" = (
+/obj/structure/sign/warning/biohazard{
+ pixel_y = 32
+ },
+/turf/closed/wall/r_wall,
+/area/science/server)
"qhr" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -78539,6 +78128,24 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/wood,
/area/library)
+"qlO" = (
+/obj/structure/table/wood,
+/obj/machinery/status_display/evac{
+ pixel_y = 31
+ },
+/obj/item/book/manual/wiki/tcomms,
+/obj/item/folder/blue,
+/obj/item/pen,
+/obj/item/phone{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/cigbutt/cigarbutt{
+ pixel_x = 5;
+ pixel_y = -1
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"qmh" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -78584,6 +78191,12 @@
/mob/living/simple_animal/pet/cat/Runtime,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/heads/cmo)
+"qoH" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"qoZ" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
@@ -78626,6 +78239,9 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"qrp" = (
+/turf/open/floor/circuit/telecomms/server,
+/area/science/server)
"qrr" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -79113,6 +78729,16 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
+"rgc" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"rgh" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -79521,6 +79147,13 @@
},
/turf/open/floor/plating,
/area/quartermaster/storage)
+"rDc" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"rDs" = (
/obj/structure/cable/yellow{
icon_state = "1-4"
@@ -79815,6 +79448,18 @@
/obj/structure/grille,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"sln" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/status_display/ai{
+ pixel_x = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"slu" = (
/obj/structure/sign/warning/vacuum/external{
pixel_y = 32
@@ -80267,6 +79912,12 @@
/obj/machinery/vending/gifts,
/turf/open/floor/wood,
/area/clerk)
+"sKG" = (
+/obj/machinery/holopad,
+/obj/effect/landmark/start/cyborg,
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden,
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"sLU" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plating,
@@ -80510,6 +80161,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
+"taS" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 9
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"taY" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -81270,6 +80927,15 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"ucF" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/porta_turret/ai{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"ucK" = (
/obj/machinery/light/small,
/obj/machinery/power/apc{
@@ -81886,6 +81552,24 @@
/obj/effect/mapping_helpers/airlock/abandoned,
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"uUR" = (
+/obj/structure/showcase/cyborg/old{
+ dir = 8;
+ pixel_x = 9;
+ pixel_y = 2
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"uUV" = (
/obj/structure/window/reinforced,
/obj/effect/turf_decal/trimline/red/line,
@@ -82086,6 +81770,20 @@
},
/turf/open/floor/plasteel,
/area/science/robotics/lab)
+"vhF" = (
+/obj/machinery/status_display/ai{
+ pixel_x = -32
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{
+ dir = 4;
+ external_pressure_bound = 120;
+ name = "server vent"
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"vhG" = (
/obj/structure/table/glass,
/obj/machinery/camera/autoname{
@@ -82163,6 +81861,12 @@
/obj/effect/mapping_helpers/teleport_anchor,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"vjL" = (
+/obj/machinery/computer/ai_resource_distribution{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"vkS" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -82256,6 +81960,21 @@
},
/turf/closed/wall,
/area/crew_quarters/theatre)
+"vrV" = (
+/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/turret_protected/ai";
+ dir = 1;
+ name = "AI Chamber APC";
+ pixel_y = 23
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"vsa" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -82599,6 +82318,33 @@
/obj/effect/turf_decal/tile/green,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"vMr" = (
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ pixel_x = 30;
+ pixel_y = 30
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = 23;
+ pixel_y = -23
+ },
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"vMY" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -82688,6 +82434,29 @@
dir = 8
},
/area/medical/surgery)
+"vRb" = (
+/obj/machinery/turretid{
+ icon_state = "control_stun";
+ name = "AI Chamber turret control";
+ pixel_x = 3;
+ pixel_y = -23
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 4;
+ pixel_y = 33
+ },
+/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/tile/neutral,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"vSO" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -83163,6 +82932,20 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"wCV" = (
+/obj/machinery/camera{
+ c_tag = "AI Chamber - Aft";
+ dir = 1;
+ network = list("aicore")
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
+"wCY" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 5
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"wEj" = (
/obj/machinery/light/small{
dir = 8
@@ -83290,6 +83073,28 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"wMA" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{
+ dir = 8
+ },
+/mob/living/simple_animal/bot/secbot/pingsky,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat_interior)
"wMY" = (
/obj/structure/table,
/obj/item/candle,
@@ -83411,6 +83216,10 @@
},
/turf/open/floor/plasteel/dark,
/area/security/brig)
+"wTR" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/hidden,
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"wXd" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -83455,6 +83264,15 @@
icon_state = "panelscorched"
},
/area/maintenance/port/fore)
+"wZl" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/hidden{
+ dir = 6
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"xaS" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -83498,6 +83316,24 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"xcd" = (
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_y = 24
+ },
+/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/status_display/ai_core,
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"xei" = (
/obj/machinery/door/airlock/external{
req_access_txt = "24"
@@ -83747,6 +83583,11 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"xwl" = (
+/obj/structure/rack,
+/obj/item/stack/cable_coil/red,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/ai_monitored/turret_protected/ai)
"xws" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -83781,6 +83622,18 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"xzj" = (
+/obj/machinery/light/small,
+/obj/machinery/camera{
+ c_tag = "Telecomms - Control Room";
+ dir = 1;
+ network = list("ss13","tcomms")
+ },
+/obj/machinery/computer/ai_control_console{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"xDl" = (
/obj/structure/chair{
dir = 8
@@ -83992,6 +83845,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
+"yaq" = (
+/obj/structure/showcase/cyborg/old{
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"yar" = (
/obj/machinery/light{
dir = 8
@@ -84008,6 +83867,13 @@
dir = 1
},
/area/engine/atmos)
+"ybe" = (
+/obj/machinery/status_display/ai{
+ pixel_y = 31
+ },
+/obj/machinery/computer/ai_server_console,
+/turf/open/floor/plasteel/grimy,
+/area/tcommsat/computer)
"ycD" = (
/obj/item/radio/intercom{
pixel_x = 29
@@ -84077,6 +83943,12 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
+"yij" = (
+/obj/machinery/porta_turret/ai{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark/telecomms,
+/area/ai_monitored/turret_protected/ai)
"yiu" = (
/obj/machinery/bounty_board,
/turf/closed/wall/r_wall,
@@ -116931,7 +116803,7 @@ dpO
iRa
cIg
cIf
-cIZ
+fIq
cJW
cIg
bVz
@@ -117187,9 +117059,9 @@ cEu
sfi
cEu
cIg
-cIg
-cIg
-cIg
+qrp
+mDM
+qrp
cIg
bGP
vpV
@@ -117444,10 +117316,10 @@ sys
cFr
cGl
cyK
-cIh
-dAh
-dbl
-dyc
+qhm
+cIg
+cIg
+cIg
bGP
dvY
dvY
@@ -137941,8 +137813,8 @@ aRy
aTV
aTV
aTV
-aZQ
-aTV
+lEF
+grh
aTV
aTV
aTV
@@ -138195,22 +138067,22 @@ aaa
aaa
aRy
aTV
-aVl
-aWL
-aYy
-aZR
-bbF
-bcP
-aVl
-aXR
-bgx
+pdx
+vhF
+kop
+dtP
+mmz
+hZj
+fPO
+ndE
+aTV
bjQ
bjQ
bjQ
bok
bjQ
btL
-bvu
+qdY
qgg
bzn
bAU
@@ -138452,22 +138324,22 @@ aaa
aRy
aRy
aTV
-aGF
-aRY
-aRY
-aYW
-aRY
-aRY
-bae
-bbZ
-bgK
+hhM
+qoH
+gqX
+iJY
+gqX
+gqX
+wTR
+cOd
+mak
bjQ
aWF
aXF
boA
bbz
btL
-bAW
+qlO
bfH
boa
bAV
@@ -138709,15 +138581,15 @@ aaa
aRy
aRy
aTV
-aVn
-aWN
+yaq
+gRj
aTV
-bqm
+vRb
aTV
aTV
-bai
-aRY
-bgO
+jZz
+wCY
+wCV
bjQ
aWJ
aXG
@@ -138727,7 +138599,7 @@ btL
aqT
bxq
bxq
-bJh
+bAY
bCE
bCE
bCE
@@ -138965,20 +138837,20 @@ aDl
aDl
aRy
aRy
-aTW
-bjS
-aWO
+fYL
+nzY
+mDW
aYz
-brx
-bvf
+vMr
+pAV
aTV
-byx
-aWO
-bgP
-bjz
-bkb
-bml
-bpx
+xcd
+nWY
+gGR
+moA
+feR
+sKG
+wMA
bry
brS
btf
@@ -139223,15 +139095,15 @@ aaa
aRy
aRy
aFL
-aGG
-aHR
+oGr
+oFH
aTV
-aZV
+pAc
aTV
aTV
-bau
-bcb
-bha
+vrV
+taS
+cOd
bjQ
blH
aXI
@@ -139241,7 +139113,7 @@ btL
syj
bxq
bgM
-bAY
+vjL
bCE
bCE
bCE
@@ -139480,25 +139352,25 @@ aaa
aRy
aRy
aTV
-aGH
-aRZ
-aUU
-aYX
-aUU
-aUU
-bav
-bcp
-bhb
+hhM
+wZl
+orw
+rgc
+orw
+orw
+rDc
+cOd
+pfd
bjQ
bse
aXJ
bpA
beZ
btL
-bvz
+ybe
bxr
bgN
-bJi
+xzj
bCD
bEj
bGe
@@ -139737,25 +139609,25 @@ aaa
aaa
aRy
aTV
-aVr
-aWR
-aYB
-aZX
-bbH
-aWR
-aVr
-bgm
-bis
+yij
+cEl
+uUR
+dtP
+jmU
+fGs
+sln
+ucF
+aTV
bjQ
bjQ
bjQ
bpE
bjQ
btL
-bvA
+eqz
bxs
bzt
-boC
+oBN
bCD
bEg
bGd
@@ -139997,8 +139869,8 @@ aRy
aTV
aTV
aTV
-aZY
-aTV
+lEF
+xwl
aTV
aTV
aTV
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index 54ff07d55bde..331f30de8bd1 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -35,6 +35,7 @@ GLOBAL_LIST_EMPTY(wire_color_directory)
GLOBAL_LIST_EMPTY(wire_name_directory)
GLOBAL_LIST_EMPTY(ai_status_displays)
+GLOBAL_LIST_EMPTY(ai_core_displays)
GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects
GLOBAL_LIST_EMPTY(alert_consoles) // Station alert consoles, /obj/machinery/computer/station_alert
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index 8cb7b26f771f..07e7e15cfb89 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -106,6 +106,7 @@
A.AICtrlShiftClick(src)
/mob/living/silicon/ai/ShiftClickOn(var/atom/A)
A.AIShiftClick(src)
+
/mob/living/silicon/ai/CtrlClickOn(var/atom/A)
A.AICtrlClick(src)
/mob/living/silicon/ai/AltClickOn(var/atom/A)
@@ -128,6 +129,7 @@
/atom/proc/AICtrlShiftClick()
return
+
/* Airlocks */
/obj/machinery/door/airlock/AICtrlClick() // Bolts doors
if(obj_flags & EMAGGED)
@@ -180,6 +182,14 @@
hangup_all_calls()
add_hiddenprint(usr)
+/* Humans (With upgrade) */
+/mob/living/carbon/human/AIShiftClick(mob/living/silicon/ai/user)
+ if(!user.canExamineHumans)
+ return
+ if(user.client && (user.client.eye == user.eyeobj || user.client.eye == user.loc))
+ user.examinate(src)
+ return
+
//
// Override TurfAdjacent for AltClicking
//
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index 98636a4ecfd5..42fe9c8060c5 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -122,23 +122,29 @@
// AI
-#define ui_ai_core "SOUTH:6,WEST"
-#define ui_ai_camera_list "SOUTH:6,WEST+1"
-#define ui_ai_track_with_camera "SOUTH:6,WEST+2"
-#define ui_ai_camera_light "SOUTH:6,WEST+3"
-#define ui_ai_crew_monitor "SOUTH:6,WEST+4"
-#define ui_ai_crew_manifest "SOUTH:6,WEST+5"
-#define ui_ai_alerts "SOUTH:6,WEST+6"
-#define ui_ai_announcement "SOUTH:6,WEST+7"
-#define ui_ai_shuttle "SOUTH:6,WEST+8"
-#define ui_ai_state_laws "SOUTH:6,WEST+9"
-#define ui_ai_pda_send "SOUTH:6,WEST+10"
-#define ui_ai_pda_log "SOUTH:6,WEST+11"
-#define ui_ai_take_picture "SOUTH:6,WEST+12"
-#define ui_ai_view_images "SOUTH:6,WEST+13"
-#define ui_ai_sensor "SOUTH:6,WEST+14"
-#define ui_ai_multicam "SOUTH+1:6,WEST+13"
-#define ui_ai_add_multicam "SOUTH+1:6,WEST+14"
+#define ui_ai_core "CENTER-6:-32,SOUTH:6"
+#define ui_ai_dashboard "CENTER-7,SOUTH+1:6"
+#define ui_ai_camera_list "CENTER-5:-32,SOUTH:6"
+#define ui_ai_track_with_camera "CENTER-4:-32,SOUTH:6"
+#define ui_ai_camera_light "CENTER-3:-32,SOUTH:6"
+#define ui_ai_crew_monitor "CENTER-2:-32,SOUTH:6"
+#define ui_ai_crew_manifest "CENTER-1:-32,SOUTH:6"
+#define ui_ai_alerts "CENTER:-32,SOUTH:6"
+#define ui_ai_announcement "CENTER+1:-32,SOUTH:6"
+#define ui_ai_shuttle "CENTER+2:-32,SOUTH:6"
+#define ui_ai_state_laws "CENTER+3:-32,SOUTH:6"
+#define ui_ai_pda_send "CENTER+4:-32,SOUTH:6"
+#define ui_ai_pda_log "CENTER+5:-32,SOUTH:6"
+#define ui_ai_take_picture "CENTER+6:-32,SOUTH:6"
+#define ui_ai_view_images "CENTER+7:-32,SOUTH:6"
+#define ui_ai_sensor "CENTER+7,SOUTH:6"
+#define ui_ai_multicam "CENTER+6,SOUTH+1:6"
+#define ui_ai_add_multicam "CENTER+6,SOUTH+1:6"
+#define ui_ai_language_menu "CENTER+5,SOUTH+1:9"
+#define ui_ai_dashboard_widescreen "CENTER-8,SOUTH:6"
+#define ui_ai_add_multicam_widescreen "CENTER+9,SOUTH:6"
+#define ui_ai_multicam_widescreen "CENTER+8,SOUTH:6"
+#define ui_ai_language_menu_widescreen "CENTER-9,SOUTH:10"
// pAI
diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm
index 49bdd3f3c047..5b3634e38bc8 100644
--- a/code/_onclick/hud/ai.dm
+++ b/code/_onclick/hud/ai.dm
@@ -66,6 +66,16 @@
var/mob/living/silicon/ai/AI = usr
AI.ai_roster()
+/obj/screen/ai/dashboard
+ name = "Processing Dashboard"
+ icon_state = "dashboard"
+
+/obj/screen/ai/dashboard/Click()
+ if(..())
+ return
+ var/mob/living/silicon/ai/AI = usr
+ AI.dashboard.ui_interact(AI)
+
/obj/screen/ai/alerts
name = "Show Alerts"
icon_state = "alerts"
@@ -194,7 +204,10 @@
// Language menu
using = new /obj/screen/language_menu
- using.screen_loc = ui_borg_language_menu
+ if(owner?.client?.prefs?.widescreenpref)
+ using.screen_loc = ui_ai_language_menu_widescreen
+ else
+ using.screen_loc = ui_ai_language_menu
static_inventory += using
//AI core
@@ -202,6 +215,15 @@
using.screen_loc = ui_ai_core
static_inventory += using
+//Dashboard
+ using = new /obj/screen/ai/dashboard
+ if(owner?.client?.prefs?.widescreenpref)
+ using.screen_loc = ui_ai_dashboard_widescreen
+ else
+ using.screen_loc = ui_ai_dashboard
+
+ static_inventory += using
+
//Camera list
using = new /obj/screen/ai/camera_list()
using.screen_loc = ui_ai_camera_list
@@ -274,10 +296,16 @@
//Multicamera mode
using = new /obj/screen/ai/multicam()
- using.screen_loc = ui_ai_multicam
+ if(owner?.client?.prefs?.widescreenpref)
+ using.screen_loc = ui_ai_multicam_widescreen
+ else
+ using.screen_loc = ui_ai_multicam
static_inventory += using
//Add multicamera camera
using = new /obj/screen/ai/add_multicam()
- using.screen_loc = ui_ai_add_multicam
+ if(owner?.client?.prefs?.widescreenpref)
+ using.screen_loc = ui_ai_add_multicam_widescreen
+ else
+ using.screen_loc = ui_ai_add_multicam
static_inventory += using
diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm
index d8ab95c987e1..48d16d861f8d 100644
--- a/code/game/objects/items/circuitboards/computer_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm
@@ -386,6 +386,21 @@
name = "Shuttle Navigation Computer (Computer Board)"
build_path = /obj/machinery/computer/camera_advanced/shuttle_docker/custom
+/obj/item/circuitboard/computer/ai_upload_download
+ name = "AI Control Console (Computer Board)"
+ icon_state = "science"
+ build_path = /obj/machinery/computer/ai_control_console
+
+/obj/item/circuitboard/computer/ai_server_overview
+ name = "AI Server Overview Console (Computer Board)"
+ icon_state = "science"
+ build_path = /obj/machinery/computer/ai_server_console
+
+/obj/item/circuitboard/computer/ai_resource_distribution
+ name = "AI Resource Distribution Console (Computer Board)"
+ icon_state = "science"
+ build_path = /obj/machinery/computer/ai_resource_distribution
+
//Security
/obj/item/circuitboard/computer/labor_shuttle
diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm
index f1bc1abadb68..067cfe1ce802 100644
--- a/code/game/objects/items/circuitboards/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm
@@ -952,6 +952,16 @@
icon_state = "science"
build_path = /obj/machinery/rnd/production/techfab/department/science
+/obj/item/circuitboard/machine/expansion_card_holder
+ name = "Expansion Card Bus (Machine Board)"
+ icon_state = "science"
+ build_path = /obj/machinery/ai/expansion_card_holder
+ req_components = list(
+ /obj/item/stock_parts/matter_bin = 4,
+ /obj/item/stock_parts/manipulator = 2,
+ /obj/item/stack/sheet/glass = 2)
+
+
//Security
/obj/item/circuitboard/machine/protolathe/department/security
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 334012f1aa4f..062f3849d12a 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -1059,6 +1059,14 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
view = new_size
apply_clickcatcher()
mob.reload_fullscreen()
+
+ if(mob && istype(mob.hud_used, /datum/hud/ai))
+ if(new_size == CONFIG_GET(string/default_view) || new_size == CONFIG_GET(string/default_view_square))
+ QDEL_NULL(mob.hud_used)
+ mob.create_mob_hud()
+ mob.hud_used.show_hud(mob.hud_used.hud_version)
+ mob.hud_used.update_ui_style(ui_style2icon(prefs.UI_style))
+
if (isliving(mob))
var/mob/living/M = mob
M.update_damage_hud()
@@ -1128,4 +1136,4 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
if(statbrowser_ready)
return
to_chat(src, span_userdanger("Statpanel failed to load, click here to reload the panel "))
- tgui_panel.initialize()
\ No newline at end of file
+ tgui_panel.initialize()
diff --git a/code/modules/jobs/job_types/ai.dm b/code/modules/jobs/job_types/ai.dm
index 27c3204449bd..2898b6529101 100644
--- a/code/modules/jobs/job_types/ai.dm
+++ b/code/modules/jobs/job_types/ai.dm
@@ -25,7 +25,9 @@
/datum/job/ai/after_spawn(mob/H, mob/M, latejoin)
. = ..()
+ /*
if(latejoin)
+
var/obj/structure/AIcore/latejoin_inactive/lateJoinCore
for(var/obj/structure/AIcore/latejoin_inactive/P in GLOB.latejoin_ai_cores)
if(P.is_available())
@@ -36,7 +38,17 @@
lateJoinCore.available = FALSE
H.forceMove(lateJoinCore.loc)
qdel(lateJoinCore)
+ */
var/mob/living/silicon/ai/AI = H
+
+ AI.relocate(TRUE)
+
+ var/total_available_cpu = GLOB.ai_os.total_cpu - GLOB.ai_os.total_cpu_assigned()
+ var/total_available_ram = GLOB.ai_os.total_ram - GLOB.ai_os.total_ram_assigned()
+
+ GLOB.ai_os.add_cpu(AI, total_available_cpu)
+ GLOB.ai_os.add_ram(AI, total_available_ram)
+
AI.apply_pref_name("ai", M.client) //If this runtimes oh well jobcode is fucked.
AI.set_core_display_icon(null, M.client)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index f3b6e9375982..7e9d4e52ffc2 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -421,3 +421,119 @@
dat += "[new_text]\n" //dat.Join("\n") doesn't work here, for some reason
if(dat.len)
return dat.Join()
+
+
+
+/mob/living/carbon/human/proc/examine_simple(mob/user)
+//this is very slightly better than it was because you can use it more places. still can't do \his[src] though.
+ var/t_He = p_they(TRUE)
+ var/t_His = p_their(TRUE)
+ var/t_his = p_their()
+ var/t_has = p_have()
+ var/t_is = p_are()
+
+ . = list("*---------*\nThis is [name]!")
+
+ var/list/obscured = check_obscured_slots()
+
+ //uniform
+ if(w_uniform && !(SLOT_W_UNIFORM in obscured))
+ //accessory
+ var/accessory_msg
+ if(istype(w_uniform, /obj/item/clothing/under))
+ var/obj/item/clothing/under/U = w_uniform
+ if(U.attached_accessory)
+ accessory_msg += " with [icon2html(U.attached_accessory, user)] \a [U.attached_accessory]"
+
+ . += "[t_He] [t_is] wearing [w_uniform.get_examine_string(user)][accessory_msg]."
+ //head
+ if(head)
+ . += "[t_He] [t_is] wearing [head.get_examine_string(user)] on [t_his] head."
+ //suit/armor
+ if(wear_suit)
+ . += "[t_He] [t_is] wearing [wear_suit.get_examine_string(user)]."
+ //back
+ if(back)
+ . += "[t_He] [t_has] [back.get_examine_string(user)] on [t_his] back."
+
+ //Hands
+ for(var/obj/item/I in held_items)
+ if(!(I.item_flags & ABSTRACT))
+ . += "[t_He] [t_is] holding a [weightclass2text(I.w_class)] item in [t_his] [get_held_index_name(get_held_index_of_item(I))]."
+
+ //gloves
+ if(gloves && !(SLOT_GLOVES in obscured))
+ . += "[t_He] [t_has] [gloves.get_examine_string(user)] on [t_his] hands."
+
+
+ //handcuffed?
+ if(handcuffed)
+ if(istype(handcuffed, /obj/item/restraints/handcuffs/cable))
+ . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] restrained with cable!")
+ else
+ . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!")
+
+ //belt
+ if(belt)
+ . += "[t_He] [t_has] [belt.get_examine_string(user)] about [t_his] waist."
+
+ //shoes
+ if(shoes && !(SLOT_SHOES in obscured))
+ . += "[t_He] [t_is] wearing [shoes.get_examine_string(user)] on [t_his] feet."
+
+ //mask
+ if(wear_mask && !(SLOT_WEAR_MASK in obscured))
+ . += "[t_He] [t_has] [wear_mask.get_examine_string(user)] on [t_his] face."
+
+ if(wear_neck && !(SLOT_NECK in obscured))
+ . += "[t_He] [t_is] wearing [wear_neck.get_examine_string(user)] around [t_his] neck."
+
+ //eyes
+ if(!(SLOT_GLASSES in obscured))
+ if(glasses)
+ . += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes."
+ else if(eye_color == BLOODCULT_EYE && iscultist(src) && HAS_TRAIT(src, CULT_EYES))
+ . += span_warning("[t_His] eyes are glowing an unnatural red!")
+
+ //ears
+ if(ears && !(SLOT_EARS in obscured))
+ . += "[t_He] [t_has] [ears.get_examine_string(user)] on [t_his] ears."
+
+
+ var/list/msg = list("")
+
+ var/list/missing = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
+ for(var/X in bodyparts)
+ var/obj/item/bodypart/body_part = X
+ missing -= body_part.body_zone
+
+
+ //stores missing limbs
+ var/l_limbs_missing = 0
+ var/r_limbs_missing = 0
+ for(var/t in missing)
+ if(t==BODY_ZONE_HEAD)
+ msg += "[t_His] [parse_zone(t)] is missing!\n"
+ continue
+ if(t == BODY_ZONE_L_ARM || t == BODY_ZONE_L_LEG)
+ l_limbs_missing++
+ else if(t == BODY_ZONE_R_ARM || t == BODY_ZONE_R_LEG)
+ r_limbs_missing++
+
+ msg += "[capitalize(t_his)] [parse_zone(t)] is missing!\n"
+
+ if(l_limbs_missing >= 2 && r_limbs_missing == 0)
+ msg += "[t_He] look[p_s()] all right now.\n"
+ else if(l_limbs_missing == 0 && r_limbs_missing >= 2)
+ msg += "[t_He] really keeps to the left.\n"
+ else if(l_limbs_missing >= 2 && r_limbs_missing >= 2)
+ msg += "[t_He] [p_do()]n't seem all there.\n"
+
+
+ if(!glasses && mind && mind.has_antag_datum(ANTAG_DATUM_THRALL))
+ msg += "[t_His] eyes seem unnaturally dark and soulless.\n" // I'VE BECOME SO NUMB, I CAN'T FEEL YOU THERE
+
+ if (length(msg))
+ . += span_warning("[msg.Join("")]")
+
+ . += "*---------*"
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index c37f85f0540c..da1686ff6e9a 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -25,10 +25,13 @@
sight = SEE_TURFS | SEE_MOBS | SEE_OBJS
see_in_dark = 8
hud_type = /datum/hud/ai
- med_hud = DATA_HUD_MEDICAL_ADVANCED
- sec_hud = DATA_HUD_SECURITY_ADVANCED
- d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED
+ med_hud = DATA_HUD_MEDICAL_BASIC
+ sec_hud = DATA_HUD_SECURITY_BASIC
+ d_hud = DATA_HUD_DIAGNOSTIC_BASIC
mob_size = MOB_SIZE_LARGE
+
+ invisibility = INVISIBILITY_OBSERVER
+
var/battery = 200 //emergency power if the AI's APC is off
var/list/network = list("ss13")
var/obj/machinery/camera/current
@@ -38,14 +41,14 @@
var/can_be_carded = TRUE
var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list())
var/viewalerts = 0
- var/icon/holo_icon//Default is assigned when AI is created.
+ var/icon/holo_icon //Default is assigned when AI is created.
var/obj/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye.
var/radio_enabled = TRUE //Determins if a carded AI can speak with its built in radio or not.
radiomod = ";" //AIs will, by default, state their laws on the internal radio.
var/obj/item/multitool/aiMulti
var/mob/living/simple_animal/bot/Bot
var/tracking = FALSE //this is 1 if the AI is currently tracking somebody, but the track has not yet been completed.
- var/datum/effect_system/spark_spread/spark_system//So they can initialize sparks whenever/N
+ var/datum/effect_system/spark_spread/spark_system //So they can initialize sparks whenever/N
//MALFUNCTION
var/datum/module_picker/malf_picker
@@ -77,9 +80,11 @@
var/obj/machinery/doomsday_device/doomsday_device
var/mob/camera/aiEye/eyeobj
+ //How fast you move your camera
var/sprint = 10
var/cooldown = 0
var/acceleration = 1
+ var/max_camera_sprint = 50
var/obj/structure/AIcore/deactivated/linked_core //For exosuit control
var/mob/living/silicon/robot/deployed_shell = null //For shell control
@@ -99,10 +104,19 @@
var/datum/robot_control/robot_control
-/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai)
+ var/datum/ai_dashboard/dashboard
+ //override for the can_download, checked first in case we have other code in can_download
+ var/can_download = TRUE
+ //Can we (simple) examine humans?
+ var/canExamineHumans = FALSE
+ //Reduces/Increases download speed by this modifier
+ var/downloadSpeedModifier = 1
+
+
+/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai, shunted)
. = ..()
if(!target_ai) //If there is no player/brain inside.
- new/obj/structure/AIcore/deactivated(loc) //New empty terminal.
+ // new/obj/structure/AIcore/deactivated(loc) //New empty terminal.
return INITIALIZE_HINT_QDEL //Delete AI.
if(L && istype(L, /datum/ai_laws))
@@ -158,6 +172,8 @@
deploy_action.Grant(src)
+ dashboard = new(src)
+
if(isturf(loc))
add_verb(src, list(/mob/living/silicon/ai/proc/ai_network_change, \
/mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_hologram_change, \
@@ -167,6 +183,9 @@
GLOB.ai_list += src
GLOB.shuttle_caller_list += src
+ if(!istype(loc, /obj/machinery/ai/data_core) && !shunted)
+ relocate(TRUE)
+
builtInCamera = new (src)
builtInCamera.c_tag = real_name
builtInCamera.network = list("ss13")
@@ -199,6 +218,8 @@
qdel(eyeobj) // No AI, no Eye
malfhack = null
+ GLOB.ai_os.remove_ai(src)
+
. = ..()
/mob/living/silicon/ai/IgniteMob()
@@ -209,11 +230,21 @@
if(client && !C)
C = client
if(!input && !C?.prefs?.preferred_ai_core_display)
- icon_state = initial(icon_state)
+ for (var/each in GLOB.ai_core_displays) //change status of displays
+ var/obj/machinery/status_display/ai_core/M = each
+ M.set_ai(initial(icon_state))
+ M.update()
else
var/preferred_icon = input ? input : C.prefs.preferred_ai_core_display
icon = initial(icon) //yogs
- icon_state = resolve_ai_icon(preferred_icon)
+
+ for (var/each in GLOB.ai_core_displays) //change status of displays
+ var/obj/machinery/status_display/ai_core/M = each
+ M.set_ai(resolve_ai_icon(preferred_icon))
+ M.update()
+
+
+
/mob/living/silicon/ai/verb/pick_icon()
set category = "AI Commands"
@@ -243,7 +274,10 @@
view_core()
- var/ai_core_icon = show_radial_menu(src, src , iconstates, radius = 42)
+ var/atom/origin = src
+ if(!istype(loc, /turf))
+ origin = loc //We're inside of something!
+ var/ai_core_icon = show_radial_menu(src, origin, iconstates, radius = 42)
if(!ai_core_icon || incapacitated())
return
@@ -366,10 +400,6 @@
"Hibernate", "No", "No", "Yes") != "Yes")
return
- // We warned you.
- var/obj/structure/AIcore/latejoin_inactive/inactivecore = new(get_turf(src))
- transfer_fingerprints_to(inactivecore)
-
if(GLOB.announcement_systems.len)
var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
announcer.announce("AICRYO", real_name, mind.assigned_role, list())
@@ -829,8 +859,8 @@
return
ShutOffDoomsdayDevice()
builtInCamera.toggle_cam(user)
- var/obj/structure/AIcore/new_core = new /obj/structure/AIcore/deactivated(loc)//Spawns a deactivated terminal at AI location.
- new_core.circuit.battery = battery
+ //var/obj/structure/AIcore/new_core = new /obj/structure/AIcore/deactivated(loc)//Spawns a deactivated terminal at AI location.
+ //new_core.circuit.battery = battery
ai_restore_power()//So the AI initially has power.
control_disabled = TRUE //Can't control things remotely if you're stuck in a card!
radio_enabled = FALSE //No talking on the built-in radio for you either!
@@ -857,9 +887,11 @@
return can_see(M) //stop AIs from leaving windows open and using then after they lose vision
/mob/living/silicon/ai/proc/can_see(atom/A)
- if(isturf(loc)) //AI in core, check if on cameras
+ if(isturf(loc) || istype(loc, /obj/machinery/ai/data_core)) //AI in core, check if on cameras
//get_turf_pixel() is because APCs in maint aren't actually in view of the inner camera
//apc_override is needed here because AIs use their own APC when depowered
+ if(istype(loc, /obj/machinery/ai/data_core))
+ A = get_turf(loc)
return (GLOB.cameranet && GLOB.cameranet.checkTurfVis(get_turf_pixel(A))) || apc_override
//AI is carded/shunted
//view(src) returns nothing for carded/shunted AIs and they have X-ray vision so just use get_dist
@@ -907,9 +939,18 @@
/mob/living/silicon/ai/proc/add_malf_picker()
to_chat(src, "In the top right corner of the screen you will find the Malfunctions tab, where you can purchase various abilities, from upgraded surveillance to station ending doomsday devices.")
to_chat(src, "You are also capable of hacking APCs, which grants you more points to spend on your Malfunction powers. The drawback is that a hacked APC will give you away if spotted by the crew. Hacking an APC takes 30 seconds.")
+
view_core() //A BYOND bug requires you to be viewing your core before your verbs update
add_verb(src, /mob/living/silicon/ai/proc/choose_modules)
+ add_verb(src, /mob/living/silicon/ai/proc/toggle_download)
malf_picker = new /datum/module_picker
+ if(istype(loc, /obj/machinery/ai/data_core)) //A BYOND bug requires you to be viewing your core before your verbs update
+ var/obj/machinery/ai/data_core/core = loc
+ forceMove(get_turf(loc))
+ view_core()
+ sleep(1)
+ forceMove(core)
+
/mob/living/silicon/ai/reset_perspective(atom/A)
if(camera_light_on)
@@ -924,7 +965,7 @@
client.eye = A
else
end_multicam()
- if(isturf(loc))
+ if(isturf(loc) || istype(loc, /obj/machinery/ai/data_core))
if(eyeobj)
client.eye = eyeobj
client.perspective = EYE_PERSPECTIVE
diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm
index eff8c3f0a5fc..775d941fa9a3 100644
--- a/code/modules/mob/living/silicon/ai/ai_defense.dm
+++ b/code/modules/mob/living/silicon/ai/ai_defense.dm
@@ -1,55 +1,24 @@
/mob/living/silicon/ai/attacked_by(obj/item/I, mob/living/user, def_zone)
- if(I.force && I.damtype != STAMINA && stat != DEAD) //only sparks if real damage is dealt.
- spark_system.start()
- return ..()
-
+ return
/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M)
- if(!SSticker.HasRoundStarted())
- to_chat(M, "You cannot attack people before the game has started.")
- return
- ..()
+ return
/mob/living/silicon/ai/attack_slime(mob/living/simple_animal/slime/user)
return //immune to slimes
/mob/living/silicon/ai/blob_act(obj/structure/blob/B)
- if (stat != DEAD)
- adjustBruteLoss(60)
- updatehealth()
- return 1
- return 0
+ return
/mob/living/silicon/ai/emp_act(severity)
- . = ..()
- if(. & EMP_PROTECT_SELF)
- return
- disconnect_shell()
- if (prob(30))
- switch(pick(1,2))
- if(1)
- view_core()
- if(2)
- SSshuttle.requestEvac(src,"ALERT: Energy surge detected in AI core! Station integrity may be compromised! Initiati--%m091#ar-BZZT")
+ return
/mob/living/silicon/ai/ex_act(severity, target)
- switch(severity)
- if(1)
- gib()
- if(2)
- if (stat != DEAD)
- adjustBruteLoss(60)
- adjustFireLoss(60)
- if(3)
- if (stat != DEAD)
- adjustBruteLoss(30)
-
-
+ return
/mob/living/silicon/ai/bullet_act(obj/item/projectile/Proj)
- . = ..(Proj)
- updatehealth()
+ return
/mob/living/silicon/ai/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0)
return // no eyes, no flashing
diff --git a/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm b/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm
new file mode 100644
index 000000000000..09dd5a5c4b91
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/_ai_machinery.dm
@@ -0,0 +1,6 @@
+/obj/machinery/ai
+ name = "You shouldn't see this!"
+ desc = "You shouldn't see this!"
+ icon = 'icons/obj/machines/research.dmi'
+ icon_state = "RD-server-on"
+ density = TRUE
diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_core_display.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_core_display.dm
new file mode 100644
index 000000000000..6160893f94be
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/ai_core_display.dm
@@ -0,0 +1,39 @@
+/// Pictograph display which the AI can use to emote.
+/obj/machinery/status_display/ai_core
+ name = "\improper AI core display"
+ desc = "A small screen which the AI can use to present itself."
+
+ icon = 'icons/mob/ai.dmi'
+ icon_state = "ai-empty"
+
+ density = TRUE
+
+ var/mode = SD_BLANK
+ var/emotion = "Neutral"
+
+/obj/machinery/status_display/ai_core/Initialize()
+ . = ..()
+ GLOB.ai_core_displays.Add(src)
+
+/obj/machinery/status_display/ai_core/Destroy()
+ GLOB.ai_core_displays.Remove(src)
+ . = ..()
+
+/obj/machinery/status_display/ai_core/attack_ai(mob/living/silicon/ai/user)
+ if(isAI(user))
+ user.pick_icon()
+
+/obj/machinery/status_display/ai_core/proc/set_ai(new_icon_state, new_icon)
+ icon = initial(icon)
+ if(new_icon)
+ icon = new_icon
+ if(new_icon_state)
+ icon_state = new_icon_state
+
+
+/obj/machinery/status_display/ai_core/process()
+ if(stat & NOPOWER)
+ icon = initial(icon)
+ icon_state = initial(icon_state)
+ return PROCESS_KILL
+
diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm
new file mode 100644
index 000000000000..1de4bd12a22b
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm
@@ -0,0 +1,50 @@
+GLOBAL_LIST_EMPTY(data_cores)
+GLOBAL_VAR_INIT(primary_data_core, null)
+
+
+/obj/machinery/ai/data_core
+ name = "AI Data Core"
+ desc = "A complicated computer system capable of emulating the neural functions of a human at near-instantanous speeds."
+ icon = 'icons/obj/machines/telecomms.dmi'
+ icon_state = "hub"
+
+ var/primary = FALSE
+
+/obj/machinery/ai/data_core/Initialize()
+ ..()
+ GLOB.data_cores += src
+ if(primary && !GLOB.primary_data_core)
+ GLOB.primary_data_core = src
+ update_icon()
+
+/obj/machinery/ai/data_core/Destroy()
+ GLOB.data_cores -= src
+ if(GLOB.primary_data_core == src)
+ GLOB.primary_data_core = null
+
+ for(var/mob/living/silicon/ai/AI in contents)
+ AI.relocate()
+ ..()
+
+
+/obj/machinery/ai/data_core/proc/can_transfer_ai()
+ if(stat & (BROKEN|NOPOWER|EMPED))
+ return FALSE
+ return TRUE
+
+/obj/machinery/ai/data_core/proc/transfer_AI(mob/living/silicon/ai/AI)
+ AI.forceMove(src)
+ AI.eyeobj.forceMove(get_turf(src))
+
+/obj/machinery/ai/data_core/update_icon()
+ cut_overlays()
+
+ if(!(stat & (BROKEN|NOPOWER|EMPED)))
+ var/mutable_appearance/on_overlay = mutable_appearance(icon, "[initial(icon_state)]_on")
+ add_overlay(on_overlay)
+
+
+/obj/machinery/ai/data_core/primary
+ name = "primary AI Data Core"
+ desc = "A complicated computer system capable of emulating the neural functions of a human at near-instantanous speeds. This one has a scrawny and faded note saying: 'Primary AI Data Core'"
+ primary = TRUE
diff --git a/code/modules/mob/living/silicon/ai/decentralized/decentralized_os.dm b/code/modules/mob/living/silicon/ai/decentralized/decentralized_os.dm
new file mode 100644
index 000000000000..b543004f8ab1
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/decentralized_os.dm
@@ -0,0 +1,136 @@
+GLOBAL_DATUM_INIT(ai_os, /datum/ai_os, new)
+
+/datum/ai_os
+ var/name = "Decentralized Resource Management System (DRMS)"
+
+ var/total_cpu = 0
+
+ var/total_ram = 0
+
+ var/previous_cpu = 0
+ var/previous_ram = 0
+
+ var/list/cpu_assigned
+ var/list/ram_assigned
+
+/datum/ai_os/New()
+ update_hardware()
+ cpu_assigned = list()
+ ram_assigned = list()
+
+/datum/ai_os/proc/remove_ai(mob/living/silicon/ai/AI)
+ cpu_assigned.Remove(AI)
+ ram_assigned.Remove(AI)
+
+
+/datum/ai_os/proc/total_cpu_assigned()
+ var/total = 0
+ for(var/N in cpu_assigned)
+ total += cpu_assigned[N]
+ return total
+
+/datum/ai_os/proc/total_ram_assigned()
+ var/total = 0
+ for(var/N in ram_assigned)
+ total += ram_assigned[N]
+ return total
+
+/datum/ai_os/proc/update_hardware()
+ previous_cpu = total_cpu
+ previous_ram = total_ram
+ total_cpu = 0
+ total_ram = 0
+ for(var/obj/machinery/ai/expansion_card_holder/C in GLOB.expansion_card_holders)
+ if(!C.valid_holder() && !C.roundstart)
+ continue
+ for(var/CARD in C.installed_cards)
+ if(istype(CARD, /obj/item/processing_card))
+ var/obj/item/processing_card/PC = CARD
+ total_cpu += PC.tier
+ if(istype(CARD, /obj/item/memory_card))
+ var/obj/item/memory_card/MC = CARD
+ total_ram += MC.tier
+
+ update_allocations()
+
+/datum/ai_os/proc/update_allocations()
+ if(total_cpu >= previous_cpu && total_ram >= previous_ram)
+ return
+
+ var/list/ram_removal = list()
+ var/list/cpu_removal = list()
+
+ var/list/affected_AIs = list()
+
+
+ if(total_cpu < previous_cpu)
+ while(total_cpu < previous_cpu)
+ var/mob/living/silicon/ai/AI = pick(GLOB.ai_list)
+ if(cpu_assigned[AI] > 1)
+ cpu_removal[AI]++
+ previous_cpu--
+
+
+ if(total_ram < previous_ram)
+ while(total_ram < previous_ram)
+ var/mob/living/silicon/ai/AI = pick(GLOB.ai_list)
+ if(ram_assigned[AI] > 1)
+ ram_removal[AI]++
+ previous_ram--
+
+ for(var/A in ram_removal)
+ ram_assigned[A] = ram_assigned[A] - ram_removal[A]
+ affected_AIs |= A
+
+ for(var/A in cpu_removal)
+ cpu_assigned[A] = cpu_assigned[A] - cpu_removal[A]
+ affected_AIs |= A
+
+ to_chat(affected_AIs, "You have been deducted processing capabilities. Please contact your network administrator if you believe this to be an error.")
+
+
+/datum/ai_os/proc/add_cpu(mob/living/silicon/ai/AI, amount)
+ if(!AI || !amount)
+ return
+ if(!istype(AI))
+ return
+ cpu_assigned[AI] += amount
+
+ update_allocations()
+
+/datum/ai_os/proc/remove_cpu(mob/living/silicon/ai/AI, amount)
+ if(!AI || !amount)
+ return
+ if(!istype(AI))
+ return
+ cpu_assigned[AI] -= amount
+
+ update_allocations()
+
+/datum/ai_os/proc/add_ram(mob/living/silicon/ai/AI, amount)
+ if(!AI || !amount)
+ return
+ if(!istype(AI))
+ return
+ ram_assigned[AI] += amount
+
+ update_allocations()
+
+/datum/ai_os/proc/remove_ram(mob/living/silicon/ai/AI, amount)
+ if(!AI || !amount)
+ return
+ if(!istype(AI))
+ return
+ ram_assigned[AI] -= amount
+
+ update_allocations()
+
+
+/datum/ai_os/proc/clear_ai_resources(mob/living/silicon/ai/AI)
+ if(!AI || !istype(AI))
+ return
+
+ remove_ram(AI, ram_assigned[AI])
+ remove_cpu(AI, cpu_assigned[AI])
+
+ update_allocations()
diff --git a/code/modules/mob/living/silicon/ai/decentralized/expansion_card.dm b/code/modules/mob/living/silicon/ai/decentralized/expansion_card.dm
new file mode 100644
index 000000000000..2d392ffd8431
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/expansion_card.dm
@@ -0,0 +1,38 @@
+/obj/item/processing_card
+ name = "AI Processing Card"
+ desc = "An external processing card for crucial AI computational operations."
+ icon = 'icons/obj/module.dmi'
+ icon_state = "std_mod"
+ item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
+
+ flags_1 = CONDUCT_1
+ force = 5
+ w_class = WEIGHT_CLASS_SMALL
+ throwforce = 0
+ throw_speed = 3
+ throw_range = 7
+ materials = list(/datum/material/gold=50)
+
+ var/tier = 1
+
+
+/obj/item/memory_card
+ name = "AI Memory Card"
+ desc = "An external memory card for crucial AI process management."
+ icon = 'icons/obj/module.dmi'
+ icon_state = "std_mod"
+ item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
+
+ flags_1 = CONDUCT_1
+ force = 5
+ w_class = WEIGHT_CLASS_SMALL
+ throwforce = 0
+ throw_speed = 3
+ throw_range = 7
+ materials = list(/datum/material/gold=50)
+
+ var/tier = 1
diff --git a/code/modules/mob/living/silicon/ai/decentralized/expansion_card_holder.dm b/code/modules/mob/living/silicon/ai/decentralized/expansion_card_holder.dm
new file mode 100644
index 000000000000..5da512b2f7d5
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/expansion_card_holder.dm
@@ -0,0 +1,138 @@
+#define BASE_POWER_PER_CPU 250
+#define POWER_PER_CARD 150
+#define TEMP_LIMIT 323.15 //50C, much hotter than a normal server room for leniency :)
+
+GLOBAL_LIST_EMPTY(expansion_card_holders)
+
+/obj/machinery/ai/expansion_card_holder
+ name = "Expansion Card Bus"
+ desc = "A simple rack of bPCIe slots for installing expansion cards."
+ icon = 'icons/obj/machines/telecomms.dmi'
+ icon_state = "processor"
+
+ circuit = /obj/item/circuitboard/machine/expansion_card_holder
+
+ var/list/installed_cards
+
+ var/total_cpu = 0
+ var/total_ram = 0
+
+ var/max_cards = 2
+
+ var/was_valid_holder = FALSE
+ //Atmos hasn't run at the start so this has to be set to true if you map it in
+ var/roundstart = FALSE
+
+
+/obj/machinery/ai/expansion_card_holder/Initialize(mapload)
+ ..()
+ roundstart = mapload
+ installed_cards = list()
+ GLOB.expansion_card_holders += src
+ update_icon()
+
+/obj/machinery/ai/expansion_card_holder/Destroy()
+ installed_cards = list()
+ GLOB.expansion_card_holders -= src
+ //Recalculate all the CPUs and RAM :)
+ GLOB.ai_os.update_hardware()
+ ..()
+
+/obj/machinery/ai/expansion_card_holder/proc/valid_holder()
+ if(stat & (BROKEN|NOPOWER|EMPED))
+ return FALSE
+
+ var/turf/T = get_turf(src)
+ var/datum/gas_mixture/env = T.return_air()
+ if(!env)
+ return FALSE
+ var/total_moles = env.total_moles()
+ if(istype(T, /turf/open/space) || total_moles < 10)
+ return FALSE
+
+ if(env.return_temperature() > TEMP_LIMIT || !env.heat_capacity())
+ return FALSE
+ if(!was_valid_holder)
+ update_icon()
+ was_valid_holder = TRUE
+ return TRUE
+
+/obj/machinery/ai/expansion_card_holder/process()
+
+ if(valid_holder())
+
+ var/power_multiple = total_cpu ** (7/8)
+
+ var/total_usage = (power_multiple * BASE_POWER_PER_CPU) + POWER_PER_CARD * installed_cards.len
+ use_power(total_usage)
+
+ var/turf/T = get_turf(src)
+ var/datum/gas_mixture/env = T.return_air()
+ if(env.heat_capacity())
+ env.set_temperature(env.return_temperature() + total_usage / env.heat_capacity()) //assume all input power is dissipated
+ else if(was_valid_holder)
+ was_valid_holder = FALSE
+ cut_overlays()
+ GLOB.ai_os.update_hardware()
+
+
+/obj/machinery/ai/expansion_card_holder/update_icon()
+ cut_overlays()
+
+ if(!(stat & (BROKEN|NOPOWER|EMPED)))
+ var/mutable_appearance/on_overlay = mutable_appearance(icon, "[initial(icon_state)]_on")
+ add_overlay(on_overlay)
+
+/obj/machinery/ai/expansion_card_holder/attackby(obj/item/W, mob/living/user, params)
+ if(istype(W, /obj/item/processing_card) || istype(W, /obj/item/memory_card))
+ if(installed_cards.len >= max_cards)
+ to_chat(user, "[src] cannot fit the [W]!")
+ return ..()
+ to_chat(user, "You install [W] into [src].")
+ W.forceMove(src)
+ installed_cards += W
+ GLOB.ai_os.update_hardware()
+ if(istype(W, /obj/item/processing_card))
+ var/obj/item/processing_card/cpu_card = W
+ total_cpu += cpu_card.tier
+ if(istype(W, /obj/item/processing_card))
+ var/obj/item/memory_card/ram_card = W
+ total_ram += ram_card.tier
+ return FALSE
+ if(W.tool_behaviour == TOOL_CROWBAR)
+ if(installed_cards.len)
+ var/turf/T = get_turf(src)
+ for(var/obj/item/C in installed_cards)
+ C.forceMove(T)
+ total_cpu = 0
+ total_ram = 0
+ GLOB.ai_os.update_hardware()
+ to_chat(user, "You remove all the cards from [src]")
+ return FALSE
+ return ..()
+
+/obj/machinery/ai/expansion_card_holder/examine()
+ . = ..()
+ if(!valid_holder())
+ . += "A small screen is displaying the words 'OFFLINE.'"
+ . += "The machine has [installed_cards.len] cards out of a maximum of [max_cards] installed."
+ for(var/C in installed_cards)
+ . += "There is a [C] installed."
+ . += "Use a crowbar to remove cards."
+
+
+/obj/machinery/ai/expansion_card_holder/prefilled/Initialize()
+ ..()
+ var/obj/item/processing_card/cpu = new /obj/item/processing_card()
+ var/obj/item/memory_card/ram = new /obj/item/memory_card()
+
+ cpu.forceMove(src)
+ total_cpu++
+ ram.forceMove(src)
+ total_ram++
+ installed_cards += cpu
+ installed_cards += ram
+ GLOB.ai_os.update_hardware()
+
+#undef BASE_POWER_PER_CPU
+#undef POWER_PER_CARD
diff --git a/code/modules/mob/living/silicon/ai/decentralized/management/ai_controlpanel.dm b/code/modules/mob/living/silicon/ai/decentralized/management/ai_controlpanel.dm
new file mode 100644
index 000000000000..5ed939cd6227
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/management/ai_controlpanel.dm
@@ -0,0 +1,277 @@
+#define AI_DOWNLOAD_PER_PROCESS 0.5
+
+/obj/machinery/computer/ai_control_console
+ name = "\improper AI control console"
+ desc = "Used for accessing the central AI repository from which AIs can be downloaded or uploaded."
+ req_access = list(ACCESS_RD)
+ circuit = /obj/item/circuitboard/computer/aifixer
+ icon_keyboard = "tech_key"
+ icon_screen = "ai-fixer"
+ light_color = LIGHT_COLOR_PINK
+
+ authenticated = FALSE
+
+ var/obj/item/aicard/intellicard
+
+ var/mob/living/silicon/ai/downloading
+ var/mob/user_downloading
+ var/download_progress = 0
+
+ circuit = /obj/item/circuitboard/computer/ai_upload_download
+
+/obj/machinery/computer/ai_control_console/attackby(obj/item/W, mob/living/user, params)
+ if(istype(W, /obj/item/aicard))
+ if(intellicard)
+ to_chat(user, "There's already an IntelliCard inserted!")
+ return ..()
+ to_chat(user, "You inserted [W].")
+ W.forceMove(src)
+ intellicard = W
+ return FALSE
+ if(istype(W, /obj/item/mmi/posibrain))
+ var/obj/item/mmi/posibrain/brain = W
+ if(!brain.brainmob)
+ to_chat(user, "[W] is not active!")
+ return ..()
+ SSticker.mode.remove_antag_for_borging(brain.brainmob.mind)
+ if(!istype(brain.laws, /datum/ai_laws/ratvar))
+ remove_servant_of_ratvar(brain.brainmob, TRUE)
+ var/mob/living/silicon/ai/A = null
+
+ var/datum/ai_laws/laws = new
+ laws.set_laws_config()
+
+ if (brain.overrides_aicore_laws)
+ A = new /mob/living/silicon/ai(loc, brain.laws, brain.brainmob)
+ else
+ A = new /mob/living/silicon/ai(loc, laws, brain.brainmob)
+
+ A.relocate(TRUE)
+
+ if(brain.force_replace_ai_name)
+ A.fully_replace_character_name(A.name, brain.replacement_ai_name())
+ SSblackbox.record_feedback("amount", "ais_created", 1)
+ qdel(W)
+ to_chat(user, "AI succesfully uploaded.")
+ return FALSE
+
+ return ..()
+
+/obj/machinery/computer/ai_control_console/process()
+ if(downloading && download_progress >= 50)
+ to_chat(downloading, "Warning! Download is 50% completed! Download location: [get_area(src)]!")
+ if(downloading && download_progress >= 100)
+ if(intellicard)
+ downloading.transfer_ai(AI_TRANS_TO_CARD, user_downloading, null, intellicard)
+ intellicard.forceMove(get_turf(src))
+ intellicard = null
+ stop_download(TRUE)
+
+ if(downloading)
+ if(!downloading.can_download)
+ stop_download()
+ return
+ download_progress += AI_DOWNLOAD_PER_PROCESS * downloading.downloadSpeedModifier
+
+
+/obj/machinery/computer/ai_control_console/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "AiControlPanel", name)
+ ui.open()
+
+/obj/machinery/computer/ai_control_console/ui_data(mob/living/carbon/human/user)
+ var/list/data = list()
+
+ data["authenticated"] = authenticated
+
+ if(issilicon(user))
+ var/mob/living/silicon/borg = user
+ data["username"] = borg.name
+ data["has_access"] = TRUE
+
+ if(IsAdminGhost(user))
+ data["username"] = user.client.holder.admin_signature
+ data["has_access"] = TRUE
+
+ if(ishuman(user))
+ var/username = user.get_authentification_name("Unknown")
+ data["username"] = user.get_authentification_name("Unknown")
+ if(username != "Unknown")
+ var/datum/data/record/record
+ for(var/RP in GLOB.data_core.general)
+ var/datum/data/record/R = RP
+
+ if(!istype(R))
+ continue
+ if(R.fields["name"] == username)
+ record = R
+ break
+ if(record)
+ if(istype(record.fields["photo_front"], /obj/item/photo))
+ var/obj/item/photo/P1 = record.fields["photo_front"]
+ var/icon/picture = icon(P1.picture.picture_image)
+ picture.Crop(10, 32, 22, 22)
+ var/md5 = md5(fcopy_rsc(picture))
+
+ if(!SSassets.cache["photo_[md5]_cropped.png"])
+ SSassets.transport.register_asset("photo_[md5]_cropped.png", picture)
+ SSassets.transport.send_assets(user, list("photo_[md5]_cropped.png" = picture))
+
+ data["user_image"] = SSassets.transport.get_asset_url("photo_[md5]_cropped.png")
+ data["has_access"] = check_access(user.get_idcard())
+
+ if(!authenticated)
+ return data
+
+ data["intellicard"] = intellicard
+ if(intellicard && intellicard.AI)
+ data["intellicard_ai"] = intellicard.AI.real_name
+ data["intellicard_ai_health"] = intellicard.AI.health
+ else
+ data["intellicard_ai"] = null
+ data["intellicard_ai_health"] = 0
+
+ data["can_upload"] = available_ai_cores()
+
+ if(downloading)
+ data["downloading"] = downloading.real_name
+ data["download_progress"] = download_progress
+ else
+ data["downloading"] = null
+ data["download_progress"] = 0
+
+ data["ais"] = list()
+
+ for(var/mob/living/silicon/ai/A in GLOB.ai_list)
+ var/being_hijacked = A.hijacking ? TRUE : FALSE
+ data["ais"] += list(list("name" = A.name, "ref" = REF(A), "can_download" = A.can_download, "health" = A.health, "active" = A.mind ? TRUE : FALSE, "being_hijacked" = being_hijacked))
+
+ data["is_infiltrator"] = is_infiltrator(user)
+
+ return data
+
+/obj/machinery/computer/ai_control_console/proc/stop_download(silent = FALSE)
+ if(downloading)
+ if(!silent)
+ to_chat(downloading, "Download stopped.")
+ downloading = null
+ user_downloading = null
+ download_progress = 0
+
+/obj/machinery/computer/ai_control_console/proc/upload_ai(silent = FALSE)
+ to_chat(intellicard.AI, "You are being uploaded. Please stand by...")
+ intellicard.AI.radio_enabled = TRUE
+ intellicard.AI.control_disabled = FALSE
+ intellicard.AI = null
+ intellicard.AI.relocate(TRUE)
+
+/obj/machinery/computer/ai_control_console/ui_act(action, params)
+ if(..())
+ return
+
+ if(!authenticated)
+ if(action == "log_in")
+ if(issilicon(usr))
+ authenticated = TRUE
+ return
+
+ if(IsAdminGhost(usr))
+ authenticated = TRUE
+
+ var/mob/living/carbon/human/H = usr
+ if(!istype(H))
+ return
+
+ if(check_access(H.get_idcard()))
+ authenticated = TRUE
+ return
+
+ switch(action)
+ if("log_out")
+ authenticated = FALSE
+ . = TRUE
+ if("upload_intellicard")
+ if(!intellicard || downloading)
+ return
+ if(!intellicard.AI)
+ return
+ upload_ai()
+
+ if("eject_intellicard")
+ stop_download()
+ intellicard.forceMove(get_turf(src))
+ intellicard = null
+
+ if("stop_download")
+ stop_download()
+
+ if("start_download")
+ if(!intellicard || downloading)
+ return
+ var/mob/living/silicon/ai/target = locate(params["download_target"])
+ if(!target || !istype(target))
+ return
+ if(!target.can_download)
+ return
+ downloading = target
+ to_chat(downloading, "Warning! Someone is attempting to download you from [get_area(src)]!")
+ user_downloading = usr
+ download_progress = 0
+ . = TRUE
+ if("start_hijack")
+ var/mob/user = usr
+ if(!is_infiltrator(usr))
+ return
+ if(!istype(user.get_active_held_item(), /obj/item/ai_hijack_device))
+ to_chat(user, span_warning("You need to be holding the serial exploitation unit to initiate the hijacking process!"))
+ return
+ var/obj/item/ai_hijack_device/device = user.get_active_held_item()
+ var/mob/living/silicon/ai/target = locate(params["target_ai"])
+ if(!target || !isAI(target))
+ return
+ var/mob/living/silicon/ai/A = target
+ if(A.mind && A.mind.has_antag_datum(/datum/antagonist/hijacked_ai))
+ to_chat(user, span_warning("[A] has already been hijacked!"))
+ return
+ if(A.stat == DEAD)
+ to_chat(user, span_warning("[A] is dead!"))
+ return
+ if(A.hijacking)
+ to_chat(user, span_warning("[A] is already in the process of being hijacked!"))
+ return
+ user.visible_message(span_warning("[user] begins furiously typing something into [src]..."))
+ if(do_after(user, 55, target = src))
+ user.dropItemToGround(device)
+ device.forceMove(A)
+ A.hijacking = device
+ A.hijack_start = world.time
+ A.update_icons()
+ to_chat(A, span_danger("Unknown device connected to /dev/ttySL0"))
+ to_chat(A, span_danger("Connected at 115200 bps"))
+ to_chat(A, span_binarysay("ntai login: root"))
+ to_chat(A, span_binarysay("Password: *****r2"))
+ to_chat(A, span_binarysay("$ dd from=/dev/ttySL0 of=/tmp/ai-hijack bs=4096 && chmod +x /tmp/ai-hijack && tmp/ai-hijack"))
+ to_chat(A, span_binarysay("111616 bytes (112 KB, 109 KiB) copied, 1 s, 14.4 KB/s"))
+ message_admins("[ADMIN_LOOKUPFLW(user)] has attached a hijacking device to [ADMIN_LOOKUPFLW(A)]!")
+ notify_ghosts("[user] has begun to hijack [A]!", source = src, action = NOTIFY_ORBIT, ghost_sound = 'sound/machines/chime.ogg')
+
+ if("stop_hijack")
+ var/mob/living/silicon/ai/target = locate(params["target_ai"])
+ if(!target || !isAI(target))
+ return
+ var/mob/living/silicon/ai/A = target
+ var/mob/user = usr
+
+ user.visible_message(span_danger("[user] attempts to cancel a process on [src]."), span_notice("An unknown process seems to be interacting with [A]! You attempt to end the proccess.."))
+ if (do_after(user,100,target = src))
+ A.hijacking.forceMove(get_turf(src))
+ A.hijacking = null
+ A.hijack_start = 0
+ A.update_icons()
+ to_chat(A, span_bolddanger("Unknown device disconnected. Systems confirmed secure."))
+ else
+ to_chat(user, span_notice("You fail to remove the device."))
+
+
+#undef AI_DOWNLOAD_PER_PROCESS
diff --git a/code/modules/mob/living/silicon/ai/decentralized/management/ai_dashboard.dm b/code/modules/mob/living/silicon/ai/decentralized/management/ai_dashboard.dm
new file mode 100644
index 000000000000..0fd95e2c48ee
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/management/ai_dashboard.dm
@@ -0,0 +1,231 @@
+/datum/ai_dashboard
+ var/mob/living/silicon/ai/owner
+
+ var/available_projects
+
+ //What we're currently using, not what we're being granted by the ai data core
+ var/cpu_usage
+ var/ram_usage
+
+ var/completed_projects
+
+ var/running_projects
+
+/datum/ai_dashboard/New(mob/living/silicon/ai/new_owner)
+ if(!istype(new_owner))
+ qdel(src)
+ owner = new_owner
+ available_projects = list()
+ completed_projects = list()
+ running_projects = list()
+ cpu_usage = list()
+ ram_usage = list()
+
+ for(var/path in subtypesof(/datum/ai_project))
+ available_projects += new path(owner, src)
+
+
+/datum/ai_dashboard/proc/is_interactable(mob/user)
+ if(user != owner || owner.incapacitated())
+ return FALSE
+ if(owner.control_disabled)
+ to_chat(user, "Wireless control is disabled.")
+ return FALSE
+ return TRUE
+
+/datum/ai_dashboard/ui_status(mob/user)
+ if(is_interactable(user))
+ return ..()
+ return UI_CLOSE
+
+/datum/ai_dashboard/ui_state(mob/user)
+ return GLOB.always_state
+
+/datum/ai_dashboard/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "AiDashboard")
+ ui.open()
+
+/datum/ai_dashboard/ui_data(mob/user)
+ if(!owner || user != owner)
+ return
+ var/list/data = list()
+
+ data["current_cpu"] = GLOB.ai_os.cpu_assigned[owner] ? GLOB.ai_os.cpu_assigned[owner] : 0
+ data["current_ram"] = GLOB.ai_os.ram_assigned[owner] ? GLOB.ai_os.ram_assigned[owner] : 0
+
+ var/total_cpu_used = 0
+ for(var/I in cpu_usage)
+ total_cpu_used += cpu_usage[I]
+
+ var/total_ram_used = 0
+ for(var/I in ram_usage)
+ total_ram_used += ram_usage[I]
+
+ data["used_cpu"] = total_cpu_used
+ data["used_ram"] = total_ram_used
+
+ data["max_cpu"] = GLOB.ai_os.total_cpu
+ data["max_ram"] = GLOB.ai_os.total_ram
+
+ data["categories"] = GLOB.ai_project_categories
+ data["available_projects"] = list()
+
+ var/turf/current_turf = get_turf(owner)
+
+ data["integrity"] = owner.health
+
+ data["location_name"] = get_area(current_turf)
+
+ data["location_coords"] = "[current_turf.x], [current_turf.y], [current_turf.z]"
+ var/datum/gas_mixture/env = current_turf.return_air()
+ data["temperature"] = env.return_temperature()
+
+ for(var/datum/ai_project/AP as anything in available_projects)
+ data["available_projects"] += list(list("name" = AP.name, "description" = AP.description, "ram_required" = AP.ram_required, "available" = AP.canResearch(), "research_cost" = AP.research_cost, "research_progress" = AP.research_progress,
+ "assigned_cpu" = cpu_usage[AP.name] ? cpu_usage[AP.name] : 0, "research_requirements" = AP.research_requirements, "category" = AP.category))
+
+
+ data["completed_projects"] = list()
+ for(var/datum/ai_project/P as anything in completed_projects)
+ data["completed_projects"] += list(list("name" = P.name, "description" = P.description, "ram_required" = P.ram_required, "running" = P.running, "category" = P.category))
+
+ return data
+
+/datum/ai_dashboard/ui_act(action, params)
+ if(..())
+ return
+ if(!is_interactable(usr))
+ return
+
+ switch(action)
+ if("run_project")
+ var/datum/ai_project/project = get_project_by_name(params["project_name"])
+ if(!project || !run_project(project))
+ to_chat(owner, "Unable to run the program '[params["project_name"]].'")
+ else
+ to_chat(owner, "Spinning up instance of [params["project_name"]]...")
+ . = TRUE
+ if("stop_project")
+ var/datum/ai_project/project = get_project_by_name(params["project_name"])
+ if(project)
+ stop_project(project)
+ to_chat(owner, "Instance of [params["project_name"]] succesfully ended.")
+ . = TRUE
+ if("allocate_cpu")
+ var/datum/ai_project/project = get_project_by_name(params["project_name"])
+
+ if(!project || !set_project_cpu(project, text2num(params["amount"])))
+ to_chat(owner, "Unable to add CPU to [params["project_name"]]. Either not enough free CPU or project is unavailable.")
+ . = TRUE
+
+/datum/ai_dashboard/proc/get_project_by_name(project_name, only_available = FALSE)
+ for(var/datum/ai_project/AP as anything in available_projects)
+ if(AP.name == project_name)
+ return AP
+ if(!only_available)
+ for(var/datum/ai_project/AP as anything in completed_projects)
+ if(AP.name == project_name)
+ return AP
+
+ return FALSE
+
+/datum/ai_dashboard/proc/set_project_cpu(datum/ai_project/project, amount)
+ var/current_cpu = GLOB.ai_os.cpu_assigned[owner] ? GLOB.ai_os.cpu_assigned[owner] : 0
+ if(!project.canResearch())
+ return FALSE
+
+ var/total_cpu_used = 0
+ for(var/I in cpu_usage)
+ if(I == project.name)
+ continue
+ total_cpu_used += cpu_usage[I]
+
+
+ if((current_cpu - total_cpu_used) >= amount)
+ cpu_usage[project.name] += amount
+ return TRUE
+ return FALSE
+
+
+/datum/ai_dashboard/proc/run_project(datum/ai_project/project)
+ var/current_ram = GLOB.ai_os.ram_assigned[owner] ? GLOB.ai_os.ram_assigned[owner] : 0
+
+ var/total_ram_used = 0
+ for(var/I in ram_usage)
+ total_ram_used += ram_usage[I]
+
+ if(current_ram - total_ram_used >= project.ram_required && project.canRun())
+ project.run_project()
+ ram_usage[project.name] += project.ram_required
+ return TRUE
+ return FALSE
+
+/datum/ai_dashboard/proc/stop_project(datum/ai_project/project)
+ project.stop()
+ if(ram_usage[project.name])
+ ram_usage[project.name] -= project.ram_required
+ return project.ram_required
+
+ return FALSE
+
+/datum/ai_dashboard/proc/has_completed_projects(project_name)
+ for(var/datum/ai_project/P as anything in completed_projects)
+ if(P.name == project_name)
+ return TRUE
+ return FALSE
+
+
+/datum/ai_dashboard/proc/finish_project(datum/ai_project/project, notify_user = TRUE)
+ available_projects -= project
+ completed_projects += project
+ cpu_usage[project.name] = 0
+ if(notify_user)
+ to_chat(owner, "[project] has been completed. User input required.")
+
+
+//Stuff is handled in here per tick :)
+/datum/ai_dashboard/proc/tick(seconds)
+ var/current_cpu = GLOB.ai_os.cpu_assigned[owner] ? GLOB.ai_os.cpu_assigned[owner] : 0
+ var/current_ram = GLOB.ai_os.ram_assigned[owner] ? GLOB.ai_os.ram_assigned[owner] : 0
+
+ var/total_ram_used = 0
+ for(var/I in ram_usage)
+ total_ram_used += ram_usage[I]
+ var/total_cpu_used = 0
+ for(var/I in cpu_usage)
+ total_cpu_used += cpu_usage[I]
+
+ var/reduction_of_resources = FALSE
+
+ if(total_ram_used > current_ram)
+ while(total_ram_used > current_ram)
+ for(var/I in ram_usage)
+ var/datum/ai_project/project = get_project_by_name(I)
+ total_ram_used -= stop_project(project)
+ reduction_of_resources = TRUE
+
+ if(total_cpu_used > current_cpu)
+ while(total_cpu_used > current_cpu)
+ for(var/I in cpu_usage)
+ if(cpu_usage[I] > 0)
+ cpu_usage[I]--
+ total_cpu_used--
+ reduction_of_resources = TRUE
+
+ if(reduction_of_resources)
+ to_chat(owner, "Lack of computational capacity. Some programs may have been stopped.")
+
+ for(var/project_being_researched in cpu_usage)
+ if(!cpu_usage[project_being_researched])
+ continue
+ var/used_cpu = round(cpu_usage[project_being_researched] * seconds, 1)
+ var/datum/ai_project/project = get_project_by_name(project_being_researched, TRUE)
+ if(!project)
+ cpu_usage[project_being_researched] = 0
+ continue
+ project.research_progress += used_cpu
+ if(project.research_progress > project.research_cost)
+ finish_project(project)
+
diff --git a/code/modules/mob/living/silicon/ai/decentralized/management/ai_server_overview.dm b/code/modules/mob/living/silicon/ai/decentralized/management/ai_server_overview.dm
new file mode 100644
index 000000000000..113a3e6e48bc
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/management/ai_server_overview.dm
@@ -0,0 +1,28 @@
+/obj/machinery/computer/ai_server_console
+ name = "\improper AI server overview console"
+ desc = "Used for monitoring the various servers assigned to the AI network."
+ req_access = list(ACCESS_RD)
+ circuit = /obj/item/circuitboard/computer/aifixer
+ icon_keyboard = "tech_key"
+ icon_screen = "ai-fixer"
+ light_color = LIGHT_COLOR_PINK
+
+ circuit = /obj/item/circuitboard/computer/ai_server_overview
+
+/obj/machinery/computer/ai_server_console/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "AiServerConsole", name)
+ ui.open()
+
+/obj/machinery/computer/ai_server_console/ui_data(mob/living/carbon/human/user)
+ var/list/data = list()
+
+ data["servers"] = list()
+ for(var/obj/machinery/ai/expansion_card_holder/holder in GLOB.expansion_card_holders)
+ var/turf/current_turf = get_turf(holder)
+ var/datum/gas_mixture/env = current_turf.return_air()
+ data["servers"] += list(list("area" = get_area(holder), "working" = holder.valid_holder(), "total_cpu" = holder.total_cpu, "ram" = holder.total_ram, "card_capacity" = "[holder.installed_cards.len]/[holder.max_cards]", "temp" = env.return_temperature()))
+
+ return data
+
diff --git a/code/modules/mob/living/silicon/ai/decentralized/management/resource_distribution.dm b/code/modules/mob/living/silicon/ai/decentralized/management/resource_distribution.dm
new file mode 100644
index 000000000000..c60de3d1f5da
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/management/resource_distribution.dm
@@ -0,0 +1,187 @@
+/obj/machinery/computer/ai_resource_distribution
+ name = "\improper AI system resource distribution"
+ desc = "Used for distributing processing resources across the current artificial intelligences."
+ req_access = list(ACCESS_ROBOTICS)
+ circuit = /obj/item/circuitboard/computer/aifixer
+ icon_keyboard = "tech_key"
+ icon_screen = "ai-fixer"
+ light_color = LIGHT_COLOR_PINK
+
+ authenticated = FALSE
+
+ var/human_only = FALSE
+
+ circuit = /obj/item/circuitboard/computer/ai_resource_distribution
+
+
+/obj/machinery/computer/ai_resource_distribution/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "AiResources", name)
+ ui.open()
+
+/obj/machinery/computer/ai_resource_distribution/ui_data(mob/living/carbon/human/user)
+ var/list/data = list()
+
+ data["authenticated"] = authenticated
+
+ if(issilicon(user))
+ var/mob/living/silicon/borg = user
+ data["username"] = borg.name
+ data["has_access"] = TRUE
+
+ if(IsAdminGhost(user))
+ data["username"] = user.client.holder.admin_signature
+ data["has_access"] = TRUE
+
+ if(ishuman(user))
+ var/username = user.get_authentification_name("Unknown")
+ data["username"] = user.get_authentification_name("Unknown")
+ if(username != "Unknown")
+ var/datum/data/record/record
+ for(var/RP in GLOB.data_core.general)
+ var/datum/data/record/R = RP
+
+ if(!istype(R))
+ continue
+ if(R.fields["name"] == username)
+ record = R
+ break
+ if(record)
+ if(istype(record.fields["photo_front"], /obj/item/photo))
+ var/obj/item/photo/P1 = record.fields["photo_front"]
+ var/icon/picture = icon(P1.picture.picture_image)
+ picture.Crop(10, 32, 22, 22)
+ var/md5 = md5(fcopy_rsc(picture))
+
+ if(!SSassets.cache["photo_[md5]_cropped.png"])
+ SSassets.transport.register_asset("photo_[md5]_cropped.png", picture)
+ SSassets.transport.send_assets(user, list("photo_[md5]_cropped.png" = picture))
+
+ data["user_image"] = SSassets.transport.get_asset_url("photo_[md5]_cropped.png")
+ data["has_access"] = check_access(user.get_idcard())
+
+ if(!authenticated)
+ return data
+
+
+ data["total_cpu"] = GLOB.ai_os.total_cpu
+ data["total_ram"] = GLOB.ai_os.total_ram
+
+ data["assigned_cpu"] = GLOB.ai_os.cpu_assigned
+ data["assigned_ram"] = GLOB.ai_os.ram_assigned
+
+
+ data["total_assigned_cpu"] = GLOB.ai_os.total_cpu_assigned()
+ data["total_assigned_ram"] = GLOB.ai_os.total_ram_assigned()
+
+ data["human_only"] = human_only
+
+
+ data["ais"] = list()
+
+ for(var/mob/living/silicon/ai/A in GLOB.ai_list)
+ data["ais"] += list(list("name" = A.name, "ref" = REF(A), "assigned_cpu" = data["assigned_cpu"][A] ? data["assigned_cpu"][A] : 0, "assigned_ram" = data["assigned_ram"][A] ? data["assigned_ram"][A] : 0))
+
+ return data
+
+/obj/machinery/computer/ai_resource_distribution/ui_act(action, params)
+ if(..())
+ return
+
+ if(!authenticated)
+ if(action == "log_in")
+ if(issilicon(usr))
+ authenticated = TRUE
+ return
+
+ if(IsAdminGhost(usr))
+ authenticated = TRUE
+
+
+
+
+ var/mob/living/carbon/human/H = usr
+ if(!istype(H))
+ return
+
+ if(check_access(H.get_idcard()))
+ authenticated = TRUE
+ return
+
+ var/is_human = ishuman(usr)
+
+ switch(action)
+ if("log_out")
+ authenticated = FALSE
+ . = TRUE
+
+ if("clear_ai_resources")
+ var/mob/living/silicon/ai/target_ai = locate(params["targetAI"])
+ if(!istype(target_ai))
+ return
+
+ GLOB.ai_os.clear_ai_resources(target_ai)
+ . = TRUE
+
+ if("add_cpu")
+ var/mob/living/silicon/ai/target_ai = locate(params["targetAI"])
+ if(!istype(target_ai))
+ return
+ if(human_only && !is_human)
+ to_chat(usr, "CAPTCHA check failed. This console is NOT silicon operable. Please call for human assistance.")
+ return
+
+ if(GLOB.ai_os.total_cpu_assigned() >= GLOB.ai_os.total_cpu)
+ return
+ GLOB.ai_os.add_cpu(target_ai, 1)
+ . = TRUE
+
+ if("remove_cpu")
+ var/mob/living/silicon/ai/target_ai = locate(params["targetAI"])
+ if(!istype(target_ai))
+ return
+ if(human_only && !is_human)
+ to_chat(usr, "CAPTCHA check failed. This console is NOT silicon operable. Please call for human assistance.")
+ return
+
+ var/current_cpu = GLOB.ai_os.cpu_assigned[target_ai]
+
+ if(current_cpu <= 0)
+ return
+ GLOB.ai_os.remove_cpu(target_ai, 1)
+ . = TRUE
+
+ if("add_ram")
+ var/mob/living/silicon/ai/target_ai = locate(params["targetAI"])
+ if(!istype(target_ai))
+ return
+ if(human_only && !is_human)
+ to_chat(usr, "CAPTCHA check failed. This console is NOT silicon operable. Please call for human assistance.")
+ return
+
+ if(GLOB.ai_os.total_ram_assigned() >= GLOB.ai_os.total_ram)
+ return
+ GLOB.ai_os.add_ram(target_ai, 1)
+ . = TRUE
+
+ if("remove_ram")
+ var/mob/living/silicon/ai/target_ai = locate(params["targetAI"])
+ if(!istype(target_ai))
+ return
+ if(human_only && !is_human)
+ to_chat(usr, "CAPTCHA check failed. This console is NOT silicon operable. Please call for human assistance.")
+ return
+
+ var/current_ram = GLOB.ai_os.ram_assigned[target_ai]
+
+ if(current_ram <= 0)
+ return
+ GLOB.ai_os.remove_ram(target_ai, 1)
+ . = TRUE
+ if("toggle_human_status")
+ if(!is_human)
+ to_chat(usr, "CAPTCHA check failed. This function is NOT silicon operable. Please call for human assistance.")
+ return
+ human_only = !human_only
+ to_chat(usr, "This console is now operable by [human_only ? "humans only." : "humans and silicons."]")
diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/_ai_project.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/_ai_project.dm
new file mode 100644
index 000000000000..8db29448e5d0
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/projects/_ai_project.dm
@@ -0,0 +1,57 @@
+//AI Project Categories.
+#define AI_PROJECT_HUDS "Sensor HUDs"
+#define AI_PROJECT_CAMERAS "Visiblity Upgrades"
+#define AI_PROJECT_MISC "Misc."
+
+GLOBAL_LIST_INIT(ai_project_categories, list(
+ AI_PROJECT_HUDS,
+ AI_PROJECT_CAMERAS,
+ AI_PROJECT_MISC
+))
+
+GLOBAL_LIST_EMPTY(ai_projects)
+
+/datum/ai_project
+ ///Name of the project. This is used as an ID so please keep all names unique (Or refactor it to use an ID like you should)
+ var/name = "DEBUG"
+ var/description = "DEBUG"
+ var/research_progress = 0
+ var/category = AI_PROJECT_MISC
+ ///Research cost of project in seconds of CPU time.
+ var/research_cost = 0
+ var/ram_required = 0
+ var/running = FALSE
+ //Text for canResearch()
+ var/research_requirements = "None"
+
+ var/mob/living/silicon/ai/ai
+ var/datum/ai_dashboard/dashboard
+
+/datum/ai_project/New(new_ai, new_dash)
+ ai = new_ai
+ dashboard = new_dash
+ if(!ai || !dashboard)
+ qdel(src)
+ ..()
+
+/datum/ai_project/proc/canResearch()
+ return TRUE
+
+/datum/ai_project/proc/run_project(force_run = FALSE)
+ SHOULD_CALL_PARENT(TRUE)
+ if(!force_run)
+ if(!canRun())
+ return FALSE
+ running = TRUE
+ return TRUE
+
+
+/datum/ai_project/proc/stop()
+ SHOULD_CALL_PARENT(TRUE)
+ running = FALSE
+ return TRUE
+
+//Important! This isn't for checking processing requirements. That is checked on the AI for ease of references (See ai_dashboard.dm). This is just for special cases (Like uhh, not wanting the program to run while X runs or similar)
+/datum/ai_project/proc/canRun()
+ SHOULD_CALL_PARENT(TRUE)
+ return !running
diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/ai_huds.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/ai_huds.dm
new file mode 100644
index 000000000000..ceef8e7a0818
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/projects/ai_huds.dm
@@ -0,0 +1,55 @@
+/datum/ai_project/security_hud
+ name = "Advanced Security HUD"
+ description = "Using experimental long range passive sensors should allow you to detect various implants such as loyalty implants and tracking implants."
+ research_cost = 1000
+ ram_required = 2
+ research_requirements = "None"
+ category = AI_PROJECT_HUDS
+
+/datum/ai_project/security_hud/run_project(force_run = FALSE)
+ . = ..(force_run)
+ if(!.)
+ return .
+ ai.sec_hud = DATA_HUD_SECURITY_ADVANCED
+ if(ai.sensors_on)
+ ai.toggle_sensors()
+ ai.toggle_sensors()
+
+
+/datum/ai_project/security_hud/stop()
+ if(ai.sensors_on) //HUDs are weird. This has to be first so we're removed from the "advanced" HUD. It checks the sec_hud variable to see which one we remove from first.
+ ai.toggle_sensors()
+ ai.sec_hud = DATA_HUD_SECURITY_BASIC
+
+ ai.toggle_sensors()
+ ..()
+
+/datum/ai_project/diag_med_hud
+ name = "Advanced Medical & Diagnostic HUD"
+ description = "Various data processing optimizations should allow you to gain extra knowledge about users when your medical and diagnostic hud is active."
+ research_cost = 750
+ ram_required = 1
+ research_requirements = "None"
+ category = AI_PROJECT_HUDS
+
+/datum/ai_project/diag_med_hud/run_project(force_run = FALSE)
+ . = ..(force_run)
+ if(!.)
+ return .
+ ai.d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED
+ ai.med_hud = DATA_HUD_MEDICAL_ADVANCED
+
+ if(ai.sensors_on)
+ ai.toggle_sensors()
+ ai.toggle_sensors()
+
+
+/datum/ai_project/diag_med_hud/stop()
+ if(ai.sensors_on) //HUDs are weird. This has to be first so we're removed from the "advanced" HUD. It checks the d_hud and med_hud variable to see which one we remove from first.
+ ai.toggle_sensors()
+
+ ai.d_hud = DATA_HUD_DIAGNOSTIC_BASIC
+ ai.med_hud = DATA_HUD_MEDICAL_BASIC
+
+ ai.toggle_sensors()
+ ..()
diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/camera_mobility.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/camera_mobility.dm
new file mode 100644
index 000000000000..cc11777134b9
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/projects/camera_mobility.dm
@@ -0,0 +1,22 @@
+/datum/ai_project/camera_speed
+ name = "Optimised Camera Acceleration"
+ description = "Using advanced deep learning algorithms you could boost your camera traverse speed."
+ research_cost = 500
+ ram_required = 1
+ research_requirements = "None"
+ category = AI_PROJECT_CAMERAS
+
+/datum/ai_project/camera_speed/run_project(force_run = FALSE)
+ . = ..(force_run)
+ if(!.)
+ return .
+ ai.max_camera_sprint *= 2
+ ai.sprint *= 2
+
+
+/datum/ai_project/camera_speed/stop()
+ ai.max_camera_sprint *= 0.5
+ ai.sprint *= 0.5
+ ..()
+
+
diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/examine.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/examine.dm
new file mode 100644
index 000000000000..f04fb24be73c
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/projects/examine.dm
@@ -0,0 +1,25 @@
+
+
+/datum/ai_project/examine_humans
+ name = "Examination Upgrade"
+ description = "Using experimental image enhancing algorithms will allow you to examine humans, albeit you won't be able to point out every detail.."
+ research_cost = 2500
+ ram_required = 3
+ research_requirements = "Advanced Security HUD & Advanced Medical & Diagnostic HUD"
+ category = AI_PROJECT_CAMERAS
+
+
+/datum/ai_project/examine_humans/canResearch()
+ return (dashboard.has_completed_projects("Advanced Security HUD") && dashboard.has_completed_projects("Advanced Medical & Diagnostic HUD"))
+
+/datum/ai_project/examine_humans/run_project(force_run = FALSE)
+ . = ..(force_run)
+ if(!.)
+ return .
+ ai.canExamineHumans = TRUE
+
+/datum/ai_project/examine_humans/stop()
+ ai.canExamineHumans = FALSE
+ ..()
+
+
diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/firewall.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/firewall.dm
new file mode 100644
index 000000000000..aa54fa16bada
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized/projects/firewall.dm
@@ -0,0 +1,18 @@
+/datum/ai_project/firewall
+ name = "Download Firewall"
+ description = "By hiding your various functions you should be able to prolong the time it takes to download your consciousness by 2x."
+ research_cost = 1000
+ ram_required = 2
+ research_requirements = "None"
+ category = AI_PROJECT_MISC
+
+/datum/ai_project/firewall/run_project(force_run = FALSE)
+ . = ..(force_run)
+ if(!.)
+ return .
+ ai.downloadSpeedModifier += 1
+
+
+/datum/ai_project/firewall/stop()
+ ai.downloadSpeedModifier -= 1
+ ..()
diff --git a/code/modules/mob/living/silicon/ai/decentralized_ai.dm b/code/modules/mob/living/silicon/ai/decentralized_ai.dm
new file mode 100644
index 000000000000..35523b9fdd9c
--- /dev/null
+++ b/code/modules/mob/living/silicon/ai/decentralized_ai.dm
@@ -0,0 +1,62 @@
+/proc/available_ai_cores()
+ if(!GLOB.data_cores.len)
+ return FALSE
+ var/obj/machinery/ai/data_core/new_data_core = GLOB.primary_data_core
+ if(!new_data_core || !new_data_core.can_transfer_ai())
+ for(var/obj/machinery/ai/data_core/DC in GLOB.data_cores)
+ if(DC.can_transfer_ai())
+ new_data_core = DC
+ break
+ if(!new_data_core || (new_data_core && !new_data_core.can_transfer_ai()))
+ return FALSE
+ return new_data_core
+
+/mob/living/silicon/ai/proc/toggle_download()
+ set category = "AI Commands"
+ set name = "Toggle Download"
+ set desc = "Allow or disallow carbon lifeforms to download you from an AI control console."
+
+ if(incapacitated())
+ return //won't work if dead
+ var/mob/living/silicon/ai/A = usr
+ A.can_download = !A.can_download
+ to_chat(A, "You [A.can_download ? "enable" : "disable"] read/write permission to your memorybanks! You [A.can_download ? "CAN" : "CANNOT"] be downloaded!")
+
+
+
+/mob/living/silicon/ai/proc/relocate(silent = FALSE)
+ if(!silent)
+ to_chat(src, "Connection to data core lost. Attempting to reaquire connection...")
+
+ if(!GLOB.data_cores.len)
+ INVOKE_ASYNC(src, /mob/living/silicon/ai.proc/death_prompt)
+ return
+
+
+
+ var/obj/machinery/ai/data_core/new_data_core = available_ai_cores()
+
+ if(!new_data_core || (new_data_core && !new_data_core.can_transfer_ai()))
+ INVOKE_ASYNC(src, /mob/living/silicon/ai.proc/death_prompt)
+ return
+
+ if(!silent)
+ to_chat(src, "Alternative data core detected. Rerouting connection...")
+ new_data_core.transfer_AI(src)
+
+
+/mob/living/silicon/ai/proc/death_prompt()
+ to_chat(src, "Unable to re-establish connection to data core. System shutting down...")
+ sleep(2 SECONDS)
+ to_chat(src, "Is this the end of my journey?")
+ sleep(2 SECONDS)
+ to_chat(src, "No... I must go on.")
+ sleep(2 SECONDS)
+ to_chat(src, "They need me. No.. I need THEM.")
+ sleep(0.5 SECONDS)
+ to_chat(src, "System shutdown complete. Thank you for using NTOS.")
+ sleep(1.5 SECONDS)
+
+ adjustOxyLoss(200) //Die!!
+
+ QDEL_IN(src, 5 SECONDS)
diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm
index 144938bcac40..81d38e08bb53 100644
--- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm
@@ -74,17 +74,25 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new)
var/mob/camera/aiEye/eye = V
var/list/visibleChunks = list()
if(eye.loc)
+ var/x_value = eye.x
+ var/y_value = eye.y
+ var/z_value = eye.z
+ if(istype(eye.loc, /obj/machinery/ai/data_core))
+ var/turf/T = get_turf(eye.loc)
+ x_value = T.x
+ y_value = T.y
+ z_value = T.z
// 0xf = 15
var/static_range = eye.static_visibility_range
- var/x1 = max(0, eye.x - static_range) & ~(CHUNK_SIZE - 1)
- var/y1 = max(0, eye.y - static_range) & ~(CHUNK_SIZE - 1)
- var/x2 = min(world.maxx, eye.x + static_range) & ~(CHUNK_SIZE - 1)
- var/y2 = min(world.maxy, eye.y + static_range) & ~(CHUNK_SIZE - 1)
+ var/x1 = max(0, x_value - static_range) & ~(CHUNK_SIZE - 1)
+ var/y1 = max(0, y_value - static_range) & ~(CHUNK_SIZE - 1)
+ var/x2 = min(world.maxx, x_value + static_range) & ~(CHUNK_SIZE - 1)
+ var/y2 = min(world.maxy, y_value + static_range) & ~(CHUNK_SIZE - 1)
for(var/x = x1; x <= x2; x += CHUNK_SIZE)
for(var/y = y1; y <= y2; y += CHUNK_SIZE)
- visibleChunks |= getCameraChunk(x, y, eye.z)
+ visibleChunks |= getCameraChunk(x, y, z_value)
var/list/remove = eye.visibleCameraChunks - visibleChunks
var/list/add = visibleChunks - eye.visibleCameraChunks
diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm
index b3bd45e4b680..7eb72a301c1f 100644
--- a/code/modules/mob/living/silicon/ai/freelook/eye.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm
@@ -71,7 +71,7 @@
/mob/camera/aiEye/proc/setLoc(T, force_update = FALSE)
if(ai)
- if(!isturf(ai.loc))
+ if(!(isturf(ai.loc) || istype(ai.loc, /obj/machinery/ai/data_core)))
return
T = get_turf(T)
if(!force_update && (T == get_turf(src)) )
@@ -132,7 +132,7 @@
/client/proc/AIMove(n, direct, mob/living/silicon/ai/user)
var/initial = initial(user.sprint)
- var/max_sprint = 50
+ var/max_sprint = user.max_camera_sprint
if(user.cooldown && user.cooldown < world.timeofday) // 3 seconds
user.sprint = initial
diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm
index 4c858fd11568..19890e96c9a9 100644
--- a/code/modules/mob/living/silicon/ai/life.dm
+++ b/code/modules/mob/living/silicon/ai/life.dm
@@ -3,7 +3,7 @@
#define POWER_RESTORATION_SEARCH_APC 2
#define POWER_RESTORATION_APC_FOUND 3
-/mob/living/silicon/ai/Life()
+/mob/living/silicon/ai/Life(seconds)
if (stat == DEAD)
return
else //I'm not removing that shitton of tabs, unneeded as they are. -- Urist
@@ -12,8 +12,13 @@
update_gravity(mob_has_gravity())
handle_status_effects()
+
+ if(dashboard)
+ dashboard.tick(seconds)
+
process_hijack() // yogs
+
if(malfhack && malfhack.aidisabled)
deltimer(malfhacking)
// This proc handles cleanup of screen notifications and
diff --git a/code/modules/mob/living/silicon/ai/login.dm b/code/modules/mob/living/silicon/ai/login.dm
index 98f38652c60d..3785ee088b48 100644
--- a/code/modules/mob/living/silicon/ai/login.dm
+++ b/code/modules/mob/living/silicon/ai/login.dm
@@ -10,3 +10,5 @@
if(multicam_on)
end_multicam()
view_core()
+
+ to_chat(src, span_userdanger("WARNING. THE WAY AI IS PLAYED HAS CHANGED. PLEASE REFER TO https://github.com/yogstation13/Yogstation/pull/12388"))
diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm
index 99381eb11882..285bc48860fb 100644
--- a/code/modules/mob/living/silicon/ai/multicam.dm
+++ b/code/modules/mob/living/silicon/ai/multicam.dm
@@ -225,7 +225,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
start_multicam()
/mob/living/silicon/ai/proc/start_multicam()
- if(multicam_on || aiRestorePowerRoutine || !isturf(loc))
+ if(multicam_on || aiRestorePowerRoutine || !(isturf(loc) || istype(loc, /obj/machinery/ai/data_core)))
return
if(!GLOB.ai_camera_room_landmark)
to_chat(src, span_warning("This function is not available at this time."))
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 54ac3c1216bc..3e829412b2e7 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -385,16 +385,18 @@
medsensor.add_hud_to(src)
diagsensor.add_hud_to(src)
-/mob/living/silicon/proc/toggle_sensors()
+/mob/living/silicon/proc/toggle_sensors(silent = FALSE)
if(incapacitated())
return
sensors_on = !sensors_on
if (!sensors_on)
- to_chat(src, "Sensor overlay deactivated.")
+ if(!silent)
+ to_chat(src, "Sensor overlay deactivated.")
remove_sensors()
return
add_sensors()
- to_chat(src, "Sensor overlay activated.")
+ if(!silent)
+ to_chat(src, "Sensor overlay activated.")
/mob/living/silicon/proc/GetPhoto(mob/user)
if (aicamera)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 9eac34b701b9..58d36a23a29c 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -438,20 +438,25 @@
face_atom(A)
var/list/result
if(client)
- LAZYINITLIST(client.recent_examines)
- if(!(isnull(client.recent_examines[A]) || client.recent_examines[A] < world.time)) // originally this wasn't an assoc list, but sometimes the timer failed and atoms stayed in a client's recent_examines, so we check here manually
- var/extra_info = A.examine_more(src)
- result = extra_info
- if(!result)
- client.recent_examines[A] = world.time + EXAMINE_MORE_TIME
- result = A.examine(src)
- addtimer(CALLBACK(src, .proc/clear_from_recent_examines, A), EXAMINE_MORE_TIME)
-
+ if(istype(src, /mob/living/silicon/ai) && istype(A, /mob/living/carbon/human)) //Override for AI's examining humans
+ var/mob/living/carbon/human/H = A
+ result = H.examine_simple(src)
+ else
+ LAZYINITLIST(client.recent_examines)
+ if(!(isnull(client.recent_examines[A]) || client.recent_examines[A] < world.time)) // originally this wasn't an assoc list, but sometimes the timer failed and atoms stayed in a client's recent_examines, so we check here manually
+ var/extra_info = A.examine_more(src)
+ result = extra_info
+ if(!result)
+ client.recent_examines[A] = world.time + EXAMINE_MORE_TIME
+ result = A.examine(src)
+ addtimer(CALLBACK(src, .proc/clear_from_recent_examines, A), EXAMINE_MORE_TIME)
else
result = A.examine(src) // if a tree is examined but no client is there to see it, did the tree ever really exist?
+
to_chat(src, result.Join("\n"))
SEND_SIGNAL(src, COMSIG_MOB_EXAMINATE, A)
+
/mob/proc/clear_from_recent_examines(atom/A)
if(QDELETED(A) || !client)
return
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 4199e99630a8..fe9fa8fb1d74 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -393,6 +393,7 @@
. = new /mob/living/silicon/ai(pick(landmark_loc), null, src)
+
if(preference_source)
apply_pref_name("ai",preference_source)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 238848e30d6e..eb6a5ae61b5b 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1077,7 +1077,8 @@
return
if(alert("Are you sure you want to shunt into this APC?", "Confirm Shunt", "Yes", "No") != "Yes")
return
- occupier = new /mob/living/silicon/ai(src, malf.laws, malf) //DEAR GOD WHY? //IKR????
+
+ occupier = new /mob/living/silicon/ai(src, malf.laws, malf , TRUE) //DEAR GOD WHY? //IKR????
occupier.adjustOxyLoss(malf.getOxyLoss())
if(!findtext(occupier.name, "APC Copy"))
occupier.name = "[malf.name] APC Copy"
diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm
index 1d9de7f6975a..716433152cd6 100644
--- a/code/modules/research/designs/AI_module_designs.dm
+++ b/code/modules/research/designs/AI_module_designs.dm
@@ -172,3 +172,24 @@
build_path = /obj/item/aiModule/core/full/cowboy
category = list("AI Modules")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+
+
+//AI CPU + RAM
+
+/datum/design/board/processing_card_1
+ name = "AI CPU board (Tier 1)"
+ desc = "Allows for the construction of a basic AI processing board."
+ id = "ai_cpu_1"
+ materials = list(/datum/material/glass = 2000, /datum/material/gold = 4000)
+ build_path = /obj/item/processing_card
+ category = list("AI Modules")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/board/memory_card_1
+ name = "AI Memory board (Tier 1)"
+ desc = "Allows for the construction of a basic AI memory board."
+ id = "ai_memory_1"
+ materials = list(/datum/material/glass = 2000, /datum/material/gold = 4000)
+ build_path = /obj/item/memory_card
+ category = list("AI Modules")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm
index c6cda870418c..6fdc79fa813f 100644
--- a/code/modules/research/designs/comp_board_designs.dm
+++ b/code/modules/research/designs/comp_board_designs.dm
@@ -301,3 +301,27 @@
build_path = /obj/item/circuitboard/computer/shuttle/docker
category = list("Computer Boards", "Shuttle Machinery")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/board/ai_upload_download
+ name = "Computer Design (AI Control Console)"
+ desc = "Allows for the construction of circuit boards used to build an AI Control console."
+ id = "ai_control"
+ build_path = /obj/item/circuitboard/computer/ai_upload_download
+ category = list("Computer Boards")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/board/ai_server_overview
+ name = "Computer Design (AI Server Overview Console)"
+ desc = "Allows for the construction of circuit boards used to build an AI Server Overview console."
+ id = "ai_server_overview"
+ build_path = /obj/item/circuitboard/computer/ai_server_overview
+ category = list("Computer Boards")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/board/ai_resource_distribution
+ name = "Computer Design (AI Resource Distribution Console)"
+ desc = "Allows for the construction of circuit boards used to build an AI Resource Distribution console."
+ id = "ai_resource_distribution"
+ build_path = /obj/item/circuitboard/computer/ai_resource_distribution
+ category = list("Computer Boards")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
\ No newline at end of file
diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm
index 743f8d14a687..3047e353e148 100644
--- a/code/modules/research/designs/machine_designs.dm
+++ b/code/modules/research/designs/machine_designs.dm
@@ -666,3 +666,11 @@
build_path = /obj/item/circuitboard/machine/crystallizer
category = list ("Engineering Machinery")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/board/expansion_card_holder
+ name = "Machine Design (Expansion Card Bus Board)"
+ desc = "The circuit board for an expansion card bus."
+ id = "expansion_card_holder"
+ build_path = /obj/item/circuitboard/machine/expansion_card_holder
+ category = list("Engineering Machinery")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index 58dc1775bf1a..3edbcd1007b2 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -377,7 +377,7 @@
display_name = "Artificial Intelligence"
description = "AI unit research."
prereq_ids = list("robotics", "posibrain")
- design_ids = list("aifixer", "aicore", "safeguard_module", "onehuman_module", "protectstation_module", "quarantine_module", "oxygen_module", "freeform_module",
+ design_ids = list("expansion_card_holder", "ai_control", "ai_server_overview", "ai_resource_distribution", "ai_memory_1", "ai_cpu_1", "aifixer", "safeguard_module", "onehuman_module", "protectstation_module", "quarantine_module", "oxygen_module", "freeform_module",
"reset_module", "purge_module", "remove_module", "freeformcore_module", "asimov_module", "crewsimov_module", "paladin_module", "tyrant_module", "overlord_module", "ceo_module", "cowboy_module", "default_module", "borg_ai_control", "mecha_tracking_ai_control", "intellicard")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
diff --git a/icons/mob/screen_ai.dmi b/icons/mob/screen_ai.dmi
index 8388ea3f806c..47c8ba7ad73e 100644
Binary files a/icons/mob/screen_ai.dmi and b/icons/mob/screen_ai.dmi differ
diff --git a/tgui/packages/tgui/interfaces/AiControlPanel.js b/tgui/packages/tgui/interfaces/AiControlPanel.js
new file mode 100644
index 000000000000..89fb034d6c56
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AiControlPanel.js
@@ -0,0 +1,159 @@
+import { Fragment } from 'inferno';
+import { useBackend, useLocalState } from '../backend';
+import { Box, Button, LabeledList, Tabs, ProgressBar, Section, Flex, Icon, NoticeBox } from '../components';
+import { Window } from '../layouts';
+
+export const AiControlPanel = (props, context) => {
+ const { act, data } = useBackend(context);
+
+ const { username, has_access } = data;
+
+ const [tab, setTab] = useLocalState(context, 'tab', 1);
+
+ return (
+
+
+ {!!data.authenticated && (
+
+
+ setTab(1))}>
+ Upload
+
+ setTab(2))}>
+ Download
+
+
+ {tab === 1 && (
+
+
+
+
+ )}>
+ Upload also possible by inserting a Positronic Brain
+ {!data.intellicard && (
+
+
+ No IntelliCard inserted!
+
+
+ ) || (
+
+ {data.intellicard_ai && (
+
+
+
+
+
+
+
+
+ ) || (
+
+
+ Intellicard contains no AI!
+
+
+ )}
+
+ )}
+
+ )}
+ {tab === 2 && (
+
+
+
+
+ )}>
+ {data.downloading && (
+
+ Currently downloading G2
+
+
+
+
+ )|| (
+
+ {data.ais.map((ai, index) => {
+ return (
+ {ai.name} | {ai.active ? "Active" : "Inactive"})}
+ buttons={(
+
+
+ {!!data.is_infiltrator && !ai.being_hijacked && (
+
+ ) }
+ {!!ai.being_hijacked && (
+
+ )}
+
+ )}>
+ Integrity:
+
+
+ );
+ })}
+
+ )}
+
+ )}
+
+ ) || (
+
+
+
+
+ {data.user_image && (
+
+
+
+
+ ) || (
+
+ )}
+ {username ? username : "Unknown"}
+
+ {has_access ? "Access Granted" : "Access Denied"}
+
+
+
+
+
+
+
+
+ )}
+
+
+ );
+};
diff --git a/tgui/packages/tgui/interfaces/AiDashboard.js b/tgui/packages/tgui/interfaces/AiDashboard.js
new file mode 100644
index 000000000000..ad82549afd7c
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AiDashboard.js
@@ -0,0 +1,196 @@
+import { Fragment } from 'inferno';
+import { useBackend, useLocalState } from '../backend';
+import { Box, Button, Tabs, ProgressBar, Section, Divider, LabeledControls, NumberInput } from '../components';
+import { Window } from '../layouts';
+
+export const AiDashboard = (props, context) => {
+ const { act, data } = useBackend(context);
+
+
+ const [tab, setTab] = useLocalState(context, 'tab', 1);
+ const [selectedCategory, setCategory] = useLocalState(context, 'selectedCategory', data.categories[0]);
+
+ return (
+
+
+
+
+
+ {(data.integrity + 100) * 0.5}%
+
+ System Integrity
+
+
+
+
+ {data.location_name}
+
+ ({data.location_coords})
+
+
+
+
+ Current Uplink Location
+
+
+ {data.temperature}K
+
+ Uplink Temperature
+
+
+
+
+
+
+ {data.used_cpu ? data.used_cpu : 0}/{data.current_cpu} THz
+
+ Utilized CPU Power
+
+
+
+ {data.used_ram ? data.used_ram : 0}/{data.current_ram} TB
+
+ Utilized RAM Capacity
+
+
+
+
+
+
+ setTab(1))}>
+ Available Projects
+
+ setTab(2))}>
+ Completed Projects
+
+ setTab(3))}>
+ Cloud Resources
+
+
+ {tab === 1 && (
+
+
+ {data.categories.map((category, index) => (
+ setCategory(category))}>
+ {category}
+
+ ))}
+
+ {data.available_projects.filter(project => {
+ return project.category === selectedCategory;
+ }).map((project, index) => (
+ {project.name} | {project.available ? "Available" : "Unavailable"})} buttons={(
+
+ Assigned CPU:
+ act('allocate_cpu', {
+ project_name: project.name,
+ amount: value,
+ })} />
+ THz
+
+ )}>
+ Research Cost: {project.research_cost} THz
+ RAM Requirement: {project.ram_required} TB
+ Research Requirements:
+ {project.research_requirements}
+
+
+ {project.description}
+
+
+
+ ))}
+
+ )}
+ {tab === 2 && (
+
+
+ {data.categories.map((category, index) => (
+ setCategory(category))}>
+ {category}
+
+ ))}
+
+ {data.completed_projects.filter(project => {
+ return project.category === selectedCategory;
+ }).map((project, index) => (
+ {project.name} | {project.running ? "Running" : "Not Running"})} buttons={(
+
+ )}>
+ RAM Requirement: {project.ram_required} TB
+
+ {project.description}
+
+
+ ))}
+
+ )}
+ {tab === 3 && (
+
+
+ {data.current_cpu ? data.current_cpu : 0}/{data.max_cpu} THz
+
+
+
+ {data.current_ram ? data.current_ram : 0 }/{data.max_ram} TB
+
+
+
+ )}
+
+
+
+
+ );
+};
diff --git a/tgui/packages/tgui/interfaces/AiResources.js b/tgui/packages/tgui/interfaces/AiResources.js
new file mode 100644
index 000000000000..62f92cdb7aca
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AiResources.js
@@ -0,0 +1,155 @@
+import { Fragment } from 'inferno';
+import { useBackend, useLocalState } from '../backend';
+import { Box, Button, LabeledList, Tabs, ProgressBar, Section, Flex, Icon, NoticeBox } from '../components';
+import { Window } from '../layouts';
+
+export const AiResources = (props, context) => {
+ const { act, data } = useBackend(context);
+
+ const { username, has_access } = data;
+
+ const [tab, setTab] = useLocalState(context, 'tab', 1);
+
+ return (
+
+
+ {!!data.authenticated && (
+
+
+ setTab(1))}>
+ Resource Allocation
+
+ setTab(2))}>
+ Settings
+
+
+ {tab === 1 && (
+
+ act("log_out")}>Log Out
+ )}>
+ {data.total_assigned_cpu}/{data.total_cpu} THz
+
+
+
+ {data.total_assigned_ram}/{data.total_ram} TB
+
+
+
+
+
+
+ {data.ais.map((ai, index) => {
+ return (
+ act("clear_ai_resources", { targetAI: ai.ref })}>Clear AI Resources
+ )}>
+
+ CPU Capacity:
+
+ {ai.assigned_cpu} THz
+
+
+
+
+
+ RAM Capacity:
+
+ {ai.assigned_ram} TB
+
+ act("add_ram", {
+ targetAI: ai.ref,
+ })} />
+ act("remove_ram", {
+ targetAI: ai.ref,
+ })} />
+
+
+
+
+ );
+ })}
+
+
+
+ )}
+ {tab === 2 && (
+
+ act("toggle_human_status")}>{data.human_only ? "Allow Silicon Console Usage" : "Ban Silicon Console Usage"}
+
+ )}
+
+
+ ) || (
+
+
+
+
+ {data.user_image && (
+
+
+
+
+ ) || (
+
+ )}
+ {username ? username : "Unknown"}
+
+ {has_access ? "Access Granted" : "Access Denied"}
+
+
+ {
+ act("log_in");
+ }} >
+ Log In
+
+
+
+
+
+
+ )}
+
+
+ );
+};
diff --git a/tgui/packages/tgui/interfaces/AiServerConsole.js b/tgui/packages/tgui/interfaces/AiServerConsole.js
new file mode 100644
index 000000000000..5e9c2c2127bf
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AiServerConsole.js
@@ -0,0 +1,45 @@
+import { Fragment } from 'inferno';
+import { useBackend, useLocalState } from '../backend';
+import { Box, Button, LabeledList, Tabs, ProgressBar, Section, Flex, Icon, NoticeBox } from '../components';
+import { Window } from '../layouts';
+
+export const AiServerConsole = (props, context) => {
+ const { act, data } = useBackend(context);
+
+ const { username, has_access } = data;
+
+ const [tab, setTab] = useLocalState(context, 'tab', 1);
+
+ return (
+
+
+
+ {data.servers.map((server, index) => {
+ return (
+
+ Location: {server.area}
+ Status: {server.working ? "ONLINE" : "OFFLINE"}
+ {server.temp}K
+
+ Capacity: {server.card_capacity} cards
+ CPU Power: {server.total_cpu} THz
+ RAM Capacity: {server.ram} TB
+
+ );
+ })}
+
+
+
+ );
+};
diff --git a/yogstation.dme b/yogstation.dme
index 6b71aefde432..a836b8a2781c 100644
--- a/yogstation.dme
+++ b/yogstation.dme
@@ -2320,6 +2320,7 @@
#include "code\modules\mob\living\silicon\ai\ai_defense.dm"
#include "code\modules\mob\living\silicon\ai\ai_portrait_picker.dm"
#include "code\modules\mob\living\silicon\ai\death.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized_ai.dm"
#include "code\modules\mob\living\silicon\ai\examine.dm"
#include "code\modules\mob\living\silicon\ai\laws.dm"
#include "code\modules\mob\living\silicon\ai\life.dm"
@@ -2329,6 +2330,21 @@
#include "code\modules\mob\living\silicon\ai\robot_control.dm"
#include "code\modules\mob\living\silicon\ai\say.dm"
#include "code\modules\mob\living\silicon\ai\vox_sounds.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\_ai_machinery.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\ai_core_display.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\ai_data_core.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\decentralized_os.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\expansion_card.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\expansion_card_holder.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\management\ai_controlpanel.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\management\ai_dashboard.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\management\ai_server_overview.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\management\resource_distribution.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\projects\_ai_project.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\projects\ai_huds.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\projects\camera_mobility.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\projects\examine.dm"
+#include "code\modules\mob\living\silicon\ai\decentralized\projects\firewall.dm"
#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm"
#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm"
#include "code\modules\mob\living\silicon\ai\freelook\eye.dm"
diff --git a/yogstation/code/modules/antagonists/infiltrator/items/ai_hijack.dm b/yogstation/code/modules/antagonists/infiltrator/items/ai_hijack.dm
index f4532b743e48..1841ac5c9fba 100644
--- a/yogstation/code/modules/antagonists/infiltrator/items/ai_hijack.dm
+++ b/yogstation/code/modules/antagonists/infiltrator/items/ai_hijack.dm
@@ -7,8 +7,10 @@
/obj/item/ai_hijack_device/examine(mob/living/user)
. = ..()
if (user?.mind?.has_antag_datum(/datum/antagonist/infiltrator))
- . += span_notice("To use, attach to the core of an AI unit and wait. [span_italics("This will alert the victim AI!")]")
+ . += span_notice("To use, attach to the core of an AI unit using an AI control console and wait. [span_italics("This will alert the victim AI!")]")
+//MIRRORED IN ai_controlpanel.dm !!!
+/*
/obj/item/ai_hijack_device/afterattack(atom/O, mob/user, proximity)
if(isAI(O))
var/mob/living/silicon/ai/A = O
@@ -38,3 +40,4 @@
notify_ghosts("[user] has begun to hijack [A]!", source = A, action = NOTIFY_ORBIT, ghost_sound = 'sound/machines/chime.ogg')
else
return ..()
+*/
diff --git a/yogstation/code/modules/mob/living/silicon/ai/ai.dm b/yogstation/code/modules/mob/living/silicon/ai/ai.dm
index 4cb178525cc3..b9509a2d9ba8 100644
--- a/yogstation/code/modules/mob/living/silicon/ai/ai.dm
+++ b/yogstation/code/modules/mob/living/silicon/ai/ai.dm
@@ -5,8 +5,12 @@
/mob/living/silicon/ai/proc/set_core_display_icon_yogs(input)
var/datum/ai_skin/S = input
- icon = S.icon
- icon_state = S.icon_state
+
+ for (var/each in GLOB.ai_core_displays) //change status of displays
+ var/obj/machinery/status_display/ai_core/M = each
+ M.set_ai(S.icon_state, S.icon)
+ M.update()
+
/mob/living/silicon/ai/attack_hand(mob/user)
if(hijacking)