diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index 892a6d08422..0947c97f5d1 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -622,7 +622,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"afm" = (
/obj/structure/cable{
@@ -650,7 +650,7 @@
pixel_y = 32
},
/obj/effect/decal/warning_stripes/yellow,
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"afn" = (
/obj/structure/cable{
@@ -664,7 +664,7 @@
name = "Engineering External Access";
req_access_txt = "10;13"
},
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"afw" = (
/obj/docking_port/stationary{
@@ -728,11 +728,12 @@
/area/maintenance/auxsolarstarboard)
"afC" = (
/obj/structure/cable,
+/obj/effect/decal/warning_stripes/southeast,
/obj/machinery/power/solar_control{
+ dir = 8;
id = "auxsolareast";
name = "Fore Starboard Solar Control"
},
-/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"afJ" = (
@@ -1403,9 +1404,6 @@
},
/area/security/podbay)
"aib" = (
-/obj/machinery/computer/security{
- network = list("SS13","Research Outpost","Mining Outpost")
- },
/obj/machinery/firealarm{
dir = 4;
pixel_x = 28
@@ -1413,6 +1411,10 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
+/obj/machinery/computer/security{
+ dir = 8;
+ network = list("SS13","Research Outpost","Mining Outpost")
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -2080,10 +2082,12 @@
/turf/simulated/wall,
/area/engine/mechanic_workshop)
"akC" = (
-/obj/machinery/computer/podtracker,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
+/obj/machinery/computer/podtracker{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -2255,7 +2259,9 @@
name = "south bump";
pixel_y = -24
},
-/obj/machinery/computer/rdconsole/mechanics,
+/obj/machinery/computer/rdconsole/mechanics{
+ dir = 1
+ },
/turf/simulated/floor/engine,
/area/engine/mechanic_workshop/hanger)
"alk" = (
@@ -3135,7 +3141,7 @@
/obj/structure/sink/kitchen{
desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
name = "old sink";
- pixel_y = 28
+ pixel_y = 25
},
/turf/simulated/floor/plasteel{
icon_state = "red"
@@ -3154,7 +3160,7 @@
/obj/structure/sink/kitchen{
desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
name = "old sink";
- pixel_y = 28
+ pixel_y = 25
},
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
@@ -4173,7 +4179,9 @@
/obj/machinery/ai_status_display{
pixel_x = -32
},
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "blue"
@@ -4272,7 +4280,9 @@
/obj/machinery/status_display{
pixel_x = 32
},
-/obj/machinery/computer/prisoner,
+/obj/machinery/computer/prisoner{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "red"
@@ -4290,7 +4300,9 @@
/area/maintenance/fore2)
"arf" = (
/obj/effect/decal/cleanable/cobweb,
-/obj/machinery/computer/arcade,
+/obj/machinery/computer/arcade{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"arg" = (
@@ -4533,7 +4545,9 @@
/obj/item/radio/intercom{
pixel_x = -28
},
-/obj/machinery/computer/card,
+/obj/machinery/computer/card{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "bluefull"
},
@@ -4692,7 +4706,9 @@
dir = 1;
pixel_x = 28
},
-/obj/machinery/computer/security,
+/obj/machinery/computer/security{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "redfull"
},
@@ -4724,8 +4740,8 @@
},
/area/maintenance/fore2)
"arX" = (
-/obj/machinery/computer/arcade,
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/computer/arcade,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -4896,7 +4912,9 @@
/obj/machinery/status_display{
pixel_x = -32
},
-/obj/machinery/computer/med_data,
+/obj/machinery/computer/med_data{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "blue"
@@ -4991,7 +5009,9 @@
/obj/machinery/ai_status_display{
pixel_x = 32
},
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "red"
@@ -6239,7 +6259,9 @@
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"avn" = (
-/obj/machinery/computer/arcade,
+/obj/machinery/computer/arcade{
+ dir = 1
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"avo" = (
@@ -8019,7 +8041,7 @@
/turf/simulated/floor/plating,
/area/engine/controlroom)
"ayV" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 2;
d2 = 4;
icon_state = "2-4"
@@ -8174,8 +8196,7 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/yellow/hollow,
@@ -8449,7 +8470,7 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"azT" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
@@ -8470,7 +8491,7 @@
},
/area/engine/controlroom)
"azV" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 2;
d2 = 8;
icon_state = "2-8"
@@ -8494,7 +8515,7 @@
dir = 4
},
/obj/machinery/power/rad_collector,
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 8;
icon_state = "0-8"
},
@@ -8523,14 +8544,14 @@
dir = 8
},
/obj/machinery/power/rad_collector,
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 4;
icon_state = "0-4"
},
/turf/simulated/floor/engine,
/area/engine/supermatter)
"aAd" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
@@ -9007,7 +9028,7 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aBf" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
@@ -9038,7 +9059,7 @@
dir = 4
},
/obj/machinery/power/rad_collector,
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 8;
icon_state = "0-8"
},
@@ -9066,7 +9087,7 @@
dir = 8
},
/obj/machinery/power/rad_collector,
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 4;
icon_state = "0-4"
},
@@ -9180,8 +9201,7 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/yellow/hollow,
@@ -9210,10 +9230,12 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/reagent_dispensers/spacecleanertank{
+ pixel_x = -32
+ },
/turf/simulated/floor/plasteel,
/area/janitor)
"aBx" = (
@@ -9504,7 +9526,7 @@
dir = 4
},
/obj/machinery/power/rad_collector,
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 8;
icon_state = "0-8"
},
@@ -9516,7 +9538,7 @@
dir = 8
},
/obj/machinery/power/rad_collector,
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 4;
icon_state = "0-4"
},
@@ -9793,12 +9815,12 @@
},
/area/maintenance/fore)
"aCS" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -9814,12 +9836,12 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aCU" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -9910,7 +9932,7 @@
/turf/simulated/floor/plating,
/area/engine/controlroom)
"aDh" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -10273,16 +10295,16 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aDT" = (
+/mob/living/simple_animal/bot/mulebot{
+ home_destination = "QM #2";
+ suffix = "#2"
+ },
/obj/machinery/navbeacon{
codes_txt = "delivery;dir=4";
dir = 4;
location = "QM #2"
},
/obj/effect/decal/warning_stripes/yellow,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #2";
- suffix = "#2"
- },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aDW" = (
@@ -10350,7 +10372,7 @@
},
/area/engine/controlroom)
"aEe" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -10385,6 +10407,10 @@
pixel_x = -24;
shock_proof = 1
},
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
/turf/simulated/floor/engine,
/area/engine/supermatter)
"aEi" = (
@@ -10404,7 +10430,7 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aEk" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
@@ -10431,7 +10457,7 @@
},
/area/engine/controlroom)
"aEn" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 4;
icon_state = "1-4"
@@ -10468,7 +10494,7 @@
/turf/simulated/floor/plasteel,
/area/hydroponics/abandoned_garden)
"aEs" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
@@ -10835,28 +10861,28 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aFe" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plasteel,
-/area/engine/controlroom)
-"aFf" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/turf/simulated/floor/plasteel,
+/area/engine/controlroom)
+"aFf" = (
/obj/machinery/atmospherics/trinary/filter{
dir = 8;
filter_type = "n2"
},
/obj/effect/decal/warning_stripes/north,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aFg" = (
@@ -10868,13 +10894,13 @@
/turf/simulated/wall/r_wall,
/area/engine/supermatter)
"aFi" = (
-/obj/structure/cable{
+/obj/machinery/atmospherics/pipe/manifold/visible,
+/obj/effect/decal/warning_stripes/north,
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/manifold/visible,
-/obj/effect/decal/warning_stripes/north,
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aFj" = (
@@ -10899,7 +10925,7 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aFl" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -11183,7 +11209,7 @@
/turf/simulated/wall,
/area/quartermaster/storage)
"aFV" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -11200,25 +11226,25 @@
},
/area/engine/controlroom)
"aFX" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
/obj/machinery/atmospherics/binary/pump{
dir = 8;
name = "Gas to Filter";
on = 1
},
/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plasteel,
-/area/engine/controlroom)
-"aFY" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plasteel,
+/area/engine/controlroom)
+"aFY" = (
/obj/machinery/atmospherics/pipe/manifold/visible,
/obj/machinery/camera{
c_tag = "Supermatter South";
@@ -11229,47 +11255,52 @@
icon_state = "0-4"
},
/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plasteel,
-/area/engine/supermatter)
-"aFZ" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/turf/simulated/floor/plasteel,
+/area/engine/supermatter)
+"aFZ" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plasteel,
-/area/engine/supermatter)
-"aGa" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/turf/simulated/floor/plasteel,
+/area/engine/supermatter)
+"aGa" = (
/obj/machinery/atmospherics/pipe/manifold/visible,
/obj/machinery/meter,
/obj/effect/decal/warning_stripes/north,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aGb" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 8;
- icon_state = "1-8"
- },
-/obj/structure/cable{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8"
- },
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
/obj/effect/decal/warning_stripes/northwestcorner,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aGc" = (
@@ -11303,8 +11334,7 @@
"aGe" = (
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/structure/sign/nosmoking_2{
pixel_x = -32
@@ -11491,7 +11521,7 @@
/area/crew_quarters/bar)
"aGx" = (
/obj/structure/sink/kitchen{
- pixel_y = 28
+ pixel_y = 25
},
/obj/machinery/camera{
c_tag = "Bar Backroom"
@@ -11766,7 +11796,7 @@
"aHb" = (
/obj/structure/sink{
dir = 4;
- pixel_x = 9
+ pixel_x = 12
},
/obj/structure/sign/botany{
pixel_x = 32
@@ -11775,7 +11805,7 @@
/turf/simulated/floor/plasteel,
/area/hydroponics/abandoned_garden)
"aHc" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -11853,7 +11883,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -12578,11 +12608,6 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aIH" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -12590,6 +12615,11 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aII" = (
@@ -12626,7 +12656,7 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aIL" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -12874,7 +12904,9 @@
},
/area/quartermaster/storage)
"aJk" = (
-/obj/machinery/computer/arcade/orion_trail,
+/obj/machinery/computer/arcade/orion_trail{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "yellow"
@@ -12928,11 +12960,6 @@
},
/area/quartermaster/storage)
"aJs" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
/obj/machinery/atmospherics/pipe/manifold/visible,
/obj/effect/decal/warning_stripes/north,
/obj/machinery/door_control{
@@ -12941,6 +12968,11 @@
pixel_y = 24;
req_access_txt = "10"
},
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aJt" = (
@@ -13078,7 +13110,7 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"aJL" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume{
@@ -13105,7 +13137,7 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"aJM" = (
/obj/structure/cable{
@@ -13431,7 +13463,7 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"aKp" = (
/obj/structure/table/wood,
@@ -13621,8 +13653,8 @@
/obj/machinery/status_display{
pixel_y = 32
},
-/obj/machinery/computer/library/public,
/obj/structure/table,
+/obj/machinery/computer/library/public,
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"aKS" = (
@@ -13670,7 +13702,7 @@
/turf/simulated/wall,
/area/security/execution)
"aKX" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
@@ -13684,11 +13716,12 @@
/area/engine/controlroom)
"aKY" = (
/obj/structure/cable,
+/obj/effect/decal/warning_stripes/southwest,
/obj/machinery/power/solar_control{
+ dir = 4;
id = "portsolar";
name = "Aft Port Solar Control"
},
-/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"aKZ" = (
@@ -13790,11 +13823,6 @@
},
/area/maintenance/incinerator)
"aLj" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -13921,14 +13949,14 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aLw" = (
-/obj/structure/cable,
-/obj/structure/cable{
+/obj/machinery/power/terminal,
+/obj/effect/decal/warning_stripes/south,
+/obj/structure/cable/yellow,
+/obj/structure/cable/yellow{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
-/obj/machinery/power/terminal,
-/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aLx" = (
@@ -14118,16 +14146,16 @@
/turf/simulated/wall,
/area/crew_quarters/bar/atrium)
"aLV" = (
+/mob/living/simple_animal/bot/mulebot{
+ home_destination = "QM #4";
+ suffix = "#4"
+ },
/obj/machinery/navbeacon{
codes_txt = "delivery;dir=4";
dir = 4;
location = "QM #4"
},
/obj/effect/decal/warning_stripes/yellow,
-/mob/living/simple_animal/bot/mulebot{
- home_destination = "QM #4";
- suffix = "#4"
- },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aLW" = (
@@ -14284,11 +14312,11 @@
},
/area/crew_quarters/bar)
"aMj" = (
+/mob/living/carbon/human/monkey/punpun,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
},
-/mob/living/carbon/human/monkey/punpun,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -14358,7 +14386,7 @@
},
/area/medical/medbay)
"aMx" = (
-/obj/structure/cable{
+/obj/structure/cable/yellow{
d2 = 8;
icon_state = "0-8"
},
@@ -14507,12 +14535,13 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/machinery/computer/monitor{
- name = "Engineering Power Monitoring Console"
- },
/obj/machinery/status_display{
pixel_y = -32
},
+/obj/machinery/computer/monitor{
+ dir = 1;
+ name = "Engineering Power Monitoring Console"
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "dark"
@@ -14530,7 +14559,10 @@
},
/obj/machinery/light/small,
/obj/machinery/power/smes,
-/turf/simulated/floor/greengrid,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "dark"
+ },
/area/engine/controlroom)
"aMU" = (
/obj/structure/cable{
@@ -15087,7 +15119,9 @@
pixel_x = 24
},
/obj/effect/decal/warning_stripes/yellow/hollow,
-/obj/machinery/computer/sm_monitor,
+/obj/machinery/computer/sm_monitor{
+ dir = 8
+ },
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aOa" = (
@@ -15469,8 +15503,8 @@
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"aPb" = (
-/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/mouse,
+/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel,
@@ -16102,6 +16136,9 @@
/obj/structure/chair/comfy/lime{
dir = 4
},
+/obj/machinery/computer/med_data/laptop{
+ dir = 1
+ },
/turf/simulated/floor/carpet,
/area/medical/psych)
"aQp" = (
@@ -16301,6 +16338,7 @@
pixel_y = -24
},
/obj/machinery/computer/turbine_computer{
+ dir = 1;
id = "incineratorturbine"
},
/turf/simulated/floor/plasteel{
@@ -17021,7 +17059,9 @@
/turf/simulated/floor/plating,
/area/security/permabrig)
"aSs" = (
-/obj/machinery/computer/arcade,
+/obj/machinery/computer/arcade{
+ dir = 1
+ },
/turf/simulated/floor/plating,
/area/security/permabrig)
"aSt" = (
@@ -18496,7 +18536,9 @@
},
/area/quartermaster/storage)
"aVa" = (
-/obj/machinery/computer/supplycomp,
+/obj/machinery/computer/supplycomp{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -18551,7 +18593,9 @@
},
/area/quartermaster/qm)
"aVj" = (
-/obj/machinery/computer/supplycomp,
+/obj/machinery/computer/supplycomp{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -19208,8 +19252,8 @@
},
/area/quartermaster/office)
"aWu" = (
-/obj/effect/decal/warning_stripes/south,
/mob/living/simple_animal/pet/sloth/paperwork,
+/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aWv" = (
@@ -20191,7 +20235,9 @@
},
/area/quartermaster/qm)
"aYj" = (
-/obj/machinery/computer/security/mining,
+/obj/machinery/computer/security/mining{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -20308,6 +20354,7 @@
},
/obj/machinery/atmospherics/pipe/simple/visible/green,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 4;
frequency = 1441;
input_tag = "co2_in";
name = "Carbon Dioxide Supply Control";
@@ -21594,7 +21641,7 @@
/area/security/permabrig)
"baQ" = (
/obj/structure/sink/kitchen{
- pixel_y = 30
+ pixel_y = 25
},
/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plasteel,
@@ -21703,7 +21750,9 @@
},
/area/quartermaster/office)
"bbb" = (
-/obj/machinery/computer/supplycomp,
+/obj/machinery/computer/supplycomp{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "brown"
},
@@ -22227,6 +22276,7 @@
},
/obj/machinery/atmospherics/pipe/simple/visible/green,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1441;
input_tag = "o2_in";
name = "Oxygen Supply Control";
@@ -22404,7 +22454,7 @@
c_tag = "Kitchen Backroom"
},
/obj/structure/sink/kitchen{
- pixel_y = 30
+ pixel_y = 25
},
/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/plasteel,
@@ -22450,6 +22500,7 @@
dir = 10
},
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1443;
input_tag = "air_in";
name = "Mixed Air Supply Control";
@@ -22586,8 +22637,8 @@
/obj/machinery/light{
dir = 1
},
-/obj/machinery/computer/supplycomp/public,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/supplycomp/public,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "brown"
@@ -23480,6 +23531,7 @@
},
/obj/machinery/atmospherics/pipe/simple/visible/green,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 4;
frequency = 1441;
input_tag = "tox_in";
name = "Toxin Supply Control";
@@ -23492,7 +23544,9 @@
},
/area/atmos)
"beI" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -24550,7 +24604,7 @@
/area/security/medbay)
"bhc" = (
/obj/structure/sink{
- pixel_y = 26
+ pixel_y = 25
},
/obj/machinery/atmospherics/unary/vent_scrubber/on,
/obj/structure/disposalpipe/segment{
@@ -24695,6 +24749,7 @@
},
/obj/machinery/atmospherics/pipe/simple/visible/green,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1441;
input_tag = "n2_in";
name = "Nitrogen Supply Control";
@@ -24855,7 +24910,7 @@
/area/storage/primary)
"bhK" = (
/obj/structure/sink/kitchen{
- pixel_y = 30
+ pixel_y = 25
},
/turf/simulated/floor/plasteel{
icon_state = "white"
@@ -25422,7 +25477,9 @@
},
/area/security/main)
"biF" = (
-/obj/machinery/computer/security,
+/obj/machinery/computer/security{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -25715,8 +25772,7 @@
"bje" = (
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/machinery/alarm{
dir = 4;
@@ -26307,24 +26363,26 @@
},
/area/security/main)
"bkn" = (
-/obj/machinery/computer/secure_data,
/obj/machinery/firealarm{
dir = 4;
pixel_x = 24
},
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/security/main)
"bko" = (
/obj/structure/bed/dogbed,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = 32
- },
/obj/machinery/camera{
c_tag = "Head of Security's Office";
network = list("SS13","Security")
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = 32
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "vault"
@@ -26332,7 +26390,7 @@
/area/security/hos)
"bkp" = (
/obj/structure/table/wood,
-/obj/machinery/photocopier/faxmachine/longrange{
+/obj/machinery/photocopier/faxmachine{
department = "Head of Security's Office"
},
/turf/simulated/floor/plasteel{
@@ -26415,6 +26473,7 @@
},
/obj/machinery/atmospherics/pipe/simple/visible/green,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 4;
frequency = 1441;
input_tag = "n2o_in";
name = "Nitrous Oxide Supply Control";
@@ -26652,25 +26711,26 @@
},
/area/security/permabrig)
"blf" = (
+/obj/structure/foodcart,
+/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/firealarm{
dir = 1;
pixel_y = -24
},
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/crew_quarters/kitchen)
"blg" = (
-/obj/structure/foodcart,
+/obj/machinery/light,
+/obj/machinery/vending/dinnerware,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/crew_quarters/kitchen)
"blh" = (
-/obj/machinery/light,
-/obj/machinery/vending/dinnerware,
+/obj/machinery/icemachine,
+/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/status_display{
pixel_y = -32
},
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/crew_quarters/kitchen)
"bli" = (
@@ -26686,11 +26746,6 @@
},
/area/crew_quarters/kitchen)
"blj" = (
-/obj/machinery/icemachine,
-/obj/effect/decal/warning_stripes/yellow,
-/turf/simulated/floor/plasteel,
-/area/crew_quarters/kitchen)
-"blk" = (
/obj/structure/rack,
/obj/item/storage/box/donkpockets,
/obj/item/storage/box/donkpockets,
@@ -26698,7 +26753,7 @@
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/crew_quarters/kitchen)
-"bll" = (
+"blk" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/food/snacks/mint,
/obj/item/reagent_containers/food/condiment/enzyme,
@@ -26706,6 +26761,10 @@
/obj/machinery/reagentgrinder,
/turf/simulated/floor/plasteel,
/area/crew_quarters/kitchen)
+"bll" = (
+/obj/machinery/kitchen_machine/candy_maker,
+/turf/simulated/floor/plasteel,
+/area/crew_quarters/kitchen)
"blm" = (
/obj/machinery/kitchen_machine/grill,
/turf/simulated/floor/plasteel,
@@ -26844,7 +26903,9 @@
},
/area/hallway/primary/fore)
"blA" = (
-/obj/machinery/computer/merch,
+/obj/machinery/computer/merch{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "brown"
@@ -27028,7 +27089,7 @@
/obj/structure/sink/kitchen{
desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
name = "old sink";
- pixel_y = 28
+ pixel_y = 25
},
/obj/machinery/camera{
c_tag = "Perma-Brig Garden";
@@ -27896,7 +27957,9 @@
},
/area/security/hos)
"bnI" = (
-/obj/machinery/computer/card/minor/hos,
+/obj/machinery/computer/card/minor/hos{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "vault"
@@ -27909,7 +27972,9 @@
},
/area/crew_quarters/heads/hos)
"bnL" = (
-/obj/machinery/computer/prisoner,
+/obj/machinery/computer/prisoner{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -28447,10 +28512,10 @@
},
/area/security/prisonershuttle)
"boN" = (
-/obj/machinery/computer/security,
/obj/item/radio/intercom{
pixel_y = 28
},
+/obj/machinery/computer/security,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "red"
@@ -28460,11 +28525,11 @@
/obj/machinery/ai_status_display{
pixel_y = 32
},
-/obj/machinery/computer/secure_data,
/obj/machinery/camera{
c_tag = "Labour Camp Access";
network = list("SS13","Security")
},
+/obj/machinery/computer/secure_data,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "red"
@@ -28774,7 +28839,9 @@
icon_state = "4-8";
tag = ""
},
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -29824,10 +29891,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/computer/security,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/computer/security{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -29848,10 +29917,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/computer/prisoner,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/computer/prisoner{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "vault"
@@ -30591,7 +30662,9 @@
icon_state = "4-8"
},
/obj/effect/decal/warning_stripes/west,
-/obj/machinery/computer/shuttle/labor,
+/obj/machinery/computer/shuttle/labor{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -31545,8 +31618,7 @@
"buP" = (
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
@@ -31566,7 +31638,7 @@
"buS" = (
/obj/structure/sink{
dir = 4;
- pixel_x = 10
+ pixel_x = 12
},
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
@@ -32110,6 +32182,7 @@
"bvU" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 4;
frequency = 1441;
input_tag = "waste_in";
name = "Gas Mix Tank Control";
@@ -32688,11 +32761,11 @@
/turf/simulated/floor/plating,
/area/engine/break_room)
"bwV" = (
+/mob/living/simple_animal/bot/floorbot,
/obj/structure/sign/poster/official/help_others{
pixel_x = -32
},
/obj/structure/table/reinforced,
-/mob/living/simple_animal/bot/floorbot,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "yellow"
@@ -32951,12 +33024,12 @@
},
/area/bridge)
"bxw" = (
-/obj/machinery/computer/monitor,
/obj/structure/cable{
d2 = 2;
icon_state = "0-2";
pixel_y = 1
},
+/obj/machinery/computer/monitor,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "darkyellow"
@@ -33429,7 +33502,9 @@
/obj/machinery/status_display{
pixel_x = -32
},
-/obj/machinery/computer/security/engineering,
+/obj/machinery/computer/security/engineering{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "caution"
@@ -34210,7 +34285,9 @@
/turf/simulated/floor/plasteel,
/area/engine/break_room)
"bzX" = (
-/obj/machinery/computer/atmoscontrol,
+/obj/machinery/computer/atmoscontrol{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "caution"
@@ -35060,7 +35137,9 @@
dir = 1;
pixel_y = -24
},
-/obj/machinery/computer/station_alert,
+/obj/machinery/computer/station_alert{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "caution"
},
@@ -35070,7 +35149,9 @@
/obj/machinery/newscaster{
pixel_y = -32
},
-/obj/machinery/computer/atmos_alert,
+/obj/machinery/computer/atmos_alert{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "caution"
},
@@ -36343,7 +36424,7 @@
dir = 4;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"bDE" = (
/obj/item/twohanded/required/kirbyplants,
/obj/machinery/status_display{
@@ -36654,15 +36735,15 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/computer/communications,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/computer/communications,
/turf/simulated/floor/carpet,
/area/bridge)
"bEh" = (
/obj/structure/table/wood,
-/obj/machinery/computer/security/wooden_tv,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/computer/security/wooden_tv,
/turf/simulated/floor/carpet,
/area/bridge)
"bEi" = (
@@ -36903,7 +36984,7 @@
dir = 4;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"bEI" = (
/turf/simulated/floor/plasteel{
dir = 8;
@@ -39279,12 +39360,14 @@
/turf/simulated/floor/wood,
/area/crew_quarters/captain)
"bJs" = (
-/obj/machinery/computer/security/mining,
/obj/machinery/newscaster{
layer = 3.3;
pixel_y = -27
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/security/mining{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock)
"bJt" = (
@@ -40225,7 +40308,9 @@
name = "Detective Requests Console";
pixel_x = 30
},
-/obj/machinery/computer/med_data,
+/obj/machinery/computer/med_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "carpet"
},
@@ -40595,7 +40680,9 @@
/obj/machinery/status_display{
pixel_x = -32
},
-/obj/machinery/computer/card/minor/ce,
+/obj/machinery/computer/card/minor/ce{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -40648,8 +40735,10 @@
/turf/simulated/floor/plating,
/area/crew_quarters/chief)
"bMn" = (
-/obj/machinery/computer/shuttle/mining,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/shuttle/mining{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock)
"bMo" = (
@@ -40664,7 +40753,9 @@
},
/area/engine/break_room)
"bMp" = (
-/obj/machinery/computer/drone_control,
+/obj/machinery/computer/drone_control{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 7;
icon_state = "yellow"
@@ -40785,7 +40876,7 @@
/turf/simulated/floor/plasteel{
icon_state = "white"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"bME" = (
/obj/structure/table/reinforced,
/obj/machinery/light{
@@ -41211,13 +41302,17 @@
/obj/machinery/status_display{
pixel_x = 32
},
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "carpet"
},
/area/security/detectives_office)
"bNv" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
@@ -41277,7 +41372,9 @@
},
/area/security/brig)
"bNF" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "red"
@@ -41438,7 +41535,6 @@
},
/area/engine/break_room)
"bNZ" = (
-/obj/machinery/computer/atmos_alert,
/obj/machinery/camera{
c_tag = "Chief Engineer's Office";
dir = 4;
@@ -41452,6 +41548,9 @@
name = "Chief Engineer Requests Console";
pixel_x = -32
},
+/obj/machinery/computer/atmos_alert{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -41803,7 +41902,9 @@
/turf/simulated/floor/wood,
/area/crew_quarters/heads/hop)
"bOM" = (
-/obj/machinery/computer/account_database,
+/obj/machinery/computer/account_database{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -41856,10 +41957,10 @@
/turf/simulated/wall,
/area/turret_protected/ai_upload)
"bOU" = (
+/mob/living/simple_animal/pet/dog/fox/Renault,
/obj/structure/bed/dogbed{
name = "fox box"
},
-/mob/living/simple_animal/pet/dog/fox/Renault,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -42061,24 +42162,26 @@
/area/security/detectives_office)
"bPp" = (
/obj/structure/table/wood,
+/obj/item/flashlight/lamp,
+/obj/item/reagent_containers/food/drinks/flask/detflask,
/obj/machinery/computer/security/wooden_tv,
/turf/simulated/floor/plasteel{
icon_state = "carpet"
},
/area/security/detectives_office)
"bPq" = (
-/obj/structure/table/wood,
-/obj/item/storage/secure/safe{
- pixel_x = 32
+/obj/machinery/computer/arcade{
+ dir = 4
},
-/obj/item/flashlight/lamp,
-/obj/item/reagent_containers/food/drinks/flask/detflask,
/turf/simulated/floor/plasteel{
- icon_state = "carpet"
+ dir = 5;
+ icon_state = "dark"
},
-/area/security/detectives_office)
+/area/maintenance/fore2)
"bPr" = (
-/obj/machinery/computer/security,
+/obj/machinery/computer/security{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
@@ -43215,8 +43318,8 @@
},
/area/construction/hallway)
"bRt" = (
-/obj/machinery/computer/teleporter,
/obj/effect/decal/warning_stripes/southeast,
+/obj/machinery/computer/teleporter,
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"bRu" = (
@@ -43259,9 +43362,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"bRx" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 8
- },
/obj/structure/showcase{
density = 0;
dir = 4;
@@ -43272,6 +43372,9 @@
pixel_y = 2
},
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ dir = 5
+ },
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"bRz" = (
@@ -43420,7 +43523,9 @@
/obj/machinery/status_display{
pixel_x = -32
},
-/obj/machinery/computer/station_alert,
+/obj/machinery/computer/station_alert{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -43687,9 +43792,7 @@
},
/obj/machinery/meter,
/obj/effect/decal/warning_stripes/south,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
- },
+/obj/machinery/atmospherics/pipe/manifold/visible/cyan,
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"bSv" = (
@@ -43826,11 +43929,13 @@
},
/area/turret_protected/ai_upload)
"bSJ" = (
-/obj/machinery/computer/aiupload,
/obj/machinery/flasher{
id = "AI";
pixel_y = -21
},
+/obj/machinery/computer/aiupload{
+ dir = 1
+ },
/turf/simulated/floor/bluegrid,
/area/turret_protected/ai_upload)
"bSK" = (
@@ -43843,10 +43948,12 @@
/turf/simulated/floor/bluegrid,
/area/turret_protected/ai_upload)
"bSL" = (
-/obj/machinery/computer/borgupload,
/obj/item/radio/intercom/private{
pixel_y = -28
},
+/obj/machinery/computer/borgupload{
+ dir = 1
+ },
/turf/simulated/floor/bluegrid,
/area/turret_protected/ai_upload)
"bSM" = (
@@ -43871,7 +43978,9 @@
name = "Captain Requests Console";
pixel_x = -30
},
-/obj/machinery/computer/card,
+/obj/machinery/computer/card{
+ dir = 4
+ },
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain)
"bSP" = (
@@ -43983,6 +44092,9 @@
dir = 1
},
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"bTd" = (
@@ -44158,7 +44270,9 @@
icon_state = "2-4";
tag = ""
},
-/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -44249,6 +44363,7 @@
},
/area/turret_protected/aisat)
"bTD" = (
+/mob/living/simple_animal/bot/secbot/pingsky,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -44261,7 +44376,6 @@
icon_state = "2-4";
tag = ""
},
-/mob/living/simple_animal/bot/secbot/pingsky,
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
/turf/simulated/floor/plasteel{
@@ -44635,11 +44749,11 @@
},
/area/engine/break_room)
"bUg" = (
+/mob/living/simple_animal/parrot/Poly,
/obj/structure/filingcabinet/chestdrawer,
/obj/machinery/light{
dir = 8
},
-/mob/living/simple_animal/parrot/Poly,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -44900,6 +45014,9 @@
icon_state = "1-8"
},
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"bUG" = (
@@ -45022,10 +45139,12 @@
/turf/simulated/floor/wood,
/area/crew_quarters/heads/hop)
"bUV" = (
-/obj/machinery/computer/communications,
/obj/machinery/ai_status_display{
pixel_x = -32
},
+/obj/machinery/computer/communications{
+ dir = 4
+ },
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain)
"bUW" = (
@@ -45302,12 +45421,12 @@
},
/area/hallway/primary/starboard)
"bVp" = (
+/mob/living/simple_animal/bot/secbot/beepsky,
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=hall12";
location = "hall11"
},
/obj/item/radio/beacon,
-/mob/living/simple_animal/bot/secbot/beepsky,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -45655,12 +45774,14 @@
name = "east bump";
pixel_x = 24
},
-/obj/machinery/computer/prisoner,
/obj/machinery/camera{
c_tag = "Warden's Office";
dir = 8;
network = list("SS13","Security")
},
+/obj/machinery/computer/prisoner{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "red"
@@ -45717,7 +45838,9 @@
pixel_y = -8;
req_access_txt = "11"
},
-/obj/machinery/computer/security/engineering,
+/obj/machinery/computer/security/engineering{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -45864,7 +45987,7 @@
},
/obj/machinery/alarm{
dir = 1;
- pixel_y = -22
+ pixel_y = -24
},
/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/plasteel{
@@ -46580,7 +46703,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/card,
+/obj/machinery/computer/card{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -46759,7 +46884,9 @@
},
/obj/machinery/door/firedoor,
/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/plasteel{
+ icon_state = "cult"
+ },
/area/magistrateoffice)
"bYQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -47144,7 +47271,10 @@
/obj/machinery/power/smes{
charge = 2e+006
},
-/turf/simulated/floor/greengrid,
+/turf/simulated/floor/plasteel{
+ dir = 5;
+ icon_state = "dark"
+ },
/area/engine/engineering)
"bZE" = (
/obj/structure/cable{
@@ -47154,7 +47284,10 @@
/obj/machinery/power/smes{
charge = 2e+006
},
-/turf/simulated/floor/greengrid,
+/turf/simulated/floor/plasteel{
+ dir = 5;
+ icon_state = "dark"
+ },
/area/engine/engineering)
"bZG" = (
/obj/effect/decal/cleanable/dirt,
@@ -47183,11 +47316,11 @@
/area/maintenance/port)
"bZJ" = (
/obj/structure/table/wood,
-/obj/machinery/computer/library,
/obj/machinery/light_switch{
pixel_x = 4;
pixel_y = 26
},
+/obj/machinery/computer/library,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -47275,10 +47408,10 @@
/obj/item/radio/intercom{
pixel_y = 26
},
+/obj/effect/decal/cleanable/cobweb,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_x = -32
},
-/obj/effect/decal/cleanable/cobweb,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -47324,10 +47457,12 @@
/turf/simulated/wall/r_wall,
/area/crew_quarters/heads/hop)
"bZX" = (
-/obj/machinery/computer/secure_data,
/obj/machinery/light{
dir = 8
},
+/obj/machinery/computer/secure_data{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -47621,13 +47756,13 @@
/turf/simulated/floor/wood,
/area/lawoffice)
"caM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/obj/machinery/computer/prisoner{
req_access = null;
req_access_txt = "2"
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -47675,7 +47810,6 @@
/obj/item/radio/intercom{
pixel_y = 26
},
-/obj/machinery/computer/med_data/laptop,
/obj/machinery/flasher_button{
id = "hopflash";
pixel_x = -38;
@@ -47702,6 +47836,7 @@
pixel_x = -24;
pixel_y = 8
},
+/obj/machinery/computer/med_data/laptop,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -48348,6 +48483,9 @@
/obj/structure/sign/poster/official/random{
pixel_x = 32
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_x = 32
+ },
/turf/simulated/floor/wood,
/area/ntrep)
"ccd" = (
@@ -49022,7 +49160,9 @@
/turf/simulated/wall/r_wall,
/area/crew_quarters/heads/hop)
"cdE" = (
-/obj/machinery/computer/supplycomp,
+/obj/machinery/computer/supplycomp{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -49654,13 +49794,14 @@
name = "Station Intercom (General)";
pixel_y = -29
},
-/obj/machinery/computer/station_alert,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/machinery/computer/station_alert,
/obj/machinery/computer/monitor{
+ dir = 1;
name = "Grid Power Monitoring Computer"
},
/turf/simulated/floor/plasteel{
@@ -49673,12 +49814,14 @@
pixel_x = 28;
pixel_y = -28
},
-/obj/machinery/computer/atmos_alert,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/machinery/computer/atmos_alert{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -49830,7 +49973,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/security/mining,
+/obj/machinery/computer/security/mining{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -50539,9 +50684,11 @@
/area/teleporter)
"chu" = (
/obj/machinery/light,
-/obj/machinery/computer/monitor,
/obj/structure/cable,
/obj/effect/decal/warning_stripes/north,
+/obj/machinery/computer/monitor{
+ dir = 1
+ },
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"chv" = (
@@ -51026,12 +51173,12 @@
/turf/simulated/floor/carpet,
/area/crew_quarters/heads/hop)
"ciE" = (
+/mob/living/simple_animal/pet/dog/corgi/Ian,
/obj/structure/bed/dogbed/ian,
/obj/machinery/alarm{
dir = 8;
pixel_x = 24
},
-/mob/living/simple_animal/pet/dog/corgi/Ian,
/turf/simulated/floor/wood,
/area/crew_quarters/heads/hop)
"ciF" = (
@@ -51284,6 +51431,7 @@
icon_state = "0-4"
},
/obj/machinery/computer/monitor{
+ dir = 1;
name = "Grid Power Monitoring Computer"
},
/turf/simulated/floor/plasteel{
@@ -52890,7 +53038,7 @@
/turf/simulated/floor/plasteel{
icon_state = "white"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"cmv" = (
/obj/structure/cable{
d1 = 1;
@@ -53235,10 +53383,10 @@
/area/library)
"cnn" = (
/obj/structure/table/wood,
-/obj/machinery/computer/library/checkout,
/obj/machinery/newscaster{
pixel_x = 32
},
+/obj/machinery/computer/library/checkout,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -53397,7 +53545,9 @@
/turf/simulated/floor/plating,
/area/security/range)
"cnG" = (
-/obj/machinery/computer/teleporter,
+/obj/machinery/computer/teleporter{
+ dir = 8
+ },
/turf/simulated/floor/plating,
/area/teleporter)
"cnH" = (
@@ -53601,7 +53751,7 @@
/area/engine/engineering)
"cog" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/the_singularitygen,
+/obj/machinery/the_singularitygen/tesla,
/turf/simulated/floor/plating,
/area/engine/engineering)
"coh" = (
@@ -53673,11 +53823,6 @@
/obj/effect/decal/warning_stripes/northeast,
/turf/simulated/floor/plasteel,
/area/engine/engine_smes)
-"cop" = (
-/obj/machinery/the_singularitygen,
-/obj/effect/decal/warning_stripes/yellow/hollow,
-/turf/simulated/floor/plasteel,
-/area/engine/engine_smes)
"coq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/door/firedoor,
@@ -54957,11 +55102,6 @@
/obj/effect/decal/warning_stripes/northeast,
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
-"cqP" = (
-/obj/machinery/the_singularitygen/tesla,
-/obj/effect/decal/warning_stripes/yellow/hollow,
-/turf/simulated/floor/plasteel,
-/area/engine/engine_smes)
"cqQ" = (
/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plating/airless,
@@ -55083,12 +55223,12 @@
"crl" = (
/obj/structure/table/wood,
/obj/item/storage/pill_bottle/dice,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = -32
- },
/obj/structure/window/reinforced{
dir = 8
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = -32
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -58958,12 +59098,12 @@
dir = 1;
in_use = 1
},
-/obj/machinery/computer/cryopod{
- pixel_y = 32
- },
/obj/machinery/camera{
c_tag = "Cryodorms Fore"
},
+/obj/machinery/computer/cryopod{
+ pixel_y = 32
+ },
/turf/simulated/floor/plasteel{
icon_state = "freezerfloor"
},
@@ -61285,8 +61425,7 @@
"cEj" = (
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
@@ -61624,7 +61763,7 @@
dir = 1;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"cFe" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
@@ -62679,7 +62818,7 @@
dir = 1;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"cGI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -62892,7 +63031,9 @@
},
/area/crew_quarters/fitness)
"cHb" = (
-/obj/machinery/computer/HolodeckControl,
+/obj/machinery/computer/HolodeckControl{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/crew_quarters/fitness)
"cHc" = (
@@ -64345,7 +64486,7 @@
/obj/effect/spawner/window/reinforced,
/obj/machinery/door/firedoor,
/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/area/medical/psych)
"cLb" = (
/obj/machinery/door/airlock/medical{
id_tag = "psychfoyer";
@@ -64354,7 +64495,7 @@
},
/obj/machinery/door/firedoor,
/turf/simulated/floor/wood,
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"cLd" = (
/obj/structure/cable{
d2 = 4;
@@ -66658,13 +66799,13 @@
/area/crew_quarters/sleep)
"cQj" = (
/obj/machinery/light,
-/obj/machinery/computer/cryopod{
- pixel_y = -32
- },
/obj/machinery/camera{
c_tag = "Cryodorms Aft";
dir = 1
},
+/obj/machinery/computer/cryopod{
+ pixel_y = -32
+ },
/turf/simulated/floor/plasteel{
icon_state = "freezerfloor"
},
@@ -67583,10 +67724,12 @@
/turf/simulated/floor/plasteel,
/area/toxins/xenobiology)
"cSh" = (
-/obj/machinery/computer/camera_advanced/xenobio,
/obj/machinery/status_display{
pixel_x = 32
},
+/obj/machinery/computer/camera_advanced/xenobio{
+ dir = 8
+ },
/turf/simulated/floor/plasteel,
/area/toxins/xenobiology)
"cSi" = (
@@ -67920,7 +68063,7 @@
"cST" = (
/obj/structure/sink{
dir = 4;
- pixel_x = 10
+ pixel_x = 12
},
/obj/effect/decal/cleanable/vomit,
/obj/effect/decal/cleanable/dirt,
@@ -68485,7 +68628,7 @@
/turf/simulated/floor/plating,
/area/medical/medbay)
"cTZ" = (
-/obj/machinery/smartfridge/secure/chemistry,
+/obj/machinery/smartfridge/medbay,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -69349,7 +69492,9 @@
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"cVM" = (
-/obj/machinery/computer/med_data,
+/obj/machinery/computer/med_data{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitebluecorner"
@@ -70065,11 +70210,13 @@
},
/area/medical/medbay3)
"cXm" = (
-/obj/machinery/computer/crew,
/obj/item/radio/intercom{
dir = 8;
pixel_x = -28
},
+/obj/machinery/computer/crew{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whiteblue"
@@ -70428,8 +70575,10 @@
},
/area/toxins/lab)
"cYn" = (
-/obj/machinery/computer/rdconsole/core,
/obj/effect/decal/warning_stripes/southwest,
+/obj/machinery/computer/rdconsole/core{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/toxins/lab)
"cYo" = (
@@ -73003,18 +73152,13 @@
},
/area/hallway/primary/aft)
"ddL" = (
-/obj/machinery/smartfridge/medbay,
+/obj/machinery/smartfridge/secure/medbay,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/door/window/westleft{
- dir = 4;
- name = "Chemistry Desk";
- req_one_access_txt = "5;33"
- },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -73646,7 +73790,12 @@
},
/area/library/abandoned)
"deV" = (
-/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitegreen"
},
@@ -74435,11 +74584,11 @@
dir = 1;
on = 1
},
-/obj/machinery/computer/cloning,
/obj/structure/sign/nosmoking_2{
pixel_y = 32
},
/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/machinery/computer/cloning,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -74786,11 +74935,8 @@
/obj/structure/girder,
/obj/structure/grille,
/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "pdoor0";
id_tag = "maintrobotics";
- name = "Decrepit Blast Door";
- opacity = 0
+ name = "Decrepit Blast Door"
},
/obj/effect/decal/warning_stripes/east,
/obj/effect/decal/warning_stripes/west,
@@ -75297,7 +75443,9 @@
/turf/simulated/floor/plasteel,
/area/assembly/chargebay)
"dio" = (
-/obj/machinery/computer/mech_bay_power_console,
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 8
+ },
/turf/simulated/floor/bluegrid,
/area/assembly/chargebay)
"dip" = (
@@ -75715,11 +75863,8 @@
/obj/structure/girder,
/obj/structure/grille,
/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "pdoor0";
id_tag = "maintrobotics";
- name = "Decrepit Blast Door";
- opacity = 0
+ name = "Decrepit Blast Door"
},
/obj/effect/decal/warning_stripes/east,
/obj/effect/decal/warning_stripes/west,
@@ -75898,8 +76043,10 @@
},
/area/toxins/explab)
"dju" = (
-/obj/machinery/computer/rdconsole/experiment,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/rdconsole/experiment{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitepurplecorner"
},
@@ -77690,8 +77837,10 @@
/obj/machinery/ai_status_display{
pixel_x = 32
},
-/obj/machinery/computer/card/minor/rd,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/card/minor/rd{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitepurple"
@@ -77710,7 +77859,9 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/computer/aifixer,
+/obj/machinery/computer/aifixer{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -77737,6 +77888,7 @@
dir = 4
},
/obj/machinery/computer/general_air_control{
+ dir = 4;
frequency = 1222;
name = "Bomb Mix Monitor";
sensors = list("burn_sensor" = "Burn Mix")
@@ -77778,7 +77930,9 @@
},
/area/assembly/chargebay)
"dnA" = (
-/obj/machinery/computer/mech_bay_power_console,
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 8
+ },
/turf/simulated/floor/greengrid,
/area/assembly/chargebay)
"dnB" = (
@@ -77896,8 +78050,8 @@
dir = 1;
on = 1
},
-/obj/machinery/computer/scan_consolenew,
/obj/effect/decal/warning_stripes/southwest,
+/obj/machinery/computer/scan_consolenew,
/turf/simulated/floor/plasteel,
/area/medical/genetics)
"dnO" = (
@@ -77918,6 +78072,7 @@
},
/area/medical/genetics)
"dnR" = (
+/mob/living/carbon/human/monkey,
/obj/structure/window/reinforced{
dir = 1
},
@@ -77927,7 +78082,6 @@
/obj/structure/window/reinforced{
dir = 8
},
-/mob/living/carbon/human/monkey,
/turf/simulated/floor/grass,
/area/medical/genetics)
"dnT" = (
@@ -78336,8 +78490,10 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/mecha,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/mecha{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitepurplecorner"
},
@@ -78957,7 +79113,9 @@
/turf/simulated/floor/greengrid,
/area/medical/research)
"dpV" = (
-/obj/machinery/computer/mech_bay_power_console,
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 1
+ },
/turf/simulated/floor/greengrid,
/area/medical/research)
"dpW" = (
@@ -79021,8 +79179,10 @@
/obj/machinery/status_display{
pixel_x = 32
},
-/obj/machinery/computer/robotics,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/robotics{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitepurplecorner"
},
@@ -79826,6 +79986,7 @@
},
/area/medical/genetics)
"drZ" = (
+/mob/living/carbon/human/monkey,
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 4
@@ -79833,7 +79994,6 @@
/obj/structure/window/reinforced{
dir = 8
},
-/mob/living/carbon/human/monkey,
/turf/simulated/floor/grass,
/area/medical/genetics)
"dsb" = (
@@ -79854,6 +80014,7 @@
},
/area/medical/medbay)
"dsd" = (
+/mob/living/simple_animal/pet/cat/Runtime,
/obj/machinery/light{
dir = 8
},
@@ -79864,7 +80025,6 @@
/obj/structure/bed/dogbed{
name = "kitty basket"
},
-/mob/living/simple_animal/pet/cat/Runtime,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
@@ -80285,8 +80445,10 @@
/area/medical/genetics)
"dsV" = (
/obj/machinery/light,
-/obj/machinery/computer/scan_consolenew,
/obj/effect/decal/warning_stripes/northwest,
+/obj/machinery/computer/scan_consolenew{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/medical/genetics)
"dsW" = (
@@ -80302,7 +80464,6 @@
/area/medical/genetics)
"dsX" = (
/obj/structure/table/glass,
-/obj/machinery/computer/med_data/laptop,
/obj/structure/mirror{
pixel_y = -30
},
@@ -80310,6 +80471,9 @@
dir = 1;
icon_state = "pipe-c"
},
+/obj/machinery/computer/med_data/laptop{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -81021,10 +81185,12 @@
/obj/machinery/ai_status_display{
pixel_x = 32
},
-/obj/machinery/computer/card/minor/cmo,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8
},
+/obj/machinery/computer/card/minor/cmo{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -81064,11 +81230,13 @@
},
/area/medical/surgery1)
"duA" = (
-/obj/machinery/computer/operating,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/machinery/computer/operating{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "darkblue"
@@ -81077,7 +81245,7 @@
"duB" = (
/obj/structure/sink{
dir = 4;
- pixel_x = 11
+ pixel_x = 12
},
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
@@ -81418,19 +81586,28 @@
/obj/effect/landmark/start{
name = "Roboticist"
},
+/obj/effect/decal/warning_stripes/southeastcorner,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dvp" = (
-/obj/structure/window/reinforced/polarized,
-/obj/effect/decal/warning_stripes/south,
-/obj/machinery/computer/rdconsole/robotics,
-/turf/simulated/floor/plasteel,
+/obj/structure/window/reinforced/polarized{
+ dir = 8
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
/area/assembly/robotics)
"dvq" = (
-/obj/structure/window/reinforced/polarized,
-/obj/effect/decal/warning_stripes/southeast,
-/obj/structure/filingcabinet/chestdrawer,
-/turf/simulated/floor/plasteel,
+/obj/structure/mirror{
+ pixel_x = 32
+ },
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 12
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
/area/assembly/robotics)
"dvr" = (
/obj/structure/chair/office/light{
@@ -81590,7 +81767,6 @@
},
/area/medical/cmo)
"dvJ" = (
-/obj/machinery/computer/crew,
/obj/machinery/requests_console{
announcementConsole = 1;
department = "Chief Medical Officer's Desk";
@@ -81598,6 +81774,9 @@
name = "Chief Medical Officer Requests Console";
pixel_x = 30
},
+/obj/machinery/computer/crew{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -81828,7 +82007,9 @@
dir = 4;
pixel_x = -24
},
-/obj/machinery/computer/rdservercontrol,
+/obj/machinery/computer/rdservercontrol{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -82318,6 +82499,7 @@
/area/toxins/storage)
"dxl" = (
/obj/structure/table/reinforced,
+/obj/effect/decal/warning_stripes/west,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching the test chamber.";
dir = 4;
@@ -82325,7 +82507,6 @@
name = "Test Chamber Telescreen";
network = list("Toxins")
},
-/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -83082,7 +83263,9 @@
/area/toxins/mixing)
"dyC" = (
/obj/effect/decal/warning_stripes/northwest,
-/obj/machinery/computer/area_atmos,
+/obj/machinery/computer/area_atmos{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -83207,7 +83390,7 @@
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dyO" = (
-/obj/effect/decal/warning_stripes/southeastcorner,
+/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dyP" = (
@@ -83234,12 +83417,20 @@
},
/area/assembly/robotics)
"dyT" = (
-/obj/structure/window/reinforced/polarized,
-/obj/effect/decal/warning_stripes/south,
-/obj/machinery/r_n_d/circuit_imprinter,
-/obj/item/reagent_containers/glass/beaker/sulphuric,
-/turf/simulated/floor/plasteel,
-/area/assembly/robotics)
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/lattice/catwalk,
+/turf/space,
+/area/maintenance/auxsolarstarboard)
"dyU" = (
/obj/machinery/firealarm{
dir = 8;
@@ -83855,6 +84046,7 @@
pixel_y = -32
},
/obj/machinery/computer/operating{
+ dir = 1;
name = "Robotics Operating Computer"
},
/turf/simulated/floor/plasteel{
@@ -83994,7 +84186,9 @@
/obj/machinery/newscaster{
pixel_y = -32
},
-/obj/machinery/computer/med_data/laptop,
+/obj/machinery/computer/med_data/laptop{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "cmo"
@@ -84627,9 +84821,6 @@
/obj/item/bonegel,
/obj/item/FixOVein,
/obj/item/surgicaldrill,
-/obj/structure/mirror{
- pixel_x = 32
- },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -85928,8 +86119,7 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
@@ -86213,6 +86403,7 @@
pixel_x = -4;
pixel_y = 4
},
+/obj/item/reagent_containers/spray/cleaner,
/obj/machinery/button/windowtint{
id = 1;
pixel_x = 24
@@ -86605,10 +86796,10 @@
/obj/machinery/light/small{
dir = 4
},
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = 32
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitegreencorner"
@@ -86999,15 +87190,15 @@
/area/medical/virology)
"dHq" = (
/obj/structure/table/glass,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = 32
- },
/obj/item/radio/intercom{
dir = 4;
pixel_x = 28
},
-/obj/machinery/computer/med_data/laptop,
/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = 32
+ },
+/obj/machinery/computer/med_data/laptop,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -87333,8 +87524,7 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
@@ -88343,33 +88533,14 @@
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"dKz" = (
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable{
- d2 = 4;
- icon_state = "0-4"
- },
-/obj/structure/cable{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4";
- tag = ""
- },
-/turf/simulated/floor/plating,
-/area/medical/virology)
+/obj/item/stack/cable_coil/random,
+/turf/space,
+/area/space)
"dKA" = (
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable{
- d2 = 2;
- icon_state = "0-2"
- },
-/obj/structure/cable{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4";
- tag = ""
- },
-/turf/simulated/floor/plating,
-/area/medical/virology)
+/obj/structure/lattice,
+/obj/item/stack/cable_coil/random,
+/turf/space,
+/area/space/nearstation)
"dKB" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
@@ -88579,8 +88750,7 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
@@ -88611,8 +88781,7 @@
"dLd" = (
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/obj/structure/mirror{
pixel_x = -32
@@ -88666,10 +88835,10 @@
},
/area/medical/virology)
"dLi" = (
+/mob/living/carbon/human/monkey,
/obj/machinery/light/small{
dir = 1
},
-/mob/living/carbon/human/monkey,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -88691,10 +88860,10 @@
},
/area/medical/virology)
"dLk" = (
+/mob/living/carbon/human/monkey,
/obj/machinery/light/small{
dir = 1
},
-/mob/living/carbon/human/monkey,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -88985,11 +89154,21 @@
},
/area/medical/virology)
"dLR" = (
-/obj/structure/chair/office/dark{
- dir = 1
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
+/obj/structure/table/glass,
+/obj/structure/reagent_dispensers/virusfood{
+ pixel_x = -32
+ },
+/obj/machinery/reagentgrinder,
+/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plasteel{
- icon_state = "whitegreen"
+ dir = 1;
+ icon_state = "whitegreencorner"
},
/area/medical/virology)
"dLT" = (
@@ -89168,6 +89347,31 @@
/turf/simulated/floor/plasteel,
/area/medical/virology)
"dMw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4";
+ tag = ""
+ },
+/obj/machinery/smartfridge/secure/chemistry/virology/preloaded,
+/obj/effect/decal/warning_stripes/east,
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "whitegreen"
+ },
+/area/medical/virology)
+"dMx" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -89179,7 +89383,7 @@
icon_state = "whitegreen"
},
/area/medical/virology)
-"dMx" = (
+"dMy" = (
/obj/structure/disposalpipe/segment{
dir = 4;
icon_state = "pipe-c"
@@ -89206,26 +89410,6 @@
icon_state = "whitegreen"
},
/area/medical/virology)
-"dMy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 6
- },
-/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/virology)
"dMz" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -89241,12 +89425,6 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/structure/cable{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4";
- tag = ""
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -89259,22 +89437,13 @@
},
/area/medical/virology)
"dMA" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/item/storage/secure/safe{
+ pixel_x = 32
},
-/obj/structure/table/glass,
-/obj/item/clothing/gloves/color/latex,
-/obj/item/healthanalyzer,
-/obj/item/clothing/glasses/hud/health,
-/obj/effect/decal/warning_stripes/southeastcorner,
/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "whitegreencorner"
+ icon_state = "grimy"
},
-/area/medical/virology)
+/area/security/detectives_office)
"dMB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -89361,19 +89530,17 @@
},
/area/medical/virology)
"dMG" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
/obj/structure/table/glass,
-/obj/item/folder/white,
-/obj/item/pen/red,
-/obj/item/stack/sheet/mineral/plasma{
- amount = 5
- },
-/obj/machinery/requests_console{
- department = "Virology";
- departmentType = 3;
- name = "Virology Requests Console";
- pixel_y = 30
- },
-/obj/effect/decal/warning_stripes/south,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/healthanalyzer,
+/obj/item/clothing/glasses/hud/health,
+/obj/effect/decal/warning_stripes/southeastcorner,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitegreencorner"
@@ -89537,20 +89704,46 @@
},
/area/hallway/secondary/exit)
"dNi" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/structure/table/glass,
+/obj/item/folder/white,
+/obj/item/pen/red,
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 5
},
+/obj/machinery/requests_console{
+ department = "Virology";
+ departmentType = 3;
+ name = "Virology Requests Console";
+ pixel_y = 30
+ },
+/obj/effect/decal/warning_stripes/south,
/obj/machinery/computer/pandemic,
-/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitegreencorner"
},
/area/medical/virology)
"dNj" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/structure/table/glass,
+/obj/item/reagent_containers/spray/cleaner,
+/obj/item/reagent_containers/dropper,
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/effect/decal/warning_stripes/east,
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "whitegreencorner"
+ },
+/area/medical/virology)
+"dNk" = (
/obj/structure/chair/office/dark{
dir = 8
},
@@ -89562,7 +89755,7 @@
icon_state = "whitegreen"
},
/area/medical/virology)
-"dNk" = (
+"dNl" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
@@ -89575,7 +89768,7 @@
icon_state = "whitegreen"
},
/area/medical/virology)
-"dNl" = (
+"dNm" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
@@ -89584,19 +89777,7 @@
icon_state = "whitegreen"
},
/area/medical/virology)
-"dNm" = (
-/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "whitegreen"
- },
-/area/medical/virology)
"dNn" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitegreen"
@@ -89609,8 +89790,7 @@
"dNs" = (
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/turf/simulated/floor/plasteel{
dir = 1;
@@ -89806,6 +89986,19 @@
/turf/space,
/area/space)
"dNW" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/effect/decal/warning_stripes/southeast,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitegreencorner"
+ },
+/area/medical/virology)
+"dNX" = (
/obj/structure/filingcabinet/chestdrawer,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
@@ -89813,7 +90006,7 @@
icon_state = "whitegreen"
},
/area/medical/virology)
-"dNX" = (
+"dNY" = (
/obj/machinery/light{
dir = 1;
on = 1
@@ -89834,19 +90027,6 @@
icon_state = "whitegreencorner"
},
/area/medical/virology)
-"dNY" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/effect/decal/warning_stripes/yellow/hollow,
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "whitegreencorner"
- },
-/area/medical/virology)
"dNZ" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
@@ -89860,23 +90040,16 @@
},
/area/medical/surgery)
"dOc" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/obj/structure/table/glass,
-/obj/structure/reagent_dispensers/virusfood{
- pixel_x = -32
+/obj/structure/window/reinforced/polarized,
+/obj/effect/decal/warning_stripes/south,
+/obj/machinery/computer/rdconsole/robotics{
+ dir = 1
},
-/obj/machinery/reagentgrinder,
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "whitegreencorner"
- },
-/area/medical/virology)
+/turf/simulated/floor/plasteel,
+/area/assembly/robotics)
"dOd" = (
/turf/simulated/floor/plasteel{
dir = 8;
@@ -90151,6 +90324,16 @@
},
/area/hallway/secondary/exit)
"dOD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/r_n_d/circuit_imprinter,
+/obj/item/reagent_containers/glass/beaker/sulphuric,
+/obj/structure/window/reinforced/polarized,
+/obj/effect/decal/warning_stripes/south,
+/turf/simulated/floor/plasteel,
+/area/assembly/robotics)
+"dOE" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
d2 = 4;
@@ -90164,26 +90347,21 @@
},
/turf/simulated/floor/plating,
/area/medical/virology)
-"dOE" = (
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable,
+"dOF" = (
/obj/structure/cable{
d1 = 1;
d2 = 8;
- icon_state = "1-8"
+ icon_state = "1-8";
+ tag = ""
},
-/turf/simulated/floor/plating,
-/area/medical/virology)
-"dOF" = (
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable,
/obj/structure/cable{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
},
-/turf/simulated/floor/plating,
-/area/medical/virology)
+/obj/structure/lattice/catwalk,
+/turf/space,
+/area/maintenance/starboardsolar)
"dOG" = (
/obj/machinery/light{
dir = 8
@@ -90216,8 +90394,7 @@
},
/obj/structure/sink{
dir = 8;
- pixel_x = -12;
- pixel_y = 2
+ pixel_x = -12
},
/turf/simulated/floor/plasteel{
dir = 8;
@@ -90447,9 +90624,9 @@
},
/area/medical/surgery2)
"dPo" = (
+/mob/living/carbon/human/monkey,
/obj/structure/bed/roller,
/obj/effect/decal/warning_stripes/yellow/hollow,
-/mob/living/carbon/human/monkey,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitegreencorner"
@@ -90997,16 +91174,10 @@
},
/area/medical/surgery2)
"dQv" = (
+/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/structure/cable{
- d1 = 1;
d2 = 4;
- icon_state = "1-4"
+ icon_state = "0-4"
},
/obj/structure/cable{
d1 = 2;
@@ -91014,12 +91185,7 @@
icon_state = "2-4";
tag = ""
},
-/obj/machinery/smartfridge/secure/chemistry/virology/preloaded,
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "whitegreen"
- },
+/turf/simulated/floor/plating,
/area/medical/virology)
"dQw" = (
/obj/structure/disposalpipe/segment{
@@ -91122,11 +91288,11 @@
},
/area/hallway/secondary/exit)
"dQG" = (
+/mob/living/carbon/human/monkey,
/obj/effect/landmark{
name = "revenantspawn"
},
/obj/effect/decal/warning_stripes/yellow,
-/mob/living/carbon/human/monkey,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
@@ -91134,24 +91300,18 @@
},
/area/medical/virology)
"dQH" = (
+/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
- d1 = 1;
d2 = 2;
- icon_state = "1-2";
+ icon_state = "0-2"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4";
tag = ""
},
-/obj/structure/table/glass,
-/obj/item/reagent_containers/spray/cleaner,
-/obj/item/reagent_containers/dropper,
-/obj/machinery/alarm{
- dir = 4;
- pixel_x = -24
- },
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "whitegreencorner"
- },
+/turf/simulated/floor/plating,
/area/medical/virology)
"dQI" = (
/obj/effect/decal/warning_stripes/north,
@@ -91218,7 +91378,7 @@
pixel_y = -25
},
/obj/effect/decal/warning_stripes/yellow,
-/turf/simulated/floor/plasteel,
+/turf/simulated/floor/plating,
/area/maintenance/portsolar)
"dQM" = (
/obj/structure/cable{
@@ -91407,6 +91567,16 @@
/turf/simulated/floor/plasteel,
/area/maintenance/portsolar)
"dRf" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "whitegreen"
+ },
+/area/medical/virology)
+"dRg" = (
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -91422,7 +91592,7 @@
icon_state = "whitegreencorner"
},
/area/medical/virology)
-"dRg" = (
+"dRh" = (
/obj/structure/table/glass,
/obj/structure/sign/deathsposal{
pixel_y = -32
@@ -91434,7 +91604,7 @@
icon_state = "whitegreencorner"
},
/area/medical/virology)
-"dRh" = (
+"dRi" = (
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -91451,13 +91621,6 @@
icon_state = "whitegreencorner"
},
/area/medical/virology)
-"dRi" = (
-/obj/item/twohanded/required/kirbyplants,
-/obj/effect/decal/warning_stripes/yellow/hollow,
-/turf/simulated/floor/plasteel{
- icon_state = "whitegreen"
- },
-/area/medical/virology)
"dRj" = (
/obj/effect/decal/warning_stripes/north,
/turf/simulated/floor/plasteel,
@@ -91502,11 +91665,12 @@
/area/hallway/secondary/exit)
"dRo" = (
/obj/structure/cable,
+/obj/effect/decal/warning_stripes/southwest,
/obj/machinery/power/solar_control{
+ dir = 4;
id = "portsolar";
name = "Aft Port Solar Control"
},
-/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plating,
/area/maintenance/portsolar)
"dRp" = (
@@ -92359,11 +92523,7 @@
},
/area/chapel/office)
"dTu" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
/turf/simulated/floor/plasteel{
icon_state = "whitegreen"
},
@@ -92378,20 +92538,14 @@
icon_state = "4-8";
tag = ""
},
-/obj/structure/cable{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+ dir = 5
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+ dir = 6
},
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "whitegreen"
+ icon_state = "white"
},
/area/medical/virology)
"dTw" = (
@@ -93532,22 +93686,15 @@
/area/hallway/primary/central)
"dWS" = (
/obj/item/twohanded/required/kirbyplants,
-/obj/machinery/light,
-/obj/machinery/status_display{
- pixel_y = -32
- },
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
- dir = 5;
- icon_state = "whitegreencorner"
+ icon_state = "whitegreen"
},
/area/medical/virology)
"dWT" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/machinery/light,
+/obj/machinery/status_display{
+ pixel_y = -32
},
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
@@ -93804,8 +93951,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
-/obj/effect/decal/warning_stripes/east,
-/obj/item/twohanded/required/kirbyplants,
+/obj/effect/decal/warning_stripes/southeast,
+/obj/structure/filingcabinet/chestdrawer,
+/obj/structure/window/reinforced/polarized,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dXs" = (
@@ -94280,9 +94428,9 @@
/turf/simulated/floor/plasteel,
/area/medical/research)
"dYE" = (
+/mob/living/carbon/human/monkey,
/obj/structure/bed/roller,
/obj/effect/decal/warning_stripes/yellow/hollow,
-/mob/living/carbon/human/monkey,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "whitegreencorner"
@@ -94985,7 +95133,7 @@
/turf/simulated/floor/plasteel{
icon_state = "white"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"fhF" = (
/turf/space,
/area/shuttle/gamma/station)
@@ -95581,11 +95729,8 @@
},
/area/security/seceqstorage)
"hbU" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/structure/chair/office/dark{
+ dir = 1
},
/turf/simulated/floor/plasteel{
icon_state = "whitegreen"
@@ -95705,7 +95850,7 @@
/turf/simulated/floor/plasteel{
icon_state = "white"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"hzb" = (
/obj/machinery/light{
dir = 4
@@ -95715,6 +95860,20 @@
icon_state = "redcorner"
},
/area/security/permasolitary)
+"hzl" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/turret_protected/aisat)
"hAi" = (
/obj/machinery/vending/scidrobe,
/turf/simulated/floor/plasteel{
@@ -95788,18 +95947,31 @@
},
/area/medical/surgery1)
"hMu" = (
-/obj/machinery/power/solar{
- name = "Aft Starboard Solar Panel"
- },
+/obj/effect/spawner/window/reinforced,
+/obj/structure/cable,
/obj/structure/cable{
- d2 = 2;
- icon_state = "0-2"
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
},
-/turf/space,
-/area/maintenance/starboardsolar)
+/turf/simulated/floor/plating,
+/area/medical/virology)
"hOL" = (
/turf/simulated/floor/carpet,
/area/magistrateoffice)
+"hPT" = (
+/obj/machinery/door/airlock/atmos/glass{
+ heat_proof = 1;
+ name = "Supermatter Chamber";
+ req_one_access_txt = "24; 10"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/engine,
+/area/engine/supermatter)
"hTk" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/rack,
@@ -95976,10 +96148,10 @@
pixel_y = 25
},
/obj/structure/table/wood,
-/obj/machinery/computer/secure_data/laptop,
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/computer/secure_data/laptop,
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -96114,7 +96286,7 @@
dir = 1;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"iXX" = (
/obj/structure/cable{
d1 = 1;
@@ -96235,7 +96407,7 @@
/turf/simulated/floor/plasteel{
icon_state = "white"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"jsV" = (
/obj/structure/cable{
d1 = 4;
@@ -96360,7 +96532,7 @@
dir = 4;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"jLB" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/disposalpipe/segment{
@@ -96443,11 +96615,8 @@
pixel_x = -24
},
/obj/item/ammo_box/shotgun/rubbershot,
-/obj/item/ammo_box/shotgun/buck,
/obj/item/storage/box/rubbershot,
/obj/item/storage/box/rubbershot,
-/obj/item/storage/box/buck,
-/obj/item/storage/box/buck,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
@@ -96480,7 +96649,7 @@
dir = 4;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"klk" = (
/obj/machinery/firealarm{
dir = 1;
@@ -97421,7 +97590,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/security,
+/obj/machinery/computer/security{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "redfull"
},
@@ -97474,13 +97645,13 @@
},
/area/security/prisonershuttle)
"nFL" = (
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = 32
- },
/obj/machinery/light/small{
dir = 1
},
/obj/machinery/smartfridge/drying_rack,
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = 32
+ },
/turf/simulated/floor/plating,
/area/security/permabrig)
"nFN" = (
@@ -97495,12 +97666,15 @@
/turf/simulated/floor/plating,
/area/civilian/barber)
"nGA" = (
-/obj/machinery/power/solar{
- name = "Aft Starboard Solar Panel"
- },
+/obj/effect/spawner/window/reinforced,
/obj/structure/cable,
-/turf/space,
-/area/maintenance/starboardsolar)
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plating,
+/area/medical/virology)
"nGL" = (
/obj/machinery/bodyscanner{
dir = 4
@@ -97748,9 +97922,6 @@
/area/space/nearstation)
"oHv" = (
/obj/structure/table/reinforced,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_x = 32
- },
/turf/simulated/floor/plasteel{
icon_state = "barber"
},
@@ -97949,7 +98120,7 @@
dir = 1;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"pGr" = (
/obj/structure/cable{
d1 = 1;
@@ -98277,6 +98448,15 @@
/obj/effect/spawner/window/reinforced/plasma,
/turf/simulated/floor/plating,
/area/toxins/mixing)
+"qWs" = (
+/obj/machinery/computer/arcade{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ dir = 5;
+ icon_state = "dark"
+ },
+/area/maintenance/fore2)
"qXF" = (
/obj/machinery/alarm{
pixel_y = 24
@@ -98516,7 +98696,7 @@
dir = 1;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"rIy" = (
/obj/machinery/door/airlock/research{
name = "Research Break Room"
@@ -98668,7 +98848,6 @@
/area/security/permabrig)
"sak" = (
/obj/structure/table/wood,
-/obj/machinery/computer/med_data/laptop,
/turf/simulated/floor/wood,
/area/medical/psych)
"scA" = (
@@ -98682,6 +98861,14 @@
icon_state = "red"
},
/area/hallway/secondary/exit)
+"sdP" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/engine,
+/area/engine/supermatter)
"shi" = (
/obj/structure/cable{
d2 = 2;
@@ -98721,12 +98908,14 @@
},
/area/medical/research)
"soN" = (
-/obj/machinery/computer/operating,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/computer/operating{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "darkblue"
@@ -98857,15 +99046,16 @@
/area/toxins/mixing)
"sPS" = (
/obj/structure/cable,
-/obj/machinery/power/solar_control{
- id = "starboardsolar";
- name = "Aft Starboard Solar Control"
- },
/obj/machinery/alarm{
dir = 1;
pixel_y = -24
},
/obj/effect/decal/warning_stripes/southeast,
+/obj/machinery/power/solar_control{
+ dir = 8;
+ id = "starboardsolar";
+ name = "Aft Starboard Solar Control"
+ },
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"sTz" = (
@@ -99143,7 +99333,7 @@
dir = 4;
icon_state = "whitebluecorner"
},
-/area/maintenance/starboard)
+/area/hallway/primary/central)
"tNO" = (
/obj/structure/cable{
d1 = 2;
@@ -99570,15 +99760,15 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/obj/machinery/computer/security/telescreen{
desc = "Used for watching interrogations.";
name = "Interrogation Monitor";
network = list("Interrogation");
pixel_y = -30
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -100137,14 +100327,14 @@
},
/area/medical/research)
"xom" = (
+/mob/living/simple_animal/bot/secbot/armsky{
+ auto_patrol = 1
+ },
/obj/effect/decal/warning_stripes/north,
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=Armory_South";
location = "Armory_North"
},
-/mob/living/simple_animal/bot/secbot/armsky{
- auto_patrol = 1
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
@@ -100206,7 +100396,7 @@
"xwk" = (
/obj/structure/sink{
dir = 4;
- pixel_x = 11
+ pixel_x = 12
},
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
@@ -108010,7 +108200,7 @@ btd
bNM
bPP
bUD
-bTL
+hzl
bXI
chE
bNM
@@ -121329,7 +121519,7 @@ abj
ash
atL
atY
-abj
+dKA
dij
abj
abj
@@ -126984,8 +127174,8 @@ aAa
aBX
aAa
aCZ
-aAa
-aCZ
+sdP
+hPT
aFX
aGi
aIH
@@ -128067,8 +128257,8 @@ bXU
bQr
bQr
clv
-cop
-cqP
+cnb
+cnb
buB
cso
cuR
@@ -128916,7 +129106,7 @@ aaa
aaa
abj
aaa
-aaa
+dKz
dTV
dYP
dVn
@@ -138647,7 +138837,7 @@ dqm
dsL
dvl
dui
-dvn
+dOc
dvp
dam
dFw
@@ -138904,8 +139094,8 @@ dsH
due
dvm
dws
-dvn
-dyT
+dOD
+dav
dav
dyR
dzY
@@ -143680,7 +143870,7 @@ arW
asJ
aKd
aux
-arW
+qWs
axm
axu
ayD
@@ -144447,7 +144637,7 @@ apo
apw
aqp
arf
-arW
+bPq
auu
atP
axf
@@ -144965,7 +145155,7 @@ auu
asM
atR
asK
-arW
+qWs
ayS
osS
wXI
@@ -145303,7 +145493,7 @@ rHU
cGF
iWE
pDD
-bng
+cYP
cYP
cYP
cPO
@@ -145952,7 +146142,7 @@ dij
abj
dij
dij
-aaa
+dKz
aaa
abj
aaa
@@ -146887,13 +147077,13 @@ dFG
dFG
dFG
aaa
-dKz
-dIc
-dFG
-dFI
-dFG
-dFH
-dOD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -147144,12 +147334,12 @@ dLd
dLY
dIW
abj
-dFJ
-dMA
-dOc
dQv
-dQH
-dRf
+dIc
+dFG
+dFI
+dFG
+dFH
dOE
abj
aaa
@@ -147401,13 +147591,13 @@ dLQ
dMa
dFG
aaa
-dFG
+dFJ
dMG
dLR
dMw
dNj
dRg
-dFG
+hMu
abj
aaa
aaa
@@ -147658,13 +147848,13 @@ dLU
dMv
dIX
abj
-dKA
+dFG
dNi
hbU
dMx
dNk
dRh
-dOF
+dFG
aaa
aaa
aaa
@@ -147915,13 +148105,13 @@ dHa
dFG
dFG
aaa
-dKB
+dQH
dNW
deV
dMy
dNl
dRi
-dKB
+nGA
aaa
aaa
aaa
@@ -148172,13 +148362,13 @@ dHb
dFG
aaa
aaa
-dFG
+dKB
dNX
dTu
dTv
dNm
dWS
-dFG
+dKB
abj
aaa
aaa
@@ -148429,13 +148619,13 @@ dHc
dIc
abj
abj
-dFH
+dFG
dNY
-hbU
+dRf
dMz
dNn
dWT
-dIc
+dFG
aaa
aaa
aaa
@@ -149124,10 +149314,10 @@ aaa
aaa
bFS
bHP
-dDN
+dMA
bLu
bNu
-bPq
+bLt
bFS
bTh
bVn
@@ -149548,7 +149738,7 @@ aaa
dij
aaa
kYo
-acj
+dyT
aco
aaa
kYo
@@ -149556,7 +149746,7 @@ acj
aco
aaa
kYo
-acj
+dyT
aco
aaa
abj
@@ -149809,13 +149999,13 @@ abj
aaa
aaa
kYo
-acj
+dyT
aco
aaa
aaa
abj
aaa
-aaa
+dKz
dij
aaa
aaa
@@ -156385,9 +156575,9 @@ aaa
abj
aaa
aaa
-hMu
-daC
-nGA
+dak
+daz
+dbc
aaa
aaa
abj
@@ -156647,7 +156837,7 @@ daC
dbc
aaa
dak
-daC
+daz
dbc
aaa
abj
@@ -158445,7 +158635,7 @@ abj
cTN
abj
abj
-abj
+dKA
daG
abj
aaa
@@ -159723,7 +159913,7 @@ aaa
dij
aaa
dak
-daT
+dOF
dbc
aaa
dak
@@ -159731,7 +159921,7 @@ daT
dbc
aaa
dak
-daT
+dOF
dbc
aaa
dij
@@ -159984,7 +160174,7 @@ aaa
aaa
aaa
dak
-daT
+dOF
dbc
aaa
aaa
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index b52b9d95c79..24ae1527d2e 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -2427,15 +2427,7 @@
/area/maintenance/auxsolarport)
"agY" = (
/obj/structure/rack,
-/obj/item/storage/box/buck{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/storage/box/buck,
-/obj/item/storage/box/buck{
- pixel_x = 3;
- pixel_y = -3
- },
+/obj/item/storage/box/tranquilizer,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
@@ -2465,12 +2457,12 @@
},
/area/security/hos)
"ahc" = (
-/obj/machinery/computer/secure_data,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/computer/secure_data,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -2481,12 +2473,6 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/security/telescreen{
- desc = "Used for watching Prison Wing holding areas.";
- name = "Prison Monitor";
- network = list("Prison");
- pixel_y = 30
- },
/obj/machinery/camera{
c_tag = "Prison Hallway Port";
network = list("SS13","Prison")
@@ -2502,6 +2488,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching Prison Wing holding areas.";
+ name = "Prison Monitor";
+ network = list("Prison");
+ pixel_y = 30
+ },
/turf/simulated/floor/plasteel{
icon_state = "redcorner"
},
@@ -2591,12 +2583,6 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/security/telescreen{
- desc = "Used for watching Prison Wing holding areas.";
- name = "Prison Monitor";
- network = list("Prison");
- pixel_y = 30
- },
/obj/structure/cable/yellow{
d1 = 2;
d2 = 4;
@@ -2608,6 +2594,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching Prison Wing holding areas.";
+ name = "Prison Monitor";
+ network = list("Prison");
+ pixel_y = 30
+ },
/turf/simulated/floor/plasteel{
icon_state = "redcorner"
},
@@ -3642,7 +3634,9 @@
name = "\improper Arcade"
})
"ajm" = (
-/obj/machinery/computer/arcade/battle,
+/obj/machinery/computer/arcade/battle{
+ dir = 4
+ },
/turf/simulated/floor/carpet/arcade,
/area/crew_quarters/fitness{
name = "\improper Arcade"
@@ -3723,6 +3717,10 @@
pixel_x = -24;
pixel_y = -20
},
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/obj/machinery/computer/security/telescreen{
desc = "Used for watching certain areas.";
dir = 1;
@@ -3730,10 +3728,6 @@
network = list("Prison","MiniSat","tcomm");
pixel_y = -30
},
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -3780,14 +3774,14 @@
/turf/simulated/wall/r_wall,
/area/maintenance/auxsolarport)
"ajC" = (
-/obj/machinery/power/solar_control{
- id = "foreport";
- name = "Fore Port Solar Control"
- },
/obj/structure/cable{
d2 = 4;
icon_state = "0-4"
},
+/obj/machinery/power/solar_control{
+ id = "foreport";
+ name = "Fore Port Solar Control"
+ },
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"ajD" = (
@@ -4258,10 +4252,10 @@
d2 = 8;
icon_state = "4-8"
},
-/mob/living/simple_animal/hostile/retaliate/araneus,
/obj/structure/disposalpipe/segment{
dir = 4
},
+/mob/living/simple_animal/hostile/retaliate/araneus,
/turf/simulated/floor/carpet,
/area/security/hos)
"akC" = (
@@ -5113,7 +5107,9 @@
name = "\improper Recreation Area"
})
"ami" = (
-/obj/machinery/computer/HolodeckControl,
+/obj/machinery/computer/HolodeckControl{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/crew_quarters/fitness{
name = "\improper Recreation Area"
@@ -5424,12 +5420,12 @@
/turf/simulated/floor/plating,
/area/security/brig)
"amM" = (
-/obj/machinery/computer/secure_data,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/computer/secure_data,
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -6900,15 +6896,15 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = -32
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = -32
+ },
/turf/simulated/floor/plasteel{
icon_state = "red"
},
@@ -8166,14 +8162,14 @@
/turf/simulated/wall,
/area/maintenance/auxsolarstarboard)
"asU" = (
-/obj/machinery/power/solar_control{
- id = "forestarboard";
- name = "Fore Starboard Solar Control"
- },
/obj/structure/cable{
d2 = 4;
icon_state = "0-4"
},
+/obj/machinery/power/solar_control{
+ id = "forestarboard";
+ name = "Fore Starboard Solar Control"
+ },
/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"asV" = (
@@ -8189,13 +8185,6 @@
},
/area/security/brig)
"asW" = (
-/obj/machinery/computer/security/telescreen{
- desc = "Used for watching Prison Wing holding areas.";
- dir = 1;
- name = "Prison Monitor";
- network = list("Prison");
- pixel_x = 30
- },
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
@@ -8205,6 +8194,13 @@
dir = 8
},
/obj/machinery/vending/security,
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching Prison Wing holding areas.";
+ dir = 1;
+ name = "Prison Monitor";
+ network = list("Prison");
+ pixel_x = 30
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -8961,6 +8957,7 @@
/area/maintenance/fore)
"auM" = (
/obj/machinery/computer/security{
+ dir = 4;
name = "Labor Camp Monitoring";
network = list("Labor")
},
@@ -9161,9 +9158,6 @@
},
/area/security/brig)
"avd" = (
-/obj/machinery/computer/security{
- network = list("SS13","Research Outpost","Mining Outpost")
- },
/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
@@ -9174,6 +9168,10 @@
d2 = 4;
icon_state = "2-4"
},
+/obj/machinery/computer/security{
+ dir = 4;
+ network = list("SS13","Research Outpost","Mining Outpost")
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -9592,10 +9590,10 @@
name = "Port Maintenance"
})
"avY" = (
-/mob/living/simple_animal/mouse,
/obj/structure/disposalpipe/segment{
dir = 4
},
+/mob/living/simple_animal/mouse,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -9677,10 +9675,12 @@
c_tag = "Labor Shuttle Control Desk";
dir = 4
},
-/obj/machinery/computer/shuttle/labor,
/obj/machinery/light{
dir = 8
},
+/obj/machinery/computer/shuttle/labor{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -9917,7 +9917,9 @@
},
/area/security/main)
"awH" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 4
+ },
/obj/machinery/computer/security/telescreen{
desc = "Used for watching Prison Wing holding areas.";
dir = 1;
@@ -10480,7 +10482,9 @@
},
/area/security/main)
"axG" = (
-/obj/machinery/computer/prisoner,
+/obj/machinery/computer/prisoner{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -10845,7 +10849,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/computer/prisoner,
+/obj/machinery/computer/prisoner{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -11353,12 +11359,12 @@
name = "Port Maintenance"
})
"azC" = (
-/obj/machinery/computer/cryopod{
- pixel_y = -25
- },
/obj/effect/landmark{
name = "JoinLateCryo"
},
+/obj/machinery/computer/cryopod{
+ pixel_y = -25
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -11992,15 +11998,15 @@
},
/area/security/brig)
"aAO" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
/obj/machinery/computer/security/telescreen{
dir = 4;
name = "MiniSat Monitor";
network = list("MiniSat","tcomm");
pixel_x = -29
},
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 4
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "yellow"
@@ -13074,7 +13080,9 @@
/area/maintenance/starboard)
"aDg" = (
/obj/structure/table,
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -14221,7 +14229,9 @@
dir = 8;
pixel_x = 24
},
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/carpet,
/area/security/detectives_office)
"aFy" = (
@@ -14308,12 +14318,12 @@
},
/area/crew_quarters/sleep)
"aFH" = (
+/obj/structure/table/wood,
/obj/machinery/computer/security/wooden_tv{
density = 0;
pixel_x = 3;
pixel_y = 2
},
-/obj/structure/table/wood,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching Prison Wing holding areas.";
name = "Prison Monitor";
@@ -14785,10 +14795,12 @@
/turf/simulated/floor/carpet,
/area/security/detectives_office)
"aGH" = (
-/obj/machinery/computer/med_data,
/obj/machinery/newscaster{
pixel_x = 28
},
+/obj/machinery/computer/med_data{
+ dir = 8
+ },
/turf/simulated/floor/carpet,
/area/security/detectives_office)
"aGI" = (
@@ -14920,10 +14932,10 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"aGX" = (
+/obj/machinery/suit_storage_unit/ce/secure,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = -29
},
-/obj/machinery/suit_storage_unit/ce/secure,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "vault"
@@ -15062,7 +15074,9 @@
/obj/machinery/light{
dir = 8
},
-/obj/machinery/computer/shuttle/mining,
+/obj/machinery/computer/shuttle/mining{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "brown"
@@ -15287,7 +15301,6 @@
name = "Storage Wing"
})
"aHS" = (
-/obj/machinery/computer/secure_data,
/obj/machinery/flasher_button{
id = "secentranceflasher";
name = "Brig Entrance Flash Control";
@@ -15329,6 +15342,7 @@
pixel_y = 27;
req_access_txt = "63"
},
+/obj/machinery/computer/secure_data,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -15771,7 +15785,9 @@
name = "Port Maintenance"
})
"aIN" = (
-/obj/machinery/computer/security/mining,
+/obj/machinery/computer/security/mining{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -17371,13 +17387,13 @@
})
"aMc" = (
/obj/effect/decal/cleanable/dirt,
-/mob/living/simple_animal/mouse,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/mob/living/simple_animal/mouse,
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aMd" = (
@@ -18359,12 +18375,12 @@
/turf/simulated/floor/engine,
/area/engine/engineering)
"aOb" = (
-/obj/machinery/computer/security{
- network = list("SS13","Research Outpost","Mining Outpost")
- },
/obj/machinery/newscaster/security_unit{
pixel_y = -30
},
+/obj/machinery/computer/security{
+ network = list("SS13","Research Outpost","Mining Outpost")
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -18431,6 +18447,10 @@
pixel_x = -4;
pixel_y = 2
},
+/obj/item/restraints/handcuffs,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
/obj/machinery/computer/security/telescreen{
desc = "Used for watching Prison Wing holding areas.";
dir = 1;
@@ -18438,10 +18458,6 @@
network = list("Prison");
pixel_y = -30
},
-/obj/item/restraints/handcuffs,
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 1
- },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -19024,8 +19040,8 @@
})
"aPK" = (
/obj/structure/table,
-/obj/machinery/computer/guestpass,
/obj/effect/decal/warning_stripes/yellow,
+/obj/machinery/computer/guestpass,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
"aPL" = (
@@ -19889,11 +19905,11 @@
},
/area/security/brig)
"aRQ" = (
-/mob/living/simple_animal/mouse,
/obj/machinery/atmospherics/binary/valve,
/obj/structure/disposalpipe/segment{
dir = 4
},
+/mob/living/simple_animal/mouse,
/turf/simulated/floor/plasteel{
icon_state = "floorgrime"
},
@@ -19945,14 +19961,14 @@
/obj/structure/table/wood,
/obj/item/book/manual/security_space_law,
/obj/item/book/manual/security_space_law,
+/obj/item/cartridge/lawyer,
+/obj/item/pen/multi,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching Prison Wing holding areas.";
name = "Prison Monitor";
network = list("Prison");
pixel_y = 30
},
-/obj/item/cartridge/lawyer,
-/obj/item/pen/multi,
/turf/simulated/floor/wood,
/area/lawoffice)
"aRX" = (
@@ -20144,7 +20160,9 @@
})
"aSC" = (
/obj/effect/decal/warning_stripes/yellow,
-/obj/machinery/computer/sm_monitor,
+/obj/machinery/computer/sm_monitor{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/engine/engineering)
"aSD" = (
@@ -20193,8 +20211,10 @@
pixel_x = -27;
pixel_y = 5
},
-/obj/machinery/computer/supplycomp,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/supplycomp{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aSH" = (
@@ -20314,7 +20334,6 @@
},
/area/turret_protected/ai_upload)
"aSV" = (
-/obj/machinery/computer/borgupload,
/obj/structure/window/reinforced{
dir = 1
},
@@ -20330,6 +20349,7 @@
name = "Cyborg Upload Console Window";
req_access_txt = "16"
},
+/obj/machinery/computer/borgupload,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -20341,7 +20361,6 @@
},
/area/turret_protected/ai_upload)
"aSX" = (
-/obj/machinery/computer/aiupload,
/obj/structure/window/reinforced{
dir = 1
},
@@ -20359,6 +20378,7 @@
name = "Upload Console Window";
req_access_txt = "16"
},
+/obj/machinery/computer/aiupload,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -21201,12 +21221,12 @@
/turf/simulated/floor/plating,
/area/engine/engineering)
"aUL" = (
-/obj/machinery/computer/station_alert,
/obj/structure/sign/double/map/right{
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
icon_state = "map-right-MS";
pixel_y = 32
},
+/obj/machinery/computer/station_alert,
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -22133,7 +22153,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aWN" = (
-/obj/machinery/computer/atmos_alert,
/obj/structure/sign/double/map/left{
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
icon_state = "map-left-MS";
@@ -22143,15 +22162,18 @@
dir = 8;
pixel_x = -26
},
+/obj/machinery/computer/atmos_alert,
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
/area/engine/engineering)
"aWO" = (
-/obj/machinery/computer/supplycomp,
/obj/machinery/light_switch{
pixel_x = -23
},
+/obj/machinery/computer/supplycomp{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "brown"
@@ -22244,9 +22266,6 @@
d2 = 4;
icon_state = "0-4"
},
-/obj/machinery/computer/monitor{
- name = "Engineering Power Monitoring Console"
- },
/obj/machinery/status_display{
layer = 4;
pixel_y = 32
@@ -22254,6 +22273,9 @@
/obj/machinery/camera{
c_tag = "Engineering - Power Monitoring"
},
+/obj/machinery/computer/monitor{
+ name = "Engineering Power Monitoring Console"
+ },
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -22388,7 +22410,9 @@
/turf/simulated/floor/engine,
/area/engine/engineering)
"aXt" = (
-/obj/machinery/computer/security/mining,
+/obj/machinery/computer/security/mining{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "brown"
@@ -24668,13 +24692,6 @@
/obj/machinery/light/small{
dir = 4
},
-/obj/machinery/computer/security/telescreen{
- desc = "Used for watching areas on the MiniSat.";
- dir = 8;
- name = "MiniSat Monitor";
- network = list("MiniSat","tcomm");
- pixel_x = 29
- },
/obj/machinery/camera/motion{
c_tag = "AI Upload Foyer";
network = list("SS13","RD","AIUpload")
@@ -24682,6 +24699,13 @@
/obj/machinery/alarm{
pixel_y = 24
},
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching areas on the MiniSat.";
+ dir = 8;
+ name = "MiniSat Monitor";
+ network = list("MiniSat","tcomm");
+ pixel_x = 29
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "vault"
@@ -26062,7 +26086,9 @@
network = list("Singulo");
pixel_x = 32
},
-/obj/machinery/computer/drone_control,
+/obj/machinery/computer/drone_control{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "yellow"
@@ -27483,7 +27509,6 @@
name = "Customs"
})
"biy" = (
-/obj/machinery/computer/card,
/obj/machinery/light{
dir = 1
},
@@ -27495,6 +27520,7 @@
/obj/machinery/camera{
c_tag = "Customs Checkpoint"
},
+/obj/machinery/computer/card,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "red"
@@ -27631,7 +27657,9 @@
/turf/simulated/floor/carpet,
/area/crew_quarters/theatre)
"biN" = (
-/obj/machinery/computer/supplycomp,
+/obj/machinery/computer/supplycomp{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -28082,6 +28110,8 @@
/obj/machinery/light{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/obj/machinery/computer/security/telescreen{
desc = "A telescreen that connects to the engine's camera network.";
dir = 8;
@@ -28090,8 +28120,6 @@
network = list("engine");
pixel_x = 30
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "vault"
@@ -28122,8 +28150,8 @@
},
/area/engine/chiefs_office)
"bjJ" = (
-/obj/machinery/computer/supplycomp/public,
/obj/effect/decal/warning_stripes/yellow,
+/obj/machinery/computer/supplycomp/public,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "brown"
@@ -29746,10 +29774,10 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"bmS" = (
-/obj/machinery/computer/secure_data,
/obj/machinery/newscaster/security_unit{
pixel_y = 30
},
+/obj/machinery/computer/secure_data,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "red"
@@ -30640,12 +30668,12 @@
name = "Station Intercom (General)";
pixel_x = -27
},
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = 32
- },
/obj/item/paper/safe_code{
owner = "captain"
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = 32
+ },
/turf/simulated/floor/carpet,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -32401,7 +32429,9 @@
},
/area/bridge)
"bsi" = (
-/obj/machinery/computer/merch,
+/obj/machinery/computer/merch{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "brown"
@@ -33254,19 +33284,19 @@
},
/area/bridge)
"btV" = (
-/obj/machinery/computer/communications,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/computer/communications,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/bridge)
"btW" = (
+/obj/structure/table/glass,
/obj/machinery/computer/security/wooden_tv{
pixel_x = 1;
pixel_y = 6
},
-/obj/structure/table/glass,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -33292,10 +33322,10 @@
name = "Station Intercom (General)";
pixel_y = 29
},
-/obj/machinery/computer/teleporter,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
+/obj/machinery/computer/teleporter,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -33414,7 +33444,6 @@
name = "\improper Captain's Quarters"
})
"buh" = (
-/obj/machinery/computer/communications,
/obj/item/radio/intercom{
dir = 8;
name = "Station Intercom (Captain)";
@@ -33427,6 +33456,9 @@
pixel_x = 24;
pixel_y = 24
},
+/obj/machinery/computer/communications{
+ dir = 8
+ },
/turf/simulated/floor/wood,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -33479,13 +33511,13 @@
d2 = 4;
icon_state = "2-4"
},
-/obj/machinery/computer/security/mining,
/obj/machinery/keycard_auth{
pixel_y = 24
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/machinery/computer/security/mining,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -34588,7 +34620,9 @@
/obj/machinery/newscaster/security_unit{
pixel_x = 32
},
-/obj/machinery/computer/security/mining,
+/obj/machinery/computer/security/mining{
+ dir = 8
+ },
/turf/simulated/floor/wood,
/area/crew_quarters/heads)
"bwd" = (
@@ -35655,14 +35689,14 @@
},
/area/hallway/primary/port)
"bye" = (
+/obj/structure/bed/dogbed/ian,
+/mob/living/simple_animal/pet/dog/corgi/Ian,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching Prison Wing holding areas.";
name = "Prison Monitor";
network = list("Prison");
pixel_y = 30
},
-/obj/structure/bed/dogbed/ian,
-/mob/living/simple_animal/pet/dog/corgi/Ian,
/turf/simulated/floor/wood,
/area/crew_quarters/heads)
"byf" = (
@@ -36047,7 +36081,6 @@
},
/area/civilian/barber)
"byJ" = (
-/obj/machinery/computer/card,
/obj/machinery/light/small{
dir = 4
},
@@ -36058,6 +36091,9 @@
name = "Captain RC";
pixel_x = 32
},
+/obj/machinery/computer/card{
+ dir = 8
+ },
/turf/simulated/floor/wood,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -36432,10 +36468,10 @@
name = "\improper MiniSat Exterior"
})
"bzr" = (
+/obj/machinery/vending/cigarette,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = -30
},
-/obj/machinery/vending/cigarette,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -37055,7 +37091,9 @@
})
"bAT" = (
/obj/machinery/light,
-/obj/machinery/computer/station_alert,
+/obj/machinery/computer/station_alert{
+ dir = 1
+ },
/obj/machinery/computer/security/telescreen{
dir = 1;
name = "MiniSat Monitor";
@@ -37313,10 +37351,10 @@
/obj/machinery/light_switch{
pixel_x = -23
},
+/obj/machinery/cryopod/robot,
/obj/machinery/computer/cryopod/robot{
pixel_y = -28
},
-/obj/machinery/cryopod/robot,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "darkbluecorners"
@@ -37590,11 +37628,15 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 1
+ },
/turf/simulated/floor/wood,
/area/crew_quarters/heads)
"bCa" = (
-/obj/machinery/computer/card,
+/obj/machinery/computer/card{
+ dir = 1
+ },
/turf/simulated/floor/wood,
/area/crew_quarters/heads)
"bCb" = (
@@ -37929,11 +37971,11 @@
/turf/simulated/floor/wood,
/area/crew_quarters/bar)
"bCJ" = (
-/obj/machinery/computer/arcade,
/obj/machinery/alarm{
dir = 8;
pixel_x = 24
},
+/obj/machinery/computer/arcade,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = 32
},
@@ -38948,7 +38990,6 @@
/turf/simulated/floor/engine,
/area/engine/engineering)
"bEM" = (
-/obj/machinery/computer/atmos_alert,
/obj/structure/sign/double/map/left{
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
icon_state = "map-left-MS";
@@ -38957,6 +38998,7 @@
/obj/machinery/camera{
c_tag = "Atmospherics - Control Room"
},
+/obj/machinery/computer/atmos_alert,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "caution"
@@ -39173,14 +39215,15 @@
name = "Arrivals"
})
"bFf" = (
-/obj/machinery/computer/monitor{
- name = "Grid Power Monitoring Computer"
- },
/obj/item/radio/intercom{
name = "Station Intercom (General)";
pixel_x = 5;
pixel_y = -26
},
+/obj/machinery/computer/monitor{
+ dir = 1;
+ name = "Grid Power Monitoring Computer"
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -40117,11 +40160,13 @@
/turf/simulated/floor/wood,
/area/security/vacantoffice)
"bHi" = (
-/obj/machinery/computer/message_monitor,
/obj/machinery/alarm{
dir = 4;
pixel_x = -24
},
+/obj/machinery/computer/message_monitor{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -40299,13 +40344,13 @@
})
"bHC" = (
/obj/machinery/light,
+/mob/living/simple_animal/pet/dog/fox/Renault,
/obj/machinery/computer/security/telescreen{
dir = 1;
name = "MiniSat Monitor";
network = list("MiniSat","tcomm");
pixel_y = -29
},
-/mob/living/simple_animal/pet/dog/fox/Renault,
/turf/simulated/floor/carpet,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -40530,6 +40575,7 @@
/area/atmos)
"bIg" = (
/obj/machinery/computer/general_air_control{
+ dir = 8;
frequency = 1443;
level = 3;
name = "Distribution and Waste Monitor";
@@ -40824,17 +40870,18 @@
name = "\improper Auxiliary Restrooms"
})
"bIY" = (
-/obj/machinery/computer/general_air_control{
- frequency = 1441;
- name = "Tank Monitor";
- sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")
- },
/obj/machinery/requests_console{
department = "Atmospherics";
departmentType = 4;
name = "Atmos RC";
pixel_x = 30
},
+/obj/machinery/computer/general_air_control{
+ dir = 8;
+ frequency = 1441;
+ name = "Tank Monitor";
+ sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "caution"
@@ -41561,14 +41608,15 @@
/turf/simulated/floor/plasteel,
/area/atmos)
"bKg" = (
+/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1441;
input_tag = "waste_in";
name = "Gas Mix Tank Control";
output_tag = "waste_out";
sensors = list("waste_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "green"
@@ -42897,6 +42945,10 @@
/obj/effect/decal/warning_stripes/yellow/partial{
dir = 1
},
+/obj/machinery/ticket_machine{
+ layer = 4;
+ pixel_x = 32
+ },
/turf/simulated/floor/plasteel,
/area/bridge/meeting_room{
name = "\improper Command Hallway"
@@ -42924,10 +42976,6 @@
},
/obj/effect/decal/warning_stripes/arrow,
/obj/effect/decal/warning_stripes/yellow/partial,
-/obj/machinery/ticket_machine{
- layer = 4;
- pixel_x = -32
- },
/turf/simulated/floor/plasteel,
/area/bridge/meeting_room{
name = "\improper Command Hallway"
@@ -43293,7 +43341,9 @@
name = "E.V.A. Storage"
})
"bNN" = (
-/obj/machinery/computer/card/minor/rd,
+/obj/machinery/computer/card/minor/rd{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -43589,15 +43639,15 @@
/area/library)
"bOw" = (
/obj/structure/table/wood,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_x = -32
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_x = -32
+ },
/turf/simulated/floor/wood,
/area/library)
"bOx" = (
@@ -44244,16 +44294,6 @@
/area/security/vacantoffice)
"bPS" = (
/obj/effect/decal/warning_stripes/southeast,
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
- },
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 8;
- icon_state = "1-8"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel,
@@ -44698,7 +44738,6 @@
pixel_x = 6;
pixel_y = -30
},
-/obj/machinery/computer/card/minor/cmo,
/obj/machinery/keycard_auth{
pixel_x = -26;
pixel_y = -7
@@ -44709,6 +44748,9 @@
pixel_x = -26;
pixel_y = 4
},
+/obj/machinery/computer/card/minor/cmo{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -45325,11 +45367,11 @@
c_tag = "Club - Aft";
dir = 1
},
+/obj/item/clothing/mask/cigarette/pipe,
+/obj/structure/table/wood,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = -29
},
-/obj/item/clothing/mask/cigarette/pipe,
-/obj/structure/table/wood,
/turf/simulated/floor/carpet,
/area/crew_quarters/bar)
"bSk" = (
@@ -45413,17 +45455,18 @@
name = "\improper Command Hallway"
})
"bSs" = (
+/obj/machinery/atmospherics/pipe/simple/visible/green,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1441;
input_tag = "n2o_in";
name = "Nitrous Oxide Supply Control";
output_tag = "n2o_out";
sensors = list("n2o_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/green,
-/obj/structure/window/reinforced{
- dir = 4
- },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "escape"
@@ -45797,12 +45840,13 @@
},
/area/medical/paramedic)
"bTf" = (
-/obj/machinery/computer/security{
- network = list("SS13","Research Outpost","Mining Outpost")
- },
/obj/machinery/light{
dir = 4
},
+/obj/machinery/computer/security{
+ dir = 8;
+ network = list("SS13","Research Outpost","Mining Outpost")
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -46735,8 +46779,8 @@
"bVd" = (
/obj/structure/table/wood,
/obj/item/folder,
-/obj/item/stamp/centcom,
/obj/item/pen/multi/fountain,
+/obj/item/stamp/rep,
/turf/simulated/floor/carpet,
/area/ntrep)
"bVe" = (
@@ -47124,11 +47168,6 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
/obj/effect/decal/warning_stripes/east,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -47313,11 +47352,6 @@
dir = 4;
pixel_x = -24
},
-/obj/structure/cable/yellow{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4"
- },
/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plasteel,
/area/teleporter{
@@ -47463,18 +47497,12 @@
name = "E.V.A. Storage"
})
"bWB" = (
-/obj/structure/cable/yellow{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plasteel,
/area/teleporter{
name = "\improper Teleporter Room"
})
"bWC" = (
-/obj/structure/cable/yellow,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "vault"
@@ -47509,7 +47537,6 @@
name = "\improper Teleporter Room"
})
"bWF" = (
-/obj/structure/cable/yellow,
/obj/machinery/shieldwallgen,
/turf/simulated/floor/plasteel{
dir = 4;
@@ -47607,11 +47634,6 @@
/obj/item/clothing/mask/gas,
/obj/structure/table,
/obj/item/radio/off,
-/obj/structure/cable/yellow{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8"
- },
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/teleporter{
@@ -48133,7 +48155,9 @@
},
/area/crew_quarters/kitchen)
"bXY" = (
-/obj/machinery/computer/teleporter,
+/obj/machinery/computer/teleporter{
+ dir = 1
+ },
/turf/simulated/floor/plating,
/area/teleporter{
name = "\improper Teleporter Room"
@@ -48162,17 +48186,18 @@
/turf/simulated/floor/wood,
/area/blueshield)
"bYc" = (
+/obj/machinery/atmospherics/pipe/simple/visible/green,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1441;
input_tag = "tox_in";
name = "Toxin Supply Control";
output_tag = "tox_out";
sensors = list("tox_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/green,
-/obj/structure/window/reinforced{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "purplefull"
},
@@ -48366,13 +48391,13 @@
},
/area/crew_quarters/kitchen)
"bYv" = (
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_x = 30
- },
/obj/machinery/photocopier,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_x = 30
+ },
/turf/simulated/floor/wood,
/area/library)
"bYw" = (
@@ -48481,7 +48506,9 @@
pixel_y = -24;
req_access_txt = "67"
},
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 1
+ },
/turf/simulated/floor/wood,
/area/blueshield)
"bYK" = (
@@ -48516,7 +48543,9 @@
pixel_y = -24;
req_access_txt = "73"
},
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 1
+ },
/turf/simulated/floor/wood,
/area/ntrep)
"bYO" = (
@@ -49493,8 +49522,8 @@
/turf/simulated/floor/plating,
/area/crew_quarters/hor)
"caZ" = (
-/mob/living/simple_animal/mouse,
/obj/structure/disposalpipe/segment,
+/mob/living/simple_animal/mouse,
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cba" = (
@@ -50300,17 +50329,18 @@
},
/area/hallway/primary/central)
"ccT" = (
+/obj/machinery/atmospherics/pipe/simple/visible/green,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 8;
frequency = 1441;
input_tag = "co2_in";
name = "Carbon Dioxide Supply Control";
output_tag = "co2_out";
sensors = list("co2_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/green,
-/obj/structure/window/reinforced{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -50637,15 +50667,16 @@
},
/area/gateway)
"cdC" = (
-/obj/machinery/power/solar_control{
- id = "aftport";
- name = "Aft Port Solar Control"
- },
/obj/structure/cable{
d2 = 4;
icon_state = "0-4"
},
/obj/structure/cable,
+/obj/machinery/power/solar_control{
+ dir = 1;
+ id = "aftport";
+ name = "Aft Port Solar Control"
+ },
/turf/simulated/floor/plating,
/area/maintenance/portsolar)
"cdD" = (
@@ -51193,11 +51224,11 @@
/turf/simulated/floor/mech_bay_recharge_floor,
/area/maintenance/aft)
"ceV" = (
-/obj/machinery/computer/mech_bay_power_console,
/obj/structure/cable/yellow{
d2 = 2;
icon_state = "0-2"
},
+/obj/machinery/computer/mech_bay_power_console,
/turf/simulated/floor/bluegrid,
/area/maintenance/aft)
"ceW" = (
@@ -51638,7 +51669,6 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
/turf/simulated/floor/plating,
/area/maintenance/incinerator)
"cfM" = (
@@ -52450,6 +52480,9 @@
/obj/effect/landmark{
name = "lightsout"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -52467,6 +52500,12 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -52625,7 +52664,9 @@
dir = 8;
pixel_x = 24
},
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "whiteblue"
@@ -52681,6 +52722,8 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -52967,16 +53010,17 @@
/area/atmos)
"ciN" = (
/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ dir = 4
+ },
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 1;
frequency = 1441;
input_tag = "n2_in";
name = "Nitrogen Supply Control";
output_tag = "n2_out";
sensors = list("n2_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/green{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "redfull"
},
@@ -53022,16 +53066,17 @@
/area/atmos)
"ciR" = (
/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ dir = 4
+ },
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 1;
frequency = 1441;
input_tag = "o2_in";
name = "Oxygen Supply Control";
output_tag = "o2_out";
sensors = list("o2_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/green{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "bluefull"
},
@@ -53083,7 +53128,11 @@
/area/atmos)
"ciV" = (
/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ dir = 4
+ },
/obj/machinery/computer/general_air_control/large_tank_control{
+ dir = 1;
frequency = 1443;
input_tag = "air_in";
name = "Mixed Air Supply Control";
@@ -53091,9 +53140,6 @@
pressure_setting = 2000;
sensors = list("air_sensor" = "Tank")
},
-/obj/machinery/atmospherics/pipe/simple/visible/green{
- dir = 4
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -53366,6 +53412,8 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
@@ -54936,11 +54984,11 @@
icon_state = "map-left-MS";
pixel_y = 32
},
+/obj/item/storage/box/donkpockets,
+/obj/structure/table/glass,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_x = -32
},
-/obj/item/storage/box/donkpockets,
-/obj/structure/table/glass,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -55221,6 +55269,7 @@
pixel_x = -31
},
/obj/machinery/computer/turbine_computer{
+ dir = 1;
id = "incineratorturbine"
},
/turf/simulated/floor/plating,
@@ -55720,10 +55769,10 @@
/obj/item/multitool{
pixel_x = 3
},
+/obj/effect/decal/warning_stripes/east,
/obj/machinery/computer/guestpass{
pixel_y = 30
},
-/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plasteel,
/area/toxins/lab)
"coI" = (
@@ -56119,6 +56168,8 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -56233,10 +56284,10 @@
/area/medical/reception)
"cpN" = (
/obj/structure/table,
-/obj/machinery/computer/guestpass,
/obj/machinery/camera{
c_tag = "Medbay Surgery 1 North"
},
+/obj/machinery/computer/guestpass,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "whiteblue"
@@ -56244,7 +56295,9 @@
/area/medical/reception)
"cpO" = (
/obj/structure/table,
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteblue"
@@ -56552,12 +56605,14 @@
},
/area/medical/research)
"cqv" = (
-/obj/machinery/computer/rdconsole/core,
/obj/machinery/alarm{
dir = 4;
pixel_x = -24
},
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/computer/rdconsole/core{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/toxins/lab)
"cqw" = (
@@ -56868,6 +56923,8 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteblue"
@@ -57813,13 +57870,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -58085,7 +58138,9 @@
/turf/simulated/floor/plating/airless,
/area/maintenance/incinerator)
"ctw" = (
-/obj/machinery/computer/arcade/orion_trail,
+/obj/machinery/computer/arcade/orion_trail{
+ dir = 4
+ },
/turf/simulated/floor/carpet/arcade,
/area/crew_quarters/fitness{
name = "\improper Arcade"
@@ -58250,12 +58305,14 @@
},
/area/medical/surgery1)
"ctW" = (
-/obj/machinery/computer/operating,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/computer/operating{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -58326,8 +58383,8 @@
},
/area/medical/chemistry)
"cuj" = (
-/obj/machinery/computer/rdconsole/experiment,
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/computer/rdconsole/experiment,
/turf/simulated/floor/plasteel,
/area/toxins/explab)
"cuk" = (
@@ -58650,7 +58707,9 @@
/area/medical/reception)
"cuU" = (
/obj/structure/table,
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whiteblue"
@@ -59148,7 +59207,9 @@
/area/medical/reception)
"cvM" = (
/obj/structure/table,
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
@@ -60214,6 +60275,10 @@
name = "privacy shutters";
opacity = 0
},
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
/turf/simulated/floor/plating,
/area/medical/cmo)
"cyt" = (
@@ -60466,7 +60531,6 @@
},
/area/medical/research)
"czc" = (
-/obj/machinery/computer/aifixer,
/obj/machinery/requests_console{
announcementConsole = 1;
department = "Research Director's Desk";
@@ -60478,6 +60542,9 @@
/obj/structure/window/reinforced{
dir = 4
},
+/obj/machinery/computer/aifixer{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -60523,6 +60590,16 @@
/obj/machinery/camera{
c_tag = "Medbay Surgery 1 North"
},
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -60555,6 +60632,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -60720,6 +60802,11 @@
pixel_y = 2
},
/obj/item/clothing/accessory/stethoscope,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -60746,6 +60833,11 @@
/obj/item/folder/white,
/obj/item/stamp/cmo,
/obj/item/clothing/glasses/hud/health,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -60924,10 +61016,12 @@
},
/area/crew_quarters/hor)
"czT" = (
-/obj/machinery/computer/robotics,
/obj/structure/window/reinforced{
dir = 4
},
+/obj/machinery/computer/robotics{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -61323,7 +61417,6 @@
/turf/simulated/floor/plating,
/area/toxins/test_area)
"cAM" = (
-/obj/machinery/computer/area_atmos,
/obj/machinery/light/small{
dir = 1
},
@@ -61331,6 +61424,7 @@
pixel_y = 32
},
/obj/effect/decal/warning_stripes/northeast,
+/obj/machinery/computer/area_atmos,
/turf/simulated/floor/plasteel,
/area/toxins/storage)
"cAN" = (
@@ -61340,10 +61434,12 @@
},
/area/crew_quarters/hor)
"cAO" = (
-/obj/machinery/computer/mecha,
/obj/structure/window/reinforced{
dir = 4
},
+/obj/machinery/computer/mecha{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -61490,13 +61586,13 @@
/turf/space,
/area/solar/port)
"cBf" = (
+/obj/structure/table/reinforced,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching the RD's goons from the safety of his office.";
name = "Research Monitor";
network = list("RD");
pixel_y = 2
},
-/obj/structure/table/reinforced,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -61593,12 +61689,27 @@
name = "Chief Medical Officer's Office";
req_access_txt = "40"
},
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
},
/area/medical/cmo)
"cBs" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -61608,6 +61719,11 @@
/obj/effect/landmark/start{
name = "Chief Medical Officer"
},
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -61615,6 +61731,16 @@
/area/medical/cmo)
"cBu" = (
/obj/machinery/hologram/holopad,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -61666,12 +61792,14 @@
},
/area/medical/genetics_cloning)
"cBz" = (
-/obj/machinery/computer/scan_consolenew,
/obj/machinery/camera{
c_tag = "Genetics Lab";
dir = 4;
network = list("SS13","Medbay")
},
+/obj/machinery/computer/scan_consolenew{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -61712,7 +61840,9 @@
},
/area/medical/genetics)
"cBD" = (
-/obj/machinery/computer/scan_consolenew,
+/obj/machinery/computer/scan_consolenew{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -62926,23 +63056,23 @@
/area/toxins/storage)
"cDO" = (
/obj/structure/bed/dogbed,
-/mob/living/simple_animal/pet/cat/Runtime,
/obj/machinery/light_switch{
pixel_y = -25
},
+/mob/living/simple_animal/pet/cat/Runtime,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
},
/area/medical/cmo)
"cDP" = (
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = -32
- },
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
dir = 1
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = -32
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -63379,10 +63509,12 @@
},
/area/medical/genetics_cloning)
"cEW" = (
-/obj/machinery/computer/cloning,
/obj/machinery/light{
dir = 4
},
+/obj/machinery/computer/cloning{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "whiteblue"
@@ -63572,11 +63704,11 @@
/turf/simulated/floor/mech_bay_recharge_floor,
/area/assembly/chargebay)
"cFo" = (
-/obj/machinery/computer/mech_bay_power_console,
/obj/item/radio/intercom{
name = "Station Intercom (General)";
pixel_y = 20
},
+/obj/machinery/computer/mech_bay_power_console,
/turf/simulated/floor/bluegrid{
icon_state = "gcircuit"
},
@@ -65109,11 +65241,11 @@
},
/area/medical/morgue)
"cIp" = (
+/obj/item/reagent_containers/spray/cleaner,
+/obj/structure/table/glass,
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = -30
},
-/obj/item/reagent_containers/spray/cleaner,
-/obj/structure/table/glass,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "cafeteria"
@@ -65699,6 +65831,7 @@
/obj/structure/chair{
dir = 4
},
+/obj/effect/decal/warning_stripes/northeast,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching the test chamber.";
dir = 8;
@@ -65707,7 +65840,6 @@
network = list("Toxins");
pixel_x = 30
},
-/obj/effect/decal/warning_stripes/northeast,
/turf/simulated/floor/plasteel,
/area/toxins/mixing{
name = "\improper Toxins Lab"
@@ -66121,6 +66253,7 @@
pixel_x = 24;
pixel_y = -24
},
+/obj/effect/decal/warning_stripes/southeast,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching the test chamber.";
dir = 8;
@@ -66129,7 +66262,6 @@
network = list("Toxins");
pixel_x = 30
},
-/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/plasteel,
/area/toxins/mixing{
name = "\improper Toxins Lab"
@@ -66170,12 +66302,14 @@
/turf/simulated/floor/plating,
/area/maintenance/aft)
"cKD" = (
-/obj/machinery/computer/operating,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/computer/operating{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -67403,6 +67537,16 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -67418,6 +67562,11 @@
dir = 4;
icon_state = "pipe-c"
},
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "barber"
@@ -67856,7 +68005,6 @@
},
/area/maintenance/aft)
"cNQ" = (
-/obj/machinery/computer/rdconsole/robotics,
/obj/machinery/requests_console{
department = "Robotics";
departmentType = 2;
@@ -67864,6 +68012,9 @@
pixel_x = -31
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/computer/rdconsole/robotics{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -68988,6 +69139,7 @@
/area/assembly/robotics)
"cPS" = (
/obj/machinery/computer/operating{
+ dir = 1;
name = "Robotics Operating Computer"
},
/turf/simulated/floor/plasteel{
@@ -69056,7 +69208,9 @@
name = "Station Intercom (General)";
pixel_y = -28
},
-/obj/machinery/computer/rdservercontrol,
+/obj/machinery/computer/rdservercontrol{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -69323,6 +69477,7 @@
pixel_x = -24
},
/obj/effect/decal/warning_stripes/east,
+/obj/structure/cable/yellow,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -70992,7 +71147,6 @@
name = "\improper Departure Lounge"
})
"cTT" = (
-/obj/machinery/computer/secure_data,
/obj/structure/cable/yellow{
d1 = 2;
d2 = 8;
@@ -71004,6 +71158,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/machinery/computer/secure_data{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -71855,12 +72012,12 @@
/obj/machinery/light{
dir = 1
},
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = 29
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = 29
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitegreen"
@@ -71932,7 +72089,9 @@
name = "\improper Departure Lounge"
})
"cWc" = (
-/obj/machinery/computer/mech_bay_power_console,
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 1
+ },
/turf/simulated/floor/bluegrid,
/area/assembly/chargebay)
"cWd" = (
@@ -73605,8 +73764,10 @@
name = "\improper Secure Lab"
})
"cZL" = (
-/obj/machinery/computer/camera_advanced/xenobio,
/obj/effect/decal/warning_stripes/southwestcorner,
+/obj/machinery/computer/camera_advanced/xenobio{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -74229,20 +74390,15 @@
/turf/simulated/wall,
/area/medical/surgeryobs)
"dbv" = (
-/obj/structure/sign/biohazard{
- pixel_x = -32
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "whitegreen"
+ icon_state = "white"
},
-/area/maintenance/aft)
+/area/medical/medbay2{
+ name = "Medbay Storage"
+ })
"dbw" = (
/obj/item/radio/intercom{
name = "Station Intercom (General)";
@@ -76219,14 +76375,14 @@
name = "Arrivals"
})
"dgB" = (
+/obj/structure/table/reinforced,
+/obj/effect/decal/warning_stripes/south,
/obj/machinery/computer/security/telescreen{
dir = 1;
name = "Test Chamber Monitor";
network = list("Xeno");
pixel_y = 2
},
-/obj/structure/table/reinforced,
-/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plasteel,
/area/toxins/xenobiology{
name = "\improper Secure Lab"
@@ -76324,7 +76480,9 @@
/turf/simulated/wall,
/area/engine/mechanic_workshop)
"dgW" = (
-/obj/machinery/computer/camera_advanced/xenobio,
+/obj/machinery/computer/camera_advanced/xenobio{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitepurplecorner"
},
@@ -76905,6 +77063,7 @@
dir = 4
},
/obj/effect/spawner/window/reinforced,
+/obj/structure/cable/yellow,
/turf/simulated/floor/plating,
/area/medical/cmo)
"ebA" = (
@@ -78130,11 +78289,13 @@
dir = 4;
pixel_x = 24
},
-/obj/machinery/computer/monitor,
/obj/structure/cable/yellow{
d2 = 8;
icon_state = "0-8"
},
+/obj/machinery/computer/monitor{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "yellow"
@@ -79106,15 +79267,15 @@
/turf/space,
/area/space/nearstation)
"kKz" = (
-/obj/machinery/computer/cryopod{
- pixel_y = -25
- },
/obj/effect/landmark{
name = "JoinLateCryo"
},
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
+/obj/machinery/computer/cryopod{
+ pixel_y = -25
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -79330,6 +79491,15 @@
/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/engine,
/area/engine/engineering)
+"lrA" = (
+/obj/structure/sign/biohazard{
+ pixel_x = -32
+ },
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "whitegreen"
+ },
+/area/maintenance/aft)
"lwN" = (
/obj/effect/spawner/lootdrop{
loot = list(/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/item/cigbutt,/obj/item/trash/cheesie,/obj/item/trash/candy,/obj/item/trash/chips,/obj/item/trash/pistachios,/obj/item/trash/plate,/obj/item/trash/popcorn,/obj/item/trash/raisins,/obj/item/trash/sosjerky,/obj/item/trash/syndi_cakes);
@@ -80326,6 +80496,18 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/plasteel,
/area/crew_quarters/locker)
+"pcN" = (
+/obj/effect/spawner/window/reinforced,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "cmoprivacy";
+ name = "privacy shutters";
+ opacity = 0
+ },
+/obj/structure/cable/yellow,
+/turf/simulated/floor/plating,
+/area/medical/cmo)
"pcW" = (
/obj/structure/cable/yellow{
d1 = 4;
@@ -80386,6 +80568,10 @@
opacity = 0
},
/obj/effect/spawner/window/reinforced,
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
/turf/simulated/floor/plating,
/area/medical/cmo)
"pjn" = (
@@ -82733,11 +82919,12 @@
icon_state = "1-4";
tag = "90Curve"
},
+/obj/structure/cable,
/obj/machinery/power/solar_control{
+ dir = 1;
id = "aftstarboard";
name = "Aft Starboard Solar Control"
},
-/obj/structure/cable,
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"wvO" = (
@@ -104258,7 +104445,7 @@ chy
bZU
cZv
day
-cZv
+lrA
bZU
cQx
bZU
@@ -104515,7 +104702,7 @@ cNZ
cKV
cZq
dax
-dbv
+cZq
deg
cSl
cRj
@@ -105012,7 +105199,7 @@ cxt
csJ
cys
cMP
-cys
+pcN
csJ
csJ
cFd
@@ -105255,7 +105442,7 @@ ccD
cdT
chU
cjt
-cjt
+dbv
cjt
cjt
cLT
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 4d1213d1e65..bf46b1dc4a1 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -1940,21 +1940,27 @@
},
/area/security/brig)
"agR" = (
-/obj/structure/rack,
/obj/structure/window/reinforced{
dir = 1
},
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/item/storage/box/buck{
+/obj/structure/rack,
+/obj/item/storage/box/beanbag{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/storage/box/buck,
-/obj/item/storage/box/buck{
- pixel_x = 3;
- pixel_y = -3
+/obj/item/storage/box/beanbag,
+/obj/item/storage/box/beanbag{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/storage/box/beanbag{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/storage/box/beanbag,
+/obj/item/storage/box/beanbag,
+/obj/structure/window/reinforced{
+ dir = 4
},
/turf/simulated/floor/plasteel{
dir = 8;
@@ -2439,21 +2445,6 @@
dir = 1
},
/obj/structure/rack,
-/obj/item/storage/box/beanbag{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/storage/box/beanbag,
-/obj/item/storage/box/beanbag{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/storage/box/beanbag{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/storage/box/beanbag,
-/obj/item/storage/box/beanbag,
/obj/item/storage/box/tranquilizer{
pixel_x = 3;
pixel_y = -3
diff --git a/_maps/map_files/generic/Lavaland.dmm b/_maps/map_files/generic/Lavaland.dmm
index 02e8c553456..09a796983da 100644
--- a/_maps/map_files/generic/Lavaland.dmm
+++ b/_maps/map_files/generic/Lavaland.dmm
@@ -886,7 +886,7 @@
},
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/computer/prisoner{
- dir = 1
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
@@ -4371,6 +4371,7 @@
"sO" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/computer/security{
+ dir = 4;
network = list("Labor Camp")
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -5275,7 +5276,7 @@
/area/mine/production)
"VJ" = (
/obj/machinery/computer/secure_data{
- dir = 1
+ dir = 8
},
/turf/simulated/floor/plasteel{
dir = 1;
diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm
index 1acf135edc8..d7bf2abfaa2 100644
--- a/_maps/map_files/generic/centcomm.dmm
+++ b/_maps/map_files/generic/centcomm.dmm
@@ -651,7 +651,9 @@
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
"cH" = (
-/obj/machinery/computer/shuttle/ferry,
+/obj/machinery/computer/shuttle/ferry{
+ dir = 8
+ },
/turf/simulated/floor/plating,
/area/centcom/evac)
"cI" = (
@@ -661,7 +663,9 @@
/turf/simulated/floor/plating/airless,
/area/shuttle/specops)
"cK" = (
-/obj/machinery/computer/shuttle/admin,
+/obj/machinery/computer/shuttle/admin{
+ dir = 8
+ },
/turf/simulated/floor/plating,
/area/centcom/evac)
"cL" = (
@@ -1387,7 +1391,9 @@
/turf/simulated/floor/wood,
/area/syndicate_mothership)
"fi" = (
-/obj/machinery/computer/shuttle/syndicate/recall,
+/obj/machinery/computer/shuttle/syndicate/recall{
+ dir = 1
+ },
/turf/simulated/floor/wood,
/area/syndicate_mothership)
"fj" = (
@@ -1411,8 +1417,8 @@
/turf/simulated/wall/indestructible/riveted,
/area/centcom/gamma)
"fn" = (
-/obj/machinery/computer/library/checkout,
/obj/structure/table/wood,
+/obj/machinery/computer/library/checkout,
/turf/simulated/floor/engine/cult,
/area/wizard_station)
"fo" = (
@@ -2028,7 +2034,9 @@
/turf/simulated/floor/plasteel/dark,
/area/syndicate_mothership)
"hP" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 8
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
"hQ" = (
@@ -3500,7 +3508,9 @@
/turf/simulated/floor/carpet,
/area/centcom/control)
"mP" = (
-/obj/machinery/computer/pod/deathsquad,
+/obj/machinery/computer/pod/deathsquad{
+ dir = 8
+ },
/turf/simulated/floor/plasteel/dark{
dir = 1;
icon_state = "vault"
@@ -3523,7 +3533,9 @@
/turf/simulated/floor/wood,
/area/centcom/control)
"mV" = (
-/obj/machinery/computer/card/centcom,
+/obj/machinery/computer/card/centcom{
+ dir = 8
+ },
/turf/simulated/floor/wood,
/area/centcom/control)
"mW" = (
@@ -3588,7 +3600,9 @@
/turf/simulated/floor/carpet,
/area/centcom/control)
"nh" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 8
+ },
/turf/simulated/floor/carpet,
/area/centcom/control)
"nj" = (
@@ -4013,9 +4027,9 @@
/area/syndicate_mothership)
"oB" = (
/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/ammo_box/shotgun/buck,
-/obj/item/ammo_box/shotgun/buck,
-/obj/item/ammo_box/shotgun/buck,
+/obj/item/ammo_box/shotgun/beanbag,
+/obj/item/ammo_box/shotgun/beanbag,
+/obj/item/ammo_box/shotgun/beanbag,
/obj/item/gun/projectile/shotgun/automatic/combat,
/obj/item/gun/projectile/shotgun/automatic/combat,
/obj/item/gun/projectile/shotgun/automatic/combat,
@@ -4306,7 +4320,9 @@
d2 = 8;
icon_state = "0-8"
},
-/obj/machinery/computer/mech_bay_power_console,
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 1
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/gamma/space)
"pu" = (
@@ -4417,12 +4433,12 @@
/turf/simulated/floor/carpet,
/area/centcom/specops)
"pP" = (
+/obj/structure/table/wood,
/obj/machinery/computer/security/telescreen{
desc = "Used for watching the Special Ops.";
name = "Special Ops. Monitor";
network = list("ERT")
},
-/obj/structure/table/wood,
/turf/simulated/floor/carpet,
/area/centcom/specops)
"pQ" = (
@@ -4430,10 +4446,12 @@
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"pR" = (
-/obj/machinery/computer/station_alert,
/obj/structure/sign/poster/official/nanotrasen_logo{
pixel_x = 32
},
+/obj/machinery/computer/station_alert{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "darkyellow"
@@ -4940,7 +4958,9 @@
},
/area/centcom/evac)
"rz" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 8
+ },
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"rA" = (
@@ -5185,10 +5205,12 @@
/turf/simulated/floor/wood,
/area/centcom/evac)
"sy" = (
-/obj/machinery/computer/secure_data,
/obj/machinery/light/spot{
dir = 8
},
+/obj/machinery/computer/secure_data{
+ dir = 4
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/centcom/evac)
"sz" = (
@@ -6168,7 +6190,9 @@
/turf/simulated/floor/plasteel/grimy,
/area/centcom/specops)
"vf" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vg" = (
@@ -6185,7 +6209,9 @@
/turf/simulated/floor/plasteel,
/area/admin)
"vi" = (
-/obj/machinery/computer/med_data,
+/obj/machinery/computer/med_data{
+ dir = 8
+ },
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vj" = (
@@ -6235,11 +6261,11 @@
/turf/simulated/floor/plasteel,
/area/admin)
"vp" = (
-/obj/machinery/computer/mech_bay_power_console,
/obj/structure/cable{
d2 = 2;
icon_state = "0-2"
},
+/obj/machinery/computer/mech_bay_power_console,
/turf/simulated/floor/plasteel,
/area/admin)
"vr" = (
@@ -6257,24 +6283,33 @@
/area/admin)
"vs" = (
/obj/machinery/computer/security{
+ dir = 1;
network = list("SS13","Telecomms","Research Outpost","Mining Outpost","ERT","CentComm","Thunderdome")
},
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vt" = (
-/obj/machinery/computer/station_alert,
+/obj/machinery/computer/station_alert{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vu" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vv" = (
-/obj/machinery/computer/robotics,
+/obj/machinery/computer/robotics{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vw" = (
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/centcom/control)
"vx" = (
@@ -6852,8 +6887,10 @@
/turf/simulated/floor/carpet,
/area/admin)
"wS" = (
-/obj/machinery/computer/secure_data,
/obj/item/paper/sop,
+/obj/machinery/computer/secure_data{
+ dir = 8
+ },
/turf/simulated/floor/carpet,
/area/admin)
"wT" = (
@@ -6881,11 +6918,15 @@
/turf/simulated/floor/carpet,
/area/admin)
"wY" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 4
+ },
/turf/simulated/floor/carpet,
/area/admin)
"wZ" = (
-/obj/machinery/computer/med_data,
+/obj/machinery/computer/med_data{
+ dir = 8
+ },
/turf/simulated/floor/carpet,
/area/admin)
"xa" = (
@@ -7363,7 +7404,9 @@
},
/area/trader_station/sol)
"yJ" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/admin)
"yK" = (
@@ -7380,7 +7423,9 @@
},
/area/trader_station/sol)
"yP" = (
-/obj/machinery/computer/atmos_alert,
+/obj/machinery/computer/atmos_alert{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/admin)
"yQ" = (
@@ -7390,12 +7435,15 @@
},
/area/centcom/evac)
"yR" = (
-/obj/machinery/computer/message_monitor,
/obj/item/paper/monitorkey,
+/obj/machinery/computer/message_monitor{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/admin)
"yS" = (
/obj/machinery/computer/account_database{
+ dir = 1;
name = "Admin Accounts Database"
},
/turf/simulated/floor/plasteel,
@@ -7407,7 +7455,9 @@
/turf/simulated/floor/plating,
/area/centcom/evac)
"yU" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/admin)
"yV" = (
@@ -7452,7 +7502,9 @@
/turf/simulated/floor/plasteel,
/area/admin)
"zc" = (
-/obj/machinery/computer/arcade,
+/obj/machinery/computer/arcade{
+ dir = 8
+ },
/turf/simulated/floor/mineral/titanium/blue,
/area/centcom/evac)
"zd" = (
@@ -7473,7 +7525,9 @@
/turf/simulated/floor/plasteel/dark,
/area/admin)
"zh" = (
-/obj/machinery/computer/card,
+/obj/machinery/computer/card{
+ dir = 4
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/centcom/evac)
"zi" = (
@@ -7944,7 +7998,9 @@
/turf/simulated/floor/plasteel,
/area/admin)
"AS" = (
-/obj/machinery/computer/teleporter,
+/obj/machinery/computer/teleporter{
+ dir = 1
+ },
/turf/simulated/floor/plasteel,
/area/admin)
"AT" = (
@@ -8000,11 +8056,15 @@
/turf/simulated/floor/plasteel/dark,
/area/syndicate_mothership)
"Bb" = (
-/obj/machinery/computer/crew,
+/obj/machinery/computer/crew{
+ dir = 4
+ },
/turf/simulated/floor/mineral/titanium/blue,
/area/centcom/evac)
"Bc" = (
-/obj/machinery/computer/communications,
+/obj/machinery/computer/communications{
+ dir = 8
+ },
/turf/simulated/floor/mineral/titanium/blue,
/area/centcom/evac)
"Bd" = (
@@ -8040,6 +8100,7 @@
/area/centcom/evac)
"Bj" = (
/obj/machinery/computer{
+ dir = 1;
name = "EMERGENCY SHUTTLE COMPUTER"
},
/turf/simulated/floor/mineral/titanium/blue,
@@ -8100,7 +8161,9 @@
/turf/simulated/floor/plasteel/dark,
/area/syndicate_mothership)
"Bv" = (
-/obj/machinery/computer/camera_advanced,
+/obj/machinery/computer/camera_advanced{
+ dir = 8
+ },
/turf/simulated/floor/plasteel/dark,
/area/syndicate_mothership)
"Bw" = (
@@ -8117,6 +8180,7 @@
/area/syndicate_mothership)
"By" = (
/obj/machinery/computer/shuttle/syndicate{
+ dir = 1;
name = "Nuclear Operatives Shuttle Console"
},
/turf/simulated/floor/plasteel/dark,
@@ -9000,7 +9064,9 @@
/turf/simulated/floor/mineral/titanium/blue,
/area/shuttle/supply)
"FJ" = (
-/obj/machinery/computer/secure_data,
+/obj/machinery/computer/secure_data{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "darkred"
@@ -9043,7 +9109,9 @@
},
/area/shuttle/escape)
"Ga" = (
-/obj/machinery/computer/shuttle/ert,
+/obj/machinery/computer/shuttle/ert{
+ dir = 1
+ },
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"Gd" = (
@@ -9119,7 +9187,9 @@
/turf/simulated/wall/mineral/plastitanium,
/area/shuttle/syndicate_sit)
"GD" = (
-/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/sst,
+/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/sst{
+ dir = 1
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/syndicate_elite)
"GJ" = (
@@ -9376,10 +9446,12 @@
/turf/simulated/floor/plating,
/area/tdome/tdome2)
"Il" = (
-/obj/machinery/computer/communications,
/obj/item/radio/intercom/specops{
pixel_y = -28
},
+/obj/machinery/computer/communications{
+ dir = 1
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/specops)
"Io" = (
@@ -9622,7 +9694,9 @@
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
/area/shuttle/vox)
"JH" = (
-/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/sit,
+/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/sit{
+ dir = 1
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/syndicate_sit)
"JM" = (
@@ -9636,6 +9710,7 @@
/area/shuttle/administration)
"JO" = (
/obj/machinery/computer/security{
+ dir = 1;
network = list("SS13","Research Outpost","Mining Outpost")
},
/turf/simulated/floor/mineral/plastitanium/red,
@@ -10628,7 +10703,9 @@
},
/area/shuttle/escape)
"PU" = (
-/obj/machinery/computer/shuttle/sit,
+/obj/machinery/computer/shuttle/sit{
+ dir = 1
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/syndicate_sit)
"PX" = (
@@ -11190,12 +11267,13 @@
},
/area/holodeck/source_thunderdomecourt)
"TA" = (
-/obj/machinery/computer/security{
- network = list("SS13","Research Outpost","Mining Outpost","Telecomms")
- },
/obj/structure/sign/poster/official/nanotrasen_logo{
pixel_x = -32
},
+/obj/machinery/computer/security{
+ dir = 4;
+ network = list("SS13","Research Outpost","Mining Outpost","Telecomms")
+ },
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "darkred"
@@ -11379,7 +11457,9 @@
},
/area/holodeck/source_knightarena)
"UJ" = (
-/obj/machinery/computer/shuttle/sst,
+/obj/machinery/computer/shuttle/sst{
+ dir = 1
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/syndicate_elite)
"UK" = (
@@ -11495,6 +11575,7 @@
/area/shuttle/escape)
"Vr" = (
/obj/machinery/computer/camera_advanced/shuttle_docker/admin{
+ dir = 8;
name = "NTV Argos shuttle navigation computer"
},
/turf/simulated/floor/mineral/plastitanium/red,
@@ -11568,7 +11649,9 @@
},
/area/shuttle/escape)
"VS" = (
-/obj/machinery/computer/atmos_alert,
+/obj/machinery/computer/atmos_alert{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "darkyellow"
@@ -11600,6 +11683,7 @@
/area/shuttle/vox)
"Wc" = (
/obj/machinery/computer/shuttle/admin{
+ dir = 8;
name = "NTV Argos shuttle console"
},
/turf/simulated/floor/mineral/plastitanium/red,
@@ -12043,7 +12127,6 @@
},
/area/shuttle/escape)
"YV" = (
-/obj/machinery/computer/shuttle/trade/sol,
/obj/machinery/door_control{
id = "soltrader_south";
name = "Trade Deposits Door";
@@ -12057,6 +12140,9 @@
pixel_x = 24;
pixel_y = -8
},
+/obj/machinery/computer/shuttle/trade/sol{
+ dir = 8
+ },
/turf/simulated/floor/mineral/titanium/blue,
/area/shuttle/trade/sol)
"YW" = (
diff --git a/_maps/map_files/shuttles/admin_armory.dmm b/_maps/map_files/shuttles/admin_armory.dmm
index d2873d05de7..766ce3e588c 100644
--- a/_maps/map_files/shuttles/admin_armory.dmm
+++ b/_maps/map_files/shuttles/admin_armory.dmm
@@ -565,11 +565,11 @@
layer = 2.9
},
/obj/structure/rack,
-/obj/item/gun/projectile/shotgun/riot/buckshot{
+/obj/item/gun/projectile/shotgun/riot{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/gun/projectile/shotgun/riot/buckshot,
+/obj/item/gun/projectile/shotgun/riot,
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
"Gx" = (
@@ -705,11 +705,11 @@
layer = 2.9
},
/obj/structure/rack,
-/obj/item/gun/projectile/shotgun/riot/buckshot{
+/obj/item/gun/projectile/shotgun/riot{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/gun/projectile/shotgun/riot/buckshot,
+/obj/item/gun/projectile/shotgun/riot,
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
"Ns" = (
@@ -914,11 +914,11 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/gun/projectile/shotgun/riot/buckshot{
+/obj/item/gun/projectile/shotgun/riot{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/gun/projectile/shotgun/riot/buckshot,
+/obj/item/gun/projectile/shotgun/riot,
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 5b8074a4658..d3655b164f5 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -124,6 +124,17 @@
#define WEAPON_MEDIUM 2
#define WEAPON_HEAVY 3
+//His Grace.
+#define HIS_GRACE_SATIATED 0 //He hungers not. If bloodthirst is set to this, His Grace is asleep.
+#define HIS_GRACE_PECKISH 20 //Slightly hungry.
+#define HIS_GRACE_HUNGRY 60 //Getting closer. Increases damage up to a minimum of 20.
+#define HIS_GRACE_FAMISHED 100 //Dangerous. Increases damage up to a minimum of 25 and cannot be dropped.
+#define HIS_GRACE_STARVING 120 //Incredibly close to breaking loose. Increases damage up to a minimum of 30.
+#define HIS_GRACE_CONSUME_OWNER 140 //His Grace consumes His owner at this point and becomes aggressive.
+#define HIS_GRACE_FALL_ASLEEP 160 //If it reaches this point, He falls asleep and resets.
+
+#define HIS_GRACE_FORCE_BONUS 4 //How much force is gained per kill.
+
#define EXPLODE_NONE 0 //Don't even ask me why we need this.
#define EXPLODE_DEVASTATE 1
#define EXPLODE_HEAVY 2
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index a198421a2cb..6e85ef5ba14 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -115,3 +115,11 @@
#define _2FA_ENABLED_IP "ENABLED_IP"
/// Client will be prompted for 2FA always
#define _2FA_ENABLED_ALWAYS "ENABLED_ALWAYS"
+
+
+#define MAX_SAVE_SLOTS 30 // Save slots for regular players
+#define MAX_SAVE_SLOTS_MEMBER 30 // Save slots for BYOND members
+
+#define TAB_CHAR 0
+#define TAB_GAME 1
+#define TAB_GEAR 2
diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm
index ce91d2ccf31..aa4b044ed0f 100644
--- a/code/__DEFINES/status_effects.dm
+++ b/code/__DEFINES/status_effects.dm
@@ -13,6 +13,8 @@
// BUFFS //
///////////
+#define STATUS_EFFECT_HISGRACE /datum/status_effect/his_grace //His Grace.
+
#define STATUS_EFFECT_SHADOW_MEND /datum/status_effect/shadow_mend //Quick, powerful heal that deals damage afterwards. Heals 15 brute/burn every second for 3 seconds.
#define STATUS_EFFECT_VOID_PRICE /datum/status_effect/void_price //The price of healing yourself with void energy. Deals 3 brute damage every 3 seconds for 30 seconds.
#define STATUS_EFFECT_EXERCISED /datum/status_effect/exercised //Prevents heart disease
@@ -27,7 +29,6 @@
//#define STATUS_EFFECT_POWERREGEN /datum/status_effect/cyborg_power_regen //Regenerates power on a given cyborg over time
-//#define STATUS_EFFECT_HISGRACE /datum/status_effect/his_grace //His Grace.
//#define STATUS_EFFECT_WISH_GRANTERS_GIFT /datum/status_effect/wish_granters_gift //If you're currently resurrecting with the Wish Granter
@@ -53,7 +54,7 @@
//#define MAX_MANIA_SEVERITY 100 //how high the mania severity can go
//#define MANIA_DAMAGE_TO_CONVERT 90 //how much damage is required before it'll convert affected targets
-//#define STATUS_EFFECT_HISWRATH /datum/status_effect/his_wrath //His Wrath.
+#define STATUS_EFFECT_HISWRATH /datum/status_effect/his_wrath //His Wrath.
#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost: can see dead people, can't manifest more ghosts
diff --git a/code/__HELPERS/AnimationLibrary.dm b/code/__HELPERS/AnimationLibrary.dm
index 1f0c3dd9ab1..738783ed826 100644
--- a/code/__HELPERS/AnimationLibrary.dm
+++ b/code/__HELPERS/AnimationLibrary.dm
@@ -188,3 +188,21 @@
animate(A, transform = matrix(punchstr, MATRIX_ROTATE), pixel_y = 16, time = 2, color = "#eeeeee", easing = BOUNCE_EASING)
animate(transform = matrix(-punchstr, MATRIX_ROTATE), pixel_y = original_y, time = 2, color = "#ffffff", easing = BOUNCE_EASING)
animate(transform = null, time = 3, easing = BOUNCE_EASING)
+
+/proc/animate_rumble(atom/A)
+ var/static/list/transforms
+ if(!transforms)
+ var/matrix/M1 = matrix()
+ var/matrix/M2 = matrix()
+ var/matrix/M3 = matrix()
+ var/matrix/M4 = matrix()
+ M1.Translate(-1, 0)
+ M2.Translate(0, 1)
+ M3.Translate(1, 0)
+ M4.Translate(0, -1)
+ transforms = list(M1, M2, M3, M4)
+
+ animate(A, transform = transforms[1], time = 0.2, loop = -1)
+ animate(transform = transforms[2], time = 0.1)
+ animate(transform = transforms[3], time = 0.2)
+ animate(transform = transforms[4], time = 0.3)
diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm
index 612f7b5abef..402ba2c7e3b 100644
--- a/code/__HELPERS/cmp.dm
+++ b/code/__HELPERS/cmp.dm
@@ -51,3 +51,6 @@
return A.plane - B.plane
else
return A.layer - B.layer
+
+/proc/cmp_login_processor_priority(datum/client_login_processor/A, datum/client_login_processor/B)
+ return A.priority - B.priority
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 282ad53cd06..2171422a5aa 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -128,6 +128,13 @@
continue
GLOB.world_topic_handlers[wth.topic_key] = topic_handler_type
+ // Setup client login processors.
+ for(var/processor_type in subtypesof(/datum/client_login_processor))
+ var/datum/client_login_processor/CLP = new processor_type
+ GLOB.client_login_processors += CLP
+ // Sort them by priority, lowest first
+ sortTim(GLOB.client_login_processors, /proc/cmp_login_processor_priority)
+
/* // Uncomment to debug chemical reaction list.
/client/verb/debug_chemical_list()
diff --git a/code/__HELPERS/matrices.dm b/code/__HELPERS/matrices.dm
index 0520ab6b077..414a16636ec 100644
--- a/code/__HELPERS/matrices.dm
+++ b/code/__HELPERS/matrices.dm
@@ -3,7 +3,7 @@
Turn(.) //BYOND handles cases such as -270, 360, 540 etc. DOES NOT HANDLE 180 TURNS WELL, THEY TWEEN AND LOOK LIKE SHIT
-/atom/proc/SpinAnimation(speed = 10, loops = -1, clockwise = 1, segments = 3)
+/atom/proc/SpinAnimation(speed = 10, loops = -1, clockwise = 1, segments = 3, parallel = TRUE)
if(!segments)
return
var/segment = 360/segments
@@ -19,7 +19,10 @@
speed /= segments
- animate(src, transform = matrices[1], time = speed, loops)
+ if(parallel)
+ animate(src, transform = matrices[1], time = speed, loops , flags = ANIMATION_PARALLEL)
+ else
+ animate(src, transform = matrices[1], time = speed, loops)
for(var/i in 2 to segments) //2 because 1 is covered above
animate(transform = matrices[i], time = speed)
//doesn't have an object argument because this is "Stacking" with the animate call above
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 8b4cea27947..688db849a33 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -464,12 +464,15 @@ Turf and target are seperate in case you want to teleport some distance from a t
if(GLOB.stealthminID[P] == txt)
return P
-// Returns the atom sitting on the turf.
-// For example, using this on a disk, which is in a bag, on a mob, will return the mob because it's on the turf.
-/proc/get_atom_on_turf(atom/movable/M)
+//Returns the atom sitting on the turf.
+//For example, using this on a disk, which is in a bag, on a mob, will return the mob because it's on the turf.
+//Optional arg 'type' to stop once it reaches a specific type instead of a turf.
+/proc/get_atom_on_turf(atom/movable/M, stop_type)
var/atom/loc = M
- while(loc && loc.loc && !istype(loc.loc, /turf/))
+ while(loc?.loc && !isturf(loc.loc))
loc = loc.loc
+ if(stop_type && istype(loc, stop_type))
+ break
return loc
/*
@@ -1536,7 +1539,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
shift.Translate(0,radius)
transform = shift
- SpinAnimation(rotation_speed, -1, clockwise, rotation_segments)
+ SpinAnimation(rotation_speed, -1, clockwise, rotation_segments, parallel = FALSE)
while(orbiting && orbiting == A && A.loc)
var/targetloc = get_turf(A)
diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm
index 5464ed64bb4..c5afa64cfba 100644
--- a/code/_globalvars/lists/misc.dm
+++ b/code/_globalvars/lists/misc.dm
@@ -56,3 +56,5 @@ GLOBAL_LIST_INIT(cooking_ingredients, list(RECIPE_MICROWAVE = list(), RECIPE_OVE
GLOBAL_LIST_INIT(cooking_reagents, list(RECIPE_MICROWAVE = list(), RECIPE_OVEN = list(), RECIPE_GRILL = list(), RECIPE_CANDY = list()))
#define EGG_LAYING_MESSAGES list("lays an egg.", "squats down and croons.", "begins making a huge racket.", "begins clucking raucously.")
+
+GLOBAL_LIST_EMPTY(client_login_processors)
diff --git a/code/controllers/subsystem/changelog.dm b/code/controllers/subsystem/changelog.dm
index 55221263033..488be1d32c0 100644
--- a/code/controllers/subsystem/changelog.dm
+++ b/code/controllers/subsystem/changelog.dm
@@ -54,9 +54,8 @@ SUBSYSTEM_DEF(changelog)
/datum/controller/subsystem/changelog/proc/UpdatePlayerChangelogDate(client/C)
if(!ss_ready)
return // Only return here, we dont have to worry about a queue list because this will be called from ShowChangelog()
- // Technically this is only for the date but we can also do the UI button at the same time
- var/datum/preferences/P = GLOB.preferences_datums[C.ckey]
- if(P.toggles & PREFTOGGLE_UI_DARKMODE)
+
+ if(C.prefs.toggles & PREFTOGGLE_UI_DARKMODE)
winset(C, "rpane.changelog", "background-color=#40628a;font-color=#ffffff;font-style=none")
else
winset(C, "rpane.changelog", "background-color=none;font-style=none")
diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm
index f7660f4d75a..04e1c5fb5df 100644
--- a/code/controllers/subsystem/jobs.dm
+++ b/code/controllers/subsystem/jobs.dm
@@ -65,7 +65,7 @@ SUBSYSTEM_DEF(jobs)
return type_occupations[jobtype]
/datum/controller/subsystem/jobs/proc/GetPlayerAltTitle(mob/new_player/player, rank)
- return player.client.prefs.GetPlayerAltTitle(GetJob(rank))
+ return player.client.prefs.active_character.GetPlayerAltTitle(GetJob(rank))
/datum/controller/subsystem/jobs/proc/AssignRole(mob/new_player/player, rank, latejoin = 0)
Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]")
@@ -121,7 +121,7 @@ SUBSYSTEM_DEF(jobs)
Debug("Running FOC, Job: [job], Level: [level], Flag: [flag]")
var/list/candidates = list()
for(var/mob/new_player/player in unassigned)
- Debug(" - Player: [player] Banned: [jobban_isbanned(player, job.title)] Old Enough: [!job.player_old_enough(player.client)] AvInPlaytime: [job.available_in_playtime(player.client)] Flag && Be Special: [flag] && [player.client.prefs.be_special] Job Department: [player.client.prefs.GetJobDepartment(job, level)] Job Flag: [job.flag] Job Department Flag = [job.department_flag]")
+ Debug(" - Player: [player] Banned: [jobban_isbanned(player, job.title)] Old Enough: [!job.player_old_enough(player.client)] AvInPlaytime: [job.available_in_playtime(player.client)] Flag && Be Special: [flag] && [player.client.prefs.be_special] Job Department: [player.client.prefs.active_character.GetJobDepartment(job, level)] Job Flag: [job.flag] Job Department Flag = [job.department_flag]")
if(jobban_isbanned(player, job.title))
Debug("FOC isbanned failed, Player: [player]")
continue
@@ -140,7 +140,7 @@ SUBSYSTEM_DEF(jobs)
if(player.mind && (job.title in player.mind.restricted_roles))
Debug("FOC incompatbile with antagonist role, Player: [player]")
continue
- if(player.client.prefs.GetJobDepartment(job, level) & job.flag)
+ if(player.client.prefs.active_character.GetJobDepartment(job, level) & job.flag)
Debug("FOC pass, Player: [player], Level:[level]")
candidates += player
return candidates
@@ -367,12 +367,12 @@ SUBSYSTEM_DEF(jobs)
continue
// If the player wants that job on this level, then try give it to him.
- if(player.client.prefs.GetJobDepartment(job, level) & job.flag)
+ if(player.client.prefs.active_character.GetJobDepartment(job, level) & job.flag)
// If the job isn't filled
if((job.current_positions < job.spawn_positions) || job.spawn_positions == -1)
Debug("DO pass, Player: [player], Level:[level], Job:[job.title]")
- Debug(" - Job Flag: [job.flag] Job Department: [player.client.prefs.GetJobDepartment(job, level)] Job Current Pos: [job.current_positions] Job Spawn Positions = [job.spawn_positions]")
+ Debug(" - Job Flag: [job.flag] Job Department: [player.client.prefs.active_character.GetJobDepartment(job, level)] Job Current Pos: [job.current_positions] Job Spawn Positions = [job.spawn_positions]")
AssignRole(player, job.title)
unassigned -= player
break
@@ -380,7 +380,7 @@ SUBSYSTEM_DEF(jobs)
// Hand out random jobs to the people who didn't get any in the last check
// Also makes sure that they got their preference correct
for(var/mob/new_player/player in unassigned)
- if(player.client.prefs.alternate_option == GET_RANDOM_JOB)
+ if(player.client.prefs.active_character.alternate_option == GET_RANDOM_JOB)
GiveRandomJob(player)
Debug("DO, Standard Check end")
@@ -390,7 +390,7 @@ SUBSYSTEM_DEF(jobs)
// Antags, who have to get in, come first
for(var/mob/new_player/player in unassigned)
if(player.mind.special_role)
- if(player.client.prefs.alternate_option != BE_ASSISTANT)
+ if(player.client.prefs.active_character.alternate_option != BE_ASSISTANT)
GiveRandomJob(player)
if(player in unassigned)
AssignRole(player, "Civilian")
@@ -399,10 +399,10 @@ SUBSYSTEM_DEF(jobs)
// Then we assign what we can to everyone else.
for(var/mob/new_player/player in unassigned)
- if(player.client.prefs.alternate_option == BE_ASSISTANT)
+ if(player.client.prefs.active_character.alternate_option == BE_ASSISTANT)
Debug("AC2 Assistant located, Player: [player]")
AssignRole(player, "Civilian")
- else if(player.client.prefs.alternate_option == RETURN_TO_LOBBY)
+ else if(player.client.prefs.active_character.alternate_option == RETURN_TO_LOBBY)
player.ready = 0
unassigned -= player
@@ -564,11 +564,11 @@ SUBSYSTEM_DEF(jobs)
if(job.barred_by_disability(player.client))
disabled++
continue
- if(player.client.prefs.GetJobDepartment(job, 1) & job.flag)
+ if(player.client.prefs.active_character.GetJobDepartment(job, 1) & job.flag)
high++
- else if(player.client.prefs.GetJobDepartment(job, 2) & job.flag)
+ else if(player.client.prefs.active_character.GetJobDepartment(job, 2) & job.flag)
medium++
- else if(player.client.prefs.GetJobDepartment(job, 3) & job.flag)
+ else if(player.client.prefs.active_character.GetJobDepartment(job, 3) & job.flag)
low++
else never++ //not selected
diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index 579a6b7c07c..0185aa5931b 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -209,7 +209,7 @@ SUBSYSTEM_DEF(vote)
/datum/controller/subsystem/vote/proc/initiate_vote(vote_type, initiator_key, code_invoked = FALSE)
if(!mode)
- if(started_time != null && !check_rights(R_ADMIN))
+ if(usr && started_time != null && !check_rights(R_ADMIN)) // Allow the game to call votes whenever. But check other callers
var/next_allowed_time = (started_time + GLOB.configuration.vote.vote_delay)
if(next_allowed_time > world.time)
return 0
diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm
index d5f686fb763..f22689067d8 100644
--- a/code/datums/spells/horsemask.dm
+++ b/code/datums/spells/horsemask.dm
@@ -30,7 +30,7 @@
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
magichead.flags |= NODROP | DROPDEL //curses!
magichead.flags_inv = null //so you can still see their face
- magichead.voicechange = 1 //NEEEEIIGHH
+ magichead.voicechange = TRUE //NEEEEIIGHH
target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \
"Your face burns up, and shortly after the fire you realise you have the face of a horse!")
if(!target.unEquip(target.wear_mask))
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index 0494e14d647..54735988b9c 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -1,5 +1,58 @@
//Largely beneficial effects go here, even if they have drawbacks. An example is provided in Shadow Mend.
+/datum/status_effect/his_grace
+ id = "his_grace"
+ duration = -1
+ tick_interval = 4
+ alert_type = /obj/screen/alert/status_effect/his_grace
+ var/bloodlust = 0
+
+/obj/screen/alert/status_effect/his_grace
+ name = "His Grace"
+ desc = "His Grace hungers, and you must feed Him."
+ icon_state = "his_grace"
+ alerttooltipstyle = "hisgrace"
+
+/obj/screen/alert/status_effect/his_grace/MouseEntered(location, control, params)
+ desc = initial(desc)
+ var/datum/status_effect/his_grace/HG = attached_effect
+ desc += "
Current Bloodthirst: [HG.bloodlust]\
+
Becomes undroppable at [HIS_GRACE_FAMISHED]\
+
Will consume you at [HIS_GRACE_CONSUME_OWNER]"
+ ..()
+
+/datum/status_effect/his_grace/on_apply()
+ add_attack_logs(owner, owner, "gained His Grace's stun immunity", ATKLOG_ALL)
+ owner.add_stun_absorption("hisgrace", INFINITY, 3, null, "His Grace protects you from the stun!")
+ return ..()
+
+/datum/status_effect/his_grace/tick()
+ bloodlust = 0
+ var/graces = 0
+ var/list/held_items = list()
+ held_items += owner.l_hand
+ held_items += owner.r_hand
+ for(var/obj/item/his_grace/HG in held_items)
+ if(HG.bloodthirst > bloodlust)
+ bloodlust = HG.bloodthirst
+ if(HG.awakened)
+ graces++
+ if(!graces)
+ owner.apply_status_effect(STATUS_EFFECT_HISWRATH)
+ qdel(src)
+ return
+ var/grace_heal = bloodlust * 0.05
+ owner.adjustBruteLoss(-grace_heal)
+ owner.adjustFireLoss(-grace_heal)
+ owner.adjustToxLoss(-grace_heal)
+ owner.adjustOxyLoss(-(grace_heal * 2))
+ owner.adjustCloneLoss(-grace_heal)
+
+/datum/status_effect/his_grace/on_remove()
+ add_attack_logs(owner, owner, "lost His Grace's stun immunity", ATKLOG_ALL)
+ if(islist(owner.stun_absorption) && owner.stun_absorption["hisgrace"])
+ owner.stun_absorption -= "hisgrace"
+
/datum/status_effect/shadow_mend
id = "shadow_mend"
duration = 30
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index d8b5e4d9cbe..498bb042497 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -1,5 +1,28 @@
//OTHER DEBUFFS
+/datum/status_effect/his_wrath //does minor damage over time unless holding His Grace
+ id = "his_wrath"
+ duration = -1
+ tick_interval = 4
+ alert_type = /obj/screen/alert/status_effect/his_wrath
+
+/obj/screen/alert/status_effect/his_wrath
+ name = "His Wrath"
+ desc = "You fled from His Grace instead of feeding Him, and now you suffer."
+ icon_state = "his_grace"
+ alerttooltipstyle = "hisgrace"
+
+/datum/status_effect/his_wrath/tick()
+ var/list/held_items = list()
+ held_items += owner.l_hand
+ held_items += owner.r_hand
+ for(var/obj/item/his_grace/HG in held_items)
+ qdel(src)
+ return
+ owner.adjustBruteLoss(0.1)
+ owner.adjustFireLoss(0.1)
+ owner.adjustToxLoss(0.2)
+
/datum/status_effect/cultghost //is a cult ghost and can't use manifest runes
id = "cult_ghost"
duration = -1
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index a70a81bb285..d4a97bc16e1 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -412,28 +412,6 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
cost = 80
containername = "combat shotgun crate"
-/datum/supply_packs/security/armory/buckshotammo
- name = "Buckshot Ammo Crate"
- contains = list(/obj/item/ammo_box/shotgun/buck,
- /obj/item/storage/box/buck,
- /obj/item/storage/box/buck,
- /obj/item/storage/box/buck,
- /obj/item/storage/box/buck,
- /obj/item/storage/box/buck)
- cost = 45
- containername = "buckshot ammo crate"
-
-/datum/supply_packs/security/armory/slugammo
- name = "Slug Ammo Crate"
- contains = list(/obj/item/ammo_box/shotgun,
- /obj/item/storage/box/slug,
- /obj/item/storage/box/slug,
- /obj/item/storage/box/slug,
- /obj/item/storage/box/slug,
- /obj/item/storage/box/slug)
- cost = 45
- containername = "slug ammo crate"
-
/datum/supply_packs/security/armory/expenergy
name = "Energy Guns Crate"
contains = list(/obj/item/gun/energy/gun,
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index b2eb0ba224d..4e59d8ad6dd 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -257,10 +257,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
job = list("Chaplain")
/datum/uplink_item/jobspecific/artistic_toolbox
- name = "Artistic Toolbox"
- desc = "An accursed toolbox that grants its followers extreme power at the cost of requiring repeated sacrifices to it. If sacrifices are not provided, it will turn on its follower."
- reference = "HGAT"
- item = /obj/item/storage/toolbox/green/memetic
+ name = "His Grace"
+ desc = "An incredibly dangerous weapon recovered from a station overcome by the grey tide. Once activated, He will thirst for blood and must be used to kill to sate that thirst. \
+ His Grace grants gradual regeneration and complete stun immunity to His wielder, but be wary: if He gets too hungry, He will become impossible to drop and eventually kill you if not fed. \
+ However, if left alone for long enough, He will fall back to slumber. \
+ To activate His Grace, simply unlatch Him."
+ reference = "HG"
+ item = /obj/item/his_grace
cost = 20
job = list("Chaplain")
surplus = 0 //No lucky chances from the crate; if you get this, this is ALL you're getting
@@ -1171,6 +1174,15 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 4
excludefrom = list(/datum/game_mode/nuclear)
+/datum/uplink_item/stealthy_tools/voice_modulator
+ name = "Chameleon Voice Modulator Mask"
+ desc = "A syndicate tactical mask equipped with chameleon technology and a sound modulator for disguising your voice. \
+ While the mask is active, your voice will sound unrecognizable to others"
+ reference = "CVMM"
+ item = /obj/item/clothing/mask/gas/voice_modulator/chameleon
+ cost = 1
+ excludefrom = list(/datum/game_mode/nuclear)
+
/datum/uplink_item/stealthy_tools/chameleon/nuke
reference = "NCHAM"
cost = 6
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 7232239d6f5..bac3f4c3349 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -420,6 +420,7 @@
if(spin && !no_spin && !no_spin_thrown)
SpinAnimation(5, 1)
+ SEND_SIGNAL(src, COMSIG_MOVABLE_POST_THROW, TT, spin)
SSthrowing.processing[src] = TT
TT.tick()
diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm
index f315d79eb99..38dfbfab5d4 100644
--- a/code/game/gamemodes/changeling/traitor_chan.dm
+++ b/code/game/gamemodes/changeling/traitor_chan.dm
@@ -23,7 +23,7 @@
secondary_enemies = CEILING((secondary_enemies_scaling * num_players()), 1)
for(var/mob/new_player/player in GLOB.player_list)
- if((player.mind in possible_changelings) && (player.client.prefs.species in secondary_protected_species))
+ if((player.mind in possible_changelings) && (player.client.prefs.active_character.species in secondary_protected_species))
possible_changelings -= player.mind
if(possible_changelings.len > 0)
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 7411622d358..fe0fe6447ba 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -251,7 +251,7 @@
// Get a list of all the people who want to be the antagonist for this round, except those with incompatible species
for(var/mob/new_player/player in players)
if(!player.client.skip_antag)
- if((role in player.client.prefs.be_special) && !(player.client.prefs.species in protected_species))
+ if((role in player.client.prefs.be_special) && !(player.client.prefs.active_character.species in protected_species))
player_draft_log += "[player.key] had [roletext] enabled, so we are drafting them."
candidates += player.mind
players -= player
diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm
index aaf5dd1eea7..7b3fd4d52fc 100644
--- a/code/game/gamemodes/intercept_report.dm
+++ b/code/game/gamemodes/intercept_report.dm
@@ -110,7 +110,7 @@
/datum/intercept_text/proc/get_suspect()
var/list/dudes = list()
for(var/mob/living/carbon/human/man in GLOB.player_list)
- if(man.client && man.client.prefs.nanotrasen_relation == "Opposed")
+ if(man.client && man.client.prefs.active_character.nanotrasen_relation == "Opposed")
//don't include suspects who can't possibly be the antag based on their job (no suspecting the captain of being a damned dirty tator)
if(man.mind && man.mind.assigned_role)
if((man.mind.assigned_role in SSticker.mode.protected_jobs) || (man.mind.assigned_role in SSticker.mode.restricted_jobs))
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 1ace6f6a836..6aef09163d3 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -279,14 +279,6 @@
synd_mob.equip_to_slot_or_del(U, slot_in_backpack)
if(synd_mob.dna.species)
-
- /*
- Incase anyone ever gets the burning desire to have nukeops with randomized apperances. -- Dave
- synd_mob.gender = pick(MALE, FEMALE) // Randomized appearances for the nukeops.
- var/datum/preferences/pref = new()
- A.randomize_appearance_for(synd_mob)
- */
-
var/race = synd_mob.dna.species.name
switch(race)
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index e4d3aecd279..47c41d841fe 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -507,7 +507,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
if(SSticker.current_state == GAME_STATE_SETTING_UP)
for(var/mob/new_player/P in GLOB.player_list)
if(P.client && P.ready && P.mind != owner)
- if(P.client.prefs && (P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution.
+ if(P.client.prefs && (P.client.prefs.active_character.species == "Machine")) // Special check for species that can't be absorbed. No better solution.
continue
n_p++
else if(SSticker.current_state == GAME_STATE_PLAYING)
diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm
index 3b491765919..c764028ac41 100644
--- a/code/game/gamemodes/shadowling/shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm
@@ -418,7 +418,7 @@
qdel(B)
/datum/reagent/shadowling_blindness_smoke //Blinds non-shadowlings, heals shadowlings/thralls
- name = "odd black liquid"
+ name = "Odd black liquid"
id = "blindness_smoke"
description = "<::ERROR::> CANNOT ANALYZE REAGENT <::ERROR::>"
color = "#000000" //Complete black (RGB: 0, 0, 0)
diff --git a/code/game/gamemodes/vampire/traitor_vamp.dm b/code/game/gamemodes/vampire/traitor_vamp.dm
index 9eac23187ca..eea069b3f15 100644
--- a/code/game/gamemodes/vampire/traitor_vamp.dm
+++ b/code/game/gamemodes/vampire/traitor_vamp.dm
@@ -24,7 +24,7 @@
secondary_enemies = CEILING((secondary_enemies_scaling * num_players()), 1)
for(var/mob/new_player/player in GLOB.player_list)
- if((player.mind in possible_vampires) && (player.client.prefs.species in secondary_protected_species))
+ if((player.mind in possible_vampires) && (player.client.prefs.active_character.species in secondary_protected_species))
possible_vampires -= player.mind
if(possible_vampires.len > 0)
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 259de282382..ddace2bf4ed 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -347,9 +347,9 @@ GLOBAL_LIST_EMPTY(multiverse)
/obj/item/multisword/proc/spawn_copy(client/C, turf/T, mob/user)
var/mob/living/carbon/human/M = new/mob/living/carbon/human(T)
if(duplicate_self)
- user.client.prefs.copy_to(M)
+ user.client.prefs.active_character.copy_to(M)
else
- C.prefs.copy_to(M)
+ C.prefs.active_character.copy_to(M)
M.key = C.key
M.mind.name = user.real_name
to_chat(M, "You are an alternate version of [user.real_name] from another universe! Help [user.p_them()] accomplish [user.p_their()] goals at all costs.")
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index d50a6200764..88cd471b372 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -147,7 +147,7 @@
if(!G || !G.key)
return // Let's not steal someone's soul here
var/mob/living/carbon/human/new_character = new(pick(GLOB.latejoin))
- G.client.prefs.copy_to(new_character)
+ G.client.prefs.active_character.copy_to(new_character)
new_character.key = G.key
return new_character
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 67ad3a2ebae..0eef296334d 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -1029,7 +1029,7 @@
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
magichead.flags |= NODROP | DROPDEL //curses!
magichead.flags_inv = null //so you can still see their face
- magichead.voicechange = 1 //NEEEEIIGHH
+ magichead.voicechange = TRUE //NEEEEIIGHH
if(!user.unEquip(user.wear_mask))
qdel(user.wear_mask)
user.equip_to_slot_if_possible(magichead, slot_wear_mask, TRUE, TRUE)
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index c39e1ff555f..7922cb721f7 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -123,7 +123,7 @@
var/list/prohibited_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
for(var/i = 1, i < prohibited_disabilities.len, i++)
var/this_disability = prohibited_disabilities[i]
- if(C.prefs.disabilities & this_disability)
+ if(C.prefs.active_character.disabilities & this_disability)
return 1
return 0
@@ -173,8 +173,8 @@
if(box && H.dna.species.speciesbox)
box = H.dna.species.speciesbox
- if(allow_loadout && H.client && (H.client.prefs.loadout_gear && H.client.prefs.loadout_gear.len))
- for(var/gear in H.client.prefs.loadout_gear)
+ if(allow_loadout && H.client && length(H.client.prefs.active_character.loadout_gear))
+ for(var/gear in H.client.prefs.active_character.loadout_gear)
var/datum/gear/G = GLOB.gear_datums[gear]
if(G)
var/permitted = FALSE
@@ -212,7 +212,7 @@
if(gear_leftovers.len)
for(var/datum/gear/G in gear_leftovers)
- var/atom/placed_in = H.equip_or_collect(G.spawn_item(null, H.client.prefs.loadout_gear[G.display_name]))
+ var/atom/placed_in = H.equip_or_collect(G.spawn_item(null, H.client.prefs.active_character.loadout_gear[G.display_name]))
if(istype(placed_in))
if(isturf(placed_in))
to_chat(H, "Placing [G.display_name] on [placed_in]!")
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 78895d0d099..1e6efe52565 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -462,6 +462,17 @@
drop_computer_parts()
return ..() // will qdel the frame
+/obj/structure/computerframe/AltClick(mob/user)
+ if(user.incapacitated())
+ to_chat(user, "You can't do that right now!")
+ return
+ if(!Adjacent(user))
+ return
+ if(anchored)
+ to_chat(user, "The frame is anchored to the floor!")
+ return
+ setDir(turn(dir, 90))
+
/obj/structure/computerframe/obj_break(damage_flag)
deconstruct()
@@ -544,7 +555,8 @@
if(STATE_GLASS)
to_chat(user, "You connect the monitor.")
I.play_tool_sound(src)
- var/B = new circuit.build_path(loc)
+ var/obj/machinery/computer/B = new circuit.build_path(loc)
+ B.setDir(dir)
if(istype(circuit, /obj/item/circuitboard/supplycomp))
var/obj/machinery/computer/supplycomp/SC = B
var/obj/item/circuitboard/supplycomp/C = circuit
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index c4af2849947..a5c01d63ae4 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -144,6 +144,8 @@
/obj/item/stamp/chameleon = 2,
/obj/item/clothing/shoes/chameleon/noslip = 5,
/obj/item/clothing/mask/chameleon = 2,
+ /obj/item/clothing/mask/gas/voice_modulator = 2,
+ /obj/item/clothing/mask/gas/voice_modulator/chameleon = 2,
/obj/item/dnascrambler = 1,
/obj/item/storage/backpack/satchel_flat = 2,
/obj/item/storage/toolbox/syndicate = 2,
@@ -156,7 +158,7 @@
/obj/item/storage/secure/briefcase/syndie = 2,
/obj/item/storage/fancy/cigarettes/cigpack_syndicate = 2,
/obj/item/storage/pill_bottle/fakedeath = 2,
- "" = 68
+ "" = 64 // Reduce this number if you add things above. Make sure all the numbers in the list add to 100 EXACTLY
)
/obj/effect/spawner/lootdrop/crate_spawner // for ruins
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index aa637dc0332..b04457ac866 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -118,7 +118,7 @@
else if(issilicon(M))
add_attack_logs(user, M, "Flashed with [src]")
if(M.flash_eyes(affect_silicon = 1))
- M.Weaken(rand(5,10))
+ M.Weaken(rand(4, 6))
user.visible_message("[user] overloads [M]'s sensors with [src]!", "You overload [M]'s sensors with [src]!")
return 1
user.visible_message("[user] fails to blind [M] with [src]!", "You fail to blind [M] with [src]!")
diff --git a/code/game/objects/items/devices/voice.dm b/code/game/objects/items/devices/voice.dm
index 43a95ae86d7..c18af96333d 100644
--- a/code/game/objects/items/devices/voice.dm
+++ b/code/game/objects/items/devices/voice.dm
@@ -1,6 +1,6 @@
/obj/item/voice_changer
name = "voice changer"
- desc = "A voice scrambling module."
+ desc = "A voice mimicking module."
icon = 'icons/obj/device.dmi'
icon_state = "voice_changer_off"
@@ -42,3 +42,9 @@
voice = sanitize(copytext(chosen_voice, 1, MAX_MESSAGE_LEN))
to_chat(user, "You are now mimicking [voice].")
+
+/obj/item/voice_changer/voice_modulator
+ name = "voice modulator"
+ desc = "A voice scrambling module."
+ voice = "Unknown"
+ actions_types = list(/datum/action/item_action/voice_changer/toggle)
diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm
new file mode 100644
index 00000000000..e86d82fef36
--- /dev/null
+++ b/code/game/objects/items/his_grace.dm
@@ -0,0 +1,263 @@
+//His Grace is a very special weapon granted only to traitor chaplains.
+//When awakened, He thirsts for blood and begins ticking a "bloodthirst" counter.
+//The wielder of His Grace is immune to stuns and gradually heals.
+//If the wielder fails to feed His Grace in time, He will devour them and become incredibly aggressive.
+//Leaving His Grace alone for some time will reset His thirst and put Him to sleep.
+//Using His Grace effectively requires extreme speed and care.
+
+/obj/item/his_grace
+ name = "artistic toolbox"
+ desc = "A toolbox painted bright green. Looking at it makes you feel uneasy."
+ icon = 'icons/obj/storage.dmi'
+ icon_state = "green"
+ item_state = "artistic_toolbox"
+ lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
+ w_class = WEIGHT_CLASS_GIGANTIC
+ force = 12
+ attack_verb = list("robusted")
+ hitsound = 'sound/weapons/smash.ogg'
+ drop_sound = 'sound/items/handling/toolbox_drop.ogg'
+ pickup_sound = 'sound/items/handling/toolbox_pickup.ogg'
+ var/awakened = FALSE
+ var/bloodthirst = HIS_GRACE_SATIATED
+ var/prev_bloodthirst = HIS_GRACE_SATIATED
+ var/force_bonus = 0
+ var/ascended = FALSE
+ var/victims_needed = 25
+ var/ascend_bonus = 15
+
+/obj/item/his_grace/Initialize(mapload)
+ . = ..()
+ START_PROCESSING(SSprocessing, src)
+ GLOB.poi_list |= src
+ RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, .proc/move_gracefully)
+ update_icon()
+
+/obj/item/his_grace/Destroy()
+ STOP_PROCESSING(SSprocessing, src)
+ for(var/mob/living/L in src)
+ L.forceMove(get_turf(src))
+ GLOB.poi_list -= src
+ return ..()
+
+/obj/item/his_grace/update_icon()
+ icon_state = ascended ? "gold" : "green"
+ item_state = ascended ? "toolbox_gold" : "artistic_toolbox"
+ cut_overlays()
+ if(ascended)
+ add_overlay("triple_latch")
+ else if(awakened)
+ add_overlay("single_latch_open")
+ else
+ add_overlay("single_latch")
+
+/obj/item/his_grace/attack_self(mob/living/user)
+ if(!awakened)
+ INVOKE_ASYNC(src, .proc/awaken, user)
+
+/obj/item/his_grace/attack(mob/living/M, mob/user)
+ if(awakened && M.stat)
+ consume(M)
+ else
+ ..()
+
+/obj/item/his_grace/can_be_pulled(user, grab_state, force, show_message = FALSE) //you can't pull his grace
+ return FALSE
+
+/obj/item/his_grace/examine(mob/user)
+ . = ..()
+ if(awakened)
+ switch(bloodthirst)
+ if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH)
+ . += "[src] isn't very hungry. Not yet."
+ if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY)
+ . += "[src] would like a snack."
+ if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED)
+ . += "[src] is quite hungry now."
+ if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING)
+ . += "[src] is openly salivating at the sight of you. Be careful."
+ if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER)
+ . += "You walk a fine line. [src] is very close to devouring you."
+ if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
+ . += "[src] is shaking violently and staring directly at you."
+ else
+ . += "[src] is latched closed."
+
+/obj/item/his_grace/relaymove(mob/living/user, direction) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active
+ if(!awakened)
+ user.forceMove(get_turf(src))
+ user.visible_message("[user] scrambles out of [src]!", "You climb out of [src]!")
+
+/obj/item/his_grace/process()
+ if(!bloodthirst)
+ drowse()
+ return
+ if(bloodthirst < HIS_GRACE_CONSUME_OWNER && !ascended)
+ adjust_bloodthirst(1 + FLOOR(length(contents) * 0.5, 1)) //Maybe adjust this?
+ else
+ adjust_bloodthirst(1) //don't cool off rapidly once we're at the point where His Grace consumes all.
+ var/mob/living/master = get_atom_on_turf(src, /mob/living)
+ var/list/held_items = list()
+ if(istype(master))
+ held_items += master.l_hand
+ held_items += master.r_hand
+ if(istype(master) && (src in held_items))
+ switch(bloodthirst)
+ if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
+ master.visible_message("[src] turns on [master]!", "[src] turns on you!")
+ do_attack_animation(master, null, src)
+ master.emote("scream")
+ master.remove_status_effect(STATUS_EFFECT_HISGRACE)
+ flags &= ~NODROP
+ master.Weaken(3)
+ master.adjustBruteLoss(1000)
+ playsound(master, 'sound/effects/splat.ogg', 100, FALSE)
+ else
+ master.apply_status_effect(STATUS_EFFECT_HISGRACE)
+ return
+ forceMove(get_turf(src)) //no you can't put His Grace in a locker you just have to deal with Him
+ if(bloodthirst < HIS_GRACE_CONSUME_OWNER)
+ return
+ if(bloodthirst >= HIS_GRACE_FALL_ASLEEP)
+ drowse()
+ return
+ var/list/targets = list()
+ for(var/mob/living/L in oview(2, src))
+ targets += L
+ if(!length(targets))
+ return
+ var/mob/living/L = pick(targets)
+ step_to(src, L)
+ if(Adjacent(L))
+ if(!L.stat)
+ L.visible_message("[src] lunges at [L]!", "[src] lunges at you!")
+ do_attack_animation(L, null, src)
+ playsound(L, 'sound/weapons/smash.ogg', 50, TRUE)
+ playsound(L, 'sound/misc/desceration-01.ogg', 50, TRUE)
+ L.adjustBruteLoss(force)
+ adjust_bloodthirst(-5) //Don't stop attacking they're right there!
+ else
+ consume(L)
+
+/obj/item/his_grace/proc/awaken(mob/user) //Good morning, Mr. Grace.
+ if(awakened)
+ return
+ awakened = TRUE
+ user.visible_message("[src] begins to rattle. He thirsts.", "You flick [src]'s latch up. You hope this is a good idea.")
+ name = "His Grace"
+ desc = "A bloodthirsty artifact created by a profane rite."
+ gender = MALE
+ adjust_bloodthirst(1)
+ force_bonus = HIS_GRACE_FORCE_BONUS * length(contents)
+ playsound(user, 'sound/effects/pope_entry.ogg', 100)
+ update_icon()
+ move_gracefully()
+
+/obj/item/his_grace/proc/move_gracefully()
+ SIGNAL_HANDLER
+
+ if(!awakened)
+ return
+ animate_rumble(src)
+
+/obj/item/his_grace/proc/drowse() //Good night, Mr. Grace.
+ if(!awakened || ascended)
+ return
+ var/turf/T = get_turf(src)
+ T.visible_message("[src] slowly stops rattling and falls still, His latch snapping shut.")
+ playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE)
+ name = initial(name)
+ desc = initial(desc)
+ animate(src, transform = matrix())
+ gender = initial(gender)
+ force = initial(force)
+ force_bonus = initial(force_bonus)
+ awakened = FALSE
+ bloodthirst = 0
+ update_icon()
+
+/obj/item/his_grace/proc/consume(mob/living/meal) //Here's your dinner, Mr. Grace.
+ if(!meal)
+ return
+ var/victims = 0
+ meal.visible_message("[src] swings open and devours [meal]!", "[src] consumes you!")
+ meal.adjustBruteLoss(300)
+ playsound(meal, 'sound/misc/desceration-02.ogg', 75, TRUE)
+ playsound(src, 'sound/items/eatfood.ogg', 100, TRUE)
+ meal.forceMove(src)
+ force_bonus += HIS_GRACE_FORCE_BONUS
+ prev_bloodthirst = bloodthirst
+ if(prev_bloodthirst < HIS_GRACE_CONSUME_OWNER)
+ bloodthirst = max(length(contents), 1) //Never fully sated, and His hunger will only grow.
+ else
+ bloodthirst = HIS_GRACE_CONSUME_OWNER
+ for(var/mob/living/C in contents)
+ if(C.mind)
+ victims++
+ if(victims >= victims_needed)
+ ascend()
+ update_stats()
+
+/obj/item/his_grace/proc/adjust_bloodthirst(amt)
+ prev_bloodthirst = bloodthirst
+ if(prev_bloodthirst < HIS_GRACE_CONSUME_OWNER && !ascended)
+ bloodthirst = clamp(bloodthirst + amt, HIS_GRACE_SATIATED, HIS_GRACE_CONSUME_OWNER)
+ else if(!ascended)
+ bloodthirst = clamp(bloodthirst + amt, HIS_GRACE_CONSUME_OWNER, HIS_GRACE_FALL_ASLEEP)
+ update_stats()
+
+/obj/item/his_grace/proc/update_stats()
+ flags &= ~NODROP
+ var/mob/living/master = get_atom_on_turf(src, /mob/living)
+ switch(bloodthirst)
+ if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
+ if(HIS_GRACE_CONSUME_OWNER > prev_bloodthirst)
+ master.visible_message("[src] enters a frenzy!")
+ if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER)
+ flags |= NODROP
+ if(HIS_GRACE_STARVING > prev_bloodthirst)
+ master.visible_message("[src] is starving!", "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\
+ [force_bonus < 15 ? " And still, His power grows.":""]")
+ force_bonus = max(force_bonus, 15)
+ if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING)
+ flags |= NODROP
+ if(HIS_GRACE_FAMISHED > prev_bloodthirst)
+ master.visible_message("[src] is very hungry!", "Spines sink into your hand. [src] must feed immediately.\
+ [force_bonus < 10 ? " His power grows.":""]")
+ force_bonus = max(force_bonus, 10)
+ if(prev_bloodthirst >= HIS_GRACE_STARVING)
+ master.visible_message("[src] is now only very hungry!", "Your bloodlust recedes.")
+ if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED)
+ if(HIS_GRACE_HUNGRY > prev_bloodthirst)
+ master.visible_message("[src] is getting hungry.", "You feel [src]'s hunger within you.\
+ [force_bonus < 5 ? " His power grows.":""]")
+ force_bonus = max(force_bonus, 5)
+ if(prev_bloodthirst >= HIS_GRACE_FAMISHED)
+ master.visible_message("[src] is now only somewhat hungry.", "[src]'s hunger recedes a little...")
+ if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY)
+ if(HIS_GRACE_PECKISH > prev_bloodthirst)
+ master.visible_message("[src] is feeling snackish.", "[src] begins to hunger.")
+ if(prev_bloodthirst >= HIS_GRACE_HUNGRY)
+ master.visible_message("[src] is now only a little peckish.", "[src]'s hunger recedes somewhat...")
+ if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH)
+ if(prev_bloodthirst >= HIS_GRACE_PECKISH)
+ master.visible_message("[src] is satiated.", "[src]'s hunger recedes...")
+ force = initial(force) + force_bonus
+
+/obj/item/his_grace/proc/ascend()
+ if(ascended)
+ return
+ force_bonus += ascend_bonus
+ desc = "A legendary toolbox and a distant artifact from The Age of Three Powers. On its three latches engraved are the words \"The Sun\", \"The Moon\", and \"The Stars\". The entire toolbox has the words \"The World\" engraved into its sides."
+ icon_state = "his_grace_ascended"
+ item_state = "toolbox_gold"
+ ascended = TRUE
+ update_icon()
+ playsound(src, 'sound/effects/his_grace_ascend.ogg', 100)
+ var/mob/living/carbon/human/master = loc
+ if(istype(master))
+ master.visible_message("Gods will be watching.")
+ name = "[master]'s mythical toolbox of three powers"
+ master.update_inv_l_hand()
+ master.update_inv_r_hand()
diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm
index f1487a09986..52877118b88 100644
--- a/code/game/objects/items/robot/robot_items.dm
+++ b/code/game/objects/items/robot/robot_items.dm
@@ -31,6 +31,115 @@
playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1)
add_attack_logs(user, M, "Stunned with [src] ([uppertext(user.a_intent)])")
+#define CYBORG_HUGS 0
+#define CYBORG_HUG 1
+#define CYBORG_SHOCK 2
+#define CYBORG_CRUSH 3
+
+/obj/item/borg/cyborghug
+ name = "hugging module"
+ icon_state = "hugmodule"
+ desc = "For when a someone really needs a hug."
+ var/mode = CYBORG_HUGS //0 = Hugs 1 = "Hug" 2 = Shock 3 = CRUSH
+ var/ccooldown = 0
+ var/scooldown = 0
+ var/shockallowed = FALSE //Can it be a stunarm when emagged. Only PK borgs get this by default.
+
+/obj/item/borg/cyborghug/attack_self(mob/living/user)
+ if(isrobot(user))
+ var/mob/living/silicon/robot/P = user
+ if(P.emagged && shockallowed)
+ if(mode < CYBORG_CRUSH)
+ mode++
+ else
+ mode = CYBORG_HUGS
+ else if(mode < CYBORG_HUG)
+ mode++
+ else
+ mode = CYBORG_HUGS
+ switch(mode)
+ if(CYBORG_HUGS)
+ to_chat(user, "Power reset. Hugs!")
+ if(CYBORG_HUG)
+ to_chat(user, "Power increased!")
+ if(CYBORG_SHOCK)
+ to_chat(user, "BZZT. Electrifying arms...")
+ if(CYBORG_CRUSH)
+ to_chat(user, "ERROR: ARM ACTUATORS OVERLOADED.")
+
+/obj/item/borg/cyborghug/attack(mob/living/M, mob/living/silicon/robot/user, params)
+ if(M == user)
+ return
+ switch(mode)
+ if(CYBORG_HUGS)
+ if(M.health >= 0)
+ if(isanimal(M))
+ var/list/modifiers = params2list(params)
+ M.attack_hand(user, modifiers) //This enables borgs to get the floating heart icon and mob emote from simple_animal's that have petbonus == true.
+ return
+ if(user.zone_selected == BODY_ZONE_HEAD)
+ user.visible_message("[user] playfully boops [M] on the head!", "You playfully boop [M] on the head!")
+ user.do_attack_animation(M, ATTACK_EFFECT_BOOP)
+ playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
+ else if(ishuman(M))
+ if(user.lying)
+ user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", "You shake [M] trying to get [M.p_them()] up!")
+ else
+ user.visible_message("[user] hugs [M] to make [M.p_them()] feel better!", "You hug [M] to make [M.p_them()] feel better!")
+ if(M.resting)
+ M.resting = FALSE
+ M.update_canmove()
+ else
+ user.visible_message("[user] pets [M]!", "You pet [M]!")
+ playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
+ if(CYBORG_HUG)
+ if(M.health >= 0)
+ if(ishuman(M))
+ if(M.lying)
+ user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", "You shake [M] trying to get [M.p_them()] up!")
+ else if(user.zone_selected == BODY_ZONE_HEAD)
+ user.visible_message("[user] bops [M] on the head!", "You bop [M] on the head!")
+ user.do_attack_animation(M, ATTACK_EFFECT_PUNCH)
+ else
+ user.visible_message("[user] hugs [M] in a firm bear-hug! [M] looks uncomfortable...", "You hug [M] firmly to make [M.p_them()] feel better! [M] looks uncomfortable...")
+ if(M.resting)
+ M.resting = FALSE
+ M.update_canmove()
+ else
+ user.visible_message("[user] bops [M] on the head!", "You bop [M] on the head!")
+ playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
+ if(CYBORG_SHOCK)
+ if(scooldown < world.time)
+ if(M.health >= 0)
+ if(ishuman(M))
+ M.electrocute_act(5, "[user]", flags = SHOCK_NOGLOVES)
+ user.visible_message("[user] electrocutes [M] with [user.p_their()] touch!", "You electrocute [M] with your touch!")
+ else
+ if(!isrobot(M))
+ M.adjustFireLoss(10)
+ user.visible_message("[user] shocks [M]!", "You shock [M]!")
+ else
+ user.visible_message("[user] shocks [M]. It does not seem to have an effect", "You shock [M] to no effect.")
+ playsound(loc, 'sound/effects/sparks2.ogg', 50, TRUE, -1)
+ user.cell.use(500)
+ scooldown = world.time + 20
+ if(CYBORG_CRUSH)
+ if(ccooldown < world.time)
+ if(M.health >= 0)
+ if(ishuman(M))
+ user.visible_message("[user] crushes [M] in [user.p_their()] grip!", "You crush [M] in your grip!")
+ else
+ user.visible_message("[user] crushes [M]!", "You crush [M]!")
+ playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1)
+ M.adjustBruteLoss(15)
+ user.cell.use(300)
+ ccooldown = world.time + 10
+
+#undef CYBORG_HUGS
+#undef CYBORG_HUG
+#undef CYBORG_SHOCK
+#undef CYBORG_CRUSH
+
/obj/item/borg/overdrive
name = "Overdrive"
icon = 'icons/obj/decals.dmi'
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 4b7ec1b350b..f2e006e24c8 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1066,6 +1066,50 @@
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
+/obj/item/toy/windup_toolbox
+ name = "windup toolbox"
+ desc = "A replica toolbox that rumbles when you turn the key."
+ icon = 'icons/obj/storage.dmi'
+ icon_state = "green"
+ item_state = "artistic_toolbox"
+ lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
+ hitsound = 'sound/weapons/smash.ogg'
+ drop_sound = 'sound/items/handling/toolbox_drop.ogg'
+ pickup_sound = 'sound/items/handling/toolbox_pickup.ogg'
+ attack_verb = list("robusted")
+ var/active = FALSE
+
+/obj/item/toy/windup_toolbox/Initialize(mapload)
+ . = ..()
+ update_icon()
+
+/obj/item/toy/windup_toolbox/update_icon()
+ ..()
+ cut_overlays()
+ if(active)
+ add_overlay("single_latch_open")
+ else
+ add_overlay("single_latch")
+
+/obj/item/toy/windup_toolbox/attack_self(mob/user)
+ if(!active)
+ to_chat(user, "You wind up [src], it begins to rumble.")
+ active = TRUE
+ update_icon()
+ playsound(src, 'sound/effects/pope_entry.ogg', 100)
+ animate_rumble(src)
+ addtimer(CALLBACK(src, .proc/stopRumble), 60 SECONDS)
+ else
+ to_chat(user, "[src] is already active!")
+
+/obj/item/toy/windup_toolbox/proc/stopRumble()
+ active = FALSE
+ update_icon()
+ visible_message("[src] slowly stops rattling and falls still, its latch snapping shut.") //subtle difference
+ playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE)
+ animate(src, transform = matrix())
+
/*
* Toy/fake flash
*/
diff --git a/code/game/objects/items/weapons/storage/artistic_toolbox.dm b/code/game/objects/items/weapons/storage/artistic_toolbox.dm
deleted file mode 100644
index 3fbaa1d468d..00000000000
--- a/code/game/objects/items/weapons/storage/artistic_toolbox.dm
+++ /dev/null
@@ -1,223 +0,0 @@
-/obj/item/storage/toolbox/green
- name = "artistic toolbox"
- desc = "A metal container designed to hold various tools. This variety holds art supplies."
- icon_state = "green"
- item_state = "artistic_toolbox"
-
-/obj/item/storage/toolbox/green/memetic
- name = "artistic toolbox"
- desc = "His Grace."
- force = 5
- throwforce = 10
- origin_tech = "combat=4;engineering=4;syndicate=2"
- actions_types = list(/datum/action/item_action/toggle)
- var/list/servantlinks = list()
- var/hunger = 0
- var/hunger_message_level = 0
- var/mob/living/carbon/human/original_owner = null
- var/activated = FALSE
-
-/obj/item/storage/toolbox/green/memetic/ui_action_click(mob/user)
- if(user.HasDisease(new /datum/disease/memetic_madness(0)))
- var/obj/item/storage/toolbox/green/memetic/M = user.get_active_hand()
- if(istype(M))
- to_chat(user, "His Grace [flags & NODROP ? "releases from" : "binds to"] your hand!")
- flags ^= NODROP
- else if(!activated && loc == user)
- if(link_user(user))
- to_chat(user, "Call to His Grace again if you wish it bound to your hand!")
- else
- to_chat(user, "You can't seem to understand what this does.")
-
-
-/obj/item/storage/toolbox/green/memetic/attack_hand(mob/living/carbon/user)
- if(!activated && loc == user)
- link_user(user)
- return
- ..()
-
-/obj/item/storage/toolbox/green/memetic/proc/link_user(mob/living/carbon/user)
- if(ishuman(user) && !user.HasDisease(new /datum/disease/memetic_madness(0)))
- activated = TRUE
- user.ForceContractDisease(new /datum/disease/memetic_madness(0))
- for(var/datum/disease/memetic_madness/DD in user.viruses)
- DD.progenitor = src
- servantlinks.Add(DD)
- break
- force += 4
- throwforce += 4
- SEND_SOUND(user, sound('sound/goonstation/effects/screech.ogg'))
- shake_camera(user, 20, 1)
- var/acount = 0
- var/amax = rand(10, 15)
- var/up_and_down
- var/asize = 1
- while(acount <= amax)
- up_and_down += "a"
- if(acount > (amax * 0.5))
- asize--
- else
- asize++
- acount++
- to_chat(user, "[up_and_down]")
- to_chat(user, "His Grace accepts thee, spread His will! All who look close to the Enlightened may share His gifts.")
- original_owner = user
- return TRUE
- return FALSE
-
-/obj/item/storage/toolbox/green/memetic/attackby(obj/item/I, mob/user)
- if(activated)
- if(istype(I, /obj/item/grab))
- var/obj/item/grab/G = I
- var/mob/living/victim = G.affecting
- if(!user.HasDisease(new /datum/disease/memetic_madness(0)))
- to_chat(user, "You can't seem to find the latch to open this.")
- return
- if(!victim)
- return
- if(!victim.stat && !victim.restrained() && !victim.IsWeakened())
- to_chat(user, "They're moving too much to feed to His Grace!")
- return
- user.visible_message("[user] is trying to feed [victim] to [src]!")
- if(!do_mob(user, victim, 30))
- return
-
- user.visible_message("[user] has fed [victim] to [src]!")
-
- consume(victim)
- qdel(G)
-
- to_chat(user, "You have done well...")
- force += 5
- throwforce += 5
- return
-
- return ..()
-
-/obj/item/storage/toolbox/green/memetic/proc/consume(mob/living/L)
- if(!L)
- return
- hunger = 0
- hunger_message_level = 0
- playsound(loc, 'sound/goonstation/misc/burp_alien.ogg', 50, 0)
-
- if(L != original_owner)
- var/list/equipped_items = L.get_equipped_items(TRUE)
- if(L.l_hand)
- equipped_items += L.l_hand
- if(L.r_hand)
- equipped_items += L.r_hand
- if(equipped_items.len)
- var/obj/item/storage/box/B = new(src)
- B.name = "Box-'[L.real_name]'"
- for(var/obj/item/SI in equipped_items)
- L.unEquip(SI, TRUE)
- SI.forceMove(B)
- equipped_items.Cut()
-
- L.forceMove(src)
-
- L.emote("scream")
- L.death()
- L.ghostize()
- if(L == original_owner)
- L.unEquip(src, TRUE)
- qdel(L)
- var/obj/item/storage/toolbox/green/fake_toolbox = new(get_turf(src))
- fake_toolbox.desc = "It looks a lot duller than it used to."
- qdel(src)
- else
- qdel(L)
-
-/obj/item/storage/toolbox/green/memetic/Destroy()
- for(var/datum/disease/memetic_madness/D in servantlinks)
- D.cure()
-
- servantlinks.Cut()
- servantlinks = null
- original_owner = null
- visible_message("[src] screams!")
- playsound(loc, 'sound/goonstation/effects/screech.ogg', 100, 1)
- return ..()
-
-/datum/disease/memetic_madness
- name = "Memetic Kill Agent"
- max_stages = 4
- stage_prob = 8
- spread_text = "Non-Contagious"
- spread_flags = SPECIAL
- cure_text = "Unknown"
- viable_mobtypes = list(/mob/living/carbon/human)
- severity = BIOHAZARD
- disease_flags = CAN_CARRY
- spread_flags = NON_CONTAGIOUS
- virus_heal_resistant = TRUE
- var/obj/item/storage/toolbox/green/memetic/progenitor = null
-
-/datum/disease/memetic_madness/Destroy()
- if(progenitor)
- progenitor.servantlinks.Remove(src)
- progenitor = null
- if(affected_mob)
- affected_mob.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE
- return ..()
-
-/datum/disease/memetic_madness/stage_act()
- ..()
- if(!progenitor) //if someone admin spawns this, cure it right away; this should only ever be given directly from the toolbox itself.
- cure()
- return
- if(progenitor in affected_mob.contents)
- affected_mob.adjustOxyLoss(-5)
- affected_mob.adjustBruteLoss(-12)
- affected_mob.adjustFireLoss(-12)
- affected_mob.adjustToxLoss(-5)
- affected_mob.setStaminaLoss(0)
- var/status = CANSTUN | CANWEAKEN | CANPARALYSE
- affected_mob.status_flags &= ~status
- affected_mob.AdjustDizzy(-10)
- affected_mob.AdjustDrowsy(-10)
- affected_mob.SetSleeping(0)
- affected_mob.SetSlowed(0)
- affected_mob.SetConfused(0)
- stage = 1
- switch(progenitor.hunger)
- if(10 to 60)
- if(progenitor.hunger_message_level < 1)
- progenitor.hunger_message_level = 1
- to_chat(affected_mob, "Feed Me the unclean ones...They will be purified...")
- if(61 to 120)
- if(progenitor.hunger_message_level < 2)
- progenitor.hunger_message_level = 2
- to_chat(affected_mob, "I hunger for the flesh of the impure...")
- if(121 to 210)
- if(prob(10) && progenitor.hunger_message_level < 3)
- progenitor.hunger_message_level = 3
- to_chat(affected_mob, "The hunger of your Master grows with every passing moment. Feed Me at once.")
- if(211 to 399)
- if(progenitor.hunger_message_level < 4)
- progenitor.hunger_message_level = 4
- to_chat(affected_mob, "His Grace starves in your hands. Feed Me the unclean or suffer.")
- if(400 to INFINITY)
- affected_mob.visible_message("[progenitor] consumes [affected_mob] whole!")
- progenitor.consume(affected_mob)
- return
-
- progenitor.hunger += min(max((progenitor.force / 10), 1), 10)
-
- else
- affected_mob.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE
-
- if(stage == 4)
- if(get_dist(get_turf(progenitor), get_turf(affected_mob)) <= 7)
- stage = 1
- return
- if(prob(4))
- to_chat(affected_mob, "You are too far from His Grace...")
- affected_mob.adjustToxLoss(5)
- else if(prob(6))
- to_chat(affected_mob, "You feel weak.")
- affected_mob.adjustBruteLoss(5)
-
- if(ismob(progenitor.loc))
- progenitor.hunger++
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index db3e97b4154..6e52acb93df 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -132,3 +132,24 @@
new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor)
new /obj/item/wirecutters(src)
new /obj/item/multitool(src)
+
+/obj/item/storage/toolbox/artistic
+ name = "artistic toolbox"
+ desc = "A toolbox painted bright green. Why anyone would store art supplies in a toolbox is beyond you, but it has plenty of extra space."
+ icon_state = "green"
+ item_state = "artistic_toolbox"
+ w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox!
+ max_combined_w_class = 20
+ storage_slots = 10
+
+/obj/item/storage/toolbox/artistic/populate_contents()
+ new /obj/item/storage/fancy/crayons(src)
+ new /obj/item/crowbar(src)
+ new /obj/item/stack/cable_coil(src)
+ new /obj/item/stack/cable_coil/yellow(src)
+ new /obj/item/stack/cable_coil/blue(src)
+ new /obj/item/stack/cable_coil/green(src)
+ new /obj/item/stack/cable_coil/pink(src)
+ new /obj/item/stack/cable_coil/orange(src)
+ new /obj/item/stack/cable_coil/cyan(src)
+ new /obj/item/stack/cable_coil/white(src)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 5e1d4036171..5b0ea16350c 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -130,7 +130,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
if(GLOB.configuration.url.forum_playerinfo_url)
body += "WebInfo | "
if(M.client)
- if(check_watchlist(M.client.ckey))
+ if(M.client.watchlisted)
body += "Remove from Watchlist | "
body += "Edit Watchlist Reason "
else
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index 5d8196a8d88..8cbd56311dc 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -95,6 +95,24 @@ you will have to do something like if(client.holder.rights & R_ADMIN) yourself.
to_chat(user, "Error: You are not an admin.")
return 0
+// Basically the above proc but checks at a /client level
+/proc/check_rights_client(rights_required, show_msg = TRUE, client/C)
+ if(C)
+ if(rights_required)
+ if(C.holder)
+ if(rights_required & C.holder.rights)
+ return TRUE
+ else
+ if(show_msg)
+ to_chat(C, "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].")
+ else
+ if(C.holder)
+ return TRUE
+ else
+ if(show_msg)
+ to_chat(C, "Error: You are not an admin.")
+ return FALSE
+
//probably a bit iffy - will hopefully figure out a better solution
/proc/check_if_greater_rights_than(client/other)
if(usr && usr.client)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 185f3343519..94b10cf04a7 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1361,7 +1361,7 @@
to_chat(usr, "[M] doesn't seem to have an active client.")
return
- if(M.flavor_text == "" && M.client.prefs.flavor_text == "")
+ if(M.flavor_text == "" && M.client.prefs.active_character.flavor_text == "")
to_chat(usr, "[M] has no flavor text set.")
return
@@ -1375,8 +1375,8 @@
M.flavor_text = ""
// Clear and save the DB character's flavor text
- M.client.prefs.flavor_text = ""
- M.client.prefs.save_character(M.client)
+ M.client.prefs.active_character.flavor_text = ""
+ M.client.prefs.active_character.save(M.client)
else if(href_list["userandomname"])
if(!check_rights(R_ADMIN))
@@ -1399,12 +1399,12 @@
message_admins("[key_name_admin(usr)] has forced [key_name_admin(M)] to use a random name.")
// Update the mob's name with a random one straight away
- var/random_name = random_name(M.client.prefs.gender, M.client.prefs.species)
+ var/random_name = random_name(M.client.prefs.active_character.gender, M.client.prefs.active_character.species)
M.rename_character(M.real_name, random_name)
// Save that random name for next rounds
- M.client.prefs.real_name = random_name
- M.client.prefs.save_character(M.client)
+ M.client.prefs.active_character.real_name = random_name
+ M.client.prefs.active_character.save(M.client)
else if(href_list["asays"])
if(!check_rights(R_ADMIN))
diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm
index 884569c96fa..c9d0c3a4363 100644
--- a/code/modules/admin/verbs/gimmick_team.dm
+++ b/code/modules/admin/verbs/gimmick_team.dm
@@ -63,9 +63,10 @@
for(var/mob/thisplayer in players_to_spawn)
var/mob/living/carbon/human/H = new /mob/living/carbon/human(T)
H.name = random_name(pick(MALE,FEMALE))
- var/datum/preferences/A = new() //Randomize appearance
- A.real_name = H.name
- A.copy_to(H)
+ var/datum/character_save/S = new //Randomize appearance
+ S.randomise()
+ S.real_name = H.name
+ S.copy_to(H)
H.dna.ready_dna(H)
H.mind_initialize()
diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm
index 1199a8e5ea5..6917c95d3b9 100644
--- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm
+++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm
@@ -124,9 +124,10 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0)
var/syndicate_infiltrator_name = random_name(pick(MALE,FEMALE))
- var/datum/preferences/A = new() //Randomize appearance
- A.real_name = syndicate_infiltrator_name
- A.copy_to(new_syndicate_infiltrator)
+ var/datum/character_save/S = new //Randomize appearance
+ S.randomise()
+ S.real_name = syndicate_infiltrator_name
+ S.copy_to(new_syndicate_infiltrator)
new_syndicate_infiltrator.dna.ready_dna(new_syndicate_infiltrator)
//Creates mind stuff.
diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm
index 9708f2b74ec..884baa9a11d 100644
--- a/code/modules/admin/verbs/one_click_antag.dm
+++ b/code/modules/admin/verbs/one_click_antag.dm
@@ -32,7 +32,7 @@
if(M.stat || !M.mind || M.mind.special_role || M.mind.offstation_role)
return FALSE
if(temp)
- if((M.mind.assigned_role in temp.restricted_jobs) || (M.client.prefs.species in temp.protected_species))
+ if((M.mind.assigned_role in temp.restricted_jobs) || (M.client.prefs.active_character.species in temp.protected_species))
return FALSE
if(role) // Don't even bother evaluating if there's no role
if(player_old_enough_antag(M.client,role) && (role in M.client.prefs.be_special) && !M.client.skip_antag && (!jobban_isbanned(M, role)))
@@ -374,8 +374,8 @@
//First we spawn a dude.
var/mob/living/carbon/human/new_character = new(pick(GLOB.latejoin))//The mob being spawned.
- var/datum/preferences/A = new(G_found.client)
- A.copy_to(new_character)
+ // Then clone stuff over
+ G_found.client.prefs.active_character.copy_to(new_character)
new_character.dna.ready_dna(new_character)
new_character.key = G_found.key
@@ -388,13 +388,14 @@
var/syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major")
var/syndicate_commando_name = pick(GLOB.last_names)
- var/datum/preferences/A = new()//Randomize appearance for the commando.
+ var/datum/character_save/S = new //Randomize appearance for the commando.
+ S.randomise()
if(syndicate_leader_selected)
- A.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]"
- A.age = rand(35,45)
+ S.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]"
+ S.age = rand(35, 45)
else
- A.real_name = "[syndicate_commando_rank] [syndicate_commando_name]"
- A.copy_to(new_syndicate_commando)
+ S.real_name = "[syndicate_commando_rank] [syndicate_commando_name]"
+ S.copy_to(new_syndicate_commando)
new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA.
@@ -576,7 +577,8 @@
if(candidates.len)
var/teamOneMembers = 5
var/teamTwoMembers = 5
- var/datum/preferences/A = new()
+ var/datum/character_save/S = new
+ S.randomise()
for(var/thing in GLOB.landmarks_list)
var/obj/effect/landmark/L = thing
if(L.name == "tdome1")
@@ -585,7 +587,7 @@
var/mob/living/carbon/human/newMember = new(L.loc)
- A.copy_to(newMember)
+ S.copy_to(newMember)
newMember.dna.ready_dna(newMember)
@@ -607,7 +609,7 @@
var/mob/living/carbon/human/newMember = new(L.loc)
- A.copy_to(newMember)
+ S.copy_to(newMember)
newMember.dna.ready_dna(newMember)
diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm
index 32ec86541ab..ac21f06c4e4 100644
--- a/code/modules/admin/verbs/onlyone.dm
+++ b/code/modules/admin/verbs/onlyone.dm
@@ -11,8 +11,9 @@
continue
if(is_type_in_list(H.dna.species, incompatible_species))
H.set_species(/datum/species/human)
- var/datum/preferences/A = new() // Randomize appearance
- A.copy_to(H)
+ var/datum/character_save/S = new // Randomize appearance
+ S.randomise()
+ S.copy_to(H)
SSticker.mode.traitors += H.mind
H.mind.special_role = SPECIAL_ROLE_TRAITOR
diff --git a/code/modules/admin/verbs/onlyoneteam.dm b/code/modules/admin/verbs/onlyoneteam.dm
index a822367b68c..311a0bac2d8 100644
--- a/code/modules/admin/verbs/onlyoneteam.dm
+++ b/code/modules/admin/verbs/onlyoneteam.dm
@@ -12,8 +12,9 @@
continue
if(is_type_in_list(H.dna.species, incompatible_species))
H.set_species(/datum/species/human)
- var/datum/preferences/A = new() // Randomize appearance
- A.copy_to(H)
+ var/datum/character_save/S = new // Randomize appearance
+ S.randomise()
+ S.copy_to(H)
for(var/obj/item/I in H)
if(istype(I, /obj/item/implant))
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index b12d3de9963..07d5d1e5d7b 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -396,10 +396,12 @@ Traitors and the like can also be revived with the previous role mostly intact.
new_character.age = record_found.fields["age"]
new_character.dna.blood_type = record_found.fields["blood_type"]
else
+ // We make a random character
new_character.change_gender(pick(MALE,FEMALE))
- var/datum/preferences/A = new()
- A.real_name = G_found.real_name
- A.copy_to(new_character)
+ var/datum/character_save/S = new
+ S.randomise()
+ S.real_name = G_found.real_name
+ S.copy_to(new_character)
if(!new_character.real_name)
new_character.real_name = random_name(new_character.gender)
diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm
index 55895e5b282..877dff5cd69 100644
--- a/code/modules/admin/verbs/striketeam.dm
+++ b/code/modules/admin/verbs/striketeam.dm
@@ -138,13 +138,14 @@ GLOBAL_VAR_INIT(sent_strike_team, 0)
var/commando_leader_rank = pick("Lieutenant", "Captain", "Major")
var/commando_name = pick(GLOB.commando_names)
- var/datum/preferences/A = new()//Randomize appearance for the commando.
+ var/datum/character_save/S = new //Randomize appearance for the commando.
+ S.randomise()
if(is_leader)
- A.age = rand(35,45)
- A.real_name = "[commando_leader_rank] [commando_name]"
+ S.age = rand(35, 45)
+ S.real_name = "[commando_leader_rank] [commando_name]"
else
- A.real_name = "[commando_name]"
- A.copy_to(new_commando)
+ S.real_name = "[commando_name]"
+ S.copy_to(new_commando)
new_commando.dna.ready_dna(new_commando)//Creates DNA.
diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm
index 0c359e532b6..b40f9b6aae6 100644
--- a/code/modules/admin/verbs/striketeam_syndicate.dm
+++ b/code/modules/admin/verbs/striketeam_syndicate.dm
@@ -104,13 +104,14 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0)
var/syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major")
var/syndicate_commando_name = pick(GLOB.last_names)
- var/datum/preferences/A = new()//Randomize appearance for the commando.
+ var/datum/character_save/S = new //Randomize appearance for the commando.
+ S.randomise()
if(is_leader)
- A.age = rand(35,45)
- A.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]"
+ S.age = rand(35, 45)
+ S.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]"
else
- A.real_name = "[syndicate_commando_rank] [syndicate_commando_name]"
- A.copy_to(new_syndicate_commando)
+ S.real_name = "[syndicate_commando_rank] [syndicate_commando_name]"
+ S.copy_to(new_syndicate_commando)
new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA.
diff --git a/code/modules/admin/watchlist.dm b/code/modules/admin/watchlist.dm
index 89288bd13ab..6b98a6050cf 100644
--- a/code/modules/admin/watchlist.dm
+++ b/code/modules/admin/watchlist.dm
@@ -16,8 +16,21 @@
qdel(query_watchfind)
return
else
+ qdel(query_watchfind)
target_ckey = new_ckey
- if(check_watchlist(target_ckey))
+
+ var/already_watched = FALSE
+ var/datum/db_query/query_watch = SSdbcore.NewQuery("SELECT reason FROM watch WHERE ckey=:target_ckey", list(
+ "target_ckey" = target_ckey
+ ))
+ if(!query_watch.warn_execute())
+ qdel(query_watch)
+ return
+ if(query_watch.NextRow())
+ already_watched = TRUE
+ qdel(query_watch)
+
+ if(already_watched)
to_chat(usr, "[target_ckey] is already on the watchlist.")
return
var/reason = input(usr,"Please state the reason","Reason") as message|null
@@ -132,18 +145,3 @@
output += "
[reason]
" // Table within a table for alignment, also allows you to easily add more colomns.
+ html += "
|
|
| "
dat += "Name: "
- dat += "[real_name]"
+ dat += "[active_character.real_name]"
dat += "(Randomize)"
- dat += "(Always Randomize) " + dat += "(Always Randomize) " dat += " | "
dat += " " + dat += "Slot [default_slot][active_character.from_db ? "" : " (empty)"] " dat += "Load slot - " - dat += "Save slot - " - dat += "Reload slot" - if(saved) - dat += " - Clear slot" + dat += "Save slot" + if(active_character.from_db) + dat += "- Clear slot" dat += " |
| "
@@ -281,81 +178,83 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
dat += "You are banned from using custom names and appearances. \
You can continue to adjust your characters, but you will be randomised once you join the game.\
" - dat += "Gender: [gender == MALE ? "Male" : (gender == FEMALE ? "Female" : "Genderless")]" + dat += "Gender: [active_character.gender == MALE ? "Male" : (active_character.gender == FEMALE ? "Female" : "Genderless")]" dat += " " - dat += "Age: [age] " + dat += "Age: [active_character.age] " dat += "Body: (®) " - dat += "Species: [species] " - if(species == "Vox") - dat += "N2 Tank: [speciesprefs ? "Large N2 Tank" : "Specialized N2 Tank"] " - if(species == "Grey") + dat += "Species: [active_character.species] " + if(active_character.species == "Vox") // Purge these bastards + dat += "N2 Tank: [active_character.speciesprefs ? "Large N2 Tank" : "Specialized N2 Tank"] " + if(active_character.species == "Grey") dat += "Wingdings: Set in disabilities " - dat += "Voice Translator: [speciesprefs ? "Yes" : "No"] " - dat += "Secondary Language: [language] " + dat += "Voice Translator: [active_character.speciesprefs ? "Yes" : "No"] " + dat += "Secondary Language: [active_character.language] " if(S.autohiss_basic_map) - dat += "Auto-accent: [autohiss_mode == AUTOHISS_FULL ? "Full" : (autohiss_mode == AUTOHISS_BASIC ? "Basic" : "Off")] " - dat += "Blood Type: [b_type] " + dat += "Auto-accent: [active_character.autohiss_mode == AUTOHISS_FULL ? "Full" : (active_character.autohiss_mode == AUTOHISS_BASIC ? "Basic" : "Off")] " + dat += "Blood Type: [active_character.b_type] " if(S.bodyflags & (HAS_SKIN_TONE|HAS_ICON_SKIN_TONE)) - dat += "Skin Tone: [S.bodyflags & HAS_ICON_SKIN_TONE ? "[s_tone]" : "[-s_tone + 35]/220"] " + dat += "Skin Tone: [S.bodyflags & HAS_ICON_SKIN_TONE ? "[active_character.s_tone]" : "[-active_character.s_tone + 35]/220"] " dat += "Disabilities: \[Set\] " - dat += "Nanotrasen Relation: [nanotrasen_relation] " + dat += "Nanotrasen Relation: [active_character.nanotrasen_relation] " dat += "Set Flavor Text " - if(length(flavor_text) <= 40) - if(!length(flavor_text)) dat += "\[...\] " - else dat += "[flavor_text] " - else dat += "[TextPreview(flavor_text)]... " + if(length(active_character.flavor_text) <= 40) + if(!length(active_character.flavor_text)) + dat += "\[...\] " + else + dat += "[active_character.flavor_text] " + else dat += "[TextPreview(active_character.flavor_text)]... " dat += " Hair & Accessories" if(S.bodyflags & HAS_HEAD_ACCESSORY) //Species that have head accessories. var/headaccessoryname = "Head Accessory: " - if(species == "Unathi") + if(active_character.species == "Unathi") headaccessoryname = "Horns: " dat += "[headaccessoryname]" - dat += "[ha_style] " - dat += "Color [color_square(hacc_colour)]" + dat += "[active_character.ha_style] " + dat += "Color [color_square(active_character.hacc_colour)] " if(S.bodyflags & HAS_HEAD_MARKINGS) //Species with head markings. dat += "Head Markings: " - dat += "[m_styles["head"]]" - dat += "Color [color_square(m_colours["head"])] " + dat += "[active_character.m_styles["head"]]" + dat += "Color [color_square(active_character.m_colours["head"])] " if(S.bodyflags & HAS_BODY_MARKINGS) //Species with body markings/tattoos. dat += "Body Markings: " - dat += "[m_styles["body"]]" - dat += "Color [color_square(m_colours["body"])] " + dat += "[active_character.m_styles["body"]]" + dat += "Color [color_square(active_character.m_colours["body"])] " if(S.bodyflags & HAS_TAIL_MARKINGS) //Species with tail markings. dat += "Tail Markings: " - dat += "[m_styles["tail"]]" - dat += "Color [color_square(m_colours["tail"])] " + dat += "[active_character.m_styles["tail"]]" + dat += "Color [color_square(active_character.m_colours["tail"])] " dat += "Hair: " - dat += "[h_style]" - dat += "Color [color_square(h_colour)]" - var/datum/sprite_accessory/temp_hair_style = GLOB.hair_styles_public_list[h_style] + dat += "[active_character.h_style]" + dat += "Color [color_square(active_character.h_colour)]" + var/datum/sprite_accessory/temp_hair_style = GLOB.hair_styles_public_list[active_character.h_style] if(temp_hair_style && temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) - dat += " Color #2 [color_square(h_sec_colour)]" + dat += " Color #2 [color_square(active_character.h_sec_colour)]" dat += " " dat += "Facial Hair: " - dat += "[f_style ? "[f_style]" : "Shaved"]" - dat += "Color [color_square(f_colour)]" - var/datum/sprite_accessory/temp_facial_hair_style = GLOB.facial_hair_styles_list[f_style] + dat += "[active_character.f_style ? "[active_character.f_style]" : "Shaved"]" + dat += "Color [color_square(active_character.f_colour)]" + var/datum/sprite_accessory/temp_facial_hair_style = GLOB.facial_hair_styles_list[active_character.f_style] if(temp_facial_hair_style && temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) - dat += " Color #2 [color_square(f_sec_colour)]" + dat += " Color #2 [color_square(active_character.f_sec_colour)]" dat += " " if(!(S.bodyflags & ALL_RPARTS)) dat += "Eyes: " - dat += "Color [color_square(e_colour)] " + dat += "Color [color_square(active_character.e_colour)] " - if((S.bodyflags & HAS_SKIN_COLOR) || GLOB.body_accessory_by_species[species] || check_rights(R_ADMIN, 0, user)) //admins can always fuck with this, because they are admins + if((S.bodyflags & HAS_SKIN_COLOR) || GLOB.body_accessory_by_species[active_character.species] || check_rights(R_ADMIN, 0, user)) //admins can always fuck with this, because they are admins dat += "Body Color: " - dat += "Color [color_square(s_colour)] " + dat += "Color [color_square(active_character.s_colour)] " - if(GLOB.body_accessory_by_species[species] || check_rights(R_ADMIN, 0, user)) + if(GLOB.body_accessory_by_species[active_character.species] || check_rights(R_ADMIN, 0, user)) dat += "Body Accessory: " - dat += "[body_accessory ? "[body_accessory]" : "None"] " + dat += "[active_character.body_accessory ? "[active_character.body_accessory]" : "None"] " dat += " | "
dat += "Occupation Choices" @@ -368,15 +267,15 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts dat += "Limbs" if(S.bodyflags & HAS_ALT_HEADS) //Species with alt heads. dat += "Alternate Head: " - dat += "[alt_head]" + dat += "[active_character.alt_head] " dat += "Limbs and Parts: Adjust " - if(species != "Slime People" && species != "Machine") + if(active_character.species != "Slime People" && active_character.species != "Machine") dat += "Internal Organs: Adjust " //display limbs below var/ind = 0 - for(var/name in organ_data) - var/status = organ_data[name] + for(var/name in active_character.organ_data) + var/status = active_character.organ_data[name] var/organ_name = null switch(name) if("chest") @@ -421,8 +320,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts switch(status) if("cyborg") var/datum/robolimb/R - if(rlimb_data[name] && GLOB.all_robolimbs[rlimb_data[name]]) - R = GLOB.all_robolimbs[rlimb_data[name]] + if(active_character.rlimb_data[name] && GLOB.all_robolimbs[active_character.rlimb_data[name]]) + R = GLOB.all_robolimbs[active_character.rlimb_data[name]] else R = GLOB.basic_robolimb dat += "\t[R.company] [organ_name] prosthesis" @@ -435,12 +334,12 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts dat += " Clothing" if(S.clothing_flags & HAS_UNDERWEAR) - dat += "Underwear: [underwear]" + dat += "Underwear: [active_character.underwear] " if(S.clothing_flags & HAS_UNDERSHIRT) - dat += "Undershirt: [undershirt] " + dat += "Undershirt: [active_character.undershirt] " if(S.clothing_flags & HAS_SOCKS) - dat += "Socks: [socks] " - dat += "Backpack Type: [backbag] " + dat += "Socks: [active_character.socks] " + dat += "Backpack Type: [active_character.backbag] " dat += " |
" // Table within a table for alignment, also allows you to easily add more colomns.
- html += "
|
|
Setup Character
[real_name]