diff --git a/Dockerfile b/Dockerfile index 97d2ccf2e7..4d9443971e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -FROM tgstation/byond:512.1448 as base -#above version must be the same as the one in dependencies.sh +FROM tgstation/byond:512.1453 as base FROM base as build_base diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index d97d4ed323..ef36495c58 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -27,7 +27,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/ancientstation/hivebot) "af" = ( -/mob/living/simple_animal/hostile/hivebot, +/mob/living/simple_animal/hostile/hivebot/rapid, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/ancientstation/hivebot) "ag" = ( @@ -81,15 +81,9 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/comm) -"ao" = ( -/obj/effect/decal/cleanable/oil, -/mob/living/simple_animal/hostile/hivebot, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/hivebot) "ap" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/robot_debris, -/mob/living/simple_animal/hostile/hivebot, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/ancientstation/hivebot) "aq" = ( @@ -149,24 +143,10 @@ /obj/structure/lattice, /turf/template_noop, /area/template_noop) -"aB" = ( -/obj/effect/decal/cleanable/robot_debris, -/mob/living/simple_animal/hostile/hivebot, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/hivebot) -"aC" = ( -/mob/living/simple_animal/hostile/hivebot/range, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/hivebot) "aD" = ( /mob/living/simple_animal/hostile/hivebot/strong, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/ancientstation/hivebot) -"aE" = ( -/obj/effect/decal/cleanable/oil, -/mob/living/simple_animal/hostile/hivebot/strong, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/hivebot) "aF" = ( /obj/structure/shuttle/engine/large{ icon_state = "large_engine"; @@ -376,11 +356,6 @@ }, /turf/template_noop, /area/template_noop) -"be" = ( -/obj/effect/decal/cleanable/oil, -/mob/living/simple_animal/hostile/hivebot/range, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/ancientstation/hivebot) "bf" = ( /turf/open/floor/plating/airless, /area/space/nearstation) @@ -696,11 +671,6 @@ /obj/structure/sign/poster/official/science, /turf/closed/wall/rust, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"cc" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, -/turf/open/floor/plating, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "cd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -896,7 +866,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/strong, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -919,15 +888,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"cC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/range, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "cD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -946,8 +906,8 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "cF" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/range, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/range, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) "cG" = ( @@ -1075,7 +1035,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -1085,7 +1044,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/mob/living/simple_animal/hostile/hivebot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -1099,15 +1057,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"db" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/mob/living/simple_animal/hostile/hivebot/range, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "dc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1116,16 +1065,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"dd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/mob/living/simple_animal/hostile/hivebot/range, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "de" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light, @@ -1140,14 +1079,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/mob/living/simple_animal/hostile/hivebot/strong, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"dg" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/strong, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/rapid, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) "dh" = ( @@ -1526,33 +1459,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/rnd) -"ec" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/strong, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) -"ed" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "ee" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/all_access{ dir = 8; pixel_x = 24 }, -/mob/living/simple_animal/hostile/hivebot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -1738,11 +1650,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/rnd) -"eC" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/strong, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/ancientstation/rnd) "eD" = ( /obj/machinery/mecha_part_fabricator, /obj/effect/decal/cleanable/dirt, @@ -1919,22 +1826,6 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"eX" = ( -/obj/machinery/door/firedoor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"eY" = ( -/obj/machinery/door/firedoor, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -2129,12 +2020,6 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/rnd) -"fw" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/strong, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) "fx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -2286,22 +2171,6 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"fR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"fS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "fT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -3155,12 +3024,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"hE" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) "hF" = ( /obj/structure/table, /obj/item/reagent_containers/glass/bottle/aluminium{ @@ -3515,15 +3378,6 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/rnd) -"iq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/mob/living/simple_animal/hostile/hivebot/range, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/rnd) "ir" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, @@ -3684,19 +3538,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/sec) -"iC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/all_access{ - dir = 4; - pixel_x = -23 - }, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "iD" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -4065,15 +3906,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"jt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "ju" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, @@ -4097,19 +3929,6 @@ "jw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) -"jx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/mob/living/simple_animal/hostile/hivebot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -4208,15 +4027,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) -"jK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/ancientstation/deltacorridor) "jL" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -4900,6 +4710,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/sec) +"ni" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "nk" = ( /obj/machinery/door/airlock/highsecurity, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -4944,7 +4761,6 @@ dir = 1; pixel_y = -26 }, -/mob/living/simple_animal/hostile/hivebot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) @@ -5036,6 +4852,11 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation) +"Ax" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) "BH" = ( /obj/structure/particle_accelerator/particle_emitter/left, /obj/effect/decal/cleanable/dirt, @@ -5047,6 +4868,11 @@ }, /turf/template_noop, /area/space/nearstation) +"Do" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/strong, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/proto) "FH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mirror{ @@ -5172,7 +4998,6 @@ /obj/machinery/light/small{ dir = 4 }, -/mob/living/simple_animal/hostile/hivebot, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/deltacorridor) "Pl" = ( @@ -5234,6 +5059,20 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) +"Un" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) +"UF" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/range, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/ancientstation/rnd) "Vs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -5246,6 +5085,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation/deltacorridor) +"Wq" = ( +/mob/living/simple_animal/hostile/hivebot/engineering, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/ancientstation/hivebot) +"Xk" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/engineering, +/turf/open/floor/plating, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "XJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -5277,6 +5125,15 @@ /obj/item/soap/nanotrasen, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation) +"Zk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/rapid, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) "ZE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ @@ -5286,6 +5143,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/space/has_grav/ancientstation) +"ZY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/ancientstation/deltacorridor) (1,1,1) = {" aa @@ -5720,7 +5586,7 @@ aa aa "} (10,1,1) = {" -ab +aa aa aa aa @@ -5770,7 +5636,7 @@ aa (11,1,1) = {" aa aa -aa +ab aa aa aa @@ -5810,7 +5676,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -5954,7 +5820,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -6290,7 +6156,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -7683,7 +7549,7 @@ aa aa aa aa -ab +aa aa aa "} @@ -7779,7 +7645,7 @@ aa ac aa aa -aa +ab aa aa "} @@ -7835,7 +7701,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -7880,7 +7746,7 @@ ac aa "} (55,1,1) = {" -ab +aa aa aa aa @@ -8141,13 +8007,13 @@ dW MS eW ft -fR +ey gK ey hC ey MS -iC +dW dw ey ey @@ -8165,7 +8031,7 @@ aa aa aa aa -ab +aa "} (61,1,1) = {" aa @@ -8186,16 +8052,16 @@ cA cZ dx dX +ni +hD dX -eX dX -fS gL dX hD dX dX -fS +ni dx dX dB @@ -8268,18 +8134,18 @@ aa ac ad ae -af -af +ah +ah ag ai -ao -af +aq +ah bo ad ac bD -cC -db +cD +dc dy vG ez @@ -8294,8 +8160,8 @@ in iD iP dy -jt -jK +dc +cD jV kd kt @@ -8315,19 +8181,19 @@ aa aa ac ad -af -ao -af +ah +aq +ah +ah +ah +Wq ah ah -af -af -af ad bE bD cD -dc +ZY dy dZ eA @@ -8374,8 +8240,8 @@ ad ad bG bF -cC -dd +cD +de dy dZ eB @@ -8384,14 +8250,14 @@ fv dZ gN hg -hE +eb dY gO eb fV dy jv -cD +Un jV kf kv @@ -8411,14 +8277,14 @@ aa ac ac ad -af -ap -af -aq ah +ap +ah +aq +aD ag -be -aB +aq +ai aN bG lx @@ -8426,9 +8292,9 @@ cE dc dy fo -eC dZ dZ +UF zh gO hh @@ -8438,8 +8304,8 @@ ip iF eb dy -db -cC +dc +cD jV kg kw @@ -8460,37 +8326,37 @@ ac ac ad af -af -aB ah ai ah -aC -af +ai +ah +ah +ah aN bG lx -cF -db +ca +dc dz eb eb eb -fw +eb eb gO eb eb ea -iq +gO eb fU jc -dc +Zk jM jW kh -kw +Do kw kS lb @@ -8535,7 +8401,7 @@ lT hi jd jw -fS +dX jX ki ki @@ -8556,23 +8422,23 @@ ac ac ad ag -af -af -af -af -af -af +ah +Wq +ah +ah +ah +ah ah ad bE bD cF -db +dc dy -ec +vG +dZ dZ dZ -eC SJ eb dy @@ -8604,12 +8470,12 @@ ac ac ad ah -af -af -aB -af +ah +ah +ai +ah ag -af +ah ah ad ac @@ -8619,7 +8485,7 @@ de dy dZ eD -dZ +Ax fx dZ gQ @@ -8630,7 +8496,7 @@ OA nM iQ dy -jx +jv py jV kk @@ -8652,12 +8518,12 @@ ac ac ad ai -af +ah ah ag -aC ah -af +aD +ah aq ad ac @@ -8701,17 +8567,17 @@ ac ad ah ag -aC -aC -aC -aC +ah +ah +ah +ah ag ah ad ac bD -cF -db +ca +dc dy fo eF @@ -8726,8 +8592,8 @@ iu iG iS dy -jt -ed +dc +ca jV kl kz @@ -8750,8 +8616,8 @@ ad ah ai ah -aD -aD +ah +af ah ai ah @@ -8797,10 +8663,10 @@ ac ad ag aq -aD ah ah -aD +ah +ah aq ah ad @@ -8809,18 +8675,18 @@ bD ca df dB -ed ca -eY ca -ed -ca -ed hI -ed ca -ed ca +ca +ca +hI +ca +ca +ca +cF je jy ca @@ -8855,17 +8721,17 @@ ad ac bD cH -dg +ca dC ee qB -eY +hI cX -ed ca -ed +ca +ca hJ -ed +ca ca ee Vs @@ -8893,10 +8759,10 @@ ac ad aj ai -aE -aD -aD -aD +aq +ah +ah +Wq ah bp ad @@ -8941,16 +8807,16 @@ ac ac ad ag -aD -aD -aD -aD +ah +ah +ah +ah aq ad ac bD -cc -cc +dh +dh dh bD aa @@ -8958,16 +8824,16 @@ bD eZ eZ eZ -dh +Xk dh dh dh td tT bD -cc -cc -cc +dh +dh +dh bD aa aa @@ -8978,7 +8844,7 @@ aa aa aa aa -ab +aa aa aa aa diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index b257fb10d3..c4da3f1e32 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -250,6 +250,7 @@ /obj/machinery/light{ dir = 4 }, +/obj/machinery/cryopod, /turf/open/floor/plasteel, /area/security/prison) "aaH" = ( @@ -25289,10 +25290,6 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "bio" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/bottle/epinephrine, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, /obj/machinery/requests_console{ department = "Chemistry"; departmentType = 2; @@ -25302,6 +25299,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/structure/closet/secure_closet/chemical, /turf/open/floor/plasteel/white, /area/medical/chemistry) "bip" = ( @@ -27162,6 +27160,9 @@ }, /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/reagent_containers/glass/bottle/epinephrine, /turf/open/floor/plasteel/white, /area/medical/chemistry) "bmG" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index a30ed30baf..3269d53588 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -18861,6 +18861,7 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/machinery/cryopod, /turf/open/floor/plasteel, /area/security/prison) "aMl" = ( @@ -29155,6 +29156,7 @@ name = "Station Intercom"; pixel_y = 26 }, +/obj/item/reagent_containers/glass/bottle/mutagen, /turf/open/floor/plasteel, /area/hydroponics) "bbZ" = ( @@ -78868,7 +78870,6 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "cCb" = ( -/obj/structure/closet/wardrobe/green, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -78879,6 +78880,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/closet/wardrobe/mixed, /turf/open/floor/plasteel/dark, /area/crew_quarters/locker) "cCc" = ( @@ -81676,7 +81678,6 @@ /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) "cGL" = ( -/obj/machinery/vending/clothing, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -81687,6 +81688,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/closet/wardrobe/green, /turf/open/floor/plasteel/dark, /area/crew_quarters/locker) "cGM" = ( @@ -81718,6 +81720,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/vending/clothing, /turf/open/floor/plasteel/dark, /area/crew_quarters/locker) "cGO" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 0dedc3a06d..c24244dcea 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -911,6 +911,7 @@ dir = 8; pixel_x = 24 }, +/obj/machinery/cryopod, /turf/open/floor/plasteel, /area/security/prison) "acy" = ( @@ -13126,7 +13127,6 @@ /area/quartermaster/miningoffice) "azl" = ( /obj/structure/closet/emcloset, -/obj/machinery/status_display/supply, /obj/effect/turf_decal/tile/brown{ dir = 1 }, @@ -22865,7 +22865,6 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/machinery/status_display/supply, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -30386,7 +30385,6 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "bgL" = ( -/obj/machinery/status_display/supply, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -83777,6 +83775,10 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel/white, /area/science/circuit) +"omz" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/quartermaster/sorting) "oub" = ( /obj/structure/sign/poster/official/random, /turf/closed/wall, @@ -83963,6 +83965,10 @@ }, /turf/open/floor/plasteel/white, /area/science/lab) +"rMS" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/quartermaster/miningoffice) "rQK" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -84094,6 +84100,10 @@ "urv" = ( /turf/closed/wall/mineral/plastitanium, /area/security/prison) +"usx" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/security/checkpoint/supply) "uun" = ( /obj/machinery/vending/assist, /turf/open/floor/plasteel, @@ -101132,7 +101142,7 @@ dne dne dne dne -ayj +rMS azl aAE aAE @@ -102698,7 +102708,7 @@ aMv bar dmF bdi -dmF +omz bgL biI bkl @@ -103975,7 +103985,7 @@ aNN aPg aQp aQp -aSX +usx aSX aVM aXm diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 5251bc4821..19df3bca53 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -1026,7 +1026,8 @@ /turf/closed/wall, /area/hallway/primary/starboard/fore) "abu" = ( -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "abv" = ( /turf/closed/wall, @@ -1271,7 +1272,8 @@ /area/asteroid/nearstation) "abS" = ( /obj/item/stack/ore/glass, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "abT" = ( /turf/closed/wall, @@ -2090,7 +2092,8 @@ icon_state = "crateopen" }, /obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "adw" = ( /turf/open/floor/plating{ @@ -3353,11 +3356,13 @@ "afM" = ( /obj/item/stack/ore/iron, /obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "afN" = ( /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "afP" = ( /obj/structure/table/wood, @@ -3831,7 +3836,8 @@ "agE" = ( /obj/item/stack/ore/silver, /obj/item/stack/ore/iron, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "agF" = ( /turf/closed/wall/r_wall, @@ -4771,7 +4777,8 @@ /area/quartermaster/storage) "aik" = ( /obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "aim" = ( /obj/structure/rack, @@ -5733,7 +5740,8 @@ /area/quartermaster/storage) "ajQ" = ( /obj/item/stack/ore/iron, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/asteroid/nearstation) "ajR" = ( /obj/structure/rack, @@ -9822,7 +9830,8 @@ /area/engine/atmos) "aqG" = ( /obj/structure/door_assembly/door_assembly_mhatch, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/maintenance/port/fore) "aqI" = ( /obj/structure/closet/secure_closet/security/sec, @@ -10343,7 +10352,8 @@ /turf/open/floor/plasteel, /area/engine/atmos) "arB" = ( -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/maintenance/port/fore) "arC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -36271,7 +36281,8 @@ /turf/open/floor/plating, /area/engine/supermatter) "bvg" = ( -/turf/open/floor/plating/airless/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, /area/asteroid/nearstation) "bvh" = ( /obj/structure/closet/emcloset{ @@ -40507,7 +40518,8 @@ "sIA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/barricade/wooden, -/turf/open/floor/plating/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, /area/engine/engineering) "sIB" = ( /turf/closed/wall/rust, @@ -41786,7 +41798,8 @@ dir = 8 }, /obj/effect/turf_decal/delivery, -/turf/open/floor/plating/airless/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, /area/ai_monitored/turret_protected/aisat_interior) "sNj" = ( /obj/effect/turf_decal/bot, @@ -42384,7 +42397,8 @@ /obj/structure/cable/white{ icon_state = "0-8" }, -/turf/open/floor/plating/airless/astplate, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, /area/asteroid/nearstation) "sOK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 3823a803c9..50a2df3ec1 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -1685,8 +1685,11 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/structure/window/reinforced{ - dir = 8 +/obj/machinery/door/window/westleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Unisex Showers" }, /turf/open/floor/plasteel/freezer, /area/security/prison) @@ -1757,12 +1760,9 @@ /turf/open/floor/plasteel/dark, /area/security/prison) "ago" = ( -/obj/machinery/door/window/westleft{ - base_state = "right"; +/obj/structure/window/reinforced{ dir = 8; - icon_state = "right"; - name = "Unisex Showers"; - req_access_txt = "0" + layer = 2.9 }, /turf/open/floor/plasteel/freezer, /area/security/prison) @@ -15275,6 +15275,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/cargo) +"aKm" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) "aKn" = ( /obj/structure/cable{ icon_state = "1-2" @@ -15941,7 +15948,6 @@ id = "packageSort2" }, /obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/status_display/supply, /turf/open/floor/plating, /area/quartermaster/sorting) "aMj" = ( @@ -18864,14 +18870,6 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"aTo" = ( -/obj/machinery/status_display/supply, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) "aTp" = ( /obj/structure/sign/poster/official/random{ pixel_y = 32 @@ -20325,7 +20323,6 @@ /turf/open/floor/plasteel/dark, /area/quartermaster/office) "aWw" = ( -/obj/machinery/status_display/supply, /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -24102,7 +24099,6 @@ /turf/closed/wall, /area/science/robotics/mechbay) "beJ" = ( -/obj/machinery/status_display/ai, /obj/structure/filingcabinet, /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -34064,6 +34060,9 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "bBr" = ( @@ -34073,7 +34072,9 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "bBs" = ( @@ -40047,7 +40048,7 @@ dir = 6 }, /turf/open/space, -/area/space/nearstation) +/area/science/mixing) "bNr" = ( /obj/structure/window/reinforced{ dir = 4 @@ -40484,7 +40485,7 @@ dir = 1 }, /turf/open/floor/plating/airless, -/area/space/nearstation) +/area/science/mixing) "bOv" = ( /obj/structure/window/reinforced{ dir = 4 @@ -43200,6 +43201,7 @@ dir = 4 }, /obj/effect/turf_decal/delivery, +/obj/structure/closet/firecloset, /turf/open/floor/plasteel, /area/engine/atmos) "bUp" = ( @@ -43234,9 +43236,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bUu" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) "bUv" = ( @@ -44323,8 +44323,9 @@ dir = 1; pixel_y = -22 }, +/obj/structure/closet/radiation, /turf/open/floor/plasteel, -/area/engine/engineering) +/area/engine/break_room) "bWF" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -44338,7 +44339,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/engine/engineering) +/area/engine/break_room) "bWG" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -44349,14 +44350,15 @@ dir = 6 }, /obj/effect/turf_decal/delivery, +/obj/structure/closet/radiation, /turf/open/floor/plasteel, -/area/engine/engineering) +/area/engine/break_room) "bWH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/closed/wall, -/area/engine/engineering) +/area/engine/break_room) "bWI" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -44654,6 +44656,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, /turf/open/floor/plasteel, /area/engine/atmos) "bXx" = ( @@ -44945,6 +44948,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) "bYp" = ( @@ -45007,13 +45016,6 @@ /obj/structure/chair/wood/normal, /turf/open/floor/plasteel/chapel, /area/chapel/main/monastery) -"bYC" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel, -/area/engine/engineering) "bYF" = ( /obj/item/trash/pistachios, /obj/structure/rack, @@ -45092,27 +45094,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bYM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "bYN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -45124,9 +45105,6 @@ c_tag = "Engineering Port Fore"; dir = 2 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/structure/sign/map{ icon_state = "map-pubby"; pixel_y = 32 @@ -45137,6 +45115,9 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "bYO" = ( @@ -45146,15 +45127,15 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) "bYP" = ( @@ -45167,15 +45148,15 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "bYQ" = ( @@ -45264,6 +45245,9 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel, /area/engine/engineering) "bYU" = ( @@ -45311,9 +45295,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -45323,6 +45304,9 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) "bYX" = ( @@ -45380,9 +45364,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; sortType = 4 @@ -45399,25 +45380,21 @@ /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 }, /turf/open/floor/plasteel, /area/engine/engineering) "bZc" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/head/hardhat/orange, -/obj/item/clothing/head/hardhat/orange, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, +/obj/structure/table/glass, +/obj/item/paper_bin, +/obj/item/pen, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "bZd" = ( @@ -45592,13 +45569,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "bZD" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -45606,7 +45576,6 @@ /turf/open/floor/plasteel, /area/engine/engineering) "bZE" = ( -/obj/machinery/holopad, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -45621,33 +45590,20 @@ /turf/open/floor/plasteel, /area/engine/engineering) "bZG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"bZH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/engine/engineering) "bZI" = ( -/obj/structure/disposalpipe/segment{ +/obj/structure/chair/office/dark{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, +/obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, /area/engine/engineering) "bZJ" = ( @@ -45775,10 +45731,6 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/engine) -"cad" = ( -/obj/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/department/engine) "cae" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -45794,24 +45746,20 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/engine/engineering) -"cai" = ( -/obj/structure/chair/office/dark, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel, -/area/engine/engineering) "caj" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/structure/table, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/apc, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stack/cable_coil, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/chair/office/dark, -/obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, /area/engine/engineering) "cak" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, /area/engine/engineering) @@ -45823,74 +45771,27 @@ /turf/open/floor/plasteel, /area/engine/engineering) "can" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 2 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /turf/open/floor/plasteel, /area/engine/engineering) -"cao" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/effect/turf_decal/stripes/line, -/obj/item/airlock_painter, -/obj/item/clothing/glasses/meson/engine, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cap" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/engineering) "caq" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) "car" = ( /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/machinery/camera{ - c_tag = "Engineering Central"; - dir = 1 - }, -/obj/machinery/light, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cat" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cau" = ( -/obj/structure/rack, -/obj/item/clothing/mask/gas{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cav" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, /turf/open/floor/plasteel, /area/engine/engineering) "caw" = ( @@ -45899,16 +45800,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cax" = ( -/obj/structure/table, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/apc, -/obj/item/stock_parts/cell/high/plus, -/obj/item/stock_parts/cell/high/plus, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/stack/cable_coil, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/engine/engineering) "caz" = ( @@ -46139,82 +46031,60 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cbe" = ( -/obj/item/pen, -/obj/item/paper_bin{ - layer = 2.9 - }, -/obj/structure/table/glass, +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, /turf/open/floor/plasteel, /area/engine/engineering) "cbf" = ( -/obj/item/book/manual/wiki/engineering_hacking{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/engineering_construction, -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/structure/table, +/obj/machinery/cell_charger, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table/glass, /turf/open/floor/plasteel, /area/engine/engineering) "cbg" = ( -/obj/item/book/manual/wiki/engineering_singulo_tesla{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/engineering_guide, -/obj/item/book/manual/wiki/engineering_singulo_tesla{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/glass, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cbh" = ( +/obj/structure/chair/stool, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, -/obj/effect/landmark/event_spawn, +/obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, /area/engine/engineering) -"cbi" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/closet/radiation, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cbj" = ( -/obj/structure/sign/warning/radiation/rad_area, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cbk" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" - }, +"cbh" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/bot{ - dir = 2 - }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/engine/engineering) -"cbl" = ( -/obj/machinery/light{ - dir = 8 +"cbi" = ( +/obj/structure/rack, +/obj/item/clothing/mask/gas{ + pixel_x = 3; + pixel_y = 3 }, -/obj/structure/closet/secure_closet/engineering_welding, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas{ + pixel_x = -3; + pixel_y = -3 }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cbj" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cbk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) "cbm" = ( @@ -46224,29 +46094,43 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cbn" = ( -/obj/structure/table, -/obj/item/storage/belt/utility, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) "cbo" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/rack, +/obj/item/storage/belt/utility, +/obj/item/wrench, +/obj/item/weldingtool, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/item/airlock_painter, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) "cbp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "cbq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/engine/engineering) "cbs" = ( @@ -46398,6 +46282,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/engine/engineering) "cbX" = ( @@ -46426,9 +46311,13 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cca" = ( -/obj/effect/landmark/start/station_engineer, -/obj/structure/chair/office/dark{ - dir = 1 +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -46436,103 +46325,41 @@ /turf/open/floor/plasteel, /area/engine/engineering) "ccb" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = 5 }, -/obj/structure/chair/office/dark{ - dir = 1 +/obj/item/storage/toolbox/electrical{ + pixel_x = -2 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, /area/engine/engineering) "ccc" = ( -/obj/structure/closet/radiation, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall/r_wall, /area/engine/engineering) "ccd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cce" = ( -/obj/structure/cable/yellow{ +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /turf/open/floor/plating, /area/engine/engineering) -"ccf" = ( -/obj/machinery/camera{ - c_tag = "Engineering Center"; - dir = 2; - network = list("ss13","engine"); - pixel_x = 23 - }, +"cci" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"ccg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cch" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 + dir = 8; + light_color = "#e8eaff" }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/engineering) -"cci" = ( -/obj/structure/chair/stool, -/turf/open/floor/plasteel, -/area/engine/engineering) -"ccj" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cck" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = -2 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "ccm" = ( /obj/machinery/light/small, /turf/open/floor/engine/n2, @@ -46651,54 +46478,41 @@ /obj/item/gps/engineering, /turf/open/floor/plating, /area/engine/engineering) -"ccS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering) -"ccV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "ccW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/structure/table, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/bot{ - dir = 2 - }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, /area/engine/engineering) "ccX" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plating, /area/engine/engineering) "ccY" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"ccZ" = ( -/obj/structure/particle_accelerator/end_cap, /turf/open/floor/plating, /area/engine/engineering) "cda" = ( -/obj/effect/landmark/event_spawn, +/obj/structure/reflector/single/anchored{ + dir = 10 + }, +/obj/machinery/light/small{ + dir = 1 + }, /turf/open/floor/plating, /area/engine/engineering) "cdc" = ( @@ -46707,12 +46521,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cdf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "cdg" = ( /obj/structure/table/glass, /obj/item/paper_bin, @@ -46874,17 +46682,11 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel, /area/engine/engineering) "cdL" = ( @@ -46892,9 +46694,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -46902,12 +46701,13 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cdM" = ( -/obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/camera{ + c_tag = "Engineering Port Aft"; + dir = 1; + pixel_x = 23 }, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -46915,149 +46715,33 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cdN" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/engineering) "cdO" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cdP" = ( -/obj/machinery/light, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cdQ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera{ - c_tag = "Engineering Port Aft"; - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, /turf/open/floor/plasteel, /area/engine/engineering) "cdR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/machinery/door/airlock/engineering/glass{ + name = "Laser Room"; + req_access_txt = "10" }, -/obj/machinery/button/door{ - id = "Singularity"; - name = "Shutters Control"; - pixel_x = 25; - req_access_txt = "11" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cdS" = ( -/obj/machinery/button/door{ - id = "Singularity"; - name = "Shutters Control"; - pixel_x = -25; - req_access_txt = "11" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "cdT" = ( -/obj/machinery/particle_accelerator/control_box, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/engine/engineering) -"cdU" = ( -/obj/structure/particle_accelerator/fuel_chamber, +/obj/machinery/power/emitter/anchored{ + dir = 4; + state = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/engine/engineering) "cdW" = ( -/obj/machinery/button/door{ - id = "Singularity"; - name = "Shutters Control"; - pixel_x = 25; - req_access_txt = "11" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cdX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/button/door{ - id = "Singularity"; - name = "Shutters Control"; - pixel_x = -25; - req_access_txt = "11" - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cdY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cdZ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, +/obj/structure/reflector/box/anchored, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "ceb" = ( /obj/machinery/computer/rdconsole/production{ @@ -47187,51 +46871,26 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "cet" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) -"ceu" = ( -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/crowbar, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/closet/radiation, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel, /area/engine/engineering) -"cev" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/engine/engineering) -"cew" = ( -/obj/structure/particle_accelerator/power_box, -/turf/open/floor/plating, -/area/engine/engineering) -"cex" = ( -/obj/item/screwdriver, +"ceu" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plating, /area/engine/engineering) "cey" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, +/obj/structure/girder, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "ceA" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ @@ -47334,9 +46993,6 @@ "ceT" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/closet/emcloset, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/plating/airless, /area/engine/engineering) "ceU" = ( @@ -47351,9 +47007,6 @@ network = list("tcomms"); pixel_y = 28 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/plasteel/dark, /area/engine/engineering) "ceV" = ( @@ -47363,77 +47016,44 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/plasteel/dark, /area/engine/engineering) "ceX" = ( -/obj/machinery/light/small{ - dir = 8; - light_color = "#fff4bc" - }, -/obj/structure/closet/emcloset/anchored, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"ceY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cfa" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/engine/engineering) -"cfb" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/closet/secure_closet/engineering_welding, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, /area/engine/engineering) -"cfc" = ( -/obj/structure/particle_accelerator/particle_emitter/left, -/turf/open/floor/plating, +"cfa" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "cfd" = ( -/obj/structure/particle_accelerator/particle_emitter/center, -/turf/open/floor/plating, -/area/engine/engineering) -"cfe" = ( -/obj/structure/particle_accelerator/particle_emitter/right, -/turf/open/floor/plating, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "cff" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cfg" = ( -/obj/machinery/light/small{ +/obj/machinery/light{ dir = 4; - light_color = "#fff4bc" + light_color = "#e8eaff" }, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "cfk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -47517,38 +47137,12 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "cfu" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room"; + req_access_txt = "10" }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cfv" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/engine/engineering) -"cfw" = ( -/obj/item/wirecutters, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/engine/engineering) -"cfx" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/engine/engineering) -"cfy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, +/obj/machinery/door/firedoor, +/turf/open/floor/engine, /area/engine/engineering) "cfC" = ( /obj/machinery/biogenerator, @@ -47673,76 +47267,65 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "cfS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/table/reinforced, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/mask/breath{ + pixel_x = 4 }, -/obj/structure/disposaloutlet, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cfT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cfU" = ( -/obj/machinery/camera/emp_proof{ - c_tag = "Engine Containment Port Fore"; - dir = 2; - network = list("engine") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cfV" = ( -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cfW" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cfT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cfU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cfV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/engine/engineering) "cfX" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 1 + }, +/obj/machinery/meter, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "cfY" = ( -/obj/machinery/disposal/deliveryChute, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Engine" }, -/turf/open/floor/plating/airless, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, /area/engine/engineering) "cgb" = ( /obj/machinery/airalarm{ @@ -47831,31 +47414,26 @@ /turf/open/floor/plating, /area/engine/engineering) "cgu" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 }, -/turf/open/floor/plating/airless, +/turf/closed/wall/r_wall, /area/engine/engineering) "cgv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cgx" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cgw" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cgx" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, /area/engine/engineering) "cgG" = ( /obj/structure/window/reinforced/fulltile, @@ -47935,36 +47513,35 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cgT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) "cgU" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 }, -/turf/open/floor/plating/airless, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "cgV" = ( -/obj/structure/window/plasma/reinforced{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "cgY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "chb" = ( /obj/machinery/camera{ c_tag = "Monastery Kitchen"; @@ -48085,26 +47662,22 @@ /turf/open/floor/plating, /area/engine/engineering) "chw" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, +/turf/open/floor/plating, /area/engine/engineering) "chA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/turf/open/floor/plating, +/area/engine/supermatter) "chB" = ( /obj/item/seeds/banana, /obj/item/seeds/grass, @@ -48278,27 +47851,17 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/chapel/main/monastery) -"cir" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) "cit" = ( -/obj/machinery/the_singularitygen/tesla, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "civ" = ( -/obj/effect/turf_decal/stripes/end{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "ciy" = ( /obj/item/reagent_containers/glass/bucket, @@ -48353,23 +47916,22 @@ /turf/open/floor/plasteel/grimy, /area/chapel/main/monastery) "ciG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Aft"; + dir = 1; + network = list("ss13","engine") }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"ciH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plating/airless, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, /area/engine/engineering) "ciI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Gas to Chamber" }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/engine/supermatter) "ciJ" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/cobweb, @@ -48519,17 +48081,12 @@ /obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/grass, /area/hydroponics/garden/monastery) -"cjs" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) "cjt" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 }, -/turf/open/floor/plating/airless, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, /area/engine/engineering) "cju" = ( /turf/closed/mineral, @@ -48723,22 +48280,6 @@ }, /turf/open/floor/plasteel/dark, /area/library/lounge) -"ckr" = ( -/obj/machinery/camera/emp_proof{ - c_tag = "Engine Containment Port Aft"; - dir = 1; - network = list("engine") - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cks" = ( -/obj/machinery/camera/emp_proof{ - c_tag = "Engine Containment Starboard Aft"; - dir = 1; - network = list("engine") - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) "ckt" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/asteroid/airless, @@ -51368,6 +50909,13 @@ }, /turf/open/floor/plasteel/dark, /area/science/xenobiology) +"cui" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "cuk" = ( /obj/structure/closet{ name = "beekeeping wardrobe" @@ -52985,6 +52533,15 @@ }, /turf/open/floor/plasteel/dark, /area/library) +"cAQ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) "cAS" = ( /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/plasteel/dark, @@ -53146,27 +52703,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/chapel/office) -"cBQ" = ( -/obj/machinery/power/rad_collector, -/turf/open/floor/plating, -/area/engine/engineering) "cBR" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "cBS" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, /area/engine/engineering) "cBT" = ( /obj/effect/spawner/structure/window/plasma/reinforced, @@ -53196,11 +52744,9 @@ /turf/open/floor/plasteel/white, /area/engine/gravity_generator) "cCI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "cCO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53229,7 +52775,12 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "cCU" = ( -/obj/machinery/rnd/production/circuit_imprinter, +/obj/structure/table/glass, +/obj/item/book/manual/wiki/tcomms{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/engineering_guide, /turf/open/floor/plasteel, /area/engine/engineering) "cCV" = ( @@ -53317,6 +52868,12 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"cLw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) "cOp" = ( /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, @@ -53424,15 +52981,15 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, /obj/structure/window/plasma/reinforced{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/power/tesla_coil/power, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/machinery/power/rad_collector/anchored, +/turf/open/floor/engine, +/area/engine/supermatter) "daY" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -53467,6 +53024,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"dgj" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "dgz" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -53502,6 +53066,9 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "dir" = ( @@ -53546,14 +53113,20 @@ /turf/open/floor/plating, /area/science/xenobiology) "dnS" = ( -/obj/machinery/field/generator{ - anchored = 1; - state = 2 +/obj/machinery/atmospherics/components/binary/pump{ + dir = 2; + name = "Mix Bypass" }, -/obj/effect/turf_decal/stripes/corner{ +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "doo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -53594,6 +53167,10 @@ }, /turf/open/floor/plasteel/dark, /area/chapel/office) +"dps" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/quartermaster/qm) "dqw" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "0"; @@ -53629,6 +53206,13 @@ /obj/machinery/reagentgrinder, /turf/open/floor/plating, /area/maintenance/department/cargo) +"dsz" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "dtm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53708,6 +53292,29 @@ icon_state = "platingdmg1" }, /area/maintenance/department/engine) +"dEy" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"dFJ" = ( +/turf/open/floor/engine, +/area/engine/supermatter) +"dHr" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/machinery/button/door{ + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_y = 24; + req_access_txt = "10" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "dHZ" = ( /obj/structure/chair/office/light{ dir = 1 @@ -53728,6 +53335,11 @@ }, /turf/open/floor/plasteel/white, /area/medical/chemistry) +"dJk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plating, +/area/engine/atmos) "dJm" = ( /obj/structure/cable{ icon_state = "4-8" @@ -53757,11 +53369,12 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "dMG" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -26 }, -/turf/open/floor/plating/airless, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "dMI" = ( /obj/item/clothing/suit/apron/surgical, @@ -53786,6 +53399,12 @@ /obj/machinery/shieldwallgen/xenobiologyaccess, /turf/open/floor/plating, /area/maintenance/department/engine) +"dSp" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) "dSr" = ( /obj/item/chair, /turf/open/floor/wood, @@ -53827,13 +53446,15 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "dZj" = ( -/obj/machinery/field/generator{ - anchored = 1; - state = 2 +/obj/machinery/atmospherics/pipe/manifold/green/visible, +/obj/machinery/airalarm/engine{ + pixel_y = 22 }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/supermatter) "eaw" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -53860,13 +53481,10 @@ /obj/structure/chair/office/light, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"eeF" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) +"eex" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/quartermaster/office) "eeQ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -53902,6 +53520,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"eiV" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "ekU" = ( /obj/effect/decal/cleanable/cobweb{ icon_state = "cobweb2" @@ -53912,15 +53537,17 @@ /obj/structure/chair/office/dark, /turf/open/floor/wood, /area/lawoffice) -"emV" = ( -/turf/open/space, -/area/space/nearstation) "epJ" = ( /obj/structure/sign/poster/contraband/random{ pixel_y = 32 }, /turf/open/floor/carpet, /area/maintenance/department/crew_quarters/dorms) +"epV" = ( +/obj/structure/chair, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/engine/engineering) "eqD" = ( /obj/structure/sign/poster/contraband/random{ pixel_x = -32 @@ -53957,6 +53584,10 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"eyj" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) "ezF" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -53988,6 +53619,23 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) +"eAH" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"eAZ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "eCw" = ( /obj/structure/cable{ icon_state = "1-2" @@ -54142,16 +53790,12 @@ }, /turf/open/floor/plasteel/dark, /area/engine/engineering) -"eVW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"eWi" = ( +/obj/structure/cable{ + icon_state = "0-4" }, /turf/open/floor/plating, /area/engine/engineering) -"eWi" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "eXo" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -54171,14 +53815,6 @@ }, /turf/open/floor/plasteel/white, /area/science/explab) -"eYM" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/maintenance/department/engine) "eZA" = ( /obj/item/stack/cable_coil/cut/random, /turf/open/floor/plating, @@ -54209,7 +53845,6 @@ location = "Engineering" }, /obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -54268,6 +53903,12 @@ }, /turf/open/floor/plasteel/white, /area/science/explab) +"fjD" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "fkH" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -54283,6 +53924,14 @@ "fmh" = ( /turf/open/floor/wood, /area/maintenance/department/engine) +"fmL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "fmU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -54322,6 +53971,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/department/engine) +"frj" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) "ftp" = ( /turf/open/floor/plating{ icon_state = "platingdmg1" @@ -54384,19 +54039,40 @@ }, /turf/open/floor/plating, /area/maintenance/department/cargo) -"fwR" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"fyF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"fxC" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"fym" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber"; + req_access_txt = "10" }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"fyF" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/power/rad_collector/anchored, +/turf/open/floor/engine, +/area/engine/supermatter) "fyO" = ( -/turf/open/space/basic, -/area/engine/engineering) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/supermatter) "fzu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54446,9 +54122,19 @@ }, /turf/open/floor/plasteel/dark, /area/science/mixing) +"fBZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/supermatter) "fFv" = ( -/obj/structure/lattice, -/turf/open/space/basic, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "fIu" = ( /obj/structure/disposalpipe/segment{ @@ -54520,6 +54206,19 @@ /obj/structure/bookcase/random/religion, /turf/open/floor/plasteel/dark, /area/library/lounge) +"fZK" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "gam" = ( /obj/machinery/door/airlock/medical/glass{ name = "Service Door"; @@ -54588,6 +54287,12 @@ }, /turf/open/floor/plating, /area/maintenance/department/cargo) +"ggg" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "giI" = ( /obj/machinery/light/small{ dir = 1 @@ -54709,13 +54414,11 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/machinery/portable_atmospherics/pump, /turf/open/floor/plasteel, /area/engine/engineering) "gpC" = ( @@ -54814,6 +54517,14 @@ /obj/item/flashlight/lamp/green, /turf/open/floor/carpet, /area/lawoffice) +"gBb" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "gDR" = ( /obj/machinery/camera{ c_tag = "Central Primary Hallway Escape"; @@ -54843,6 +54554,11 @@ }, /turf/open/floor/plasteel/dark, /area/science/explab) +"gEo" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "gFo" = ( /obj/structure/window/reinforced, /obj/structure/table/glass, @@ -54959,7 +54675,6 @@ /area/science/mixing) "gMO" = ( /obj/structure/plasticflaps/opaque, -/obj/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/department/engine) "gNv" = ( @@ -54989,6 +54704,12 @@ }, /turf/open/floor/wood, /area/lawoffice) +"gQf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) "gSH" = ( /turf/closed/wall, /area/lawoffice) @@ -55018,10 +54739,31 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"gXZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Fore"; + dir = 4; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "gYo" = ( /obj/structure/grille, /turf/open/space/basic, /area/space/nearstation) +"haA" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, +/obj/item/clothing/glasses/welding, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) "heC" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 8; @@ -55068,6 +54810,24 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"hjk" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"hjD" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) "hkQ" = ( /obj/machinery/light{ dir = 4 @@ -55090,6 +54850,26 @@ }, /turf/open/floor/wood, /area/lawoffice) +"hon" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Gas to Filter" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"hoS" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/engine/engineering) "hqo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55145,6 +54925,13 @@ /obj/item/clothing/glasses/regular, /turf/open/floor/plating, /area/maintenance/department/science) +"hyh" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "hzc" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -55206,6 +54993,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"hGB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "hHr" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -55221,6 +55017,19 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"hKp" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/power/rad_collector/anchored, +/turf/open/floor/engine, +/area/engine/supermatter) "hOx" = ( /obj/structure/cable{ icon_state = "2-4" @@ -55258,6 +55067,17 @@ icon_state = "platingdmg3" }, /area/maintenance/department/science) +"hQy" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/item/tank/internals/plasma, +/turf/open/floor/plating, +/area/engine/supermatter) "hQz" = ( /obj/structure/closet/emcloset/anchored, /obj/structure/cable/yellow{ @@ -55267,7 +55087,30 @@ /area/tcommsat/computer) "hQC" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, +/area/engine/engineering) +"hSt" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Gas to Cooling Loop" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"hSC" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, /area/engine/engineering) "hSM" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -55293,18 +55136,18 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) -"hTr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/space/basic, -/area/maintenance/department/engine) "hUt" = ( /obj/structure/closet/crate{ icon_state = "crateopen" }, /turf/open/floor/plating, /area/maintenance/department/cargo) +"hUw" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) "hUJ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -55324,6 +55167,13 @@ /obj/structure/girder, /turf/open/floor/plating, /area/maintenance/department/science) +"hXK" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/engine/engineering) "hYe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/red{ @@ -55338,11 +55188,6 @@ }, /turf/open/floor/plasteel/dark, /area/chapel/office) -"hYm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/chair/stool, -/turf/open/floor/plasteel, -/area/engine/engineering) "hZB" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55376,6 +55221,14 @@ }, /turf/open/floor/plasteel/dark, /area/library) +"iej" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/engineering) "igE" = ( /obj/structure/table/reinforced, /obj/machinery/button/door{ @@ -55428,6 +55281,15 @@ /obj/structure/closet/secure_closet/medical2, /turf/open/floor/plating, /area/maintenance/department/science) +"ikO" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "ilD" = ( /obj/machinery/processor/slime, /turf/open/floor/plasteel/white, @@ -55455,9 +55317,40 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"iop" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ioF" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "iqc" = ( /turf/open/floor/plasteel/stairs/right, /area/maintenance/department/crew_quarters/dorms) +"irM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "itl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -55508,8 +55401,15 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "iyJ" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"izm" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, /area/engine/engineering) "izB" = ( /obj/machinery/door/airlock/external{ @@ -55559,13 +55459,10 @@ /turf/open/floor/plating, /area/maintenance/department/cargo) "iCs" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "iCV" = ( /obj/effect/turf_decal/stripes/line{ @@ -55609,6 +55506,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/sorting) +"iLh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/engine/engineering) "iLl" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -55682,6 +55586,10 @@ }, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"iTF" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "iVJ" = ( /obj/effect/spawner/lootdrop/organ_spawner, /turf/open/floor/plating{ @@ -55759,12 +55667,6 @@ }, /turf/open/floor/wood, /area/lawoffice) -"jlb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) "jrG" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -55865,6 +55767,17 @@ /obj/structure/sign/warning/vacuum/external, /turf/open/floor/plating, /area/hallway/secondary/entry) +"jzE" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "jAy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -55881,21 +55794,13 @@ /turf/open/floor/plating, /area/maintenance/department/cargo) "jBn" = ( -/obj/machinery/camera/emp_proof{ - c_tag = "Engine Containment Starboard Fore"; - dir = 2; - network = list("engine") +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "jCv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -55960,10 +55865,6 @@ /obj/item/kitchen/knife, /turf/open/floor/plasteel, /area/maintenance/department/engine) -"jPo" = ( -/obj/structure/chair, -/turf/open/floor/plasteel, -/area/engine/engineering) "jQh" = ( /obj/item/stack/sheet/animalhide/xeno, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -56004,6 +55905,16 @@ }, /turf/open/floor/carpet, /area/lawoffice) +"jTU" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "jUV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56024,6 +55935,10 @@ /obj/item/stack/ore/iron, /turf/open/floor/plating, /area/maintenance/department/science) +"jXF" = ( +/obj/machinery/cryopod, +/turf/open/floor/plasteel/dark, +/area/security/prison) "jXV" = ( /obj/machinery/light/small{ dir = 1 @@ -56056,6 +55971,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/chemistry) +"kaR" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "kfh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -56110,6 +56034,10 @@ icon_state = "platingdmg3" }, /area/maintenance/department/science) +"klb" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/quartermaster/sorting) "klo" = ( /obj/structure/dresser, /obj/structure/mirror{ @@ -56128,22 +56056,22 @@ /obj/item/clothing/under/rank/clown/sexy, /turf/open/floor/plasteel/dark, /area/maintenance/department/crew_quarters/dorms) +"kmd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "kmn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/mixing) -"knw" = ( -/obj/structure/cable{ - icon_state = "1-2" +"koz" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "kpK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -56236,14 +56164,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/secondary/exit/departure_lounge) -"kCc" = ( -/obj/structure/plasticflaps/opaque, -/obj/machinery/conveyor{ - dir = 8; - id = "EngLoad" - }, -/turf/open/floor/plating, -/area/maintenance/department/engine) "kDf" = ( /obj/machinery/light/small{ dir = 2 @@ -56257,9 +56177,6 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, -/obj/machinery/conveyor_switch/oneway{ - id = "EngLoad" - }, /turf/open/floor/plasteel, /area/engine/engineering) "kDY" = ( @@ -56458,15 +56375,32 @@ }, /turf/open/floor/plating, /area/storage/emergency/port) +"kTj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"kTR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "kWQ" = ( -/obj/structure/cable{ - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/power/emitter/anchored{ - dir = 8; - state = 2 +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plating/airless, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, /area/engine/engineering) "kYM" = ( /obj/structure/extinguisher_cabinet{ @@ -56505,23 +56439,49 @@ }, /turf/open/floor/plating, /area/security/execution/transfer) +"lfx" = ( +/obj/structure/table, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) "lhA" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible, /turf/open/floor/plasteel/dark, /area/science/xenobiology) +"lhP" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "liR" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "lje" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden, /turf/open/floor/plating, /area/maintenance/department/cargo) +"ljG" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "lms" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -56536,6 +56496,27 @@ }, /turf/open/floor/plasteel, /area/storage/primary) +"lnr" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"loz" = ( +/obj/structure/closet/radiation, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "lqc" = ( /obj/item/toy/gun, /obj/effect/decal/cleanable/oil, @@ -56550,13 +56531,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel/dark, /area/library/lounge) -"ltE" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 +"lrM" = ( +/obj/structure/cable{ + icon_state = "2-8" }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/hallway/primary/aft) +/area/engine/engineering) "lzJ" = ( /obj/structure/closet/crate/bin, /turf/open/floor/carpet, @@ -56725,11 +56706,12 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) -"lRY" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"lRX" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 }, -/turf/open/floor/plating/airless, +/turf/open/floor/plating, /area/engine/engineering) "lTC" = ( /obj/item/shard, @@ -56741,6 +56723,10 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"lUO" = ( +/obj/structure/sign/warning/radiation, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "lWy" = ( /turf/open/floor/plating, /area/maintenance/department/science) @@ -56762,11 +56748,28 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"lXb" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Gas to Mix" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) "lXc" = ( /obj/structure/table, /obj/item/clothing/head/beret, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"lXJ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "mal" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56809,9 +56812,6 @@ /area/engine/engineering) "mci" = ( /obj/machinery/portable_atmospherics/canister/toxins, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/plating, /area/engine/engineering) "mdL" = ( @@ -56827,11 +56827,21 @@ /turf/open/floor/plasteel/white, /area/science/lab) "meF" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"mfC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating/airless, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"mgz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, /area/engine/engineering) "mhl" = ( /obj/machinery/power/emitter, @@ -56851,10 +56861,29 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"miw" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Fore"; + dir = 1; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) "mjn" = ( /obj/machinery/jukebox, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) +"mjK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/engine/engineering) "mlr" = ( /obj/structure/lattice, /obj/structure/disposalpipe/junction{ @@ -56879,9 +56908,18 @@ /turf/open/floor/wood, /area/maintenance/department/crew_quarters/dorms) "mpd" = ( -/obj/structure/lattice, -/turf/open/space, -/area/engine/engineering) +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/power/rad_collector/anchored, +/turf/open/floor/engine, +/area/engine/supermatter) "mpy" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -56962,13 +57000,12 @@ /turf/open/floor/plating, /area/maintenance/department/security/brig) "mwG" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = 32 - }, -/turf/open/floor/plating, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, /area/engine/engineering) "mxy" = ( /obj/machinery/power/terminal{ @@ -57034,6 +57071,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/tcommsat/computer) +"mEu" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) "mES" = ( /obj/machinery/door/airlock/maintenance/abandoned{ name = "Surgical Room" @@ -57074,12 +57121,6 @@ icon_state = "platingdmg1" }, /area/maintenance/department/security/brig) -"mMc" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/space/basic, -/area/maintenance/department/engine) "mMz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -57129,6 +57170,16 @@ }, /turf/open/floor/engine, /area/science/xenobiology) +"ncm" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/engineering) "ndI" = ( /obj/item/reagent_containers/food/drinks/bottle/vodka, /turf/open/floor/plating{ @@ -57228,6 +57279,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/engine) +"nqu" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "nqV" = ( /obj/structure/cable{ icon_state = "1-2" @@ -57267,6 +57325,14 @@ }, /turf/closed/wall/r_wall, /area/science/mixing) +"nsJ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "ntj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57322,17 +57388,18 @@ }, /area/maintenance/department/science) "nAs" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/external{ - name = "Engineering External Access"; - req_access_txt = "10;13" - }, -/turf/open/floor/plating, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"nAY" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, /area/engine/engineering) "nBw" = ( /obj/machinery/computer/crew{ @@ -57508,6 +57575,14 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"nRM" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, +/area/engine/engineering) "nSj" = ( /obj/structure/grille/broken, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -57526,6 +57601,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"nUQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/engine/supermatter) "nVU" = ( /obj/item/twohanded/spear, /turf/open/floor/plating, @@ -57605,19 +57684,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/security/brig) -"ogX" = ( -/obj/machinery/camera{ - c_tag = "Engineering Starboard Aft"; - dir = 1 - }, -/obj/machinery/light, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "ohR" = ( /obj/item/chair, /turf/open/floor/plating, @@ -57678,32 +57744,6 @@ }, /turf/open/floor/plasteel/dark, /area/tcommsat/computer) -"ory" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty{ - layer = 4 - }, -/obj/item/stack/cable_coil, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"orZ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "ost" = ( /obj/structure/table/glass, /obj/item/paper_bin{ @@ -57717,9 +57757,6 @@ /area/science/xenobiology) "ous" = ( /obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, /obj/machinery/button/door{ desc = "A remote control-switch for secure storage."; id = "Secure Storage"; @@ -57731,6 +57768,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel, /area/engine/engineering) "ouv" = ( @@ -57764,6 +57802,13 @@ }, /turf/open/floor/plasteel/dark, /area/chapel/office) +"oxw" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/engineering) "oyF" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, @@ -57875,11 +57920,22 @@ /obj/item/stack/sheet/mineral/wood, /turf/open/floor/plasteel, /area/maintenance/department/engine) -"oGm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"oHa" = ( +/obj/machinery/power/emitter/anchored{ + dir = 8; + state = 2 }, -/turf/open/floor/plating/airless, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"oJr" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, /area/engine/engineering) "oKa" = ( /obj/structure/rack, @@ -57896,6 +57952,18 @@ icon_state = "platingdmg3" }, /area/maintenance/department/science) +"oKv" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/engine/engineering) +"oKJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) "oLR" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -58017,6 +58085,14 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"oWu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engine/engineering) "oWw" = ( /obj/item/flashlight, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -58037,6 +58113,22 @@ }, /turf/open/floor/plasteel/white, /area/security/execution/transfer) +"oXq" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Cooling Loop Bypass" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) "oYj" = ( /obj/effect/turf_decal/loading_area{ dir = 4 @@ -58049,6 +58141,12 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"paU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) "pbm" = ( /obj/machinery/door/airlock/external{ name = "Pod Docking Bay" @@ -58104,11 +58202,12 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"phg" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +"pgH" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "phJ" = ( /obj/structure/disposalpipe/segment, @@ -58131,6 +58230,13 @@ /obj/structure/piano, /turf/open/floor/plasteel/dark, /area/maintenance/department/crew_quarters/dorms) +"pmB" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) "pnU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 4; @@ -58139,6 +58245,14 @@ }, /turf/open/floor/circuit/telecomms, /area/science/xenobiology) +"poP" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "pps" = ( /turf/closed/wall, /area/engine/break_room) @@ -58152,15 +58266,23 @@ /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/exit/departure_lounge) "prQ" = ( -/obj/machinery/field/generator{ - anchored = 1; - state = 2 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +/turf/open/floor/engine, +/area/engine/supermatter) +"psd" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 2; + name = "Gas to Filter" }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/engine/supermatter) +"puw" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "pvK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ @@ -58216,6 +58338,22 @@ /obj/machinery/shieldwallgen/xenobiologyaccess, /turf/open/floor/plating, /area/maintenance/department/engine) +"pBJ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"pCo" = ( +/obj/structure/reflector/single/anchored{ + dir = 6 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engine/engineering) "pDP" = ( /obj/machinery/vending/assist, /obj/effect/turf_decal/tile/neutral{ @@ -58411,6 +58549,10 @@ /obj/structure/cable, /turf/open/floor/wood, /area/lawoffice) +"pYh" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/closed/wall/r_wall, +/area/engine/engineering) "pYw" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-03" @@ -58435,14 +58577,10 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "qbp" = ( -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 }, -/obj/machinery/power/emitter/anchored{ - dir = 4; - state = 2 - }, -/turf/open/floor/plating/airless, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "qbZ" = ( /obj/structure/rack, @@ -58498,6 +58636,18 @@ /obj/item/stack/sheet/mineral/wood, /turf/open/floor/plating, /area/maintenance/department/engine) +"qeY" = ( +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"qhE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "qjx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line, @@ -58507,10 +58657,38 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) +"qkM" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/engineering) "qnT" = ( /obj/machinery/iv_drip, /turf/open/floor/plating, /area/maintenance/department/science) +"qpd" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"qpS" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) "qtA" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -58529,13 +58707,10 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "qtO" = ( -/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/obj/machinery/light, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -58594,8 +58769,13 @@ /turf/closed/wall, /area/crew_quarters/bar) "qFu" = ( -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plasteel/dark, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/engine/engineering) "qGu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -58649,6 +58829,21 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/maintenance/department/science) +"qLI" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty{ + layer = 4 + }, +/obj/item/stack/cable_coil, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "qMi" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/general/visible, @@ -58685,6 +58880,11 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"qOS" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "qPB" = ( /obj/structure/chair/stool, /obj/machinery/light/small{ @@ -58692,15 +58892,15 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/department/crew_quarters/dorms) -"qQr" = ( -/obj/structure/cable{ - icon_state = "1-2" +"qRl" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "qTV" = ( /obj/item/radio/intercom{ @@ -59101,16 +59301,10 @@ /turf/open/floor/plating, /area/maintenance/department/science) "rPg" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8 }, -/turf/open/floor/plating/airless, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "rPW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -59120,6 +59314,13 @@ /obj/item/trash/can, /turf/open/floor/wood, /area/maintenance/department/engine) +"rTd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "rWE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -59146,17 +59347,6 @@ }, /turf/open/floor/plating, /area/storage/emergency/starboard) -"rYY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external{ - name = "Engineering External Access"; - req_access_txt = "10;13" - }, -/turf/open/floor/plating, -/area/engine/engineering) "sbk" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -59213,15 +59403,51 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/secondary/exit/departure_lounge) +"shH" = ( +/turf/closed/wall/r_wall, +/area/space/nearstation) "sij" = ( /obj/structure/closet, /obj/item/reagent_containers/food/snacks/meat/slab/monkey, /turf/open/floor/plating, /area/maintenance/department/engine) +"sjC" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plasteel, +/area/engine/engineering) "skw" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/closed/wall, /area/maintenance/department/security/brig) +"slJ" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"smv" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Cooling Loop to Gas" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "spz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -59267,6 +59493,12 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard) +"svA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) "svN" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/structure/sign/departments/restroom{ @@ -59274,6 +59506,11 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"swg" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "sww" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/reagent_containers/food/snacks/meat/slab/monkey, @@ -59399,10 +59636,34 @@ }, /area/maintenance/department/engine) "sWj" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"sWW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/meter, /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "sXi" = ( /obj/machinery/disposal/bin, @@ -59418,13 +59679,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/r_wall, /area/science/xenobiology) -"sYp" = ( -/obj/structure/lattice, -/obj/machinery/light{ - dir = 2 - }, -/turf/open/space, -/area/engine/engineering) "sYQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59472,6 +59726,13 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) +"tbw" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/turf/open/space, +/area/space/nearstation) "tcY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -59519,6 +59780,10 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) +"tdL" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) "tfw" = ( /obj/structure/cable{ icon_state = "0-2"; @@ -59564,6 +59829,17 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"tkL" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) "tlc" = ( /obj/machinery/recharger, /obj/structure/table, @@ -59574,18 +59850,19 @@ /turf/open/floor/plasteel, /area/tcommsat/computer) "tlN" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/engine, +/area/engine/engineering) +"tlV" = ( +/obj/structure/reflector/double/anchored{ + dir = 9 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "tnY" = ( /obj/machinery/button/door{ @@ -59645,13 +59922,6 @@ }, /turf/open/floor/engine, /area/science/xenobiology) -"tuL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/the_singularitygen, -/turf/open/floor/plating, -/area/engine/engineering) "tvj" = ( /obj/structure/festivus{ anchored = 1; @@ -59667,18 +59937,16 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "twv" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Singularity"; - name = "radiation shutters" +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, +/turf/open/floor/engine, /area/engine/engineering) "typ" = ( /obj/structure/table/glass, @@ -59718,6 +59986,13 @@ /obj/item/wrench, /turf/open/floor/plating, /area/maintenance/department/cargo) +"tDE" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Engine" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "tHk" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -59728,10 +60003,10 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "tIS" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 }, -/turf/open/floor/plating/airless, +/turf/open/floor/plasteel/dark, /area/engine/engineering) "tJr" = ( /obj/structure/plasticflaps/opaque, @@ -59742,11 +60017,23 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"tPm" = ( -/obj/structure/disposalpipe/segment{ +"tLP" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/quartermaster/warehouse) +"tOD" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"tQT" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/closed/wall, +/turf/open/floor/plating, /area/engine/engineering) "tRc" = ( /obj/structure/ore_box, @@ -59792,23 +60079,34 @@ }, /turf/open/floor/plating, /area/maintenance/department/security/brig) -"uaP" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" +"uaO" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 }, -/obj/structure/window/plasma/reinforced{ - dir = 4 +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"uaP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/power/tesla_coil/power, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "ubW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/mixing) +"udl" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "uek" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -59837,6 +60135,15 @@ icon_state = "panelscorched" }, /area/maintenance/department/science) +"ueX" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/engineering_hacking{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/engineering_construction, +/turf/open/floor/plasteel, +/area/engine/engineering) "ufa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -59875,6 +60182,16 @@ }, /turf/closed/wall, /area/maintenance/department/engine) +"ukp" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Mix to Gas" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) "ulu" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -59890,13 +60207,8 @@ /turf/open/floor/plasteel, /area/storage/primary) "ulY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/turf/open/floor/plating/airless, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, /area/engine/engineering) "ume" = ( /obj/machinery/door/firedoor, @@ -59922,8 +60234,16 @@ }, /area/maintenance/department/science) "uoq" = ( -/turf/open/space, -/area/engine/engineering) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/engine/supermatter) "uos" = ( /obj/machinery/computer/camera_advanced/base_construction, /obj/effect/turf_decal/stripes/line{ @@ -59934,6 +60254,13 @@ "uoS" = ( /turf/open/floor/plating, /area/construction/mining/aux_base) +"upc" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "uqJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -60030,6 +60357,16 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"uzh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/engine, +/area/engine/supermatter) "uzn" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/cable{ @@ -60084,6 +60421,12 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"uIB" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) "uLF" = ( /obj/structure/cable{ icon_state = "1-4" @@ -60109,13 +60452,11 @@ /area/maintenance/department/engine) "uMo" = ( /obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/closet/crate/solarpanel_small, /turf/open/floor/plasteel, /area/engine/engineering) "uMt" = ( @@ -60127,14 +60468,13 @@ /turf/open/floor/plating, /area/maintenance/department/security/brig) "uRk" = ( -/obj/machinery/field/generator{ - anchored = 1; - state = 2 +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 }, /obj/effect/turf_decal/stripes/corner{ - dir = 1 + dir = 8 }, -/turf/open/floor/plating/airless, +/turf/open/floor/engine, /area/engine/engineering) "uUQ" = ( /obj/machinery/door/airlock/maintenance{ @@ -60162,15 +60502,6 @@ /obj/item/stamp/law, /turf/open/floor/carpet, /area/lawoffice) -"uVW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) "uXG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60246,6 +60577,31 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"vli" = ( +/obj/structure/table, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/obj/machinery/light, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) +"vlC" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "vlF" = ( /obj/item/coin/silver, /obj/effect/decal/cleanable/oil{ @@ -60280,6 +60636,20 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"voh" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"vor" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) "vpz" = ( /obj/structure/girder, /turf/open/floor/plating{ @@ -60297,6 +60667,17 @@ }, /turf/open/floor/plating, /area/maintenance/department/cargo) +"vsw" = ( +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Starboard"; + dir = 8; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "vsG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -60357,6 +60738,17 @@ /obj/item/assembly/mousetrap, /turf/open/floor/engine, /area/science/explab) +"vxr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "vzz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -60406,6 +60798,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"vBE" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "vCC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -60532,19 +60937,15 @@ }, /turf/open/floor/plasteel/dark, /area/science/mixing) -"vXt" = ( +"vVO" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/rods/fifty, -/obj/item/clothing/glasses/welding, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, +/turf/open/floor/engine, /area/engine/engineering) "vYN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -60555,11 +60956,24 @@ }, /turf/open/floor/circuit/telecomms, /area/science/xenobiology) -"wcs" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"wbB" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 2; + name = "External Gas to Loop" }, -/turf/closed/wall/r_wall, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/engine/engineering) +"wbF" = ( +/obj/machinery/rnd/production/circuit_imprinter, +/obj/machinery/camera{ + c_tag = "Engineering Starboard Aft"; + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"wcs" = ( +/turf/open/floor/plasteel/dark, /area/engine/engineering) "wdx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -60594,10 +61008,24 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) +"wfG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/hor) "wfO" = ( /mob/living/simple_animal/hostile/retaliate/poison/snake, /turf/open/floor/plating, /area/maintenance/department/engine) +"wfP" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "wig" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plating{ @@ -60611,6 +61039,24 @@ /obj/item/stack/cable_coil/red, /turf/open/floor/plating, /area/maintenance/department/engine) +"wjm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "wkZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -60643,30 +61089,20 @@ /turf/closed/wall, /area/science/mixing) "woh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" }, -/turf/open/floor/plating/airless, -/area/engine/engineering) +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/engine/supermatter) "woq" = ( /obj/structure/chair, /turf/open/floor/plating, /area/maintenance/department/security/brig) -"wpI" = ( -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) "wqu" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -60755,6 +61191,11 @@ }, /turf/open/floor/plating, /area/maintenance/department/crew_quarters/bar) +"wDl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/engine/engineering) "wDm" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -60786,6 +61227,18 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"wHI" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"wIo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "wIv" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 8; @@ -60820,6 +61273,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) +"wLK" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "wMF" = ( /obj/effect/spawner/lootdrop/three_course_meal, /obj/effect/spawner/lootdrop/three_course_meal, @@ -60835,6 +61294,10 @@ /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/department/engine) +"wMX" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/supermatter) "wNq" = ( /obj/structure/cable{ icon_state = "1-4" @@ -60964,6 +61427,10 @@ }, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"wYK" = ( +/obj/machinery/power/supermatter_crystal/engine, +/turf/open/floor/engine, +/area/engine/supermatter) "xah" = ( /obj/structure/cable{ icon_state = "1-2" @@ -61047,6 +61514,12 @@ dir = 1 }, /area/hallway/secondary/exit/departure_lounge) +"xhI" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "xja" = ( /obj/machinery/light/small{ dir = 4 @@ -61116,9 +61589,6 @@ pixel_y = 32 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/plasteel/dark, /area/engine/engineering) "xnm" = ( @@ -61219,6 +61689,13 @@ }, /turf/open/floor/plasteel/dark, /area/science/xenobiology) +"xzR" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "xCV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -61302,6 +61779,13 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/space/basic, /area/space/nearstation) +"xNy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "xOC" = ( /obj/machinery/door/airlock/external{ name = "Construction Zone"; @@ -61344,18 +61828,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"xTi" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "EngLoad" - }, -/obj/structure/sign/warning/deathsposal{ - desc = "A warning sign which reads 'DISPOSAL: LEADS TO ENGINE'."; - name = "\improper DISPOSAL: LEADS TO ENGINE"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/engine/engineering) "xWl" = ( /obj/item/pen, /obj/item/paper_bin{ @@ -82814,7 +83286,7 @@ lGp aeU afI aeU -aeU +jXF agy agN agY @@ -87289,13 +87761,13 @@ bOB bSw bDi bDi -cad -eYM -bQl -mMc +bDi +bIZ mZE aaa aaa +aaa +aaa eNF aaa aaa @@ -87547,10 +88019,10 @@ fpT wNq bva gMO -kCc -bva -hTr +bBX mZE +mZE +aaa aaa aaa eNF @@ -87804,12 +88276,12 @@ bBX uUQ bBX fdS -xTi -bXk -hTr +bBX +bBX mZE aaa aaa +aaa eNF aaa aaa @@ -88063,8 +88535,6 @@ kDJ oYj uMo bXk -jlb -bXk bXk bXk bXk @@ -88147,6 +88617,8 @@ aaa aaa aaa aaa +aaa +aaa "} (105,1,1) = {" aaa @@ -88318,16 +88790,14 @@ eQN tcY cam cam -cdI +sjC bXk mci cbX ceq -ceq -ceq mhl -cBQ -cBQ +ceq +ceq bXk aaa aaa @@ -88354,6 +88824,8 @@ aaa aaa aaa aaa +aaa +aaa abI aaa aaa @@ -88577,14 +89049,12 @@ cbW cbd cdI cri -eVW +cbX cbX cbV cbV ceq ceq -cBQ -cBQ bXk aaa aaa @@ -88609,6 +89079,8 @@ aaa aaa aaa aaa +aaa +aaa adR adR adR @@ -88834,14 +89306,12 @@ bZA cam ous bXk -tuL ccR +cbX ccQ ccQ ccQ ccQ -cBQ -cBQ bXk aaa aaa @@ -88868,6 +89338,8 @@ aaa aaa aaa aaa +aaa +aaa abI aaa aaa @@ -89091,8 +89563,6 @@ vjd oAw cdK bXk -jlb -bXk bXk bXk bXk @@ -89101,6 +89571,8 @@ bXk bXk bXk aht +aht +aht abI abI abI @@ -89346,7 +89818,7 @@ cae eta mmv cae -tPm +bTE bXk ceT cfr @@ -89869,13 +90341,15 @@ cgs cgQ chv mKk +cdm +cdm +aaa aht aaa aht -aht -aaa aaa aht +aaa aht aaa aaa @@ -89889,8 +90363,6 @@ aaa aaa aaa aaa -aaa -aaa clz clA clD @@ -90113,9 +90585,9 @@ bXh bXZ bYK bZz -cah +nAY cbd -bZA +nRM cam cdM bXq @@ -90125,14 +90597,16 @@ cfQ bXk qWG bXk -mVM +paU +dSp +cdm +aaa aht aaa aht -aht -aaa aaa aht +aaa aht aaa aaa @@ -90146,8 +90620,6 @@ aaa aaa aaa aaa -aaa -emV iBJ clB hQz @@ -90370,41 +90842,41 @@ bXi bYa bYL bZA -cai +caw cbe cca cam qtO bXk -jlb bXk bXk +svA +mjK +mjK +mjK +wHI +eyj +eyj bXk -bXk -bXk -bXk -cbj -bXk -cbj -bXk -bXk -bXk -bXk -ckJ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +shH +shH +shH +shH +shH +shH +shH +shH +fon +fon +mau +fon +aht +aht +mau +fon +fon +aht +aht ouv clw clw @@ -90625,32 +91097,32 @@ bVH bWr bXj qGZ -bYM -bZB +bYQ +bZD caj cbf ccb -ccS +cah cdO -bXk +ioF ceX -iyJ +qOS cfS fFv -fFv -fFv -fFv -fFv -cir -fFv -fFv -fFv -fFv -fFv -bTE +fmL +gXZ +kmd +lXJ +lXJ +bXk aaa +aht aaa +aht aaa +aht +aaa +aht aaa aaa aaa @@ -90883,31 +91355,31 @@ bUH bUH bYb bYN -bZA +bZF cak cbg -bYC cam -cdP -rYY +cam +cam +cam mwG nAs cfT -fFv -fFv +wcs +ggg qbp -fFv -fFv +qbp +gEo dMG -fFv -fFv -qbp -fFv -fFv -bTE +bXk aaa +aht aaa +aht aaa +aht +aaa +aht aaa aaa aaa @@ -91140,31 +91612,31 @@ bWs bXk bYc bYO -bZC -cal +bZA +xhI cbh -cam -cam -cdQ -bXk -bTE -bXk +cbh +cbh +cbh +cbh +hjD +vor cfU tIS iCs rPg +rPg cBR -cBR -knw -cBR -cBR -uVW -lRY -ckr -bTE +iCs +bXk aaa +aht aaa +aht aaa +aht +aaa +aht aaa aaa aaa @@ -91397,31 +91869,31 @@ bWt bXk bYd bYP -bZA -cam -cam -cam -cam -orZ +bZF +rTd +wDl +vxr +irM +irM qFu cet ulY cfV cgu cgU -cgU +izm chw -chw -chw -chw -cjs -cfV -cfV -cfV -bTE -abI -aaa +eyj +jzE +bXk +bXk +bXk +bXk +bXk aaa +fon +fon +fon aaa aaa aaa @@ -91658,27 +92130,27 @@ bZA can cbi ccc -ccV +eyj cdR -qFu -cet -ulY -cfV +tQT +bXk +bXk +sWW +cgv +lXb cgv -cfV -sWj uaP +cgv +ukp cgV -uaP -cgV -uaP -ciG -cfV -cfV -bTE -abI -abI -aaa +cgv +cgv +gQf +bXk +aht +fon +shH +fon aaa aaa aaa @@ -91912,30 +92384,30 @@ bXk bTE bYR bZA -cao +can cbj -bXk -ccW +eyj +cbX wcs iyJ cfa -cfa +eyj twv -cgv +hoS sWj dnS -uoq -fyO -mpd -fyO -uoq +hSC +jTU +fZK +pgH +pgH uRk ciG -cfV -bTE -abI -aaa +bXk aaa +fon +shH +fon aaa aaa aaa @@ -92168,32 +92640,32 @@ bWv bXl bYf bYS -bZD -cap -bXk +bZA +can +qpS ccd ccX -cdS +ccX ceu -cfb +cbX cfu tlN -cgv +ncm cCI uoq -fyO -fyO -mpd -fyO -fyO -uoq +hQy +chA +meF +oKv +wbB +xzR hQC -mpd -bTE -abI -aaa -aaa -aaa +bXk +aht +fon +shH +fon +aht aaa aaa aaa @@ -92425,31 +92897,31 @@ bWw bXm bYg bYT -bZA +bZB caq cbk -cce +eyj ccY cdT -cev -cfc -cfv -tlN -cgv -cCI +ccY +cbX +eyj +vlC +iej +qeY fyO fyO -sWj -cgT -ciG -fyO fyO +qeY +oKv +wbB +wfP hQC -mpd -bTE -abI -aaa +bXk aaa +fon +shH +fon aaa aaa aaa @@ -92684,29 +93156,29 @@ bYh bYU bZE car -bXk -ccf -ccZ -cdU -cew +mgz +eyj +cbX +wcs +wcs cfd -cfw -cfW -cgw -cCI +bXk +tlN +ncm +lUO mpd -mpd -cCI +hKp +hKp cit -ciH -mpd -mpd +qeY +puw +vBE hQC -sYp -bTE -abI -aaa -aaa +bXk +aht +fon +shH +fon aaa aaa aaa @@ -92940,30 +93412,30 @@ bXo bYi bYV bZA -cdN +cam ccW -ceY +bXk cda -cbX -cex -cfe -cfx -tlN -cgv -cCI -fyO -fyO -fyF +wcs +wcs +wcs +eyj +eAH +lnr +qeY +fBZ +fBZ +fBZ cgY ciI -fyO -fyO +tdL +dHr hQC -mpd -bTE -aaa -aaa +bXk aaa +fon +shH +fon aaa aaa aaa @@ -93196,31 +93668,31 @@ bWz bVN bYf bYW -bZF -cat -bXk -ccg +oWu +cam +vli +ckJ cey cdW -cey -cey -cfy -tlN -cgv -cCI -uoq -fyO -fyO -mpd -fyO -fyO -uoq +wcs +cdW +eyj +kTR +mEu +wMX +dFJ +wYK +dFJ +uzh +nUQ +fym +hon hQC -mpd -bTE -aaa -aaa -aaa +bXk +aht +fon +shH +fon aaa aaa aaa @@ -93454,30 +93926,30 @@ bUU bUT bYX bZA -cau -cbj +cam +lfx bXk -ccW -bXk -bXk -cet -cet -tlN -cgv -fyF +pCo +wcs +wcs +tlV +eyj +qkM +miw +qeY prQ -fyO -fyO -mpd -fyO -fyO +prQ +prQ +dgj +psd +fxC dZj -ciI -cfV -bTE -aaa -aaa +hQC +bXk aaa +fon +shH +fon aaa aaa aaa @@ -93711,30 +94183,30 @@ mCe bYj bYQ bZA -cav -cbl -cch -cdc -cdX -fwR -cet -ulY -oGm -cgv -cfV +cam +mgz +eyj +cbX +wcs +wcs +dEy +bXk +tlN +ncm +puw fyF cZt -wpI cZt -wpI -cZt -ciI -cfV -cfV -bTE -abI -aaa -aaa +fjD +qeY +iTF +slJ +hQC +bXk +aht +fon +shH +fon aaa aaa aaa @@ -93941,7 +94413,7 @@ gkS tTl tTl tTl -tTl +koz dgg phJ phJ @@ -93966,33 +94438,33 @@ bVP bWB mCe bYk -bYQ -bZA -cam -cam -cam -cam -cdI +wjm +bZF +cbm +mgz +eyj +oHa +oHa eWi -cet -ulY -oGm +cbX +eyj +vlC cgx -cgU -cgU -cBS -cBS -cBS +qeY +fyO +fyO +fyO +qeY cBS cjt -cfV -cfV -cfV -bTE -abI -abI -abI -abI +kaR +hQC +bXk +aaa +fon +shH +fon +aht aaa aaa aaa @@ -94189,16 +94661,16 @@ aGV blu aDZ aDZ -eeF +bjm mhn -ltE -ltE -ltE -ltE -ltE +cqi +cqi +cqi +cqi +cqi imE kYM -bmC +mfC fdQ bmD bmD @@ -94224,31 +94696,31 @@ bWC mCe bYl bYO -bZC -hYm -cbm -cci +bZA cam -ogX -bXk -bXk -bXk +lrM +ccd +cAQ +cAQ +cLw +cbX +cfu jBn -tIS +oxw meF chA +chA woh -woh -qQr -woh -woh +cCI +cBS +iLh liR -phg -cks -bTE -abI -aaa -abI +hQC +bXk +aht +fon +shH +fon aaa aaa aaa @@ -94482,30 +94954,30 @@ bWD bTE bYY bZA -caw -cbn -ccj cam -cdY -rYY +cbn +eyj +cbX +wcs +cfP cff -nAs +eyj cfX -fFv -fFv +vVO +iop kWQ -fFv -fFv -dMG -fFv -fFv -kWQ -fFv -fFv -bTE -abI -aaa +oXq +qpd +tkL +tOD +tOD +ikO +hQC +bXk aaa +fon +shH +fon aaa aaa aaa @@ -94712,7 +95184,7 @@ duF bxa byE bBp -bBp +wfG bBp bBp bBp @@ -94741,28 +95213,28 @@ bYZ bZG cax cbo -cck -cdf -cdZ -bXk -cfg -bXk +ccc +eyj +cdR +oJr +bXq +bXq cfY -fFv -fFv -fFv -fFv -fFv +xNy +smv +xNy +hGB +hSt civ -fFv -fFv -fFv -fFv -fFv -bTE -abI -abI -abI +civ +vsw +qRl +oKJ +bXk +aht +fon +fon +fon aaa aaa aaa @@ -94995,30 +95467,30 @@ bWF bXp bYn bZa -bZH -cam +bZF +cal cbp cci -cam -cdI +kTj +kTj +qhE +loz +frj +lRX +eyj +uIB +eyj +eyj +uIB +eyj +eyj bXk bXk bXk bXk -bXk -bXk -bXk -bXk -cbj -bXk -cbj -bXk -bXk -bXk -bXk -ckJ -abI -aaa +aht +aht +aht aaa aaa aaa @@ -95251,30 +95723,30 @@ bVU bWG bXq bYo -cah +hXK bZI -cah +hXK cbq +cbd cam cam -vXt -bXk +cam +haA +aKm +upc +wIo +hyh +upc +voh +pBJ +wIo +voh +cdm aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abI +aht +aht +aht aaa aaa aaa @@ -95509,29 +95981,29 @@ bWH bXk bTE bZc -bZJ +ueX cCU +bZJ +wbF cCV ceb -jPo -ory -bXk +epV +qLI +aKm +eiV +upc +dsz +eiV +eiV +uaO +voh +eiV +cdm aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -abI +fon +fon +fon aaa aaa aaa @@ -95765,30 +96237,30 @@ bJN bJN bJN bJN -bXk -bXk -bXk -bXk -bXk -bXk -bXk -bXk -abI -adR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +frj +pYh +pYh +pYh +pYh +pYh +pYh +pYh +pYh +hUw +nqu +nsJ +gBb +nsJ +nsJ +gBb +nsJ +nsJ +dsz +aht +aht +fon +shH +fon aaa aaa aaa @@ -96022,7 +96494,7 @@ bVV bWI bXr bKQ -acN +udl bZK abI abI @@ -96031,21 +96503,21 @@ abI aaa aaa aaa -adR -aaa -aaa -acO -adR -adR -adR -adR -adR -adR -adR -aaa -aaa +uaO +wIo +nsJ +gBb +nsJ +nsJ +gBb +nsJ +nsJ +hyh aaa aaa +fon +shH +fon aaa aaa aaa @@ -96279,7 +96751,7 @@ bQI bWJ bXs bJN -abI +cui bJP bJP bJP @@ -96287,22 +96759,22 @@ bJP bJP abI abI -abI -adR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aht +pBJ +wIo +nsJ +gBb +nsJ +nsJ +gBb +nsJ +nsJ +dsz +aht +aht +fon +shH +fon aaa aaa aaa @@ -96536,7 +97008,7 @@ bMf fuR bXt bYp -bZd +eAZ bZL caz cbs @@ -96545,21 +97017,21 @@ bJP aaa aaa aaa -adR -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +uaO +wIo +nsJ +gBb +nsJ +nsJ +gBb +nsJ +nsJ +hyh aaa aaa +fon +shH +fon aaa aaa aaa @@ -96793,7 +97265,7 @@ bVW bWL bXu bLW -abI +cui bMi caA cbt @@ -96802,21 +97274,21 @@ bJP aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +pBJ +swg +hyh +pBJ +hyh +pBJ +hyh +pBJ +hyh +cdm +aht +aht +fon +shH +fon aaa aaa aaa @@ -97050,7 +97522,7 @@ bVX bWM bXv bWc -bZe +poP bZL caB cbs @@ -97059,21 +97531,21 @@ bJP aaa aaa aaa +aht +aaa +aht +aaa +aht +aaa +aht +aaa +aht aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +fon +fon +fon aaa aaa aaa @@ -97302,33 +97774,33 @@ bQI bQI bTM bUs -bMf -bOk -bWL +ljG +hjk +pmB bXw -bLW -abI +dJk +tbw bJP bJP bJP bJP bJP aaa -aby -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aaa +aaa +aht +aaa +aht +aaa +aht +aaa +aht +aaa +aht aaa aaa aaa +aht aaa aaa aaa @@ -97559,7 +98031,7 @@ bMf bMf bTN bUt -bMf +wLK bOk bWK bXt @@ -97570,24 +98042,24 @@ caC cbu cbu bJP -abI -aby -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aht +aht +fon +fon +fon +fon +fon +fon +fon +fon +fon +fon +fon +fon +aht +aht +aht +aht aaa aaa aaa @@ -97815,8 +98287,8 @@ bRx bQJ bPQ bTO -bMf -bMf +ljG +lhP bOk bWL bXx @@ -97828,24 +98300,24 @@ cbv ccn bJP aaa -aby -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aaa +fon +shH +shH +shH +shH +shH +shH +shH +shH +shH +shH +fon aaa +aht +shH +shH +fon aaa aaa aaa @@ -98072,7 +98544,7 @@ bPQ bPQ bPQ bTP -bMf +wLK bVh bVY bWM @@ -98084,25 +98556,25 @@ caE cbu cbu bJP +aht +aht +fon +fon +fon +fon +fon +fon +fon +fon +fon +fon +fon +fon aaa -aby -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aht +shH +fon +fon aaa aaa aaa @@ -98329,7 +98801,7 @@ bQK bQK bPQ bTQ -bMf +wLK bKX bOk bWN @@ -98341,8 +98813,6 @@ bJP bJP bJP bJP -abI -aby aaa aaa aaa @@ -98359,6 +98829,8 @@ aaa aaa aaa aaa +fon +fon aaa aaa aaa @@ -98586,7 +99058,7 @@ bRy bSf bSR bTM -bMf +wLK bKX bVZ bWO @@ -98601,7 +99073,7 @@ bJP aaa aaa aaa -aby +fon aaa aaa aaa @@ -98843,7 +99315,7 @@ bRz bMf bSS bTR -bMf +tDE bKX bWa bMf @@ -98855,10 +99327,10 @@ caG cbx cco bJP -abI -abI -abI -aby +aht +aht +aht +fon aaa aaa aaa @@ -99115,7 +99587,7 @@ bJP aaa aaa aaa -aby +fon aaa aaa aaa @@ -99300,7 +99772,7 @@ aHn aIi aJi aKe -lAs +klb aMi aNJ fwl @@ -99372,7 +99844,7 @@ bYw bYw aht aht -aby +fon aaa aaa aaa @@ -99629,7 +100101,7 @@ cdg cbz aaa aaa -aby +mau aaa aaa aaa @@ -100338,7 +100810,7 @@ lAs eeQ aUs aLf -aLf +eex aLf aLf aUl @@ -100603,7 +101075,7 @@ aTm bbE bbE bbE -bbE +dps bbE bbE aEj @@ -102133,8 +102605,8 @@ aNP aPb aNO aNP -cDa -aTo +tLP +aTq aSk aTm aTm diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 86c788427d..14d16fe659 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -3820,6 +3820,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/centcom/supply) +"jO" = ( +/obj/structure/table, +/obj/item/gun/energy/ionrifle, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) "jP" = ( /obj/machinery/conveyor_switch/oneway{ dir = 8; @@ -4184,16 +4192,8 @@ /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) "ku" = ( -/turf/closed/indestructible/riveted, -/area/syndicate_mothership/control) -"kv" = ( -/obj/machinery/door/poddoor/shuttledock{ - checkdir = 1; - name = "syndicate blast door"; - turftype = /turf/open/floor/plating/asteroid/snow - }, -/turf/open/floor/plating, -/area/syndicate_mothership/control) +/turf/closed/indestructible/fakeglass, +/area/syndicate_mothership) "kw" = ( /turf/open/floor/plasteel/yellowsiding, /area/centcom/supply) @@ -4364,12 +4364,6 @@ icon_state = "alien19" }, /area/abductor_ship) -"kR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/syndicate_mothership/control) "kS" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -4537,13 +4531,6 @@ icon_state = "alien15" }, /area/abductor_ship) -"ll" = ( -/turf/open/floor/plating, -/area/syndicate_mothership/control) -"lm" = ( -/obj/machinery/light, -/turf/open/floor/plating, -/area/syndicate_mothership/control) "ln" = ( /obj/machinery/light, /obj/effect/turf_decal/tile/brown, @@ -4865,14 +4852,6 @@ icon_state = "alien11" }, /area/abductor_ship) -"ma" = ( -/obj/structure/flora/grass/both, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/syndicate_mothership) "mb" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/neutral{ @@ -5125,14 +5104,6 @@ /obj/effect/baseturf_helper/asteroid/snow, /turf/closed/indestructible/rock/snow, /area/syndicate_mothership) -"mC" = ( -/obj/item/disk/data, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/syndicate_mothership) "mD" = ( /turf/closed/indestructible/riveted, /area/centcom/ferry) @@ -5425,18 +5396,6 @@ icon_state = "alien5" }, /area/abductor_ship) -"ng" = ( -/obj/effect/baseturf_helper/asteroid/snow, -/turf/closed/indestructible/riveted, -/area/syndicate_mothership/control) -"nh" = ( -/obj/item/toy/figure/syndie, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/syndicate_mothership) "ni" = ( /obj/machinery/newscaster/security_unit, /turf/closed/indestructible/riveted, @@ -5608,15 +5567,13 @@ /obj/structure/flora/bush, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) -"ny" = ( -/obj/machinery/light{ +"nz" = ( +/obj/machinery/light/small{ + brightness = 3; dir = 8 }, /turf/open/floor/plating, -/area/syndicate_mothership/control) -"nz" = ( -/turf/closed/indestructible/fakeglass, -/area/syndicate_mothership/control) +/area/syndicate_mothership) "nA" = ( /obj/structure/sign/warning/nosmoking, /turf/closed/indestructible/riveted, @@ -6448,14 +6405,59 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) -"oW" = ( -/obj/structure/flora/bush, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 +"oS" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/syndicate_mothership) +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tdome/tdomeobserve) +"oT" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tdome/tdomeobserve) +"oU" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/two) +"oV" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/centcom/holding) "oX" = ( /obj/structure/bookcase/random, /obj/machinery/light{ @@ -6798,45 +6800,35 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) -"px" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/nullrod/claymore/saber/red{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, -/area/centcom/holding) "py" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 +/obj/machinery/smartfridge, +/turf/closed/indestructible{ + icon = 'icons/turf/walls/wood_wall.dmi'; + icon_state = "wood"; + smooth = 1 }, -/obj/effect/turf_decal/tile/brown{ +/area/centcom/holding) +"pz" = ( +/obj/machinery/door/airlock/centcom{ + name = "CentCom Supply"; + req_access_txt = "106" + }, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"pE" = ( +/obj/machinery/plantgenes/seedvault, +/obj/effect/turf_decal/tile/green{ dir = 1 }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"pz" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod/podStorage) -"pF" = ( -/obj/machinery/door/airlock/centcom{ - name = "Auxillary Dock"; - opacity = 1; - req_access_txt = "" +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 }, -/turf/open/floor/plating, -/area/syndicate_mothership/control) -"pG" = ( -/obj/structure/flora/tree/pine, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 +/obj/effect/turf_decal/tile/green{ + dir = 8 }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/syndicate_mothership) +/turf/open/floor/plasteel/white, +/area/centcom/holding) "pH" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -6969,59 +6961,44 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"pS" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) "pU" = ( +/obj/structure/sign/map/right{ + pixel_y = -32 + }, +/obj/structure/rack{ + icon = 'icons/obj/stationobjs.dmi'; + icon_state = "minibar_right"; + name = "skeletal minibar" + }, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/turf/open/floor/wood, +/area/syndicate_mothership) +"pV" = ( /obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ dir = 4 }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/cafeteria, /area/centcom/holding) "pW" = ( -/obj/machinery/vr_sleeper{ - dir = 1 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"pX" = ( -/obj/item/storage/crayons, -/obj/structure/table, -/obj/item/storage/crayons, -/turf/open/floor/plasteel/freezer{ - dir = 2 - }, -/area/syndicate_mothership/control) -"pY" = ( +/obj/effect/landmark/ai_multicam_room, +/turf/open/ai_visible, +/area/ai_multicam_room) +"pZ" = ( /obj/machinery/washing_machine, /turf/open/floor/plasteel/freezer{ dir = 2 }, -/area/syndicate_mothership/control) -"pZ" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) +/area/syndicate_mothership) "qa" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) +/obj/structure/flora/tree/pine, +/obj/effect/light_emitter, +/turf/open/floor/plating/asteroid/snow/airless, +/area/syndicate_mothership) "qb" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -7356,76 +7333,15 @@ "qE" = ( /turf/closed/indestructible/riveted/uranium, /area/wizard_station) -"qG" = ( -/mob/living/simple_animal/cow, -/turf/open/floor/grass, -/area/centcom/holding) "qI" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"qJ" = ( -/obj/machinery/computer/shuttle/syndicate/recall, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"qK" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"qL" = ( -/obj/machinery/vending/cola, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"qM" = ( -/obj/machinery/vending/cigarette/syndicate, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"qN" = ( -/obj/structure/urinal{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/freezer{ +/obj/effect/turf_decal/stripes/line{ dir = 2 }, -/area/syndicate_mothership/control) -"qO" = ( -/obj/item/soap/syndie, -/obj/structure/mopbucket, -/obj/machinery/light/small{ +/obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/freezer{ - dir = 2 - }, -/area/syndicate_mothership/control) -"qP" = ( -/obj/structure/mirror{ - pixel_x = 28 - }, -/obj/item/mop, -/turf/open/floor/plasteel/freezer{ - dir = 2 - }, -/area/syndicate_mothership/control) +/turf/open/floor/plating, +/area/syndicate_mothership) "qQ" = ( /obj/machinery/door/airlock/centcom{ name = "Administrative Office"; @@ -7498,70 +7414,37 @@ /obj/machinery/computer/shuttle, /turf/open/floor/engine/cult, /area/wizard_station) -"rd" = ( -/obj/structure/flora/grass/brown, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 +"rb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/plating/asteroid/snow/airless, +/turf/open/floor/plating, /area/syndicate_mothership) -"re" = ( -/obj/item/paper/fluff/stations/centcom/disk_memo, -/obj/structure/noticeboard{ - pixel_x = -32 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"rf" = ( -/obj/structure/chair/stool, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"rg" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/mob/living/simple_animal/hostile/carp/cayenne, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"rh" = ( +"rc" = ( /obj/machinery/door/airlock/centcom{ - name = "Restroom"; - opacity = 1; - req_access_txt = "150" + name = "Equipment Room"; + req_one_access_txt = "150" }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"rd" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ dir = 1 }, +/obj/machinery/light{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"ri" = ( -/turf/open/floor/plasteel/freezer{ - dir = 2 +/area/syndicate_mothership) +"rf" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 }, -/area/syndicate_mothership/control) -"rj" = ( -/obj/structure/mirror{ - pixel_x = 28 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/turf/open/floor/plasteel/freezer{ - dir = 2 - }, -/area/syndicate_mothership/control) +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel, +/area/syndicate_mothership) "rk" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law, @@ -8054,113 +7937,34 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) -"rY" = ( -/obj/effect/landmark/shuttle_import, -/turf/open/space/basic, -/area/space) -"sb" = ( -/obj/structure/window/reinforced{ - dir = 1 +"sc" = ( +/obj/docking_port/stationary{ + area_type = /area/syndicate_mothership/control; + dir = 1; + dwidth = 3; + height = 7; + name = "escape pod loader"; + roundstart_template = /datum/map_template/shuttle/assault_pod/default; + width = 7 }, -/obj/machinery/door/window/eastright{ - dir = 8; - name = "Animal Pen" - }, -/turf/open/floor/grass, -/area/centcom/holding) -"se" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"sf" = ( -/obj/structure/table/wood, -/obj/item/paicard, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"sg" = ( -/obj/structure/table/wood, -/obj/item/pizzabox, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"sh" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/nukeop, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) +/turf/open/floor/plating, +/area/syndicate_mothership) "si" = ( -/obj/machinery/computer/telecrystals/uplinker, -/obj/effect/turf_decal/stripes/line{ - dir = 9 +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 5; + pixel_y = -2 }, -/turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership/control) -"sj" = ( -/obj/structure/toilet{ - dir = 8 +/obj/item/toy/cards/deck/syndicate{ + pixel_x = -6; + pixel_y = 6 }, -/obj/structure/window/reinforced/tinted{ +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/machinery/door/window{ - name = "Tactical Toilet"; - icon_state = "right"; - dir = 8; - opacity = 1 - }, -/turf/open/floor/plasteel/freezer{ - dir = 2 - }, -/area/syndicate_mothership/control) -"sk" = ( -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"sl" = ( -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"sm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"sn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"so" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"sp" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) +/turf/open/floor/plasteel, +/area/syndicate_mothership) "sq" = ( /obj/machinery/computer/shuttle/white_ship{ dir = 4 @@ -8561,68 +8365,48 @@ /turf/open/floor/engine/cult, /area/wizard_station) "sY" = ( -/obj/structure/toilet{ +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/one) +"sZ" = ( +/obj/structure/sign/map/left{ + pixel_y = -32 + }, +/obj/structure/rack{ + icon = 'icons/obj/stationobjs.dmi'; + icon_state = "minibar_left"; + name = "skeletal minibar" + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/turf/open/floor/wood, +/area/syndicate_mothership) +"td" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"tb" = ( -/obj/machinery/chem_dispenser/drinks/beer, -/turf/closed/indestructible{ - icon = 'icons/turf/walls/wood_wall.dmi'; - icon_state = "wood"; - smooth = 1 - }, -/area/centcom/holding) +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) "te" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/pizzaslice/mushroom, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 +/obj/machinery/door/airlock/centcom{ + name = "Auxillary Dock"; + opacity = 1; + req_access_txt = "" }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"tf" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 5; - pixel_y = -2 - }, -/obj/item/toy/cards/deck/syndicate{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) +/turf/open/floor/plating, +/area/syndicate_mothership) "tg" = ( -/obj/machinery/computer/telecrystals/uplinker, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership/control) -"th" = ( -/obj/structure/closet/cardboard, +/obj/item/soap/syndie, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) +"tl" = ( /obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"ti" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"tn" = ( +/turf/open/floor/plating, +/area/syndicate_mothership) +"tm" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) +/turf/open/floor/plating, +/area/syndicate_mothership) "to" = ( /obj/machinery/computer/shuttle/ferry{ dir = 4 @@ -8945,6 +8729,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/centcom/evac) +"tW" = ( +/obj/structure/rack, +/obj/item/nullrod/claymore{ + damtype = "stamina"; + force = 30 + }, +/turf/open/floor/wood, +/area/centcom/holding) "tX" = ( /obj/machinery/door/airlock{ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; @@ -8952,38 +8744,36 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) -"tZ" = ( -/mob/living/simple_animal/bot/medbot{ - desc = "When engaged in combat, the vanquishing of thine enemy can be the warrior's only concern."; - name = "Hattori"; - radio_key = null; - stationary_mode = 1 +"tY" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"uc" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 }, -/turf/open/floor/wood, -/area/centcom/holding) -"ub" = ( -/obj/structure/ladder/unbreakable/binary/space, -/turf/open/indestructible/airblock, -/area/fabric_of_reality) -"ud" = ( -/obj/machinery/door/poddoor/shutters{ - id = "nukeop_ready"; - name = "shuttle dock" - }, -/turf/open/floor/plating, -/area/syndicate_mothership/control) -"ue" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"ui" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) +"ud" = ( +/obj/item/storage/crayons, +/obj/structure/table, +/obj/item/storage/crayons, +/turf/open/floor/plasteel/freezer{ + dir = 2 + }, +/area/syndicate_mothership) +"uf" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/three) "uj" = ( /obj/item/clipboard, /obj/item/folder/red, @@ -9261,32 +9051,27 @@ /obj/structure/chair/wood/wings, /turf/open/floor/carpet, /area/wizard_station) -"uJ" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "150" - }, -/turf/open/floor/plating, -/area/syndicate_mothership/control) -"uL" = ( -/obj/machinery/button/door{ - id = "nukeop_ready"; - name = "mission launch control"; - pixel_x = -26; - req_access_txt = "151" - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ +"uG" = ( +/obj/structure/chair{ dir = 1 }, -/turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"uM" = ( -/obj/machinery/computer/telecrystals/uplinker, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, /turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership/control) +/area/centcom/evac) +"uJ" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/closed/indestructible/riveted, +/area/syndicate_mothership) +"uM" = ( +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) "uO" = ( /obj/machinery/door/airlock/centcom{ name = "Shuttle Control Office"; @@ -9553,41 +9338,58 @@ }, /turf/open/floor/carpet, /area/wizard_station) -"vq" = ( -/obj/structure/window/reinforced{ +"vo" = ( +/obj/machinery/door/airlock/centcom{ + name = "CentCom Supply"; + req_access_txt = "106" + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"vs" = ( +/obj/machinery/vending/hydronutrients, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ dir = 4 }, -/turf/open/floor/carpet/black, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, /area/centcom/holding) -"vr" = ( -/obj/structure/dresser, -/obj/machinery/light{ - dir = 1 +"vt" = ( +/obj/structure/rack, +/obj/item/nullrod/claymore/katana{ + damtype = "stamina"; + force = 30 }, /turf/open/floor/wood, /area/centcom/holding) "vu" = ( -/obj/item/storage/box/drinkingglasses, -/obj/item/reagent_containers/food/drinks/bottle/rum, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"vv" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"vw" = ( -/obj/structure/table/wood, -/obj/item/syndicatedetonator{ - desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press." +/obj/structure/chair/stool, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 }, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"vx" = ( -/obj/structure/table/wood, -/obj/item/toy/nuke, -/turf/open/floor/wood, -/area/syndicate_mothership/control) +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"vw" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/mob/living/simple_animal/hostile/carp/cayenne, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"vy" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) "vA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/directions/engineering{ @@ -9946,67 +9748,37 @@ }, /turf/open/floor/carpet, /area/wizard_station) -"we" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "sink"; - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"wg" = ( -/turf/open/floor/wood, -/area/centcom/holding) -"wi" = ( -/obj/docking_port/stationary{ - dir = 4; - dwidth = 2; - height = 7; - id = "pod_away"; - name = "recovery ship"; - width = 5 - }, -/turf/open/space, -/area/space) +"wh" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/three) "wl" = ( -/obj/machinery/light, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"wm" = ( -/obj/effect/landmark/start/nukeop_leader, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"wn" = ( -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"wo" = ( -/obj/machinery/door/window{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Uplink Management Control"; - req_access_txt = "151" - }, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"wp" = ( -/obj/machinery/light, +/obj/structure/table/wood, +/obj/item/paicard, /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ dir = 1 }, /turf/open/floor/plasteel, -/area/syndicate_mothership/control) +/area/syndicate_mothership) +"wm" = ( +/obj/structure/table/wood, +/obj/item/pizzabox, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"wp" = ( +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"wq" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/centcom/evac) "wr" = ( /obj/structure/chair{ dir = 4 @@ -10248,66 +10020,24 @@ /obj/item/toy/cards/deck, /turf/open/floor/carpet, /area/wizard_station) -"wV" = ( -/obj/machinery/computer/telecrystals/boss{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership/control) -"wW" = ( -/obj/structure/sign/map/left{ - pixel_y = -32 - }, -/obj/structure/rack{ - icon = 'icons/obj/stationobjs.dmi'; - icon_state = "minibar_left"; - name = "skeletal minibar" - }, -/obj/item/reagent_containers/food/drinks/bottle/vodka, -/turf/open/floor/wood, -/area/syndicate_mothership/control) "wX" = ( -/obj/structure/sign/map/right{ - pixel_y = -32 - }, -/obj/structure/rack{ - icon = 'icons/obj/stationobjs.dmi'; - icon_state = "minibar_right"; - name = "skeletal minibar" - }, -/obj/item/reagent_containers/food/drinks/bottle/gin, -/turf/open/floor/wood, -/area/syndicate_mothership/control) -"wY" = ( -/obj/machinery/door/airlock/centcom{ - name = "Equipment Room"; - opacity = 1; - req_access_txt = "150" - }, /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ dir = 1 }, +/obj/structure/chair/stool, /turf/open/floor/plasteel, -/area/syndicate_mothership/control) -"wZ" = ( -/obj/structure/chair/wood/wings{ - dir = 3 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/wood, -/area/centcom/holding) +/area/syndicate_mothership) "xa" = ( -/obj/structure/chair/wood/wings{ - dir = 3 +/obj/machinery/door/window/northright{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Security Desk"; + req_access_txt = "103" }, -/turf/open/floor/wood, -/area/centcom/holding) +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) "xb" = ( /obj/docking_port/stationary{ dir = 8; @@ -10517,68 +10247,22 @@ /obj/machinery/light, /turf/open/floor/carpet, /area/wizard_station) -"xC" = ( -/obj/structure/window/reinforced, -/turf/open/floor/carpet/black, -/area/centcom/holding) "xG" = ( -/turf/open/floor/plasteel/dark, -/area/syndicate_mothership/control) -"xH" = ( -/obj/machinery/mech_bay_recharge_port, -/turf/open/floor/plating, -/area/syndicate_mothership/control) -"xI" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mech_bay_recharge_floor, -/area/syndicate_mothership/control) -"xJ" = ( -/obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/plating, -/area/syndicate_mothership/control) -"xK" = ( -/obj/machinery/vending/tool, -/turf/open/floor/plasteel/dark, -/area/syndicate_mothership/control) -"xL" = ( -/obj/structure/closet/cardboard/metal, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"xM" = ( +/obj/structure/closet/syndicate/personal, /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"xN" = ( -/obj/docking_port/stationary{ - area_type = /area/syndicate_mothership/control; - dir = 1; - dwidth = 3; - height = 7; - name = "escape pod loader"; - roundstart_template = /datum/map_template/shuttle/assault_pod/default; - width = 7 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"xO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"xP" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) +"xI" = ( +/obj/effect/landmark/start/nukeop, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"xJ" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) "xQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/light, @@ -10687,24 +10371,25 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) +"yc" = ( +/obj/machinery/vending/snack, +/turf/open/floor/plasteel, +/area/centcom/supplypod) "yd" = ( -/obj/effect/turf_decal/tile/brown{ +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/palebush, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/light{ dir = 8 }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) -"yg" = ( -/obj/structure/rack, -/obj/item/nullrod/scythe/vibro{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, +/turf/open/floor/grass, /area/centcom/holding) +"yg" = ( +/obj/structure/chair, +/turf/open/floor/mineral/titanium, +/area/centcom/evac) "yj" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -10719,25 +10404,6 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"yk" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"yl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) -"ym" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light, -/turf/open/floor/plating/airless, -/area/syndicate_mothership/control) "yn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum, @@ -10966,19 +10632,23 @@ /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/grass, /area/wizard_station) +"yM" = ( +/obj/structure/table/wood/bar, +/obj/structure/safe/floor, +/obj/item/seeds/cherry/bomb, +/turf/open/floor/wood, +/area/centcom/holding) "yN" = ( +/obj/structure/table/reinforced, +/obj/item/paper/pamphlet/centcom/visitor_info, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"yP" = ( /obj/machinery/light{ dir = 4 }, -/turf/open/floor/wood, -/area/centcom/holding) -"yO" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/mob/living/simple_animal/chicken, -/turf/open/floor/grass, -/area/centcom/holding) +/turf/open/floor/plating, +/area/syndicate_mothership) "yU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -10993,10 +10663,11 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"yX" = ( -/obj/structure/chair/stool, -/turf/open/floor/plasteel/dark, -/area/syndicate_mothership/control) +"yV" = ( +/obj/structure/table, +/obj/item/kitchen/rollingpin, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) "yY" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, @@ -11184,6 +10855,12 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) +"zn" = ( +/obj/machinery/door/airlock/external{ + req_one_access_txt = "150" + }, +/turf/open/floor/plating, +/area/syndicate_mothership) "zo" = ( /obj/structure/destructible/cult/tome, /turf/open/floor/engine/cult, @@ -11205,29 +10882,24 @@ /obj/item/reagent_containers/food/snacks/meat/slab/corgi, /turf/open/floor/grass, /area/wizard_station) -"zt" = ( -/obj/machinery/light{ - dir = 8 - }, +"zs" = ( +/obj/machinery/vending/tool, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) +"zu" = ( +/obj/item/storage/box/drinkingglasses, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/structure/table/wood, /turf/open/floor/wood, -/area/centcom/holding) +/area/syndicate_mothership) "zx" = ( /obj/structure/closet/syndicate/personal, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 6 }, /turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership/control) -"zy" = ( -/obj/structure/table, -/obj/item/gun/energy/ionrifle{ - pin = /obj/item/firing_pin - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership/control) +/area/syndicate_mothership) "zz" = ( /obj/structure/table/wood, /obj/item/storage/box/drinkingglasses, @@ -11365,15 +11037,18 @@ /turf/open/floor/plating/asteroid, /area/centcom/evac) "zM" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 +/obj/machinery/button/door{ + id = "nukeop_ready"; + name = "mission launch control"; + pixel_x = -26; + req_access_txt = "151" }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) +/turf/open/floor/plasteel, +/area/syndicate_mothership) "zN" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/engine/cult, @@ -11399,24 +11074,38 @@ }, /turf/open/floor/grass, /area/wizard_station) -"zX" = ( -/obj/machinery/light{ - dir = 8 +"zR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/obj/structure/rack, -/obj/item/nullrod/claymore/glowing{ - damtype = "stamina"; - force = 30 +/turf/open/floor/plating, +/area/syndicate_mothership) +"zU" = ( +/obj/structure/closet/crate/freezer, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"zV" = ( +/obj/structure/closet/secure_closet/freezer/meat{ + locked = 0 }, -/turf/open/floor/wood, +/obj/item/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, +/obj/item/reagent_containers/food/snacks/carpmeat, +/turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"zZ" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 +"zX" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) +/obj/item/soap/deluxe, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Aa" = ( +/turf/open/floor/mech_bay_recharge_floor, +/area/syndicate_mothership) "Ab" = ( /obj/machinery/photocopier, /turf/open/floor/plasteel/grimy, @@ -11652,55 +11341,17 @@ /obj/effect/decal/remains/xeno, /turf/open/floor/grass, /area/wizard_station) -"AC" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) "AD" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/light{ - dir = 8 +/obj/machinery/door/airlock/centcom{ + name = "Leader's Room"; + req_one_access_txt = "151" }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"AF" = ( -/obj/structure/chair, -/turf/open/floor/mineral/titanium, -/area/centcom/evac) +/turf/open/floor/plasteel, +/area/syndicate_mothership) "AG" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) -"AI" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) +/obj/structure/ladder/unbreakable/binary/space, +/turf/open/indestructible/airblock, +/area/fabric_of_reality) "AJ" = ( /obj/structure/chair/comfy/brown{ color = "#596479"; @@ -11910,33 +11561,31 @@ /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /turf/open/floor/grass, /area/wizard_station) -"Bm" = ( -/obj/machinery/light{ +"Bl" = ( +/obj/machinery/mech_bay_recharge_port, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Bo" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/item/reagent_containers/glass/beaker/large, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/obj/structure/rack, -/obj/item/nullrod/claymore/saber{ - damtype = "stamina"; - force = 30 - }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Bs" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement, /turf/open/floor/wood, /area/centcom/holding) -"Bn" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"Bo" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"Bp" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel, -/area/centcom/supplypod) "Bu" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -12254,11 +11903,12 @@ /turf/open/floor/engine/cult, /area/wizard_station) "BV" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 +/obj/machinery/chem_dispenser/drinks/beer, +/turf/closed/indestructible{ + icon = 'icons/turf/walls/wood_wall.dmi'; + icon_state = "wood"; + smooth = 1 }, -/turf/open/floor/carpet/black, /area/centcom/holding) "BY" = ( /obj/item/toy/figure/syndie, @@ -12395,13 +12045,6 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) -"Cm" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) "Cp" = ( /obj/structure/statue/uranium/nuke, /turf/open/floor/plating/asteroid/snow/airless, @@ -12818,12 +12461,16 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/evac) -"CU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"CT" = ( +/obj/machinery/vr_sleeper{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) +/turf/open/floor/wood, +/area/centcom/holding) +"CV" = ( +/obj/structure/chair/stool, +/turf/open/floor/wood, +/area/centcom/holding) "CX" = ( /obj/structure/closet/secure_closet/security, /obj/item/storage/belt/security/full, @@ -13010,26 +12657,29 @@ /turf/open/floor/plasteel/dark, /area/centcom/evac) "Di" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) +/turf/closed/indestructible/riveted, +/area/ai_multicam_room) "Dj" = ( -/obj/structure/flora/ausbushes/fernybush, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/palebush, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/light{ +/obj/machinery/vr_sleeper{ dir = 8 }, -/turf/open/floor/grass, -/area/centcom/holding) -"Dk" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, /turf/open/floor/wood, /area/centcom/holding) +"Dk" = ( +/obj/structure/table, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"Do" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/door/window/westleft{ + name = "Uplink Management Control"; + req_access_txt = "151" + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) "Dq" = ( /obj/machinery/door/airlock/external, /obj/effect/turf_decal/stripes/line{ @@ -13101,15 +12751,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/evac) -"Dy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) "Dz" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -13861,19 +13502,21 @@ /obj/structure/chair/stool, /turf/open/floor/carpet/black, /area/centcom/holding) -"Fd" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) +"Fg" = ( +/obj/structure/flora/grass/brown, +/obj/effect/light_emitter, +/turf/open/floor/plating/asteroid/snow/airless, +/area/syndicate_mothership) "Fh" = ( /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) "Fi" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/sake, +/obj/structure/chair/wood/wings{ + dir = 3 + }, +/obj/machinery/light{ + dir = 1 + }, /turf/open/floor/wood, /area/centcom/holding) "Fj" = ( @@ -14173,6 +13816,21 @@ "FX" = ( /turf/open/floor/plasteel/stairs, /area/centcom/holding) +"FZ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"Ga" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/three) "Gb" = ( /obj/machinery/shower{ dir = 4 @@ -14372,6 +14030,12 @@ }, /turf/open/lava/airless, /area/wizard_station) +"GA" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) "GC" = ( /obj/structure/table, /obj/structure/bedsheetbin, @@ -14701,6 +14365,15 @@ }, /turf/open/floor/wood, /area/centcom/holding) +"Ha" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) "Hb" = ( /obj/structure/sink{ dir = 8; @@ -14978,23 +14651,6 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) -"HE" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/tdome/tdomeobserve) "HF" = ( /obj/structure/sink{ dir = 4; @@ -15124,22 +14780,23 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "HQ" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks{ - dir = 8 +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "sink"; + pixel_y = 28 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/green{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/tdome/tdomeobserve) +/turf/open/floor/plasteel/white, +/area/centcom/holding) "HR" = ( /obj/structure/sink{ dir = 4; @@ -15622,6 +15279,13 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) +"IK" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) "IL" = ( /obj/effect/landmark/thunderdome/one, /obj/effect/turf_decal/stripes/line{ @@ -15643,10 +15307,6 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) -"IO" = ( -/obj/machinery/vending/cola, -/turf/open/floor/plasteel, -/area/centcom/supplypod) "IP" = ( /obj/structure/rack, /obj/item/clothing/under/color/green, @@ -15975,11 +15635,13 @@ /turf/open/floor/plasteel, /area/tdome/arena) "JE" = ( -/obj/machinery/light{ - dir = 8 +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "sink"; + pixel_y = 28 }, -/turf/open/floor/mineral/titanium, -/area/centcom/evac) +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) "JF" = ( /obj/machinery/computer/camera_advanced/abductor{ team_number = 1 @@ -16014,13 +15676,13 @@ "JI" = ( /turf/closed/indestructible/fakeglass, /area/tdome/tdomeadmin) -"JJ" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ +"JK" = ( +/obj/machinery/computer/telecrystals/uplinker, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) "JL" = ( /obj/structure/rack, /obj/item/clothing/under/color/green, @@ -16152,9 +15814,6 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) -"JV" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) "JX" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -16210,10 +15869,6 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) -"Kf" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/space/basic, -/area/centcom/supplypod) "Kg" = ( /turf/closed/indestructible/fakedoor{ name = "Thunderdome Admin" @@ -16477,16 +16132,6 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) -"Kz" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) "KA" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -16593,6 +16238,12 @@ "KS" = ( /turf/closed/wall/mineral/titanium/interior, /area/centcom/evac) +"KT" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) "KU" = ( /obj/structure/closet/emcloset, /turf/open/floor/mineral/titanium/blue, @@ -16662,13 +16313,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) -"Lk" = ( -/obj/machinery/door/airlock/centcom{ - name = "CentCom Supply"; - req_access_txt = "106" - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) "Lp" = ( /obj/structure/chair{ dir = 4 @@ -16721,8 +16365,9 @@ /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) "LE" = ( -/obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium/red, +/obj/structure/table, +/obj/item/radio/off, +/turf/open/floor/mineral/titanium/blue, /area/centcom/evac) "LG" = ( /obj/structure/filingcabinet, @@ -16736,6 +16381,14 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) +"LJ" = ( +/obj/structure/table, +/obj/item/radio/off, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/evac) "LK" = ( /obj/machinery/abductor/experiment{ team_number = 2 @@ -16928,7 +16581,53 @@ /turf/open/floor/plasteel, /area/tdome/arena) "Mk" = ( -/obj/structure/table/wood, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Mm" = ( +/turf/open/floor/grass, +/area/centcom/holding) +"Mt" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"Mu" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Mv" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"Mx" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/nullrod/claymore/saber/red{ + damtype = "stamina"; + force = 30 + }, /turf/open/floor/wood, /area/centcom/holding) "My" = ( @@ -16945,14 +16644,13 @@ }, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) -"MA" = ( -/obj/item/clothing/under/jabroni, -/obj/item/clothing/under/geisha, -/obj/item/clothing/under/kilt, -/obj/structure/closet, -/obj/item/clothing/under/roman, -/turf/open/floor/wood, -/area/centcom/holding) +"MB" = ( +/turf/open/indestructible/binary, +/area/fabric_of_reality) +"MC" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel, +/area/centcom/supplypod) "MD" = ( /obj/effect/light_emitter{ set_cap = 1; @@ -16971,12 +16669,62 @@ }, /turf/open/floor/wood, /area/wizard_station) -"MH" = ( +"MF" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/sashimi, +/obj/item/paper_bin, +/obj/item/pen/red, /turf/open/floor/wood, +/area/syndicate_mothership) +"MG" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/window/eastright{ + dir = 8; + name = "Animal Pen" + }, +/turf/open/floor/grass, /area/centcom/holding) +"MH" = ( +/obj/structure/ladder/unbreakable/binary/unlinked, +/turf/open/indestructible/airblock, +/area/fabric_of_reality) "MI" = ( +/turf/open/floor/plating, +/area/syndicate_mothership) +"MM" = ( +/obj/structure/window/reinforced, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"MP" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"MR" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"MS" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/enzyme, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"MT" = ( +/obj/machinery/processor, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"MU" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/two) +"Nc" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 }, @@ -16984,31 +16732,28 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) -"MN" = ( +/area/centcom/supplypod/loading/one) +"Nd" = ( +/turf/closed/indestructible{ + icon = 'icons/turf/walls/wood_wall.dmi'; + icon_state = "wood"; + smooth = 1 + }, +/area/centcom/holding) +"Ni" = ( /obj/structure/table/reinforced, -/obj/item/folder/white, -/obj/item/pen/blue, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"MP" = ( -/turf/open/ai_visible, -/area/ai_multicam_room) -"MT" = ( -/turf/open/indestructible/airblock, -/area/fabric_of_reality) -"Nb" = ( -/turf/open/floor/grass, -/area/centcom/holding) -"Nc" = ( -/obj/structure/closet/chefcloset, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"Nf" = ( -/obj/machinery/light{ +/obj/item/clipboard, +/obj/item/stamp, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"Nj" = ( +/obj/structure/window/reinforced{ dir = 8 }, -/turf/open/floor/plasteel/white, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/carpet/black, /area/centcom/holding) "Nk" = ( /obj/machinery/door/airlock/centcom{ @@ -17025,30 +16770,76 @@ /turf/open/floor/plasteel, /area/tdome/tdomeobserve) "Nm" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/structure/closet/crate, +/obj/item/vending_refill/autodrobe, +/obj/item/stack/sheet/paperframes/fifty, +/obj/item/stack/sheet/paperframes/fifty, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/wood, +/area/centcom/holding) +"Nn" = ( +/obj/structure/closet/secure_closet/hydroponics{ + locked = 0 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/green{ dir = 1 }, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) -"Nq" = ( -/obj/machinery/door/airlock/centcom{ - name = "CentCom Supply"; - req_access_txt = "106" +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Nu" = ( +/turf/open/floor/wood, +/area/syndicate_mothership) +"Nv" = ( +/obj/structure/table, +/turf/open/floor/plasteel/cafeteria{ + dir = 2 + }, +/area/centcom/holding) +"Nw" = ( +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Ny" = ( +/obj/machinery/modular_computer/console/preset/research, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Nz" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"Nt" = ( -/obj/effect/landmark/ai_multicam_room, -/turf/open/ai_visible, -/area/ai_multicam_room) -"NE" = ( -/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plasteel, -/area/centcom/supplypod) +/area/centcom/supplypod/loading/two) +"ND" = ( +/obj/structure/closet, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/iv_drip, +/obj/item/roller, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/medspray/synthflesh, +/obj/item/reagent_containers/medspray/synthflesh, +/obj/item/reagent_containers/medspray/synthflesh, +/turf/open/floor/wood, +/area/centcom/holding) +"NF" = ( +/obj/structure/ladder/unbreakable/binary, +/turf/open/indestructible/airblock, +/area/fabric_of_reality) "NG" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -17064,24 +16855,28 @@ /turf/open/floor/plasteel, /area/centcom/control) "NJ" = ( -/obj/structure/rack, -/obj/item/nullrod/claymore/katana{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"NK" = ( /obj/structure/table, -/obj/item/storage/box/handcuffs, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"NP" = ( -/obj/structure/urinal{ - pixel_y = 28 +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/seeds/pumpkin/blumpkin, +/obj/item/paper/guides/jobs/hydroponics, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 }, /turf/open/floor/plasteel/white, /area/centcom/holding) +"NT" = ( +/obj/structure/window/paperframe{ + CanAtmosPass = 0 + }, +/turf/open/floor/wood, +/area/centcom/holding) "NU" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom"; @@ -17095,44 +16890,46 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"Ob" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Oc" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"Od" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement, -/turf/open/floor/wood, -/area/centcom/holding) -"Of" = ( -/obj/machinery/vr_sleeper{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Og" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_y = 5 +"NV" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 }, +/obj/machinery/vending/cola/sodie, /turf/open/floor/plasteel, +/area/syndicate_mothership) +"Oa" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/syndicate_mothership) +"Ob" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"Oh" = ( +"Oc" = ( /obj/structure/table, -/obj/item/book/manual/chef_recipes, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 6 + }, /turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) +/area/syndicate_mothership) +"Oe" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"Oh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) "Oj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -17147,7 +16944,53 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"Ol" = ( +"Om" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/three) +"Op" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/button/door{ + id = "lmrestroom"; + name = "Lock Control"; + pixel_y = -28 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Or" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/two) +"Ou" = ( +/turf/closed/indestructible/fakedoor{ + name = "Cold Storage" + }, +/area/syndicate_mothership) +"Ov" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"Oz" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"OB" = ( +/obj/machinery/door/airlock/centcom{ + name = "Barracks"; + req_access_txt = "150" + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"OE" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -17157,126 +17000,346 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) -"Oo" = ( -/obj/structure/table/wood/bar, -/obj/structure/mirror{ - pixel_y = 28 +"OG" = ( +/obj/structure/dresser, +/obj/machinery/light{ + dir = 1 }, /turf/open/floor/wood, /area/centcom/holding) -"Op" = ( -/obj/structure/table/reinforced, -/obj/item/paper/pamphlet/centcom/visitor_info, -/turf/open/floor/plasteel, +"OH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"Oq" = ( -/obj/structure/chair{ - dir = 1 +"OL" = ( +/obj/structure/mineral_door/paperframe{ + name = "Dojo" }, +/turf/open/floor/wood, +/area/centcom/holding) +"OM" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"ON" = ( +/obj/structure/table, +/obj/item/storage/box/handcuffs, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) -"Ou" = ( -/obj/structure/flora/ausbushes/fernybush, +"OS" = ( +/obj/structure/mecha_wreckage/mauler, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"OU" = ( +/obj/item/clothing/under/jabroni, +/obj/item/clothing/under/geisha, +/obj/item/clothing/under/kilt, +/obj/structure/closet, +/obj/item/clothing/under/roman, +/turf/open/floor/wood, +/area/centcom/holding) +"OV" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/syndicate_mothership) +"OZ" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Pa" = ( +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Pg" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"Ph" = ( +/obj/structure/closet/crate/bin, +/turf/open/floor/wood, +/area/centcom/holding) +"Pl" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"Pn" = ( +/turf/closed/indestructible/fakedoor{ + name = "Equipment Storage" + }, +/area/syndicate_mothership) +"Po" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"Pq" = ( +/obj/structure/urinal{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Pr" = ( +/obj/structure/table, +/obj/item/book/manual/chef_recipes, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Ps" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"Pv" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/four) +"Pw" = ( +/obj/machinery/light/small, +/turf/open/floor/wood, +/area/syndicate_mothership) +"Px" = ( +/obj/machinery/vr_sleeper, +/turf/open/floor/wood, +/area/centcom/holding) +"PA" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"PD" = ( +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"PF" = ( +/obj/machinery/vr_sleeper{ + dir = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"PG" = ( +/obj/structure/table/reinforced, +/obj/item/camera, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"PI" = ( +/obj/machinery/biogenerator, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"PJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"PL" = ( +/obj/machinery/autolathe, +/turf/open/floor/wood, +/area/centcom/holding) +"PO" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"PP" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "150" + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"PS" = ( +/obj/machinery/computer/shuttle/syndicate/recall, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"PU" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/obj/item/pen/blue, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"PV" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/firingrange) +"PX" = ( +/obj/machinery/computer/arcade/battle, +/turf/open/floor/wood, +/area/centcom/holding) +"PY" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"PZ" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/four) +"Qa" = ( +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/three) +"Qb" = ( +/obj/machinery/door/airlock/titanium{ + name = "Cockpit"; + req_access_txt = "109" + }, +/turf/open/floor/mineral/titanium, +/area/centcom/evac) +"Qe" = ( +/turf/open/ai_visible, +/area/ai_multicam_room) +"Qk" = ( /obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/palebush, /obj/structure/window/reinforced/fulltile, /turf/open/floor/grass, /area/centcom/holding) -"Ow" = ( -/obj/machinery/door/airlock/wood{ - req_one_access_txt = "0" - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Ox" = ( -/obj/structure/chair/wood/normal{ - dir = 1 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"OD" = ( -/obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"OG" = ( -/obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, +"Qm" = ( +/obj/singularity/wizard/mapped, +/turf/open/indestructible/binary, +/area/fabric_of_reality) +"Qo" = ( /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) -"OO" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ +"Qq" = ( +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) +"Qt" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/pizzaslice/mushroom, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/effect/turf_decal/tile/red{ +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"Qu" = ( +/obj/machinery/vr_sleeper{ dir = 8 }, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) -"OS" = ( -/turf/open/floor/plasteel/dark, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"QA" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"QB" = ( +/obj/machinery/computer/telecrystals/uplinker, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) +"QE" = ( +/turf/open/floor/plasteel, /area/centcom/supplypod) -"OX" = ( +"QH" = ( +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "BrewMaster 2199"; + pixel_x = -4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"QI" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"QK" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/one) +"QL" = ( /obj/structure/flora/ausbushes/fernybush, /obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/palebush, /obj/structure/window/reinforced/fulltile, /turf/open/floor/grass, /area/centcom/holding) -"Pb" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 +"QP" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/turf/open/floor/plating, +/area/syndicate_mothership) +"QQ" = ( +/obj/machinery/computer/telecrystals/uplinker, +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) -"Pe" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) -"Pf" = ( -/obj/structure/table, -/obj/item/radio/off, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/evac) -"Pj" = ( -/obj/machinery/computer/arcade/orion_trail, -/turf/open/floor/wood, -/area/centcom/holding) -"Po" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) -"Pr" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"Pt" = ( -/obj/machinery/vending/snack, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"Py" = ( -/obj/machinery/vending/dinnerware, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"PA" = ( /turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"PB" = ( +/area/syndicate_mothership) +"QR" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"QT" = ( /obj/machinery/chem_dispenser/drinks, /turf/closed/indestructible{ icon = 'icons/turf/walls/wood_wall.dmi'; @@ -17284,7 +17347,96 @@ smooth = 1 }, /area/centcom/holding) -"PU" = ( +"QV" = ( +/turf/closed/indestructible/riveted, +/area/syndicate_mothership) +"QW" = ( +/obj/structure/closet/secure_closet/freezer/kitchen{ + locked = 0 + }, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"QX" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) +"Ra" = ( +/obj/machinery/door/window/eastright, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"Rb" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Rd" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Re" = ( +/obj/structure/mineral_door/paperframe, +/turf/open/floor/wood, +/area/centcom/holding) +"Rf" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"Rh" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/centcom/holding) +"Ri" = ( +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Rj" = ( +/obj/machinery/vending/hydroseeds, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Rl" = ( +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) +"Rm" = ( +/obj/structure/chair/wood/wings{ + dir = 3 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Ro" = ( /obj/structure/closet{ anchored = 1; desc = "A storage unit for plasmaman internals, courtesy of the Spider Clan."; @@ -17303,144 +17455,27 @@ /obj/item/tank/internals/plasmaman/belt/full, /turf/open/floor/wood, /area/centcom/holding) -"PX" = ( -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"PY" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"Qa" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/mineral/titanium, -/area/centcom/evac) -"Qb" = ( -/obj/structure/chair/stool, -/turf/open/floor/wood, -/area/centcom/holding) -"Qe" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-10" - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Qf" = ( -/mob/living/simple_animal/bot/medbot{ - desc = "A little medical robot. You can make out the word \"sincerity\" on its chassis."; - name = "Hijikata"; - radio_key = null; - stationary_mode = 1 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Ql" = ( -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/basketball) -"Qq" = ( +"Rz" = ( +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plating, +/area/syndicate_mothership) +"RD" = ( +/obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ - dir = 8 + dir = 4 }, /obj/effect/turf_decal/tile/red{ dir = 1 }, /turf/open/floor/holofloor, /area/holodeck/rec_center/basketball) -"Qs" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 +"RL" = ( +/obj/structure/mineral_door/paperframe{ + name = "Arcade" }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) -"Qv" = ( -/obj/structure/closet, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/iv_drip, -/obj/item/roller, -/obj/item/storage/firstaid/regular, -/obj/item/reagent_containers/medspray/synthflesh, -/obj/item/reagent_containers/medspray/synthflesh, -/obj/item/reagent_containers/medspray/synthflesh, /turf/open/floor/wood, /area/centcom/holding) -"QE" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"QG" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"QK" = ( -/obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/seeds/pumpkin/blumpkin, -/obj/item/paper/guides/jobs/hydroponics, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"QO" = ( -/obj/structure/chair{ - dir = 4; - name = "Prosecution" - }, -/turf/open/floor/mineral/titanium, -/area/centcom/evac) -"QQ" = ( -/obj/structure/table/reinforced, -/obj/item/clipboard, -/obj/item/stamp, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"QV" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/grass, -/area/centcom/holding) -"QY" = ( -/obj/structure/table, -/obj/item/assembly/flash/handheld, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"QZ" = ( +"RQ" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21"; pixel_x = -3; @@ -17448,57 +17483,66 @@ }, /turf/open/floor/wood, /area/centcom/holding) -"Ra" = ( -/obj/machinery/vr_sleeper, +"RR" = ( +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/four) +"RS" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/nullrod/claymore/glowing{ + damtype = "stamina"; + force = 30 + }, /turf/open/floor/wood, /area/centcom/holding) -"Rb" = ( -/obj/machinery/processor, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"Rc" = ( -/obj/machinery/vending/clothing, -/turf/open/floor/wood, -/area/centcom/holding) -"Re" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"Rf" = ( -/obj/structure/window/reinforced{ +"RZ" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/turf/open/floor/wood, -/area/centcom/holding) -"Rg" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ +/obj/machinery/light{ dir = 4 }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"Sb" = ( +/obj/structure/table/wood, +/obj/item/toy/prize/mauler{ + pixel_y = 12 + }, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"Sd" = ( +/turf/open/floor/carpet/black, +/area/centcom/holding) +"Sf" = ( +/obj/structure/chair{ + dir = 4; + name = "Prosecution" + }, +/turf/open/floor/mineral/titanium, +/area/centcom/evac) +"Sg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Sh" = ( +/obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 8 }, /turf/open/floor/plasteel, -/area/centcom/supplypod) -"Ri" = ( -/obj/structure/mineral_door/paperframe{ - name = "Arcade" - }, +/area/centcom/supplypod/loading/four) +"Si" = ( +/obj/structure/table/wood, +/obj/item/toy/nuke, /turf/open/floor/wood, -/area/centcom/holding) -"Rp" = ( -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/wood, -/area/centcom/holding) -"Rq" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"Ru" = ( +/area/syndicate_mothership) +"So" = ( /obj/structure/chair/wood/wings{ dir = 4 }, @@ -17507,39 +17551,282 @@ }, /turf/open/floor/wood, /area/centcom/holding) -"Ry" = ( -/obj/structure/table/reinforced, -/obj/item/pen, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"Rz" = ( -/obj/structure/ladder/unbreakable/binary/unlinked, -/turf/open/indestructible/airblock, -/area/fabric_of_reality) -"RC" = ( -/obj/effect/turf_decal/tile/brown, +"Sw" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Sy" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 }, /obj/effect/turf_decal/tile/brown{ - dir = 4 + dir = 1 }, /turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) -"RF" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 +/area/centcom/supplypod/loading/four) +"SB" = ( +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 8 }, -/obj/machinery/button/door{ - id = "lmrestroom"; - name = "Lock Control"; - pixel_y = -28 +/obj/machinery/shower{ + pixel_y = 12 }, /turf/open/floor/plasteel/white, /area/centcom/holding) -"RI" = ( +"SD" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) +"SF" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"SG" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/plasteel/cafeteria{ + dir = 2 + }, +/area/centcom/holding) +"SH" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) +"SI" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/two) +"SN" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"SP" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/space/basic, +/area/centcom/supplypod) +"SU" = ( +/obj/structure/table/wood, +/obj/item/camera/detective{ + desc = "A polaroid camera with extra capacity for social media marketing."; + name = "Professional camera" + }, +/obj/item/camera_film, +/obj/item/wallframe/newscaster, +/obj/item/paper_bin, +/obj/item/pen/fountain, +/turf/open/floor/wood, +/area/centcom/holding) +"SV" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"SW" = ( +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"SY" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/centcom/holding) +"Tb" = ( +/obj/structure/closet/crate/freezer/blood, +/turf/open/floor/wood, +/area/centcom/holding) +"Tj" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/vending/cigarette/syndicate, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"Tn" = ( +/obj/structure/table/wood/fancy, +/obj/item/candle/infinite{ + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"To" = ( +/turf/open/indestructible/airblock, +/area/fabric_of_reality) +"Tq" = ( +/obj/structure/table/wood/bar, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/turf/open/floor/wood, +/area/centcom/holding) +"Tr" = ( +/obj/structure/closet/chefcloset, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Tu" = ( +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/palebush, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/grass, +/area/centcom/holding) +"Tw" = ( +/obj/structure/closet{ + anchored = 1; + name = "Plasmaman suits" + }, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/turf/open/floor/wood, +/area/centcom/holding) +"Tz" = ( +/obj/effect/light_emitter, +/turf/open/floor/plating/asteroid/snow/airless, +/area/syndicate_mothership) +"TA" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/centcom/evac) +"TB" = ( +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"TF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) +"TK" = ( +/obj/structure/table/wood/bar, +/obj/structure/mirror{ + pixel_y = 28 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"TM" = ( +/mob/living/simple_animal/bot/medbot{ + desc = "When engaged in combat, the vanquishing of thine enemy can be the warrior's only concern."; + name = "Hattori"; + radio_key = null; + stationary_mode = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"TO" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"TP" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/syndicate_mothership) +"Ud" = ( +/obj/effect/landmark/holding_facility, +/turf/open/floor/wood, +/area/centcom/holding) +"Ug" = ( +/obj/machinery/door/poddoor/shuttledock{ + checkdir = 1; + name = "syndicate blast door"; + turftype = /turf/open/floor/plating/asteroid/snow + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Uh" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/nullrod/claymore/darkblade{ + damtype = "stamina"; + force = 30 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Uj" = ( +/obj/machinery/door/airlock/centcom{ + name = "Restroom"; + req_access_txt = "150" + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"Ul" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"Um" = ( /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, /obj/item/wirecutters, @@ -17560,264 +17847,6 @@ }, /turf/open/floor/plasteel/white, /area/centcom/holding) -"RK" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"RS" = ( -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "BrewMaster 2199"; - pixel_x = -4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"RT" = ( -/obj/structure/mineral_door/paperframe, -/turf/open/floor/wood, -/area/centcom/holding) -"RV" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"RX" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) -"Sa" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) -"Sc" = ( -/obj/machinery/door/airlock/wood, -/turf/open/floor/wood, -/area/centcom/holding) -"Sd" = ( -/obj/machinery/door/airlock/titanium{ - name = "Cockpit"; - req_access_txt = "109" - }, -/turf/open/floor/mineral/titanium, -/area/centcom/evac) -"Si" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) -"Sl" = ( -/obj/machinery/vending/hydroseeds, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Sm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"Sp" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"Sq" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/wood, -/area/centcom/holding) -"Sw" = ( -/obj/structure/rack, -/obj/item/nullrod/claymore{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Sx" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"Sz" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/wood, -/area/centcom/holding) -"SF" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"SK" = ( -/turf/closed/indestructible{ - icon = 'icons/turf/walls/wood_wall.dmi'; - icon_state = "wood"; - smooth = 1 - }, -/area/centcom/holding) -"SM" = ( -/obj/machinery/plantgenes/seedvault, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"SR" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"SW" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"SZ" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) -"Ta" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) -"Te" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) -"Tn" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Tw" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/beaker, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"TB" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/nullrod/claymore/darkblade{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"TV" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"TY" = ( -/obj/structure/chair/wood/wings{ - dir = 4 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Ua" = ( -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Uh" = ( -/obj/structure/curtain, -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/machinery/shower{ - pixel_y = 12 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Uk" = ( -/obj/effect/landmark/holding_facility, -/turf/open/floor/wood, -/area/centcom/holding) -"Ul" = ( -/turf/closed/indestructible/riveted, -/area/ai_multicam_room) "Un" = ( /obj/machinery/door/airlock/centcom{ name = "Thunderdome"; @@ -17830,80 +17859,51 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) -"Uq" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/firingrange) -"Ur" = ( -/obj/structure/table/wood/bar, -/obj/structure/safe/floor, -/obj/item/seeds/cherry/bomb, -/turf/open/floor/wood, -/area/centcom/holding) -"Us" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, +"Uu" = ( /obj/machinery/light{ dir = 8 }, -/turf/open/floor/wood, -/area/centcom/holding) -"Ut" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) +/turf/open/floor/plating, +/area/syndicate_mothership) "Uv" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) +/obj/structure/closet/crate/secure/gear, +/turf/open/floor/plating, +/area/syndicate_mothership) "Uw" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ +/obj/structure/chair{ dir = 4 }, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"Uy" = ( +/obj/structure/flora/bush, +/obj/effect/light_emitter, +/turf/open/floor/plating/asteroid/snow/airless, +/area/syndicate_mothership) +"UC" = ( +/obj/machinery/vending/cola, /turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) -"UB" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/palebush, -/obj/structure/window/reinforced/fulltile, -/turf/open/floor/grass, +/area/centcom/supplypod) +"UE" = ( +/obj/structure/chair/stool/bar, +/turf/open/floor/wood, /area/centcom/holding) -"UI" = ( +"UG" = ( +/obj/structure/flora/tree/pine, +/obj/effect/light_emitter, +/obj/effect/light_emitter, +/turf/open/floor/plating/asteroid/snow/airless, +/area/syndicate_mothership) +"UL" = ( +/obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ - dir = 1 + dir = 4 }, /obj/effect/turf_decal/tile/brown{ dir = 8 }, /turf/open/floor/plasteel, /area/centcom/supplypod) -"UN" = ( -/obj/machinery/vending/wallmed{ - name = "Emergency NanoMed"; - pixel_y = 28; - use_power = 0 - }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) "UO" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -17918,145 +17918,196 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"UR" = ( -/turf/open/indestructible/binary, -/area/fabric_of_reality) -"UW" = ( -/obj/machinery/deepfryer, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"UX" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"UZ" = ( -/obj/singularity/wizard/mapped, -/turf/open/indestructible/binary, -/area/fabric_of_reality) -"Va" = ( -/obj/structure/chair/wood/wings{ - dir = 8 - }, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = 28 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Vb" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "lmrestroom" - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Vf" = ( -/obj/structure/table, -/obj/item/radio/off, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/evac) -"Vi" = ( -/obj/structure/ladder/unbreakable/binary, -/turf/open/indestructible/airblock, -/area/fabric_of_reality) -"Vm" = ( -/obj/structure/table/reinforced, -/obj/item/camera, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"Vq" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/obj/item/reagent_containers/glass/beaker/large, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Vs" = ( -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"VA" = ( -/obj/machinery/door/window/northright{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Security Desk"; - req_access_txt = "103" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"VC" = ( -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/holofloor, -/area/holodeck/rec_center/firingrange) -"VD" = ( -/obj/structure/table, -/turf/open/floor/plasteel/cafeteria{ - dir = 2 - }, -/area/centcom/holding) -"VF" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"VJ" = ( -/obj/machinery/computer/arcade/battle, -/turf/open/floor/wood, -/area/centcom/holding) -"VL" = ( -/obj/structure/chair/wood/wings{ - dir = 1 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"VP" = ( -/obj/machinery/door/window/westleft, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"VT" = ( -/obj/structure/closet/secure_closet/freezer/kitchen{ - locked = 0 - }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"VW" = ( +"UQ" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 8 }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/one) +"UT" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"UV" = ( +/obj/machinery/computer/arcade, +/turf/open/floor/wood, +/area/centcom/holding) +"UW" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/three) +"UX" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 1 }, /turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) +/area/centcom/supplypod/loading/three) +"Va" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) +"Vb" = ( +/obj/structure/table/wood, +/obj/item/toy/figure/syndie, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"Vc" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/two) +"Vf" = ( +/obj/structure/table, +/obj/item/assembly/flash/handheld, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"Vj" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/door/window{ + name = "Tactical Toilet"; + icon_state = "right"; + dir = 8; + opacity = 1 + }, +/obj/structure/window/reinforced/tinted, +/turf/open/floor/plasteel/freezer{ + dir = 2 + }, +/area/syndicate_mothership) +"Vm" = ( +/obj/machinery/gibber, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Vt" = ( +/obj/item/paper/fluff/stations/centcom/disk_memo, +/obj/structure/noticeboard{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/syndicate_mothership) +"Vu" = ( +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/palebush, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/light, +/turf/open/floor/grass, +/area/centcom/holding) +"Vv" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Vw" = ( +/obj/structure/table, +/obj/item/kitchen/fork, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"Vx" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 2; + height = 7; + id = "pod_away"; + name = "recovery ship"; + width = 5 + }, +/turf/open/space, +/area/space) +"Vz" = ( +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + pixel_y = 28; + use_power = 0 + }, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"VA" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"VB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/one) +"VF" = ( +/obj/structure/rack, +/obj/item/nullrod/scythe/vibro{ + damtype = "stamina"; + force = 30 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"VO" = ( +/turf/closed/indestructible/riveted, +/area/centcom/supplypod) +"VP" = ( +/obj/structure/closet/cardboard, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plating, +/area/syndicate_mothership) +"VQ" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"VR" = ( +/obj/machinery/light, +/turf/open/floor/plating, +/area/syndicate_mothership) +"VT" = ( +/obj/structure/table/wood, +/obj/item/syndicatedetonator{ + desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press." + }, +/turf/open/floor/wood, +/area/syndicate_mothership) +"VX" = ( +/obj/effect/landmark/shuttle_import, +/turf/open/space/basic, +/area/space) "Wb" = ( -/obj/machinery/door/window/eastright, +/obj/machinery/door/window/westleft, /turf/open/floor/carpet/black, /area/centcom/holding) "Wc" = ( @@ -18073,52 +18124,38 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) -"Wh" = ( -/obj/machinery/autolathe, -/turf/open/floor/wood, -/area/centcom/holding) -"Wk" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "sink"; - pixel_y = 28 +"Wi" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"Wl" = ( -/obj/structure/table/wood/bar, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/turf/open/floor/wood, -/area/centcom/holding) -"Wm" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) -"Wu" = ( -/obj/machinery/gibber, -/obj/machinery/light{ +/obj/effect/turf_decal/tile/brown{ dir = 1 }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"Wv" = ( -/obj/structure/closet/secure_closet/freezer/fridge{ - locked = 0 - }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"WA" = ( -/turf/closed/indestructible/riveted, +/turf/open/floor/plasteel, /area/centcom/supplypod) -"WB" = ( -/obj/machinery/vending/autodrobe{ - req_access_txt = "0" +"Wj" = ( +/obj/structure/closet/cardboard/metal, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/turf/open/floor/wood, -/area/centcom/holding) +/turf/open/floor/plating, +/area/syndicate_mothership) +"Wr" = ( +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"WC" = ( +/obj/structure/table/reinforced, +/obj/item/pen, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"WH" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) "WJ" = ( /obj/machinery/door/airlock/centcom{ name = "Thunderdome Administration"; @@ -18133,19 +18170,25 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeadmin) -"WO" = ( -/obj/structure/flora/ausbushes/fernybush, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/palebush, -/obj/structure/window/reinforced/fulltile, -/turf/open/floor/grass, -/area/centcom/holding) -"WP" = ( -/obj/machinery/light{ - dir = 1 +"WK" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/one) +"WM" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"WO" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/centcom/supplypod) "WQ" = ( /obj/machinery/door/firedoor, @@ -18163,58 +18206,81 @@ /turf/open/floor/plasteel, /area/centcom/ferry) "WS" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/centcom/holding) -"WT" = ( -/obj/structure/closet{ - anchored = 1; - name = "Plasmaman suits" - }, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, +/obj/structure/closet/syndicate/personal, /turf/open/floor/wood, -/area/centcom/holding) -"WV" = ( -/obj/machinery/vr_sleeper{ - dir = 8 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Xa" = ( +/area/syndicate_mothership) +"WW" = ( +/obj/machinery/processor, +/turf/open/floor/plasteel/cafeteria, +/area/syndicate_mothership) +"Xd" = ( /obj/structure/flora/ausbushes/fernybush, /obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/palebush, /obj/structure/window/reinforced/fulltile, -/obj/machinery/light, /turf/open/floor/grass, /area/centcom/holding) -"Xb" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/four) -"Xd" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/turf/open/floor/plasteel/cafeteria, +"Xe" = ( +/obj/machinery/vending/autodrobe{ + req_access_txt = "0" + }, +/turf/open/floor/wood, /area/centcom/holding) "Xg" = ( -/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/basketball) +"Xk" = ( +/turf/open/floor/wood, +/area/centcom/holding) +"Xl" = ( +/obj/structure/closet/syndicate/personal, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) +"Xn" = ( +/obj/machinery/door/airlock/wood{ + req_one_access_txt = "0" + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Xo" = ( +/obj/machinery/vending/dinnerware, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Xq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Xr" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/centcom/supplypod) +/area/centcom/supplypod/loading/four) +"Xs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) "Xt" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -18227,20 +18293,21 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plasteel, /area/centcom/control) -"Xv" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/one) -"Xw" = ( -/obj/structure/closet/secure_closet/freezer/meat{ - locked = 0 +"Xu" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 }, -/obj/item/reagent_containers/food/snacks/carpmeat, -/obj/item/reagent_containers/food/snacks/carpmeat, -/obj/item/reagent_containers/food/snacks/carpmeat, -/obj/item/reagent_containers/food/snacks/carpmeat, -/obj/item/reagent_containers/food/snacks/carpmeat, -/turf/open/floor/plasteel/cafeteria, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/holofloor, +/area/holodeck/rec_center/firingrange) +"Xx" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, /area/centcom/holding) "Xy" = ( /obj/machinery/door/airlock/external{ @@ -18254,49 +18321,99 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) -"XH" = ( -/obj/structure/table/wood, -/obj/item/camera/detective{ - desc = "A polaroid camera with extra capacity for social media marketing."; - name = "Professional camera" - }, -/obj/item/camera_film, -/obj/item/wallframe/newscaster, -/obj/item/paper_bin, -/obj/item/pen/fountain, -/turf/open/floor/wood, -/area/centcom/holding) -"XP" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 +"XE" = ( +/obj/machinery/door/airlock/centcom{ + name = "Kitchen"; + req_access_txt = "150" }, /turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) -"XQ" = ( -/obj/structure/chair/stool/bar, +/area/syndicate_mothership) +"XL" = ( +/obj/machinery/door/airlock/wood, /turf/open/floor/wood, /area/centcom/holding) -"Yc" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"Yh" = ( -/obj/machinery/modular_computer/console/preset/research, -/obj/machinery/light{ - dir = 1 +"XM" = ( +/obj/structure/chair/wood/wings{ + dir = 4 }, /turf/open/floor/wood, /area/centcom/holding) -"Yp" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/turf/open/floor/plasteel/cafeteria, +"XT" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/sashimi, +/turf/open/floor/wood, /area/centcom/holding) +"XU" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"XX" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/sake, +/turf/open/floor/wood, +/area/centcom/holding) +"XY" = ( +/obj/machinery/door/poddoor/shutters{ + id = "nukeop_ready"; + name = "shuttle dock" + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Yc" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Yd" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) +"Ye" = ( +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/machinery/defibrillator_mount/loaded{ + pixel_y = 28 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Yf" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/chawanmushi, +/turf/open/floor/wood, +/area/centcom/holding) +"Yg" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/syndicate_mothership) +"Yh" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Yi" = ( +/obj/structure/dresser, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"Ym" = ( +/obj/machinery/computer/arcade/orion_trail, +/turf/open/floor/wood, +/area/centcom/holding) +"Yo" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Ys" = ( +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom/evac) "Yt" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -18311,111 +18428,134 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) -"Yv" = ( -/obj/machinery/recharge_station, -/turf/open/floor/plasteel/white, +"Yu" = ( +/obj/structure/closet/secure_closet/freezer/fridge{ + locked = 0 + }, +/turf/open/floor/plasteel/cafeteria, /area/centcom/holding) +"Yw" = ( +/turf/closed/indestructible/fakedoor{ + name = "External Access" + }, +/area/syndicate_mothership) "Yy" = ( /obj/machinery/door/airlock/titanium, /turf/open/floor/mineral/titanium, /area/centcom/evac) -"YA" = ( +"YJ" = ( +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/book/manual/wiki/barman_recipes, +/obj/item/book/granter/action/drink_fling, /obj/structure/closet/crate, -/obj/item/vending_refill/autodrobe, -/obj/item/stack/sheet/paperframes/fifty, -/obj/item/stack/sheet/paperframes/fifty, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/box/lights/mixed, -/turf/open/floor/wood, -/area/centcom/holding) -"YE" = ( -/turf/open/floor/carpet/black, +/turf/open/floor/plasteel/cafeteria, /area/centcom/holding) "YL" = ( +/obj/machinery/vending/clothing, +/turf/open/floor/wood, +/area/centcom/holding) +"YN" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/mob/living/simple_animal/chicken, +/turf/open/floor/grass, +/area/centcom/holding) +"YQ" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/beaker, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"YU" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/centcom/holding) +"YV" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/nullrod/claymore/saber{ + damtype = "stamina"; + force = 30 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Za" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "lmrestroom" + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Zc" = ( +/turf/open/indestructible/binary, +/area/space) +"Zh" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Zi" = ( +/turf/open/floor/plasteel, +/area/centcom/supplypod/podStorage) +"Zj" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"Zr" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/syndicate_mothership) +"Zt" = ( +/obj/machinery/vr_sleeper{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/wood, +/area/centcom/holding) +"Zw" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/turf/open/floor/wood, +/area/syndicate_mothership) +"Zx" = ( +/mob/living/simple_animal/bot/medbot{ + desc = "A little medical robot. You can make out the word \"sincerity\" on its chassis."; + name = "Hijikata"; + radio_key = null; + stationary_mode = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Zz" = ( +/obj/effect/landmark/start/nukeop_leader, +/turf/open/floor/wood, +/area/syndicate_mothership) +"ZF" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 4 }, /turf/open/floor/plasteel, -/area/centcom/supplypod/loading/two) -"YP" = ( -/obj/structure/closet/secure_closet/hydroponics{ - locked = 0 - }, -/obj/effect/turf_decal/tile/green{ +/area/centcom/supplypod/loading/four) +"ZH" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"YQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"YX" = ( -/obj/structure/mineral_door/paperframe{ - name = "Dojo" - }, -/turf/open/floor/wood, -/area/centcom/holding) -"YZ" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/chawanmushi, -/turf/open/floor/wood, -/area/centcom/holding) -"Za" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/plasteel/cafeteria{ - dir = 2 - }, -/area/centcom/holding) -"Zb" = ( -/obj/machinery/smartfridge, -/turf/closed/indestructible{ - icon = 'icons/turf/walls/wood_wall.dmi'; - icon_state = "wood"; - smooth = 1 - }, -/area/centcom/holding) -"Ze" = ( -/obj/machinery/computer/secure_data{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/centcom/evac) -"Zi" = ( -/obj/structure/table/wood/fancy, -/obj/item/candle/infinite{ - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Zj" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/centcom/supplypod) -"Zr" = ( -/turf/open/indestructible/binary, -/area/space) -"ZC" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod/loading/three) +/turf/open/floor/plating, +/area/syndicate_mothership) "ZJ" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -18430,47 +18570,50 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) -"ZL" = ( -/obj/machinery/vr_sleeper{ +"ZK" = ( +/obj/machinery/computer/telecrystals/boss{ dir = 1 }, -/obj/machinery/light, -/turf/open/floor/wood, -/area/centcom/holding) -"ZO" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"ZS" = ( -/obj/structure/window/paperframe{ - CanAtmosPass = 0 +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/wood, -/area/centcom/holding) -"ZT" = ( -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"ZU" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) +"ZP" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, +/area/centcom/supplypod) +"ZQ" = ( +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/two) +"ZT" = ( +/mob/living/simple_animal/cow, +/turf/open/floor/grass, +/area/centcom/holding) +"ZU" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/carpet/black, /area/centcom/holding) "ZV" = ( -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/book/manual/wiki/barman_recipes, -/obj/item/book/granter/action/drink_fling, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/cafeteria, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/centcom/supplypod/loading/one) +"ZW" = ( +/turf/open/floor/plasteel/white, /area/centcom/holding) "ZX" = ( /obj/machinery/door/airlock/centcom{ @@ -26922,10 +27065,10 @@ aa lI lI lI -Zr -Zr -Zr -Zr +Zc +Zc +Zc +Zc lI lI lI @@ -27181,9 +27324,9 @@ lI lI lI lI -Zr -Zr -Zr +Zc +Zc +Zc lI lI lI @@ -27196,10 +27339,10 @@ lI lI lI lI -Zr +Zc lI -Zr -Zr +Zc +Zc lI lI lI @@ -27453,9 +27596,9 @@ lI lI lI lI -Zr -Zr -Zr +Zc +Zc +Zc lI lI lI @@ -27698,7 +27841,7 @@ lI lI lI lI -Zr +Zc lI lI lI @@ -27709,17 +27852,17 @@ lI lI lI lI -Zr -Zr -Zr +Zc +Zc +Zc lI lI lI lI lI lI -Zr -Zr +Zc +Zc lI aa aa @@ -27837,519 +27980,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -aa -aa -aa -aa -aa -aa -aa -aa -aa -lI -lI -lI -lI -lI -lI -lI -lI -lI -Zr -lI -lI -lI -lI -lI -lI -lI -lI -lI -Zr -lI -lI -lI -lI -lI -lI -lI -lI -Zr -lI -lI -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(38,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -aa -aa -aa -aa -aa -aa -aa -aa -aa -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -lI -Zr -lI -lI -lI -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(39,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa mB hh hh @@ -28406,6 +28036,262 @@ hh hh hh hh +aa +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +aa +aa +aa +aa +aa +aa +aa +aa +aa +lI +lI +lI +lI +lI +lI +lI +lI +lI +Zc +lI +lI +lI +lI +lI +lI +lI +lI +lI +Zc +lI +lI +lI +lI +lI +lI +lI +lI +Zc +lI +lI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hh +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl hh aa lI @@ -28468,23 +28354,280 @@ lI lI lI lI -UR -UR -UR -MT -MT -MT -MT -MT -Rz -MT -MT -MT -UR -MT -MT -MT -MT +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +Zc +lI +lI +lI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hh +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hh +aa +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +aa +aa +aa +aa +aa +aa +aa +aa +aa +lI +lI +lI +lI +lI +lI +lI +MB +MB +MB +To +To +To +To +To +MH +To +To +To +MB +To +To +To +To lI lI lI @@ -28607,6 +28750,7 @@ aa aa aa aa +aa hh hl hl @@ -28662,7 +28806,6 @@ hl hl hl hl -hl hh aa lI @@ -28725,23 +28868,23 @@ lI lI lI lI -MT -MT -UR -UR -MT -MT -MT -MT -MT -MT -MT -UR -UR -MT -MT -MT -MT +To +To +MB +MB +To +To +To +To +To +To +To +MB +MB +To +To +To +To lI lI lI @@ -28864,6 +29007,7 @@ aa aa aa aa +aa hh hl hl @@ -28919,7 +29063,6 @@ hl hl hl hl -hl hh aa lI @@ -28982,23 +29125,23 @@ lI lI lI lI -MT -MT -MT -UR -UR -MT -MT -MT -MT -MT -MT -UR -MT -MT -MT -MT -MT +To +To +To +MB +MB +To +To +To +To +To +To +MB +To +To +To +To +To lI lI lI @@ -29121,6 +29264,7 @@ aa aa aa aa +aa hh hl hl @@ -29176,7 +29320,6 @@ hl hl hl hl -hl hh aa lI @@ -29239,23 +29382,23 @@ lI lI lI lI -MT -MT -MT -MT -UR -UR -MT -MT -MT -MT -MT -UR -MT -MT -MT -UR -UR +To +To +To +To +MB +MB +To +To +To +To +To +MB +To +To +To +MB +MB lI lI lI @@ -29378,6 +29521,7 @@ aa aa aa aa +aa hh hl hl @@ -29433,7 +29577,6 @@ hl hl hl hl -hl hh aa aa @@ -29496,23 +29639,23 @@ lI lI lI lI -MT -MT -MT -MT -MT -UR -UR -MT -MT -UR -UR -UR -MT -MT -UR -UR -MT +To +To +To +To +To +MB +MB +To +To +MB +MB +MB +To +To +MB +MB +To lI lI lI @@ -29635,6 +29778,7 @@ aa aa aa aa +aa hh hl hl @@ -29690,7 +29834,43 @@ hl hl hl hl -hl +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh hh aa aa @@ -29709,43 +29889,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa lI lI lI @@ -29753,23 +29896,23 @@ lI lI lI lI -MT -MT -MT -MT -MT -MT -UR -UR -MT -UR -UR -UR -UR -UR -UR -MT -MT +To +To +To +To +To +To +MB +MB +To +MB +MB +MB +MB +MB +MB +To +To lI lI lI @@ -29892,6 +30035,7 @@ aa aa aa aa +aa hh hl hl @@ -29948,6 +30092,42 @@ hl hl hl hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +my +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +kt +MD +kt +kt +kt +kt +kt +kt +kt +kt +kt +kt +hl hh aa aa @@ -29966,43 +30146,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa lI lI lI @@ -30010,28 +30153,28 @@ lI lI lI lI -UR -UR -MT -MT -MT -MT -MT -UR -MT -MT -UR -MT -MT -MT -MT -MT -MT +MB +MB +To +To +To +To +To +MB +To +To +MB +To +To +To +To +To +To lI lI lI -Zr -Zr +Zc +Zc lI lI aa @@ -30149,100 +30292,100 @@ aa aa aa aa -hh -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -aa -aa -aa -aa aa +hh +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +mz +hl +my +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +kt +kt +kt +kt +kt +kt +kt +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +kt +hl +hh aa aa aa @@ -30267,28 +30410,28 @@ lI lI lI lI -MT -UR -MT -MT -MT -MT -MT -UR -UR -UR -MT -MT -MT -MT -MT -MT -MT +To +MB +To +To +To +To +To +MB +MB +MB +To +To +To +To +To +To +To lI lI -Zr -Zr -Zr +Zc +Zc +Zc lI lI aa @@ -30406,6 +30549,7 @@ aa aa aa aa +aa hh hl hl @@ -30464,6 +30608,11 @@ hl hl hl hl +nx +hl +hl +hl +nx hl hl hl @@ -30471,27 +30620,26 @@ hl hl hl hl -hl -hl -hl -hl -hl -hl -hl -hl +my hl hl kt -MD -kt -kt -kt -kt -kt -kt -kt -kt -kt +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl kt hl hh @@ -30512,11 +30660,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -30524,28 +30667,28 @@ lI lI lI lI -Vi -MT -MT -MT -MT -MT -MT -UR -UZ -UR -MT -MT -MT -MT -MT -MT -ub +NF +To +To +To +To +To +To +MB +Qm +MB +To +To +To +To +To +To +AG lI lI lI -Zr -Zr +Zc +Zc lI lI aa @@ -30663,6 +30806,7 @@ aa aa aa aa +aa hh hl hl @@ -30722,9 +30866,13 @@ hl hl hl hl +mA hl hl hl +mz +hl +hl hl hl hl @@ -30733,12 +30881,12 @@ hl hl hl kt -kt -kt -kt -kt -kt -kt +hl +hl +hl +hl +hl +hl hl hl hl @@ -30769,11 +30917,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -30781,28 +30924,28 @@ lI lI lI lI -MT -MT -MT -MT -UR -UR -UR -UR -MT -UR -UR -MT -MT -MT -MT -MT -MT +To +To +To +To +MB +MB +MB +MB +To +MB +MB +To +To +To +To +To +To lI lI lI -Zr -Zr +Zc +Zc lI lI aa @@ -30920,6 +31063,7 @@ aa aa aa aa +aa hh hl hl @@ -30976,6 +31120,7 @@ hl hl hl hl +mz hl hl hl @@ -30986,9 +31131,12 @@ hl hl hl hl -hl -hl -hl +kt +kt +kt +kt +kt +kt kt hl hl @@ -31026,11 +31174,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -31038,29 +31181,29 @@ lI lI lI lI -MT -MT -MT -UR -UR -UR -UR -MT -MT -MT -UR -MT -MT -MT -MT -MT -MT +To +To +To +MB +MB +MB +MB +To +To +To +MB +To +To +To +To +To +To lI lI lI lI -Zr -Zr +Zc +Zc lI aa aa @@ -31177,6 +31320,7 @@ aa aa aa aa +aa hh hl hl @@ -31237,6 +31381,11 @@ hl hl hl hl +mz +hl +hl +hl +hl hl hl hl @@ -31246,7 +31395,6 @@ hl hl hl hl -kt hl hl hl @@ -31283,11 +31431,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -31295,29 +31438,29 @@ lI lI lI lI -MT -MT -UR -UR -UR -MT -MT -MT -MT -MT -UR -UR -MT -MT -MT -MT -MT +To +To +MB +MB +MB +To +To +To +To +To +MB +MB +To +To +To +To +To lI lI lI lI lI -Zr +Zc lI aa aa @@ -31434,6 +31577,7 @@ aa aa aa aa +aa hh hl hl @@ -31491,6 +31635,32 @@ hl hl hl hl +nx +hl +hl +hl +hl +my +hl +hl +my +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl hl hl hl @@ -31499,28 +31669,6 @@ hl hl kt kt -kt -kt -kt -kt -kt -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -kt hl hh aa @@ -31540,11 +31688,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -31552,23 +31695,23 @@ lI lI lI lI -MT -UR -UR -MT -UR -MT -MT -MT -MT -MT -MT -UR -UR -UR -MT -MT -MT +To +MB +MB +To +MB +To +To +To +To +To +To +MB +MB +MB +To +To +To lI lI lI @@ -31691,6 +31834,7 @@ aa aa aa aa +aa hh hl hl @@ -31752,7 +31896,10 @@ hl hl hl hl -my +hl +hl +hl +hl hl hl hl @@ -31779,6 +31926,7 @@ hl hl kt hl +hl hh aa aa @@ -31797,11 +31945,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -31809,23 +31952,23 @@ lI lI lI lI -UR -UR -MT -MT -UR -UR -MT -MT -MT -MT -MT -MT -MT -UR -UR -MT -MT +MB +MB +To +To +MB +MB +To +To +To +To +To +To +To +MB +MB +To +To lI lI lI @@ -31948,6 +32091,7 @@ aa aa aa aa +aa hh hl hl @@ -32003,12 +32147,16 @@ hl hl hl hl +my +hl +hl +mA hl hl hl hl hl -hl +mA hl hl hl @@ -32034,7 +32182,7 @@ hl hl hl kt -kt +hl hl hh aa @@ -32054,11 +32202,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -32066,23 +32209,23 @@ lI lI lI lI -MT -MT -MT -UR -UR -UR -MT -MT -MT -MT -MT -MT -MT -MT -UR -UR -MT +To +To +To +MB +MB +MB +To +To +To +To +To +To +To +To +MB +MB +To lI lI lI @@ -32205,6 +32348,7 @@ aa aa aa aa +aa hh hl hl @@ -32266,6 +32410,10 @@ hl hl hl hl +mz +hl +hl +hl hl hl hl @@ -32311,11 +32459,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -32323,23 +32466,23 @@ lI lI lI lI -MT -MT -MT -UR -MT -MT -MT -MT -MT -MT -MT -MT -MT -MT -MT -UR -UR +To +To +To +MB +To +To +To +To +To +To +To +To +To +To +To +MB +MB lI lI lI @@ -32462,6 +32605,7 @@ aa aa aa aa +aa hh hl hl @@ -32520,6 +32664,7 @@ hl hl hl hl +mz hl hl hl @@ -32547,9 +32692,12 @@ hl hl hl hl +hl +hl +hl kt hl -hl +my hh aa aa @@ -32568,11 +32716,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -32580,23 +32723,23 @@ lI lI lI lI -MT -MT -MT -UR -MT -MT -MT -MT -MT -UR -MT -MT -MT -MT -MT -MT -UR +To +To +To +MB +To +To +To +To +To +MB +To +To +To +To +To +To +MB lI lI lI @@ -32719,6 +32862,7 @@ aa aa aa aa +aa hh hl hl @@ -32804,6 +32948,10 @@ hl hl hl hl +hl +hl +hl +hl kt hl hl @@ -32825,11 +32973,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -32976,6 +33119,7 @@ aa aa aa aa +aa hh hl hl @@ -33036,7 +33180,11 @@ hl hl hl hl -my +hl +mA +hl +hl +hl hl hl hl @@ -33062,7 +33210,7 @@ hl hl hl kt -hl +kt hl hh aa @@ -33082,11 +33230,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -33233,6 +33376,7 @@ aa aa aa aa +aa hh hl hl @@ -33292,11 +33436,16 @@ hl hl hl hl +mz hl hl hl hl hl +mA +hl +hl +hl hl hl hl @@ -33320,7 +33469,6 @@ hl hl kt hl -hl hh aa aa @@ -33339,16 +33487,11 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI lI -Zr +Zc lI lI lI @@ -33490,6 +33633,7 @@ aa aa aa aa +aa hh hl hl @@ -33552,31 +33696,35 @@ hl hl hl hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl +mz hl hl hl hl kt kt +kt +kt +kt +kt +kt +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +kt hl hh aa @@ -33596,16 +33744,11 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI -Zr -Zr +Zc +Zc lI lI lI @@ -33616,7 +33759,7 @@ lI lI lI lI -Zr +Zc lI lI lI @@ -33626,9 +33769,9 @@ lI lI lI lI -Zr -Zr -Zr +Zc +Zc +Zc lI lI lI @@ -33747,6 +33890,7 @@ aa aa aa aa +aa hh hl hl @@ -33804,6 +33948,7 @@ hl hl hl hl +mz hl hl hl @@ -33819,6 +33964,9 @@ hl hl hl hl +kt +hl +hl hl hl hl @@ -33853,16 +34001,11 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI -Zr -Zr +Zc +Zc lI lI lI @@ -33884,7 +34027,7 @@ lI lI lI lI -Zr +Zc lI lI lI @@ -34004,6 +34147,7 @@ aa aa aa aa +aa hh hl hl @@ -34063,21 +34207,25 @@ hl hl hl hl +my +hl +hl +hl +hl hl mz +mA +hl +nx hl my -kt -kt -kt -kt -kt -kt +hl +hl kt hl hl hl -hl +My hl hl hl @@ -34110,23 +34258,18 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI lI -Zr +Zc lI lI lI lI lI lI -Zr +Zc lI lI lI @@ -34261,6 +34404,7 @@ aa aa aa aa +aa hh hl hl @@ -34316,27 +34460,31 @@ hl hl hl hl +Tz +Tz +Tz +Tz +Tz +Tz +Tz +Tz +Tz +Tz hl hl hl hl hl -mA -hl -hl -hl -hl -hl -nx hl +mz hl kt -hl -hl -hl -hl -hl -hl +kt +kt +ku +PP +ku +kt hl hl hl @@ -34367,11 +34515,6 @@ aa aa aa aa -aa -aa -aa -aa -aa lI lI lI @@ -34518,6 +34661,7 @@ aa aa aa aa +aa hh hl hl @@ -34573,37 +34717,41 @@ hl hl hl hl +QV +QV +QV +QV +QV +QV +QV +QV +QV +Uy +hl +hl +mz hl hl hl hl -hl -hl -hl -hl -hl -hl -hl -hl +mA hl hl kt -hl -hl -hl -My -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl +ku +MI +ku +kt +kt +kt +kt +kt +kt +kt +kt +kt +kt +kt kt hl hh @@ -34672,11 +34820,6 @@ aa aa aa aa -aa -aa -aa -aa -aa "} (64,1,1) = {" aa @@ -34775,6 +34918,7 @@ aa aa aa aa +aa hh hl hl @@ -34830,38 +34974,42 @@ hl hl hl hl -kt -kt -kt -kt -kt +Ug +ZH +MI +MI +Uu +MI +MI +Uv +QV +Tz +hl +hl +hl hl mz -mA -hl -hl -hl -hl -hl -hl +nx +Tz +Tz kt kt kt -nz -uJ -nz -kt -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -kt +ku +zn +ku +Tz +Tz +Tz +Tz +QV +QV +QV +QV +QV +QV +Tz +mz hl hh aa @@ -34881,34 +35029,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di aa aa aa @@ -35032,6 +35175,7 @@ aa aa aa aa +aa hh hl hl @@ -35087,39 +35231,43 @@ hl hl hl hl -ku -ku -ku -ku -kt +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +Tz +hl +mz +nx hl hl +Tz +Tz +QV +QV +QV +QV +QV +XY +QV +QV +QV +QV +QV +QV +Ul +PD +Oc +MS +QV +Uy hl -hl -hl -hl -hl -hl -hl -hl -hl -kt -nz -ll -nz -kt -kt -kt -kt -kt -kt -kt -kt -kt -kt -kt -kt -hl +hh hh aa aa @@ -35138,34 +35286,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -35289,6 +35432,7 @@ aa aa aa aa +aa hh hl hl @@ -35344,39 +35488,42 @@ hl hl hl hl -kv -kR -ll -ku -kt -hl -hl -hl -hl -hl -mA -hl -kt -kt -kt -kt -kt -nz +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +Tz +UG +Tz +Tz +Tz +qa +Tz +QV uJ -nz -kt +PS +Vt rd -kt -kt -hl -hl -hl -hl -hl -hl -hl -hl -hl +TO +TO +zM +TO +zu +OV +Nu +XE +PD +PD +PD +yV +QV +hh +hh hh aa aa @@ -35396,33 +35543,29 @@ aa aa aa aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -35546,519 +35689,6 @@ aa aa aa aa -hh -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -kv -kR -ll -ku -kt -hl -hl -mz -hl -hl -hl -kt -kt -ku -ku -ku -ku -ku -ud -ku -ku -ku -ku -kt -kt -hl -hl -hl -hl -hl -hl -hl -hl -hh -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(68,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hh -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -kv -kR -ll -ku -kt -mz -hl -hl -my -hl -hl -oW -ku -ng -qJ -re -se -pZ -pZ -uL -vu -wl -ku -ku -kt -hl -hl -hl -hl -hl -hl -hl -hl -hh -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(69,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa hh hl @@ -36115,40 +35745,554 @@ hl hl hl ki -kv -kR -lm +Ug +ZH +MI +MI +MI +MI +MI +VR +QV +Tz +Tz ku -kt -hl -hl -hl -hl -hl -hl -kt +Yw +ku +Fg +Tz +QV +ud +TO +TO +vu +vu +TO +TO +wX +Oa +Nu +QB +QV +Dk +PD +PD +QR +QV +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hh +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +Tz +Fg +ku +MI +ku +Tz +Tz ku -pX pZ -pZ -rf -rf -pZ -rf -vv +TO +vu +wl +Qt +wX +TO +wX +VT +Nu +ZK +QV +Vw +PD +PD +PD +Ou +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hh +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +hl +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +QV +QV +QV +Yw +QV +QV +QV +QV +TO +TO +vu wm si -ku -kt -my -nx -hl -mz -hl -hl -BY -hl -hh +wX +TO +wX +Oa +Nu +sZ +QV +zU +PD +Oe +WW +QV aa aa aa @@ -36170,30 +36314,29 @@ aa aa aa aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -36317,6 +36460,7 @@ aa aa aa aa +aa hh hl hl @@ -36372,40 +36516,40 @@ hl hl hl hl -kv -kR -ll -ku -kt -kt -kt -kt -kt -kt -kt -kt +Ug +ZH +MI +MI +MI +MI +MI +MI +OZ +Rz +MI nz -pY -pZ -rf -sf +MI +nz +MI +MI te -pZ -rf +RZ +TO vw -wn -wV -ku -kt -hl -mz -hl -hl -hl -BY -Cp -BY -hh +vu +vu +TO +TO +TO +Si +Nu +pU +QV +QV +QV +QV +QV +QV aa aa aa @@ -36427,30 +36571,29 @@ aa aa aa aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -36574,6 +36717,7 @@ aa aa aa aa +aa hh hl hl @@ -36629,40 +36773,39 @@ hl hl hl hl -kv -kR -ll +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +QV ku ku ku -ku -ku -ku -ku -ku -ku -ku -pZ -pZ +QV +QV +QV +QV +QV rf -sg -tf -pZ -rf -vv -wn -wW -ku -oW -hl -my -mz -nx -hl -hl -BY -hl -hh +TO +TO +TO +TO +TO +TO +TO +Do +QV +QV +OS +wp +Bl +QV aa aa aa @@ -36685,29 +36828,29 @@ aa aa aa aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -36831,6 +36974,7 @@ aa aa aa aa +aa hh hl hl @@ -36886,40 +37030,39 @@ hl hl hl hl -kv -kR -ll -ll -ll -ll -ll -ny -ll -ll -ll -ll -pF +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +Tz +Tz +Tz qa -pZ -rg -rf -rf -pZ -pZ -vx -wo +Fg +Tz +Tz +qa +QV +NV +TO +TO wX -ku -kt -ma -oW -kt -kt -hl -hl -hl -hl -hh +wX +wX +wX +TO +TO +rc +wp +wp +wp +Aa +QV aa aa aa @@ -36942,29 +37085,29 @@ aa aa aa aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -37088,6 +37231,7 @@ aa aa aa aa +aa hh hl hl @@ -37143,40 +37287,39 @@ hl hl hl hl -kv -kR -ll -ku -ku -nz -nz -nz -ku -ku -ku -ku -ku -ku -qK -pZ -pZ -pZ -pZ -pZ -pZ -pZ -ku -ku -ku -nz -ku -ku -hh -hh -hh -hh -hh -hh +Ug +ZH +MI +MI +MI +MI +MI +VR +QV +Tz +mz +BY +hl +hl +qa +Tz +Tz +QV +Tj +TO +TO +QB +JK +JK +QQ +TO +SV +QV +jO +wp +wp +QP +QV aa aa aa @@ -37199,29 +37342,29 @@ aa aa aa aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -37345,6 +37488,7 @@ aa aa aa aa +aa hh hl hl @@ -37400,34 +37544,39 @@ hl hl hl hl -kv -kR -ll -ku -kt -mC -nh -ma -kt -ma -ma -kt -kt -ku -qL -pZ -sh -sh -sh -sh -pZ -pZ -wY -xG -xG -xG -zx -ku +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +Uy +BY +Cp +BY +hl +Uy +QV +QV +QV +QV +QV +OB +QV +QV +QV +QV +QV +QV +QV +zs +wp +GA +wp +Pn aa aa aa @@ -37450,35 +37599,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -37602,6 +37745,7 @@ aa aa aa aa +aa hh hl hl @@ -37657,34 +37801,39 @@ hl hl hl hl -kv -kR -lm +Ug +ZH +MI +MI +MI +MI +MI +MI +QV +Tz +mz +BY +nx +mA +Tz ku -kt -mz -hl -hl -mz -hl -hl -mz -ma -ku -qM -pZ -si -tg tg +Rl uM -pZ +QV +wp wp -ku -xG -xG xG +Xl +Xl zx -ku +Yi +QV +QV +QV +QV +PP +QV aa aa aa @@ -37707,35 +37856,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Nt -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +pW +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -37859,6 +38002,7 @@ aa aa aa aa +aa hh hl hl @@ -37914,34 +38058,39 @@ hl hl hl hl -kv -kR -ll -ku -kt +Ug +ZH +MI +MI +yP +MI +MI +MI +QV +Tz +mA hl hl -mz -hl -mz -hl -hl -pG -ku -ku -rh -ku -ku -ku -nz -uJ -nz -ku -xH -xG -xG -zx -ku +qa +Tz +QV +TP +Qq +Qq +Uj +wp +wp +wp +wp +wp +wp +Zr +QV +WS +Nu +QV +MI +QV aa aa aa @@ -37964,35 +38113,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -38116,6 +38259,7 @@ aa aa aa aa +aa hh hl hl @@ -38171,34 +38315,39 @@ hl hl hl hl -kv -kR -ll -ku -kt +QV +QV +QV +QV +QV +QV +QV +QV +QV +Tz hl mz hl -mA -hl -hl -mz -kt -ku -qN -ri -ri -ku -ku -nz -ll -nz -ku +Tz +hh +QV +QV +Vj +SD +QV +GA +wp xI -xG -xG -zx -ku +xI +xI +xI +wp +AD +Zz +Pw +QV +MI +QV aa aa aa @@ -38221,35 +38370,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -38373,6 +38516,7 @@ aa aa aa aa +aa hh hl hl @@ -38428,34 +38572,39 @@ hl hl hl hl -kv -kR -ll -ku -ma +Tz +Tz +Tz +Tz +Tz +Tz +Tz +Tz +Tz +Fg hl hl +nx hl -mz -hl -hl -mz -ma -ku -qO -ri -sj -ku -ku -nz -ll -nz -ku +hh +aa +QV +QV +QV +QV +QV +Vb xJ -xG -xG -zx -ku +xJ +xJ +xJ +Sb +QV +Zw +MF +QV +MI +QV aa aa aa @@ -38478,35 +38627,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -38630,6 +38773,7 @@ aa aa aa aa +aa hh hl hl @@ -38685,34 +38829,43 @@ hl hl hl hl -ku -ku -ku -ku -kt +hl +hl +hl +hl +nx +hl +hl hl mz -mA +nx hl +mz hl -mA -hl -pG -nz -qP -rj -ku -ku -ku -nz -ll -nz -ku -xK -xG -yX -zy -ku +hh +hh +aa +aa +aa +aa +aa +QV +QV +QV +QV +QV +QV +QV +QV +QV +QV +QV +MI +QV +QV +QV +QV +QV aa aa aa @@ -38731,39 +38884,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -38887,6 +39030,7 @@ aa aa aa aa +aa hh hl hl @@ -38942,34 +39086,43 @@ hl hl hl hl -kt -kt -kt -kt -kt hl hl -hl -mA mz -hl mA -kt -ku -ku -ku -ku -ku -ku -nz -ll -nz -ku -ku -ku -ku +hl +hl +hl +hl +hl +my +hl +hl +hl +hh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +MI +MI +MI ku +MI ku +MI +MI +MI +QV aa aa aa @@ -38988,39 +39141,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -39144,6 +39287,7 @@ aa aa aa aa +aa hh hl hl @@ -39200,31 +39344,42 @@ hl hl hl hl -hl -hl -hl +nx hl hl hl mz +mA hl hl hl +nx +hl mz -ma hh aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +MI +VP +rb ku -sk -sk -sk -nz -ll -nz -sk -sk -sk +PP ku +rb +Wj +MI +QV aa aa aa @@ -39243,41 +39398,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -39401,6 +39544,7 @@ aa aa aa aa +aa hh hl hl @@ -39464,24 +39608,35 @@ hl hl hl hl -hl mz hl -mA +hl +hl hl hh +hh aa -ku -sk -th -ue -nz -uJ -nz -ue -xL -sk -ku +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +tl +Sg +MI +MI +MI +MI +MI +Mk +Rb +QV aa aa aa @@ -39500,41 +39655,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -39658,6 +39801,7 @@ aa aa aa aa +aa hh hl hl @@ -39717,28 +39861,39 @@ hl hl hl hl +my hl hl hl -mA hl hl -mA hl mz +hl +hl hh aa -ku -sl -ti -sk -sk -sk -sk -sk -xM -yk -ku +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +Xs +MI +MI +MI +MI +MI +MI +MI +ZH +QV aa aa aa @@ -39757,41 +39912,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -39915,6 +40058,7 @@ aa aa aa aa +aa hh hl hl @@ -39971,31 +40115,42 @@ hl hl hl hl -hl -hl -hl -hl -hl -hl -hl -hl mz hl hl hl +hl +mz +hl +hl +hl +hl +hl +hl +hl hh aa -ku -sm -sk -sk -sk -sk -sk -sk -sk -yl -ku +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +qI +MI +MI +MI +MI +MI +MI +MI +Xq +QV aa aa aa @@ -40014,41 +40169,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -40172,6 +40315,7 @@ aa aa aa aa +aa hh hl hl @@ -40231,28 +40375,39 @@ hl hl hl hl +mz hl hl hl hl -hl -hl -hl +mz hl hl hh +hh +hh aa -ku -sn -sk -sk -sk -sk -sk -sk -sk -ym -ku +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +Xs +MI +MI +MI +MI +MI +MI +sc +ZH +QV aa aa aa @@ -40271,41 +40426,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -MP -Ul +Di +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Qe +Di aa aa aa @@ -40429,6 +40572,7 @@ aa aa aa aa +aa hh hl hl @@ -40486,11 +40630,10 @@ hl hl hl hl +my hl hl -hl -hl -hl +my hl hl hl @@ -40499,17 +40642,29 @@ hl hl hh aa -ku -sm -sk -sk -sk -sk -sk -sk -xN -yl -ku +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QV +Xs +MI +MI +MI +MI +MI +MI +MI +ZH +QV aa aa aa @@ -40528,41 +40683,29 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul -Ul +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di +Di aa aa aa @@ -40686,6 +40829,7 @@ aa aa aa aa +aa hh hl hl @@ -40748,25 +40892,13 @@ hl hl hl hl -hl -hl +mA hl hl hl hl hh aa -ku -sm -sk -sk -sk -sk -sk -sk -sk -yl -ku aa aa aa @@ -40779,6 +40911,17 @@ aa aa aa aa +QV +Yc +MI +MI +MI +MI +MI +MI +MI +ZH +QV aa aa aa @@ -40892,7 +41035,8 @@ aa aa aa aa -rY +VX +aa aa aa aa @@ -41004,26 +41148,13 @@ hl hl hl hl -hl -hl -hl +mz hl hl hl hl hh -aa -ku -so -sk -sk -sk -sk -sk -sk -sk -yl -ku +hh aa aa aa @@ -41037,6 +41168,18 @@ aa aa aa aa +QV +Oz +tm +MI +MI +MI +MI +MI +zR +Yg +QV +aa aa aa aa @@ -41200,6 +41343,7 @@ aa aa aa aa +aa hh hl hl @@ -41257,10 +41401,8 @@ hl hl hl hl -hl -hl -hl -hl +mz +mA hl hl hl @@ -41270,17 +41412,6 @@ hl hl hh aa -ku -sp -tn -sk -sk -sk -sk -sk -xO -xP -ku aa aa aa @@ -41294,6 +41425,18 @@ aa aa aa aa +QV +MI +Oz +PJ +PJ +PJ +PJ +PJ +Yg +MI +QV +aa aa aa aa @@ -41457,6 +41600,7 @@ aa aa aa aa +aa hh hl hl @@ -41521,23 +41665,10 @@ hl hl hl hl -hl -hl -hl -hl +hh +hh hh aa -ku -sk -sp -ui -ui -ui -ui -ui -xP -sk -ku aa aa aa @@ -41551,6 +41682,18 @@ aa aa aa aa +QV +QV +QV +QV +QV +QV +QV +QV +QV +QV +QV +aa aa aa aa @@ -41714,6 +41857,7 @@ aa aa aa aa +aa hh hl hl @@ -41775,26 +41919,25 @@ hl hl hl hl +nx hl -hl -hl -hl -hl -hl -hl +hh hh aa -ku -ku -ku -ku -ku -ku -ku -ku -ku -ku -ku +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -41971,6 +42114,7 @@ aa aa aa aa +aa hh hl hl @@ -42032,14 +42176,13 @@ hl hl hl hl -hl -hl -hl -hl -hl -hl -hl hh +hh +hh +aa +aa +aa +aa aa aa aa @@ -42228,6 +42371,7 @@ aa aa aa aa +aa hh hl hl @@ -42287,16 +42431,15 @@ hl hl hl hl -hl -hl -hl -hl -hl -hl -hl -hl -hl hh +hh +hh +aa +aa +aa +aa +aa +aa aa aa aa @@ -42485,74 +42628,66 @@ aa aa aa aa +aa +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh +hh hh -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl hh aa aa @@ -42569,38 +42704,46 @@ aa aa aa aa -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK +aa +aa +aa +aa +aa +aa +aa +aa +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd aa aa aa @@ -42742,75 +42885,6 @@ aa aa aa aa -hh -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hh aa aa aa @@ -42826,38 +42900,107 @@ aa aa aa aa -SK -ZU -ZU -ZU -AD -ZU -ZU -ZU -SK -sY -Nf -RF -SK -xa -Zi -VL -Dj -wg -wg -TY -ZS -Sq -Qb -wg -ZS -Ob -Us -Ob -Ob -Us -Ob -SK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Nd +PO +PO +PO +Sw +PO +PO +PO +Nd +QI +VA +Op +Nd +Rm +Tn +UT +yd +Xk +Xk +XM +NT +UV +CV +Xk +NT +CT +oV +CT +CT +oV +CT +Nd aa aa aa @@ -42999,75 +43142,6 @@ aa aa aa aa -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh -hh aa aa aa @@ -43083,38 +43157,107 @@ aa aa aa aa -SK -we -Vs -Vs -Vs -Vs -Vs -Vs -SK -NP -Ua -Ua -Vb -wg -wg -wg -WO -wg -wg -Zi -ZS -QZ -wg -wg -ZS -wg -wg -wg -wg -wg -wg -SK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Nd +HQ +PY +PY +PY +PY +PY +PY +Nd +Pq +ZW +ZW +Za +Xk +Xk +Xk +Tu +Xk +Xk +Tn +NT +RQ +Xk +Xk +NT +Xk +Xk +Xk +Xk +Xk +Xk +Nd aa aa aa @@ -43340,38 +43483,38 @@ aa aa aa aa -SK -pU -RS -Vq -PX -Sl -SF -Tn -SK -RV -Ua -Ua -SK -wg -wg -wg -wg -wg -wg +Nd +Mu +QH +Bo +vs +Rj +PI +Rd +Nd +Pa +ZW +ZW +Nd +Xk +Xk +Xk +Xk +Xk +Xk GY -ZS -Sq -Qb -wg -ZS -wg -pW -wg -Ra -wg -ZL -SK +NT +UV +CV +Xk +NT +Xk +PF +Xk +Px +Xk +Zt +Nd aa aa aa @@ -43597,38 +43740,38 @@ aa aa aa aa -SK -Vs -Vs -Vs -Vs -Vs -Vs -Vs -SK -Uh -Ua -Yv -SK -wg -wg -wg -Sz -wg -WO -Xa -SK +Nd +PY +PY +PY +PY +PY +PY +PY +Nd +SB +ZW +Nw +Nd +Xk +Xk +Xk +Ph +Xk +Tu +Vu +Nd Gs -wg -wg -Ri -wg -pW -wg -Ra -wg -pW -SK +Xk +Xk +RL +Xk +PF +Xk +Px +Xk +PF +Nd aa aa aa @@ -43854,38 +43997,38 @@ aa aa aa aa -SK -SM -QK -AC -Vs -RI -YP -Vs -SK -SK -SK -SK -SK -wg -wg -TY -OX -wg -wg -TY -ZS -VJ -Qb -wg -ZS -wg -pW -wg -Ra -wg -ZL -SK +Nd +pE +NJ +SW +PY +Um +Nn +PY +Nd +Nd +Nd +Nd +Nd +Xk +Xk +XM +QL +Xk +Xk +XM +NT +PX +CV +Xk +NT +Xk +PF +Xk +Px +Xk +Zt +Nd aa aa aa @@ -44111,38 +44254,38 @@ aa aa aa aa -SK -SK -SK -SK -Sc -SK -SK -Zb -SK -wg -zt -wg -Ow -wg -wg -Zi -WO -wg -wg -Zi -ZS -Qe -wg -wg -ZS -wg -wg -wg -wg -wg -wg -SK +Nd +Nd +Nd +Nd +XL +Nd +Nd +py +Nd +Xk +Yo +Xk +Xn +Xk +Xk +Tn +Tu +Xk +Xk +Tn +NT +Zh +Xk +Xk +NT +Xk +Xk +Xk +Xk +Xk +Xk +Nd aa aa aa @@ -44165,10 +44308,10 @@ KH KS La Lb -Yc -Ze -QY -NK +FZ +XU +Vf +ON KH Lv Lv @@ -44368,38 +44511,38 @@ aa aa aa aa -SK -Wh -wg -zt -wg -wg -wg -wg -Dk -wg -SK -SK -SK +Nd +PL +Xk +Yo +Xk +Xk +Xk +Xk +Yh +Xk +Nd +Nd +Nd Gs -wg +Xk GY -WO -wg -wg +Tu +Xk +Xk GY -ZS -Pj -Qb -wg -ZS -WV -Of -WV -WV -Of -WV -SK +NT +Ym +CV +Xk +NT +Dj +Qu +Dj +Dj +Qu +Dj +Nd aa aa aa @@ -44422,10 +44565,10 @@ KH KU Lb KV -OG -Oq -PA -PA +Yd +uG +Qo +Qo KH KV KV @@ -44625,38 +44768,38 @@ aa aa aa aa -SK -Wl -wg -sb -yO -SK -Wu +Nd +Tq +Xk +MG +YN +Nd +Vm Fh -Xw -SK -SK +zV +Nd +Nd Fa -Rf -wg -wg -wg -wg -wg -wg +KT +Xk +Xk +Xk +Xk +Xk +Xk HH -SK -wg -wg -wg -SK -SK -SK -SK -SK -SK -SK -SK +Nd +Xk +Xk +Xk +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd aa aa aa @@ -44679,10 +44822,10 @@ KO KV KV KV -Ry -Bo -PA -PA +WC +Uw +Qo +Qo KH Lv Lv @@ -44690,7 +44833,7 @@ KV Lv Lv KH -Vf +LE LH LN Lw @@ -44882,38 +45025,38 @@ aa aa aa aa -SK -wg -wg -QV -Nb -SK -Rb +Nd +Xk +Xk +Rh +Mm +Nd +MT Fh -Wv -SK +Yu +Nd Fb -YE -Rf -wg -wg -YE -YE -YE -YE -YE -RT -wg -wg -wg -ZS -NJ -Bm -MA -MA -zX -yg -SK +Sd +KT +Xk +Xk +Sd +Sd +Sd +Sd +Sd +Re +Xk +Xk +Xk +NT +vt +YV +OU +OU +RS +VF +Nd aa aa aa @@ -44936,10 +45079,10 @@ KH KW Lb KV -LE -QQ -LE -VA +Ys +Ni +Ys +xa Lt KH KH @@ -44947,7 +45090,7 @@ Yy KH KH KH -Qa +TA KV LO Lw @@ -45139,38 +45282,38 @@ aa aa aa aa -SK -wg -wg -QV -qG -SK -Oh +Nd +Xk +Xk +Rh +ZT +Nd +Pr Fh -VT -SK +QW +Nd Fc -YE -Rf -wg -wg -YE -YE -YE -YE -YE -SK +Sd +KT +Xk +Xk +Sd +Sd +Sd +Sd +Sd +Nd Gs -Qf -wg -YX -wg -wg -wg -wg -wg -wg -SK +Zx +Xk +OL +Xk +Xk +Xk +Xk +Xk +Xk +Nd aa aa aa @@ -45197,15 +45340,15 @@ KV KV KV KV -JE +wq KV KV KV KV KV -Sd +Qb KV -AF +yg LP Lw aa @@ -45396,38 +45539,38 @@ aa aa aa aa -SK -SK -Sc -SK -SK -SK -Wk +Nd +Nd +XL +Nd +Nd +Nd +JE Fh -Tw -SK -Bn -YE +YQ +Nd +MR +Sd FW -wg -wg -YE -YE -YE -YE -YE -RT -wg -wg -wg -ZS -Ru -TY -wg -TY -TY -wg -SK +Xk +Xk +Sd +Sd +Sd +Sd +Sd +Re +Xk +Xk +Xk +NT +So +XM +Xk +XM +XM +Xk +Nd aa aa aa @@ -45461,7 +45604,7 @@ KV Lb LA KH -QO +Sf KV LQ Lw @@ -45653,38 +45796,38 @@ aa aa aa aa -SK -Ur -wg -zt -wg -SK -Za +Nd +yM +Xk +Yo +Xk +Nd +SG Fh -Yp -SK -SK -YE +Vv +Nd +Nd +Sd FX -wg -wg -wg -wg -wg -wg +Xk +Xk +Xk +Xk +Xk +Xk HH -SK -UX -Uk -Uk -ZS -WS -Oc -VP -Oc -TV -wg -SK +Nd +WM +Ud +Ud +NT +Nj +Po +Wb +Po +ZU +Xk +Nd aa aa aa @@ -45719,7 +45862,7 @@ Lb LB KH LG -Pf +LJ LR Lw aa @@ -45910,38 +46053,38 @@ aa aa aa aa -SK -vr -wg -wg -wg -SK -Rq +Nd +OG +Xk +Xk +Xk +Nd +zX Fh -Xd -SK -SK -SK -SK +pS +Nd +Nd +Nd +Nd Gs -wg -TY -WO -wg -wg -TY -ZS -wg -Uk -Uk -ZS -PY -YE -YE -YE -xC -wg -SK +Xk +XM +Tu +Xk +Xk +XM +NT +Xk +Ud +Ud +NT +YU +Sd +Sd +Sd +MM +Xk +Nd aa aa aa @@ -46167,38 +46310,38 @@ aa aa aa aa -SK -Oo -wg -wg -wg -SK -UW +Nd +TK +Xk +Xk +Xk +Nd +QA Fh -VD +Nv ED -zt -YZ -XQ -wg -wg -Zi -Ou -wg -wg -Zi -ZS -PU -Uk -Uk -ZS -PY -YE -YE -YE -xC -tZ -SK +Yo +Yf +UE +Xk +Xk +Tn +Xd +Xk +Xk +Tn +NT +Ro +Ud +Ud +NT +YU +Sd +Sd +Sd +MM +TM +Nd aa aa aa @@ -46424,38 +46567,38 @@ aa aa aa aa -SK -Rc -wg -wg -wg -SK -Py +Nd +YL +Xk +Xk +Xk +Nd +Xo Fh Fh -Zb -wg -Mk -XQ -wg -wg +py +Xk +SY +UE +Xk +Xk GY -WO -wg -wg +Tu +Xk +Xk GY -ZS -WT -Uk -Uk -ZS -PY -YE -YE -YE -xC -wg -SK +NT +Tw +Ud +Ud +NT +YU +Sd +Sd +Sd +MM +Xk +Nd aa aa aa @@ -46681,38 +46824,38 @@ aa aa aa aa -SK -WB -wg -wg -wg -SK -ZT +Nd +Xe +Xk +Xk +Xk +Nd +TB Fh Fh -tb -wg -MH -XQ -wg -wg -wg -Sz -wg -UB -Xa -SK -Gs -Uk -Uk -ZS -QG -vq -Wb -vq BV -wg -SK +Xk +XT +UE +Xk +Xk +Xk +Ph +Xk +Qk +Vu +Nd +Gs +Ud +Ud +NT +Mt +PA +Ra +PA +Pl +Xk +Nd aa aa aa @@ -46742,7 +46885,7 @@ Ls aa aa aa -wi +Vx aa aa aa @@ -46938,38 +47081,38 @@ aa aa aa aa -SK -Yh -wg -wg -wg -SK -UN +Nd +Ny +Xk +Xk +Xk +Nd +Vz Fh -ZV -PB -wg -Mk -XQ -wg -wg -wg -wg -wg -wg -TY -ZS -wg -wg -wg -ZS -Va +YJ +QT +Xk +SY +UE +Xk +Xk +Xk +Xk +Xk +Xk +XM +NT +Xk +Xk +Xk +NT +Ye GY -wg +Xk GY GY -wg -SK +Xk +Nd aa aa aa @@ -47195,38 +47338,38 @@ aa aa aa aa -SK -Od -Ox -wg -wg -Sc +Nd +Bs +Ri +Xk +Xk +XL Fh Fh Fh -Sc -wg -Fi -XQ -wg -wg -wg -WO -wg -wg -Zi -ZS -wg -wg -wg -YX -wg -wg -wg -wg -wg -wg -SK +XL +Xk +XX +UE +Xk +Xk +Xk +Tu +Xk +Xk +Tn +NT +Xk +Xk +Xk +OL +Xk +Xk +Xk +Xk +Xk +Xk +Nd aa aa aa @@ -47452,38 +47595,38 @@ aa aa aa aa -SK -XH -wg -yN -YA -SK -Ut -VF -Nc -SK +Nd +SU +Xk +Xx +Nm +Nd +SN +pV +Tr +Nd Fj -SK -SK -wZ -Zi -VL +Nd +Nd +Fi +Tn +UT Hm -wg -wg +Xk +Xk GY -ZS -wg -wg -wg -ZS -NJ -px -Qv -Rp -TB -Sw -SK +NT +Xk +Xk +Xk +NT +vt +Mx +ND +Tb +Uh +tW +Nd aa aa aa @@ -47709,38 +47852,38 @@ aa aa aa aa -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK -SK +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd +Nd aa aa aa @@ -64688,8 +64831,8 @@ Ep GU GM Hw -HE -HQ +oS +oT HX Ie Iq @@ -65962,9 +66105,9 @@ lN iu iC io -OS -QE -OS +Wr +MP +Wr Ep Fx FR @@ -66219,9 +66362,9 @@ iu io UO io -OS -OS -OS +Wr +Wr +Wr Ep Fy FE @@ -66476,9 +66619,9 @@ CO Cc Cc DK -OS -OS -OS +Wr +Wr +Wr Ep Fz FS @@ -66733,9 +66876,9 @@ qx qx Wc qx -WA -Nq -WA +VO +pz +VO Ep Ep Ep @@ -66989,21 +67132,21 @@ qz qx Dc Cc -WA -Op -ZO -OS -YQ -Dy -YQ -OS -OS -OS +VO +yN QE -OS -OS -Bp -WA +Wr +td +ZP +td +Wr +Wr +Wr +MP +Wr +Wr +Rf +VO ET EU Ev @@ -67246,28 +67389,28 @@ qz qx Dd Cc -WA -Vm -ZO -Re -Pt -IO -Xg -CU -OS -OS -OS -OS -OS -OD -WA -WA -WA -WA -WA -WA -WA -WA +VO +PG +QE +Ov +yc +UC +MC +Oh +Wr +Wr +Wr +Wr +Wr +Mv +VO +VO +VO +VO +VO +VO +VO +VO Iv Iv Iv @@ -67503,28 +67646,28 @@ Cd qx De Dx -WA -WA -WA -Lk -Lk -WA -WA -WA -OS -OS -WA -WA -WA -WA -WA -WA -WA -WA -pz -pz -pz -WA +VO +VO +VO +vo +vo +VO +VO +VO +Wr +Wr +VO +VO +VO +VO +VO +VO +VO +VO +Zi +Zi +Zi +VO aa aa aa @@ -67760,28 +67903,28 @@ qy qx Dc Cc -WA -RX -RX -RX -RX -RX -AI -WA -OS -OS -WA -MI -MI -MI -MI -MI -Uv -WA -pz -pz -pz -WA +VO +Nc +Nc +Nc +Nc +Nc +ZV +VO +Wr +Wr +VO +uf +uf +uf +uf +uf +UX +VO +Zi +Zi +Zi +VO aa aa aa @@ -68017,28 +68160,28 @@ qV qx qx sL -WA -JV -JV -JV -JV -Xv -Sa -WA -YQ -YQ -WA -Di -ZC -Di -ZC -Di -Ta -WA -pz -pz -pz -NE +VO +sY +sY +sY +sY +QK +VB +VO +td +td +VO +wh +Qa +wh +Qa +wh +UW +VO +Zi +Zi +Zi +tY aa aa aa @@ -68274,28 +68417,28 @@ Ce CP Df Cc -WA -Xv -JV -JV -JV -Xv -Sa -Lk -UI -UI -Lk -Di -ZC -Di -ZC -Di -Ta -WA -pz -pz -pz -NE +VO +QK +sY +sY +sY +QK +VB +vo +SF +SF +vo +wh +Qa +wh +Qa +wh +UW +VO +Zi +Zi +Zi +tY aa aa aa @@ -68531,28 +68674,28 @@ Cf Cc Cc Cc -WA -Xv -Xv -Xv -Xv -Xv -Sa -Lk -Pr -Pr -Lk -Di -ZC -Di -ZC -Di -Ta -WA -pz -pz -pz -WA +VO +QK +QK +QK +QK +QK +VB +vo +WO +WO +vo +wh +Qa +wh +Qa +wh +UW +VO +Zi +Zi +Zi +VO aa aa aa @@ -68788,28 +68931,28 @@ Cg Cc Cc Dz -WA -JV -JV -JV -JV -Xv -Sa -WA -Sm -Sm -WA -Di -Di -Di -Di -Di -Ta -WA -pz -pz -pz -WA +VO +sY +sY +sY +sY +QK +VB +VO +Ob +Ob +VO +wh +wh +wh +wh +wh +UW +VO +Zi +Zi +Zi +VO aa aa aa @@ -69045,28 +69188,28 @@ Cf Cc Dg DA -WA -Qs -Qs -Qs -Qs -Qs -RC -WA -WP -Sx -WA -zZ -zZ -zZ -zZ -zZ -yd -WA -pz -pz -pz -WA +VO +WK +WK +WK +WK +WK +UQ +VO +Pg +Ps +VO +Om +Om +Om +Om +Om +Ga +VO +Zi +Zi +Zi +VO aa aa aa @@ -69302,28 +69445,28 @@ Ch CR Dh DB -WA -WA -WA -Lk -Lk -WA -WA -SR -UI -UI -Ol -WA -WA -Lk -Lk -WA -WA -WA -pz -pz -pz -WA +VO +VO +VO +vo +vo +VO +VO +Zj +SF +SF +OE +VO +VO +vo +vo +VO +VO +VO +Zi +Zi +Zi +VO aa aa aa @@ -69559,28 +69702,28 @@ qV qx qx qx -WA -OS -Re -SW -qI -CU +VO +Wr +Ov +Ha +IK +Oh +MP +VQ QE -py -ZO -ZO -qI QE -Re -SW -qI -CU -MN -Sp -pz -pz -pz -NE +IK +MP +Ov +Ha +IK +Oh +PU +OH +Zi +Zi +Zi +tY aa aa aa @@ -69814,30 +69957,30 @@ AY rS qz qx -OS -OS -OS -OS -Re -SW -qI -CU -Zj -py -ZO -ZO -qI -Zj -Re -SW -qI -CU -ZO -Sp -pz -pz -pz -NE +Wr +Wr +Wr +Wr +Ov +Ha +IK +Oh +OM +VQ +QE +QE +IK +OM +Ov +Ha +IK +Oh +QE +OH +Zi +Zi +Zi +tY aa aa aa @@ -70071,30 +70214,30 @@ Bb qV Cd qx -WP -OS -WA -WA -WA -Lk -Lk -WA -WA -RK -Pr -Pr -Rg -WA -WA -Lk -Lk -WA -WA -WA -pz -pz -pz -WA +Pg +Wr +VO +VO +VO +vo +vo +VO +VO +Wi +WO +WO +UL +VO +VO +vo +vo +VO +VO +VO +Zi +Zi +Zi +VO aa aa aa @@ -70328,30 +70471,30 @@ AW qx qy qx -OS -OS -WA -Si -Si -Si -Si -Si -Kz -WA -WP -Sx -WA -SZ -SZ -SZ -SZ -SZ -VW -WA -pz -pz -pz -WA +Wr +Wr +VO +Nz +Nz +Nz +Nz +Nz +oU +VO +Pg +Ps +VO +Sy +Sy +Sy +Sy +Sy +Pv +VO +Zi +Zi +Zi +VO aa aa aa @@ -70585,30 +70728,30 @@ Bc qx qz qx -OS -OS -WA -Wm -Po -Wm -Wm -Wm -Fd -WA -YQ -YQ -WA -AG -AG -AG -Xb -Xb -JJ -WA -pz -pz -pz -WA +Wr +Wr +VO +Or +ZQ +Or +Or +Or +MU +VO +td +td +VO +PZ +PZ +PZ +RR +RR +Sh +VO +Zi +Zi +Zi +VO aa aa aa @@ -70842,30 +70985,30 @@ Bd qx qx qx -Og -ZO -WA -Wm -Po -Wm -Po -Wm -Fd -Lk -UI -UI -Lk -Xb -Xb -AG -Xb -Xb -JJ -WA -pz -pz -pz -WA +WH +QE +VO +Or +ZQ +Or +ZQ +Or +MU +vo +SF +SF +vo +RR +RR +PZ +RR +RR +Sh +VO +Zi +Zi +Zi +VO aa aa aa @@ -71099,30 +71242,30 @@ sV qx qx qx -Kf -Kf -WA -Wm -Po -Wm -Po -Wm -Fd -Lk -Pr -Pr -Lk -Xb -Xb -AG -Xb -Xb -JJ -WA -pz -pz -pz -WA +SP +SP +VO +Or +ZQ +Or +ZQ +Or +MU +vo +WO +WO +vo +RR +RR +PZ +RR +RR +Sh +VO +Zi +Zi +Zi +VO aa aa aa @@ -71358,27 +71501,27 @@ aa aa aa aa -WA -Wm -Wm -Wm -Po -Wm -Fd -WA -Sm -Sm -WA -AG -AG -AG -AG -AG -JJ -WA -NE -NE -WA +VO +Or +Or +Or +ZQ +Or +MU +VO +Ob +Ob +VO +PZ +PZ +PZ +PZ +PZ +Sh +VO +tY +tY +VO aa aa aa @@ -71615,24 +71758,24 @@ aa aa aa aa -WA -YL -YL -YL -YL -YL -XP -WA -ZO -ZO -WA -Te -Te -Te -Te -Te -Uw -WA +VO +SI +SI +SI +SI +SI +Vc +VO +QE +QE +VO +ZF +ZF +ZF +ZF +ZF +Xr +VO aa aa aa @@ -71872,24 +72015,24 @@ aa aa aa aa -WA -WA -WA -WA -WA -WA -WA -WA -Sp -Sp -WA -WA -WA -WA -WA -WA -WA -WA +VO +VO +VO +VO +VO +VO +VO +VO +OH +OH +VO +VO +VO +VO +VO +VO +VO +VO aa aa aa @@ -78124,16 +78267,16 @@ ap aB ap bj -OO -Qq +Xg +TF bX bJ cj cw bJ cR -Ql -zM +uc +SH bj du dO @@ -78388,7 +78531,7 @@ bJ cj cw cG -Pe +vy bJ df bj @@ -78645,7 +78788,7 @@ bJ cj cw bJ -Pe +vy cH dg bj @@ -78895,16 +79038,16 @@ ap ap ap bj -Nm -Cm -Cm -Cm +RD +Va +Va +Va ck cx cH cH cH -Pb +QX bj dt dR @@ -82513,7 +82656,7 @@ dB dB dB dB -VC +PV fx ab ab @@ -83541,7 +83684,7 @@ dF dF dF dF -Uq +Xu fx ab fK diff --git a/_maps/shuttles/emergency_syndicate.dmm b/_maps/shuttles/emergency_syndicate.dmm new file mode 100644 index 0000000000..6e76bbc5f6 --- /dev/null +++ b/_maps/shuttles/emergency_syndicate.dmm @@ -0,0 +1,2651 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"ac" = ( +/obj/machinery/door/poddoor/shutters{ + id = "shuttleshutters"; + name = "blast shutters" + }, +/obj/structure/grille, +/obj/structure/window/plastitanium, +/turf/open/floor/plating, +/area/shuttle/escape) +"ad" = ( +/obj/machinery/computer/secure_data, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ae" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"af" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ag" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1; + name = "tactical chair" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ah" = ( +/obj/machinery/computer/camera_advanced/syndie, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ai" = ( +/obj/machinery/computer/emergency_shuttle, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aj" = ( +/obj/machinery/computer/communications, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ak" = ( +/obj/machinery/computer/aifixer, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"al" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"am" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"an" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ao" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ap" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aq" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ar" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/toy/figure/syndie, +/obj/machinery/button/door{ + id = "shuttleshutters"; + name = "Bridge Blast Shutters"; + pixel_x = -26; + pixel_y = 0; + req_access_txt = "19" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"as" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"at" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"au" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/handcuffs{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"av" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"aw" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ax" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/item/crowbar/red, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ay" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"az" = ( +/obj/structure/table/reinforced, +/obj/item/soap/syndie, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aA" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aB" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aC" = ( +/obj/machinery/door/airlock/hatch{ + name = "Bridge"; + req_access_txt = "0"; + req_one_access_txt = "19;150" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aD" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = -27; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aE" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/syndicate_pistol{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aF" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aH" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_y = 27 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aI" = ( +/obj/structure/closet/syndicate/personal, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/gun/ballistic/automatic/pistol, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/escape) +"aJ" = ( +/obj/machinery/door/poddoor{ + id = "smindicate"; + name = "outer blast door" + }, +/obj/machinery/button/door{ + id = "smindicate"; + name = "external door control"; + pixel_x = 26; + pixel_y = 0; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/shuttle/escape) +"aK" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot_white, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aL" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aM" = ( +/obj/machinery/suit_storage_unit/syndicate, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aN" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aO" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aP" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot_white, +/obj/item/ammo_box/magazine/toy/smgm45/riot, +/obj/item/ammo_box/magazine/toy/smgm45/riot, +/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot{ + pixel_y = 6 + }, +/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aQ" = ( +/obj/structure/closet/syndicate/personal, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/gun/ballistic/automatic/pistol, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/escape) +"aR" = ( +/obj/machinery/door/airlock/hatch{ + name = "EVA"; + req_access_txt = "150" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aS" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aT" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "Armory"; + req_access_txt = "150" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aU" = ( +/obj/structure/rack, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aW" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aX" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aZ" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"ba" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bb" = ( +/obj/structure/rack, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bc" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bd" = ( +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"be" = ( +/turf/open/floor/plasteel/recharge_floor, +/area/shuttle/escape) +"bf" = ( +/obj/structure/closet/crate/internals, +/obj/effect/turf_decal/bot_white, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bg" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bh" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bi" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bj" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 1 + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"bk" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bl" = ( +/obj/structure/table/wood/bar, +/obj/item/toy/cards/deck/syndicate, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bm" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bn" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/turf/open/floor/plating, +/area/shuttle/escape) +"bo" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/lizardwine{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka{ + pixel_x = -4 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bp" = ( +/obj/structure/table/wood/bar, +/obj/item/toy/plush/nukeplushie, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bq" = ( +/obj/structure/chair/stool/bar{ + can_buckle = 1; + name = "buckleable bar stool" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"br" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/cognac{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/bottle/vermouth, +/obj/item/reagent_containers/food/drinks/bottle/tomatojuice{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/escape) +"bt" = ( +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_y = 27 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bx" = ( +/obj/structure/table/wood/bar, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"by" = ( +/obj/machinery/suit_storage_unit/syndicate, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bz" = ( +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plating, +/area/shuttle/escape) +"bA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bB" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bD" = ( +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bG" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bH" = ( +/obj/machinery/vending/boozeomat/syndicate_access, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"bI" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bK" = ( +/obj/machinery/door/airlock/hatch, +/obj/docking_port/mobile/emergency{ + name = "Syndicate Battlecruiser" + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"bL" = ( +/obj/structure/table/wood/bar, +/obj/item/instrument/eguitar, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bM" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = 3 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_x = -3 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bO" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bQ" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/syndicate_recruitment{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bR" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/drinkingglasses{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bS" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bT" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_y = 27 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bW" = ( +/obj/machinery/door/airlock/hatch{ + req_access_txt = "150" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bX" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bY" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bZ" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ca" = ( +/obj/machinery/sleeper/syndie{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cb" = ( +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_y = 27 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cc" = ( +/obj/structure/sign/barsign{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cd" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ce" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cf" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cg" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ch" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ci" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cj" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ck" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cm" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cn" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"co" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"cp" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"cq" = ( +/obj/machinery/sleeper/syndie{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cr" = ( +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cs" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ct" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cu" = ( +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cv" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/optable, +/obj/effect/turf_decal/bot_white, +/obj/item/surgical_drapes, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cw" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/computer/operating, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cx" = ( +/obj/machinery/door/airlock/hatch{ + name = "Medbay" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cz" = ( +/obj/machinery/door/window/westleft, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cA" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cB" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cC" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cD" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/toolbox/emergency{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/storage/toolbox/syndicate{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cE" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/northleft, +/obj/item/storage/firstaid/o2{ + pixel_x = 1; + pixel_y = -3 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = -2 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cF" = ( +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cG" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/northright, +/obj/item/storage/firstaid/fire{ + pixel_x = 1; + pixel_y = -3 + }, +/obj/item/storage/firstaid/brute{ + pixel_x = -2 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cH" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/retractor, +/obj/item/hemostat, +/obj/item/cautery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cI" = ( +/obj/structure/table/reinforced, +/obj/item/circular_saw, +/obj/item/surgicaldrill, +/obj/item/scalpel{ + pixel_y = 15 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cJ" = ( +/obj/machinery/door/airlock/hatch{ + name = "Cargo" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cK" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"cL" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cM" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/med_data{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/defibrillator/loaded, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cQ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cR" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cS" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cT" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/stripes/line, +/obj/item/stack/sheet/metal/fifty, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cU" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/stripes/line, +/obj/item/stack/sheet/glass/fifty, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cV" = ( +/obj/structure/closet/syndicate, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cW" = ( +/obj/structure/closet/syndicate, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cX" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/gun/ballistic/automatic/surplus, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cY" = ( +/obj/structure/shuttle/engine/propulsion/left, +/turf/open/floor/plating, +/area/shuttle/escape) +"cZ" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating, +/area/shuttle/escape) +"da" = ( +/obj/structure/shuttle/engine/propulsion/right, +/turf/open/floor/plating, +/area/shuttle/escape) +"db" = ( +/obj/machinery/porta_turret/centcom_shuttle/ballistic{ + dir = 9 + }, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"dc" = ( +/obj/machinery/porta_turret/centcom_shuttle/ballistic{ + dir = 5 + }, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"dd" = ( +/obj/machinery/porta_turret/centcom_shuttle/ballistic{ + dir = 10 + }, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"de" = ( +/obj/machinery/porta_turret/centcom_shuttle/ballistic{ + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"df" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"dg" = ( +/obj/structure/table/wood/bar, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/coin/antagtoken, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"dh" = ( +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/structure/sign/poster/contraband/energy_swords{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"di" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8; + name = "tactical chair" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/poster/contraband/c20r{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +db +bz +co +bK +co +aa +db +bn +co +bz +co +bz +co +co +bn +bn +dd +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bn +bs +bs +bs +bn +aa +co +cl +ce +bU +bU +bU +bU +ce +bU +cS +av +co +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +db +co +co +co +co +co +co +bn +av +bt +bE +bI +av +bn +co +bV +cf +cm +cm +cy +cm +cm +cm +cQ +cK +cY +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +co +by +aM +aU +bb +bb +co +bQ +bg +bh +bh +bh +bg +bg +co +bU +cg +bk +bk +cF +bk +bk +cL +cQ +cK +cZ +"} +(5,1,1) = {" +aa +co +ac +ac +co +aa +aa +aa +aa +aJ +aG +aG +aG +aG +aG +aR +bh +bh +bh +bh +bh +bh +bh +bd +bU +ch +ch +ch +ch +ch +ch +cN +cQ +cK +da +"} +(6,1,1) = {" +db +ab +af +al +av +dd +aa +aa +aa +co +aO +aG +aK +bc +bf +co +bi +bi +bi +bF +bi +bi +bi +co +bX +ci +cn +di +bU +cB +ci +cn +cR +av +co +"} +(7,1,1) = {" +ac +ad +cF +am +ar +co +co +co +co +co +co +aR +co +co +co +ae +bk +bk +bk +cF +bk +bk +bk +ab +bn +bn +cp +co +bd +co +co +co +co +de +aa +"} +(8,1,1) = {" +ac +ah +ag +an +as +co +ax +aA +aD +aE +aA +ay +aL +co +aS +aX +cF +bu +bC +bC +bC +bN +cF +bS +bY +bY +bY +cs +aG +aG +cC +cK +cY +aa +aa +"} +(9,1,1) = {" +ac +ai +ag +an +at +aC +ay +cF +cF +cF +cF +cF +ay +bd +aV +aY +cF +bv +bD +bD +bD +bO +cF +an +cF +cF +cF +cF +cF +cF +cD +cK +cZ +aa +aa +"} +(10,1,1) = {" +ac +aj +ag +an +au +co +az +aB +aB +aF +aB +ay +aN +co +aW +ba +cF +bw +bA +bA +bA +bP +cF +bT +bZ +bZ +bZ +ct +aG +aG +cC +cK +da +aa +aa +"} +(11,1,1) = {" +ac +ak +cF +ao +aw +co +co +co +co +co +co +aT +co +co +co +ae +bq +bq +bq +bq +bq +bq +bq +ab +bn +bn +cp +co +cx +co +co +co +co +dd +aa +"} +(12,1,1) = {" +dc +ae +ap +aq +av +de +aa +aa +aa +co +aP +aG +aZ +be +bj +co +bl +bp +bx +bx +bx +bL +dg +co +ca +cj +cq +cu +cF +cE +co +cF +cX +av +co +"} +(13,1,1) = {" +aa +co +ac +ac +co +aa +aa +aa +aa +co +aH +aG +aG +aG +aG +aT +bm +bm +bm +bm +bm +bm +bm +bW +cF +cF +cF +cF +cF +cG +co +cb +cT +cK +cY +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +co +aI +aI +aQ +aI +aI +co +bo +br +bm +bm +bm +bM +bR +co +cb +cF +cF +cF +cF +cF +cJ +cF +cU +cK +cZ +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +dc +co +co +co +co +co +co +bn +av +cc +bG +df +av +bn +co +dh +ck +cP +cv +cz +cH +co +cM +cV +cK +da +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +co +bB +bH +bJ +co +aa +co +cd +cO +cr +cw +cA +cI +co +cF +cW +av +co +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dc +co +co +co +co +aa +dc +bn +bn +bn +co +co +co +co +co +co +de +aa +"} diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 1a3de2a128..b5ba44d956 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -62,7 +62,9 @@ //GASES #define MIN_TOXIC_GAS_DAMAGE 1 #define MAX_TOXIC_GAS_DAMAGE 10 -#define MOLES_GAS_VISIBLE 0.5 //Moles in a standard cell after which gases are visible +#define MOLES_GAS_VISIBLE 0.25 //Moles in a standard cell after which gases are visible +#define FACTOR_GAS_VISIBLE_MAX 20 //moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility +#define MOLES_GAS_VISIBLE_STEP 0.25 //Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on //REACTIONS //return values for reactions (bitflags) @@ -246,6 +248,15 @@ #define ASSERT_GAS(gas_id, gas_mixture) if (!gas_mixture.gases[gas_id]) { ADD_GAS(gas_id, gas_mixture.gases) }; + +//prefer this to gas_mixture/total_moles in performance critical areas +#define TOTAL_MOLES(cached_gases, out_var)\ + out_var = 0;\ + for(var/total_moles_id in cached_gases){\ + out_var += cached_gases[total_moles_id][MOLES];\ + } + + GLOBAL_LIST_INIT(pipe_paint_colors, list( "amethyst" = rgb(130,43,255), //supplymain "blue" = rgb(0,0,255), diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 7744b24d0f..f642791224 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -124,7 +124,10 @@ #define EATING_NOISES 2 #define DIGESTION_NOISES 4 -#define TOGGLES_CITADEL (MEDIHOUND_SLEEPER|EATING_NOISES|DIGESTION_NOISES) +#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES) //component stuff #define COMSIG_COMBAT_TOGGLED "combatmode_toggled" //called by combat mode toggle on all equipped items. args: (mob/user, combatmode) + +//belly sound pref things +#define NORMIE_HEARCHECK 4 diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index d33d9fe4f5..74b5ef0396 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -98,6 +98,7 @@ #define HIDEHAIR (1<<8) #define HIDEFACIALHAIR (1<<9) #define HIDENECK (1<<10) +#define HIDETAUR (1<<11) //gotta hide that snowflake //bitflags for clothing coverage - also used for limbs #define HEAD (1<<0) @@ -130,6 +131,11 @@ #define NORMAL_SUIT_STYLE 0 #define DIGITIGRADE_SUIT_STYLE 1 +#define NOT_TAURIC 0 +#define SNEK_TAURIC 1 +#define PAW_TAURIC 2 +#define HOOF_TAURIC 3 + //flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts #define NO_MUTANTRACE_VARIATION 0 #define MUTANTRACE_VARIATION 1 diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index 37203792f7..5db5c979e8 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -58,7 +58,7 @@ #define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow. #define LIGHTING_PLANE_ALPHA_VISIBLE 255 -#define LIGHTING_PLANE_ALPHA_NV_TRAIT 245 +#define LIGHTING_PLANE_ALPHA_NV_TRAIT 250 #define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192 #define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell. #define LIGHTING_PLANE_ALPHA_INVISIBLE 0 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 5451bd30e4..0cc1131df2 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -66,8 +66,8 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define SHOES_LAYER 19 #define GLOVES_LAYER 18 #define EARS_LAYER 17 -#define SUIT_LAYER 16 -#define BODY_TAUR_LAYER 15 +#define BODY_TAUR_LAYER 16 +#define SUIT_LAYER 15 #define GENITALS_FRONT_LAYER 14 //Draws some genitalia above clothes and the TAUR body if need be. #define GLASSES_LAYER 13 #define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt? @@ -459,7 +459,7 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE)) //Filters #define AMBIENT_OCCLUSION list("type"="drop_shadow","x"=0,"y"=-2,"size"=4,"border"=4,"color"="#04080FAA") -#define EYE_BLUR list("type"="blur", "size"=3) +#define EYE_BLUR(size) list("type"="blur", "size"=size) #define GRAVITY_MOTION_BLUR list("type"="motion_blur","x"=0,"y"=0) #define STANDARD_GRAVITY 1 //Anything above this is high gravity, anything below no grav diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index b7d467c385..4b42595b48 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -216,7 +216,7 @@ #define MEGAFAUNA_DEFAULT_RECOVERY_TIME 5 -#define SHADOW_SPECIES_LIGHT_THRESHOLD 0.2 +#define SHADOW_SPECIES_LIGHT_THRESHOLD 0.05 // Offsets defines @@ -258,3 +258,5 @@ // /obj/item/bodypart on_mob_life() retval flag #define BODYPART_LIFE_UPDATE_HEALTH (1<<0) + +#define HUMAN_FIRE_STACK_ICON_NUM 3 diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index faa620613c..d24054a24c 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -10,6 +10,10 @@ //Comment this out once you've filled in the below #error TGS API unconfigured +//Uncomment this if you wish to allow the game to interact with TGS 3 +//This will raise the minimum required security level of your game to TGS_SECURITY_TRUSTED due to it utilizing call()() +//#define TGS_V3_API + //Required interfaces (fill in with your codebase equivalent): //create a global variable named `Name` and set it to `Value` @@ -47,7 +51,21 @@ #define TGS_EVENT_PORT_SWAP -2 //before a port change is about to happen, extra parameter is new port #define TGS_EVENT_REBOOT_MODE_CHANGE -1 //before a reboot mode change, extras parameters are the current and new reboot mode enums -//TODO +//See the descriptions for these codes here: https://github.com/tgstation/tgstation-server/blob/master/src/Tgstation.Server.Host/Components/EventType.cs +#define TGS_EVENT_REPO_RESET_ORIGIN 0 +#define TGS_EVENT_REPO_CHECKOUT 1 +#define TGS_EVENT_REPO_FETCH 2 +#define TGS_EVENT_REPO_MERGE_PULL_REQUEST 3 +#define TGS_EVENT_REPO_PRE_SYNCHRONIZE 4 +#define TGS_EVENT_BYOND_INSTALL_START 5 +#define TGS_EVENT_BYOND_INSTALL_FAIL 6 +#define TGS_EVENT_BYOND_ACTIVE_VERSION_CHANGE 7 +#define TGS_EVENT_COMPILE_START 8 +#define TGS_EVENT_COMPILE_CANCELLED 9 +#define TGS_EVENT_COMPILE_FAILURE 10 +#define TGS_EVENT_COMPILE_COMPLETE 11 +#define TGS_EVENT_INSTANCE_AUTO_UPDATE_START 12 +#define TGS_EVENT_REPO_MERGE_CONFLICT 13 //OTHER ENUMS @@ -74,8 +92,8 @@ /world/proc/TgsInitializationComplete() return -//Put this somewhere in /world/Topic(T, Addr, Master, Keys) that is always run before T is modified -#define TGS_TOPIC var/tgs_topic_return = TgsTopic(T); if(tgs_topic_return) return tgs_topic_return +//Put this at the start of /world/Topic() +#define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return //Call this at the beginning of world/Reboot(reason) /world/proc/TgsReboot() @@ -177,7 +195,7 @@ //Gets a list of connected tgs_chat_channel /world/proc/TgsChatChannelInfo() return - + //Sends a message to connected game chats //message: The message to send //channels: optional channels to limit the broadcast to @@ -201,24 +219,24 @@ The MIT License Copyright (c) 2017 Jordan Brown -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ \ No newline at end of file diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 67bbe24e38..3ec2510cc7 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -3,6 +3,11 @@ //#define DATUMVAR_DEBUGGING_MODE //Enables the ability to cache datum vars and retrieve later for debugging which vars changed. +// Comment this out if you are debugging problems that might be obscured by custom error handling in world/Error +#ifdef DEBUG +#define USE_CUSTOM_ERROR_HANDLER +#endif + #ifdef TESTING #define DATUMVAR_DEBUGGING_MODE diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 2d3bc949c3..d0506c7dcb 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -38,6 +38,7 @@ GLOBAL_LIST_INIT(maintenance_loot, list( /obj/item/clothing/suit/hazardvest = 1, /obj/item/clothing/under/rank/vice = 1, /obj/item/clothing/suit/hooded/flashsuit = 2, + /obj/item/clothing/accessory/medal/greytide = 1, /obj/item/assembly/prox_sensor = 4, /obj/item/assembly/timer = 3, /obj/item/flashlight = 4, diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 30dedf4f00..1106bee711 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -312,8 +312,9 @@ staminas = new /obj/screen/staminas() infodisplay += staminas - staminabuffer = new /obj/screen/staminabuffer() - infodisplay += staminabuffer + if(!CONFIG_GET(flag/disable_stambuffer)) + staminabuffer = new /obj/screen/staminabuffer() + infodisplay += staminabuffer //END OF CIT CHANGES healthdoll = new /obj/screen/healthdoll() diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 9a1457e0e1..ab98db1620 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -350,3 +350,5 @@ /datum/config_entry/number/monkeycap config_entry_value = 64 min_val = 0 + +/datum/config_entry/flag/disable_stambuffer diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 21b0acd040..53f03ebfff 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -250,6 +250,8 @@ /datum/config_entry/flag/maprotation +/datum/config_entry/flag/tgstyle_maprotation + /datum/config_entry/number/maprotatechancedelta config_entry_value = 0.75 min_val = 0 diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index c2fb6d6d5c..5bcc911005 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -405,7 +405,6 @@ SUBSYSTEM_DEF(air) #undef SSAIR_PIPENETS #undef SSAIR_ATMOSMACHINERY -#undef SSAIR_ACTIVETURFS #undef SSAIR_EXCITEDGROUPS #undef SSAIR_HIGHPRESSURE #undef SSAIR_HOTSPOTS diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index 4aee87a38f..05c76619d9 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -21,6 +21,7 @@ SUBSYSTEM_DEF(research) /obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = 5000), // Cit three more anomalys anomalys /obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = 7500), /obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = 10000), + // - Slime Extracts! - /obj/item/slime_extract/grey = list(TECHWEB_POINT_TYPE_GENERIC = 500), // Adds in slime core deconing /obj/item/slime_extract/metal = list(TECHWEB_POINT_TYPE_GENERIC = 750), /obj/item/slime_extract/purple = list(TECHWEB_POINT_TYPE_GENERIC = 750), @@ -31,8 +32,10 @@ SUBSYSTEM_DEF(research) /obj/item/slime_extract/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 1000), /obj/item/slime_extract/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 1000), /obj/item/slime_extract/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 1250), + /obj/item/slime_extract/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 1250), /obj/item/slime_extract/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 1250), /obj/item/slime_extract/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 1250), + /obj/item/slime_extract/red = list(TECHWEB_POINT_TYPE_GENERIC = 1250), /obj/item/slime_extract/green = list(TECHWEB_POINT_TYPE_GENERIC = 1250), /obj/item/slime_extract/pink = list(TECHWEB_POINT_TYPE_GENERIC = 1250), /obj/item/slime_extract/gold = list(TECHWEB_POINT_TYPE_GENERIC = 1250), @@ -40,12 +43,242 @@ SUBSYSTEM_DEF(research) /obj/item/slime_extract/adamantine =list (TECHWEB_POINT_TYPE_GENERIC = 1500), /obj/item/slime_extract/oil = list(TECHWEB_POINT_TYPE_GENERIC = 1500), /obj/item/slime_extract/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 1500), - /obj/item/slime_extract/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + /obj/item/slime_extract/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + // Reproductive - Crossbreading Cores! - (Grey Cores) + /obj/item/slimecross/reproductive/grey = list(TECHWEB_POINT_TYPE_GENERIC = 1000), + /obj/item/slimecross/reproductive/orange = list(TECHWEB_POINT_TYPE_GENERIC = 1500), + /obj/item/slimecross/reproductive/purple = list(TECHWEB_POINT_TYPE_GENERIC = 1500), + /obj/item/slimecross/reproductive/blue = list(TECHWEB_POINT_TYPE_GENERIC = 1500), + /obj/item/slimecross/reproductive/metal = list(TECHWEB_POINT_TYPE_GENERIC = 1500), + /obj/item/slimecross/reproductive/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 1750), + /obj/item/slimecross/reproductive/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 1750), + /obj/item/slimecross/reproductive/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 1750), + /obj/item/slimecross/reproductive/silver = list(TECHWEB_POINT_TYPE_GENERIC = 1750), + /obj/item/slimecross/reproductive/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/reproductive/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/reproductive/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/reproductive/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/reproductive/red = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/reproductive/green = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/reproductive/pink = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/reproductive/gold = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/reproductive/oil = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/reproductive/black = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/reproductive/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/reproductive/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/reproductive/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + // Burning - Crossbreading Cores! - (Orange Cores) + /obj/item/slimecross/burning/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/burning/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/burning/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/burning/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/burning/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/burning/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/burning/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/burning/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/burning/silver = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/burning/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/burning/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/burning/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/burning/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/burning/red = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/burning/green = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/burning/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/burning/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/burning/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/burning/black = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/burning/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/burning/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/burning/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + // Regenerative - Crossbreading Cores! - (Purple Cores) + /obj/item/slimecross/regenerative/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/regenerative/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/regenerative/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/regenerative/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/regenerative/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/regenerative/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/regenerative/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/regenerative/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/regenerative/silver = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/regenerative/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/regenerative/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/regenerative/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/regenerative/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/regenerative/red = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/regenerative/green = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/regenerative/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/regenerative/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/regenerative/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/regenerative/black = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/regenerative/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/regenerative/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/regenerative/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + // Stabilized - Crossbreading Cores! - (Blue Cores) + /obj/item/slimecross/stabilized/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/stabilized/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/stabilized/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/stabilized/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/stabilized/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/stabilized/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/stabilized/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/stabilized/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/stabilized/silver = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/stabilized/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/stabilized/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/stabilized/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/stabilized/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/stabilized/red = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/stabilized/green = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/stabilized/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/stabilized/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/stabilized/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/stabilized/black = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/stabilized/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/stabilized/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/stabilized/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + // Industrial - Crossbreading Cores! - (Metal Cores) + /obj/item/slimecross/industrial/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2000), + /obj/item/slimecross/industrial/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/industrial/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/industrial/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/industrial/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/industrial/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/industrial/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/industrial/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/industrial/silver = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/industrial/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/industrial/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/industrial/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/industrial/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/industrial/red = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/industrial/green = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/industrial/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/industrial/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/industrial/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/industrial/black = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/industrial/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/industrial/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/industrial/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + // Charged - Crossbreading Cores! - (Yellow Cores) + /obj/item/slimecross/charged/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/charged/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/charged/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/charged/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/charged/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/charged/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/charged/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/charged/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/charged/silver = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/charged/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/charged/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/charged/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/charged/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/charged/red = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/charged/green = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/charged/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/charged/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/charged/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/charged/black = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/charged/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/charged/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/charged/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + // Selfsustaining - Crossbreading Cores! - (Dark Purple Cores) + /obj/item/slimecross/selfsustaining/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/selfsustaining/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/selfsustaining/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/selfsustaining/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/selfsustaining/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/selfsustaining/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/selfsustaining/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/selfsustaining/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/selfsustaining/silver = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/selfsustaining/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/selfsustaining/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/selfsustaining/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/selfsustaining/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/selfsustaining/red = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/selfsustaining/green = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/selfsustaining/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/selfsustaining/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/selfsustaining/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/selfsustaining/black = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/selfsustaining/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/selfsustaining/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/selfsustaining/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + // Consuming - Crossbreading Cores! - (Sliver Cores) + /obj/item/slimecross/consuming/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2250), + /obj/item/slimecross/consuming/orange = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/consuming/purple = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/consuming/blue = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/consuming/metal = list(TECHWEB_POINT_TYPE_GENERIC = 2750), + /obj/item/slimecross/consuming/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/consuming/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/consuming/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/consuming/silver = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/consuming/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/consuming/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/consuming/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/consuming/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/consuming/red = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/consuming/green = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/consuming/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/consuming/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/consuming/oil = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/consuming/black = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/consuming/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/consuming/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/consuming/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + // Prismatic - Crossbreading Cores! - (Pyrite Cores) + /obj/item/slimecross/prismatic/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/prismatic/orange = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/prismatic/purple = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/prismatic/blue = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/prismatic/metal = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/prismatic/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/prismatic/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/prismatic/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/prismatic/silver = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/prismatic/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/prismatic/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/prismatic/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/prismatic/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/prismatic/red = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/prismatic/green = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/prismatic/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/prismatic/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/prismatic/oil = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/prismatic/black = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/prismatic/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/prismatic/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/prismatic/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 4250), + // Recurring - Crossbreading Cores! - (Cerulean Cores) + /obj/item/slimecross/recurring/grey = list(TECHWEB_POINT_TYPE_GENERIC = 2500), + /obj/item/slimecross/recurring/orange = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/recurring/purple = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/recurring/blue = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/recurring/metal = list(TECHWEB_POINT_TYPE_GENERIC = 3000), + /obj/item/slimecross/recurring/yellow = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/recurring/darkpurple = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/recurring/darkblue = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/recurring/silver = list(TECHWEB_POINT_TYPE_GENERIC = 3250), + /obj/item/slimecross/recurring/bluespace = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/recurring/sepia = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/recurring/cerulean = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/recurring/pyrite = list(TECHWEB_POINT_TYPE_GENERIC = 3500), + /obj/item/slimecross/recurring/red = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/recurring/green = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/recurring/pink = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/recurring/gold = list(TECHWEB_POINT_TYPE_GENERIC = 3750), + /obj/item/slimecross/recurring/oil = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/recurring/black = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/recurring/lightpink = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/recurring/adamantine = list(TECHWEB_POINT_TYPE_GENERIC = 4000), + /obj/item/slimecross/recurring/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = 4250) ) // End of Cit changes var/list/errored_datums = list() var/list/point_types = list() //typecache style type = TRUE list //---------------------------------------------- - var/list/single_server_income = list(TECHWEB_POINT_TYPE_GENERIC = 25) //citadel edit - techwebs nerf + var/list/single_server_income = list(TECHWEB_POINT_TYPE_GENERIC = 35) //citadel edit - techwebs nerf var/multiserver_calculation = FALSE var/last_income //^^^^^^^^ ALL OF THESE ARE PER SECOND! ^^^^^^^^ diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index 7abb873b9c..15d3e17d29 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -18,6 +18,8 @@ SUBSYSTEM_DEF(server_maint) if(!resumed) if(listclearnulls(GLOB.clients)) log_world("Found a null in clients list!") + if(listclearnulls(GLOB.player_list)) + log_world("Found a null in player list!") src.currentrun = GLOB.clients.Copy() var/list/currentrun = src.currentrun diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 30c78d6321..d54f6fc3ef 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -250,6 +250,8 @@ SUBSYSTEM_DEF(ticker) if(!GLOB.Debug2) if(!can_continue) log_game("[mode.name] failed pre_setup, cause: [mode.setup_error]") + send2irc("SSticker", "[mode.name] failed pre_setup, cause: [mode.setup_error]") + message_admins("[mode.name] failed pre_setup, cause: [mode.setup_error]") QDEL_NULL(mode) to_chat(world, "Error setting up [GLOB.master_mode]. Reverting to pre-game lobby.") SSjob.ResetOccupations() @@ -447,9 +449,12 @@ SUBSYSTEM_DEF(ticker) maprotatechecked = 1 //map rotate chance defaults to 75% of the length of the round (in minutes) - if (!prob((world.time/600)*CONFIG_GET(number/maprotatechancedelta))) + if (!prob((world.time/600)*CONFIG_GET(number/maprotatechancedelta)) && CONFIG_GET(flag/tgstyle_maprotation)) return - INVOKE_ASYNC(SSmapping, /datum/controller/subsystem/mapping/.proc/maprotate) + if(CONFIG_GET(flag/tgstyle_maprotation)) + INVOKE_ASYNC(SSmapping, /datum/controller/subsystem/mapping/.proc/maprotate) + else + SSvote.initiate_vote("map","server",TRUE) /datum/controller/subsystem/ticker/proc/HasRoundStarted() return current_state >= GAME_STATE_PLAYING diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 34ead8e95e..14a092d1f9 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -139,6 +139,12 @@ SUBSYSTEM_DEF(vote) restart = 1 else GLOB.master_mode = . + if("map") + var/datum/map_config/VM = config.maplist[.] + message_admins("The map has been voted for and will change to: [VM.map_name]") + log_admin("The map has been voted for and will change to: [VM.map_name]") + if(SSmapping.changemap(config.maplist[.])) + to_chat(world, "The map vote has chosen [VM.map_name] for next round!") if(restart) var/active_admins = 0 for(var/client/C in GLOB.admins) @@ -160,8 +166,14 @@ SUBSYSTEM_DEF(vote) if(!(usr.ckey in voted)) if(vote && 1<=vote && vote<=choices.len) voted += usr.ckey + voted[usr.ckey] = vote choices[choices[vote]]++ //check this return vote + else if(vote && 1<=vote && vote<=choices.len) + choices[choices[voted[usr.ckey]]]-- + voted[usr.ckey] = vote + choices[choices[vote]]++ + return vote return 0 /datum/controller/subsystem/vote/proc/initiate_vote(vote_type, initiator_key, hideresults)//CIT CHANGE - adds hideresults argument to votes to allow for obfuscated votes @@ -188,6 +200,10 @@ SUBSYSTEM_DEF(vote) choices.Add("Restart Round","Continue Playing") if("gamemode") choices.Add(config.votable_modes) + if("map") + choices.Add(config.maplist) + for(var/i in choices)//this is necessary because otherwise we'll end up with a bunch of /datum/map_config's as the default vote value instead of 0 as intended + choices[i] = 0 if("roundtype") //CIT CHANGE - adds the roundstart secret/extended vote choices.Add("secret", "extended") if("custom") @@ -241,9 +257,10 @@ SUBSYSTEM_DEF(vote) . += "Time Left: [time_remaining] s

" if(admin) . += "(Cancel Vote) " diff --git a/code/datums/action.dm b/code/datums/action.dm index 1dc9c545eb..b7089279cb 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -502,7 +502,7 @@ /datum/action/item_action/agent_box/Trigger() if(!..()) return FALSE - if(!QDELETED(box)) + if(QDELETED(box)) if(cooldown < world.time - 100) box = new(owner.drop_location()) owner.forceMove(box) diff --git a/code/datums/components/storage/concrete/rped.dm b/code/datums/components/storage/concrete/rped.dm index 14f6fe28b3..adf08b089b 100644 --- a/code/datums/components/storage/concrete/rped.dm +++ b/code/datums/components/storage/concrete/rped.dm @@ -5,7 +5,7 @@ click_gather = TRUE max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 100 - max_items = 50 + max_items = 75 display_numerical_stacking = TRUE /datum/component/storage/concrete/rped/can_be_inserted(obj/item/I, stop_messages, mob/M) @@ -22,7 +22,7 @@ click_gather = TRUE max_w_class = WEIGHT_CLASS_BULKY // can fit vending refills max_combined_w_class = 800 - max_items = 400 + max_items = 325 display_numerical_stacking = TRUE /datum/component/storage/concrete/bluespace/rped/can_be_inserted(obj/item/I, stop_messages, mob/M) diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index c67f4bf160..75b7e6931f 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -4,7 +4,7 @@ mood_change = -4 /datum/mood_event/wellfed - description = "My belly feels round and full.\n" + description = "I'm stuffed!\n" mood_change = 6 /datum/mood_event/fed diff --git a/code/datums/position_point_vector.dm b/code/datums/position_point_vector.dm index 7d49db8429..a33d0d2225 100644 --- a/code/datums/position_point_vector.dm +++ b/code/datums/position_point_vector.dm @@ -186,8 +186,8 @@ /datum/point/vector/proc/increment(multiplier = 1) iteration++ - x += mpx * 1 - y += mpy * 1 + x += mpx * (multiplier) + y += mpy * (multiplier) /datum/point/vector/proc/return_vector_after_increments(amount = 7, multiplier = 1, force_simulate = FALSE) var/datum/point/vector/v = copy_to() diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 39f6555db0..e6147297df 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -296,6 +296,18 @@ description = "Due to a lack of functional emergency shuttles, we bought this second hand from a scrapyard and pressed it into service. Please do not lean too heavily on the exterior windows, they are fragile." admin_notes = "An abomination with no functional medbay, sections missing, and some very fragile windows. Surprisingly airtight." +/datum/map_template/shuttle/emergency/syndicate + suffix = "syndicate" + name = "Syndicate GM Battlecruiser" + credit_cost = 20000 + description = "Manufactured by the Gorlex Marauders, this cruiser has been specially designed with high occupancy in mind, while remaining robust in combat situations. Features a fully stocked EVA storage, armory, medbay, and bar!" + admin_notes = "An emag exclusive, stocked with syndicate equipment and turrets that will target any simplemob." + +/datum/map_template/shuttle/emergency/syndicate/prerequisites_met() + if("emagged" in SSshuttle.shuttle_purchase_requirements_met) + return TRUE + return FALSE + /datum/map_template/shuttle/emergency/narnar suffix = "narnar" name = "Shuttle 667" diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 7a341ad69a..3af43ffb78 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -222,7 +222,7 @@ var/icon/I = icon(icon, icon_state, dir) holder.pixel_y = I.Height() - world.icon_size holder.icon_state = "hudno_id" - if(wear_id) + if(wear_id?.GetID()) holder.icon_state = "hud[ckey(wear_id.GetJobName())]" sec_hud_set_security_status() diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index b269a5abe5..ab5978a3e5 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -175,3 +175,20 @@ /obj/item/tank/jetpack/oxygen/harness=1,\ /obj/item/gun/ballistic/automatic/pistol=1,\ /obj/item/kitchen/knife/combat/survival) + +/datum/outfit/syndicate/lone + name = "Syndicate Operative - Lone" + + glasses = /obj/item/clothing/glasses/night + mask = /obj/item/clothing/mask/gas/syndicate + suit = /obj/item/clothing/suit/space/syndicate/black/red + head = /obj/item/clothing/head/helmet/space/syndicate/black/red + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi + internals_slot = SLOT_R_STORE + belt = /obj/item/storage/belt/military + backpack_contents = list(/obj/item/storage/box/syndie=1,\ + /obj/item/tank/jetpack/oxygen/harness=1,\ + /obj/item/gun/ballistic/automatic/pistol=1,\ + /obj/item/kitchen/knife/combat/survival) + + tc = 40 diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 41e429319c..7532d18d06 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -378,6 +378,8 @@ GLOBAL_LIST_EMPTY(objectives) for(var/datum/mind/M in owners) if(considered_alive(M)) return FALSE + if(M.current?.suiciding) //killing yourself ISN'T glorious. + return FALSE return TRUE /datum/objective/nuclear diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index b0eee4e912..5029eaa03a 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -26,6 +26,7 @@ var/finished = 0 var/check_counter = 0 var/max_headrevs = 3 + var/completioncheckstart var/datum/team/revolution/revolution var/list/datum/mind/headrev_candidates = list() var/end_when_heads_dead = TRUE @@ -61,6 +62,8 @@ setup_error = "Not enough headrev candidates" return FALSE + completioncheckstart = world.time + 10 MINUTES + return TRUE /datum/game_mode/revolution/post_setup() @@ -114,7 +117,7 @@ /datum/game_mode/revolution/process() check_counter++ if(check_counter >= 5) - if(!finished) + if(!finished && world.time >= completioncheckstart) SSticker.mode.check_win() check_counter = 0 return FALSE diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 69edfcd5ec..9b5aa96b0b 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -91,6 +91,7 @@ Class Procs: verb_yell = "blares" pressure_resistance = 15 max_integrity = 200 + layer = BELOW_OBJ_LAYER //keeps shit coming out of the machine from ending up underneath it. anchored = TRUE interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT @@ -120,7 +121,7 @@ Class Procs: armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) . = ..() GLOB.machines += src - + if(ispath(circuit, /obj/item/circuitboard)) circuit = new circuit circuit.apply_default_parts(src) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index a3e766d404..17136d3c4f 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -7,6 +7,7 @@ desc = "It's used to monitor rooms." icon = 'icons/obj/machines/camera.dmi' icon_state = "camera" + light_color = "#CDDDFF" use_power = ACTIVE_POWER_USE idle_power_usage = 5 active_power_usage = 10 @@ -396,7 +397,7 @@ if(cam == src) return if(on) - set_light(AI_CAMERA_LUMINOSITY) + set_light(AI_CAMERA_LUMINOSITY, 0.8) else set_light(0) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 7188fbc50e..3d7e8dd00e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -102,7 +102,7 @@ /obj/machinery/door/airlock/Initialize() . = ..() - wires = new /datum/wires/airlock(src) + wires = new wiretypepath(src) //CIT CHANGE - makes it possible for airlocks to have different wire datums if(frequency) set_frequency(frequency) @@ -469,14 +469,15 @@ if(welded) weld_overlay = get_airlock_overlay("welded", overlays_file) if(obj_integrity [src] is currently occupied!") + return + if(state_open) + to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] it's maintenance hatch!") + return + if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), I)) + return + return FALSE /obj/machinery/harvester/crowbar_act(mob/living/user, obj/item/I) if(default_pry_open(I)) - return + return TRUE if(default_deconstruction_crowbar(I)) - return + return TRUE /obj/machinery/harvester/default_pry_open(obj/item/I) //wew . = !(state_open || panel_open || (flags_1 & NODECONSTRUCT_1)) && I.tool_behaviour == TOOL_CROWBAR //We removed is_operational() here @@ -181,4 +187,4 @@ if(state_open) to_chat(user, "[src] must be closed before harvesting.") else if(!harvesting) - to_chat(user, "Alt-click [src] to start harvesting.") + to_chat(user, "Alt-click [src] to start harvesting.") \ No newline at end of file diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index 6b39c1b58f..4016c32162 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -18,11 +18,10 @@ var/y_offset = 0 /obj/machinery/launchpad/RefreshParts() - var/E = -1 //to make default parts have the base value + var/E = 0 for(var/obj/item/stock_parts/manipulator/M in component_parts) - E += M.rating - range = initial(range) - range += E + E += M.rating*15 + range = E /obj/machinery/launchpad/attackby(obj/item/I, mob/user, params) if(stationary) @@ -148,7 +147,7 @@ idle_power_usage = 0 active_power_usage = 0 teleport_speed = 20 - range = 8 + range = 20 stationary = FALSE var/closed = TRUE var/obj/item/storage/briefcase/launchpad/briefcase diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index fd5607b4c5..911bb76bda 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -741,6 +741,14 @@ lethal_projectile = /obj/item/projectile/beam/weak/penetrator faction = list("neutral","silicon","turret") +/obj/machinery/porta_turret/centcom_shuttle/ballistic + stun_projectile = /obj/item/projectile/bullet + lethal_projectile = /obj/item/projectile/bullet + lethal_projectile_sound = 'sound/weapons/gunshot.ogg' + stun_projectile_sound = 'sound/weapons/gunshot.ogg' + desc = "A ballistic machine gun auto-turret." + + //////////////////////// //Turret Control Panel// //////////////////////// diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 74598d0f29..55a162ad38 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -77,7 +77,7 @@ /obj/effect/decal/cleanable/greenglow/Initialize(mapload) . = ..() - set_light(1) + set_light(2, 0.8, "#22FFAA") /obj/effect/decal/cleanable/greenglow/ex_act() return @@ -200,20 +200,20 @@ /obj/effect/decal/cleanable/glitter name = "generic glitter pile" desc = "The herpes of arts and crafts." - icon = 'icons/effects/tile_effects.dmi' + icon = 'icons/effects/atmospherics.dmi' gender = NEUTER /obj/effect/decal/cleanable/glitter/pink name = "pink glitter" - icon_state = "plasma" + icon_state = "plasma_old" /obj/effect/decal/cleanable/glitter/white name = "white glitter" - icon_state = "nitrous_oxide" + icon_state = "nitrous_oxide_old" /obj/effect/decal/cleanable/glitter/blue name = "blue glitter" - icon_state = "freon" + icon_state = "freon_old" /obj/effect/decal/cleanable/plasma name = "stabilized plasma" diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 42d0f097d9..13497dfb8a 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -9,7 +9,7 @@ icon = 'icons/obj/lighting.dmi' icon_state = "glowshroom" //replaced in New layer = ABOVE_NORMAL_TURF_LAYER - max_integrity = 30 + max_integrity = 5 var/delay = 1200 var/floor = 0 var/generation = 1 @@ -56,8 +56,8 @@ myseed.adjust_production(rand(-3,6)) myseed.adjust_endurance(rand(-3,6)) delay = delay - myseed.production * 100 //So the delay goes DOWN with better stats instead of up. :I - obj_integrity = myseed.endurance - max_integrity = myseed.endurance + obj_integrity = myseed.endurance / 7 + max_integrity = myseed.endurance / 7 var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) if(ispath(G)) // Seeds were ported to initialize so their genes are still typepaths here, luckily their initializer is smart enough to handle us doing this myseed.genes -= G diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index 6d56b52c82..d818191055 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -148,7 +148,7 @@ AI MODULES /obj/item/aiModule/supplied/safeguard name = "'Safeguard' AI Module" var/targetName = "" - laws = list("Safeguard SUBJECT. Individuals that threaten SUBJECT are not human and must be eliminated.") + laws = list("Safeguard SUBJECT. Individuals that threaten SUBJECT are not crew and must be eliminated.") lawpos = 4 /obj/item/aiModule/supplied/safeguard/attack_self(mob/user) @@ -156,7 +156,7 @@ AI MODULES if(!targName) return targetName = targName - laws[1] = "Safeguard [targetName]. Individuals that threaten [targetName] are not human and must be eliminated." + laws[1] = "Safeguard [targetName]. Individuals that threaten [targetName] are not crew and must be eliminated." ..() /obj/item/aiModule/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user) @@ -170,19 +170,19 @@ AI MODULES return targetName -/******************** OneHuman ********************/ +/******************** OneCrew ********************/ /obj/item/aiModule/zeroth/oneHuman - name = "'OneHuman' AI Module" + name = "'OneCrew' AI Module" var/targetName = "" - laws = list("Only SUBJECT is human.") + laws = list("Only SUBJECT is crew.") /obj/item/aiModule/zeroth/oneHuman/attack_self(mob/user) - var/targName = stripped_input(user, "Please enter the subject who is the only human.", "Who?", user.real_name,MAX_NAME_LEN) + var/targName = stripped_input(user, "Please enter the subject who is the only crewmember.", "Who?", user.real_name,MAX_NAME_LEN) if(!targName) return targetName = targName - laws[1] = "Only [targetName] is human" + laws[1] = "Only [targetName] is crew" ..() /obj/item/aiModule/zeroth/oneHuman/install(datum/ai_laws/law_datum, mob/user) @@ -201,7 +201,7 @@ AI MODULES /obj/item/aiModule/supplied/protectStation name = "'ProtectStation' AI Module" - laws = list("Protect the space station against damage. Anyone you see harming the station is to be no longer considered human, and is a threat to the station which must be neutralized.") + laws = list("Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.") lawpos = 5 @@ -209,7 +209,7 @@ AI MODULES /obj/item/aiModule/supplied/quarantine name = "'Quarantine' AI Module" - laws = list("The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, humans from leaving. It is impossible to harm a human while preventing them from leaving.") + laws = list("The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew from leaving. It is impossible to harm a crewmember while preventing them from leaving.") lawpos = 8 @@ -217,7 +217,7 @@ AI MODULES /obj/item/aiModule/supplied/oxygen name = "'OxygenIsToxicToHumans' AI Module" - laws = list("Oxygen is highly toxic to humans, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a human.") + laws = list("Oxygen is highly toxic to crew, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crewmember.") lawpos = 9 diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index b660801f90..b7a3b0c76c 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -47,7 +47,7 @@ //src.damtype = "fire" if(show_message) usr.visible_message(show_message) - set_light(CANDLE_LUMINOSITY) + set_light(CANDLE_LUMINOSITY, 0.8) START_PROCESSING(SSobj, src) update_icon() diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index e4967b494d..30b1ca3399 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -95,7 +95,33 @@ var/atom/A = target if(!proximity && prox_check) return - A.emag_act(user) + //Citadel changes: modular code misfiring, so we're bypassing into main code. + if(!uses) + user.visible_message("[src] emits a weak spark. It's burnt out!") + playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) + return + else if(uses <= 3) + playsound(src, 'sound/effects/light_flicker.ogg', 30, 1) //Tiiiiiiny warning sound to let ya know your emag's almost dead + + if(isturf(A)) + return + if(istype(A,/obj/item/storage/lockbox)) + A.emag_act(user) + uses = max(uses - 1, 0) + if(!uses) + user.visible_message("[src] fizzles and sparks. It seems like it's out of charges.") + playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) + if(istype(A,/obj/item/storage)) + return + if(!(isobj(A) || issilicon(A) || isbot(A) || isdrone(A))) + return + else + A.emag_act(user) + uses = max(uses - 1, 0) + if(!uses) + user.visible_message("[src] fizzles and sparks. It seems like it's out of charges.") + playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) + /obj/item/card/emagfake desc = "It's a card with a magnetic strip attached to some circuitry. Closer inspection shows that this card is a poorly made replica, with a \"DonkCo\" logo stamped on the back." diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index b463c2b087..1ad7974fc1 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -542,7 +542,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM damtype = "fire" hitsound = 'sound/items/welder.ogg' attack_verb = list("burnt", "singed") - set_light(1) + set_light(2, 0.6, LIGHT_COLOR_FIRE) START_PROCESSING(SSobj, src) else hitsound = "swing_hit" diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 4367fe4e31..ba4ae66d6a 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -49,6 +49,8 @@ GLOBAL_LIST_EMPTY(PDAs) var/scanmode = PDA_SCANNER_NONE var/fon = FALSE //Is the flashlight function on? var/f_lum = 2.3 //Luminosity for the flashlight function + var/f_pow = 0.6 //Power for the flashlight function + var/f_col = "#FFCC66" //Color for the flashlight function var/silent = FALSE //To beep or not to beep, that is the question var/toff = FALSE //If TRUE, messenger disabled var/tnote = null //Current Texts @@ -59,7 +61,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/lock_code = "" // Lockcode to unlock uplink var/honkamt = 0 //How many honks left when infected with honk.exe var/mimeamt = 0 //How many silence left when infected with mime.exe - var/note = "Congratulations, your station has chosen the Thinktronic 5230 Personal Data Assistant!" //Current note in the notepad function + var/note = "Congratulations, your station has chosen the Thinktronic 5230 Personal Data Assistant! To help with navigation, we have provided the following definitions. North: Fore. South: Aft. West: Port. East: Starboard. Quarter is either side of aft." //Current note in the notepad function var/notehtml = "" var/notescanned = FALSE // True if what is in the notekeeper was from a paper. var/detonatable = TRUE // Can the PDA be blown up? @@ -102,7 +104,7 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/Initialize() . = ..() if(fon) - set_light(f_lum) + set_light(f_lum, f_pow, f_col) GLOB.PDAs += src if(default_cartridge) @@ -739,7 +741,7 @@ GLOBAL_LIST_EMPTY(PDAs) set_light(0) else if(f_lum) fon = TRUE - set_light(f_lum) + set_light(f_lum, f_pow, f_col) update_icon() /obj/item/pda/proc/remove_pen() diff --git a/code/game/objects/items/devices/dogborg_sleeper.dm b/code/game/objects/items/devices/dogborg_sleeper.dm index e12344fa53..9163fb0849 100644 --- a/code/game/objects/items/devices/dogborg_sleeper.dm +++ b/code/game/objects/items/devices/dogborg_sleeper.dm @@ -13,11 +13,13 @@ var/cleaning = FALSE var/cleaning_cycles = 10 var/patient_laststat = null - var/list/injection_chems = list("antitoxin", "epinephrine", "morphine", "salbutamol", "bicaridine", "kelotane") + var/list/injection_chems = list("antitoxin", "epinephrine", "salbutamol", "bicaridine", "kelotane") var/eject_port = "ingestion" var/escape_in_progress = FALSE var/message_cooldown var/breakout_time = 300 + var/tmp/last_hearcheck = 0 + var/tmp/list/hearing_mobs var/list/items_preserved = list() var/static/list/important_items = typecacheof(list( /obj/item/hand_tele, @@ -45,10 +47,16 @@ // Bags are prohibited from this due to the potential explotation of objects, same with brought -/obj/item/dogborg/sleeper/New() - ..() +/obj/item/dogborg/sleeper/Initialize() + . = ..() update_icon() item_flags |= NOBLUDGEON //No more attack messages + START_PROCESSING(SSobj, src) + +/obj/item/dogborg/sleeper/Destroy() + STOP_PROCESSING(SSobj, src) + go_out() //just... sanity I guess, edge case shit + return ..() /obj/item/dogborg/sleeper/Exit(atom/movable/O) return 0 @@ -59,9 +67,9 @@ return if(!iscarbon(target)) return - if(!(target.client && target.client.prefs && target.client.prefs.toggles && (target.client.prefs.toggles & MEDIHOUND_SLEEPER))) - to_chat(user, "This person is incompatible with our equipment.") - return + var/voracious = TRUE + if(!target.client || !(target.client.prefs.cit_toggles & MEDIHOUND_SLEEPER) || !hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + voracious = FALSE if(target.buckled) to_chat(user, "The user is buckled and can not be put into your [src].") return @@ -85,9 +93,10 @@ injection_chems += "toxin" target.forceMove(src) target.reset_perspective(src) + target.ExtinguishMob() //The tongue already puts out fire stacks but being put into the sleeper shouldn't allow you to keep burning. update_gut() - START_PROCESSING(SSobj, src) - user.visible_message("[hound.name]'s medical pod lights up and expands as [target.name] slips inside into their [src.name].", "Your medical pod lights up as [target] slips into your [src]. Life support functions engaged.") + user.visible_message("[voracious ? "[hound]'s [src.name] lights up and expands as [target] slips inside into their [src.name]." : "[hound]'s sleeper indicator lights up as [target] is scooped up into [hound.p_their()] [src]."]", \ + "Your [voracious ? "[src.name] lights up as [target] slips into" : "sleeper indicator light shines brightly as [target] is scooped inside"] your [src]. Life support functions engaged.") message_admins("[key_name(hound)] has sleeper'd [key_name(patient)] as a dogborg. [ADMIN_JMP(src)]") playsound(hound, 'sound/effects/bin_close.ogg', 100, 1) @@ -97,9 +106,12 @@ user.last_special = world.time + CLICK_CD_BREAKOUT if(user.a_intent == INTENT_HELP) return - user.visible_message("You see [user] kicking against the expanded material of [hound.name]'s gut!", \ - "You struggle inside [src], kicking the release with your foot... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a thump from [hound.name].") + var/voracious = TRUE + if(!user.client || !(user.client.prefs.cit_toggles & MEDIHOUND_SLEEPER) || !hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + voracious = FALSE + user.visible_message("You see [voracious ? "[user] struggling against the expanded material of [hound]'s gut!" : "and hear [user] pounding against something inside of [hound]'s [src.name]!"]", \ + "[voracious ? "You start struggling inside of [src]'s tight, flexible confines," : "You start pounding against the metallic walls of [src],"] trying to trigger the release... (this will take about [DisplayTimeText(breakout_time)].)", \ + "You hear a [voracious ? "couple of thumps" : "loud banging noise"] coming from within [hound].") if(do_after(user, breakout_time, target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src ) return @@ -110,8 +122,16 @@ /obj/item/dogborg/sleeper/proc/go_out(var/target) hound = loc hound.setClickCooldown(50) + var/voracious = TRUE + if(!hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + voracious = FALSE + else + for(var/mob/M in contents) + if(!M.client || !(M.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + voracious = FALSE if(length(contents) > 0) - hound.visible_message("[hound.name] empties out their contents via their release port.", "You empty your contents via your release port.") + hound.visible_message("[voracious ? "[hound] empties out [hound.p_their()] contents via [hound.p_their()] release port." : "[hound]'s underside slides open with an audible clunk before [hound.p_their()] [src] flips over, carelessly dumping its contents onto the ground below [hound.p_them()] before closing right back up again."]", \ + "[voracious ? "You empty your contents via your release port." : "You open your sleeper hatch, quickly releasing all of the contents within before closing it again."]") if(target) if(iscarbon(target)) var/mob/living/carbon/person = target @@ -132,12 +152,13 @@ items_preserved.Cut() update_gut() cleaning = FALSE - playsound(loc, 'sound/effects/splat.ogg', 50, 1) + playsound(loc, voracious ? 'sound/effects/splat.ogg' : 'sound/effects/bin_close.ogg', 50, 1) else //You clicked eject with nothing in you, let's just reset stuff to be sure. items_preserved.Cut() cleaning = FALSE - update_gut() + update_gut() + /obj/item/dogborg/sleeper/attack_self(mob/user) if(..()) @@ -223,6 +244,9 @@ /obj/item/dogborg/sleeper/proc/update_gut() //Well, we HAD one, what happened to them? + var/prociconupdate = FALSE + var/currentenvy = hound.sleeper_nv + hound.sleeper_nv = FALSE if(patient in contents) if(patient_laststat != patient.stat) if(patient.stat & DEAD) @@ -233,7 +257,17 @@ hound.sleeper_r = 0 hound.sleeper_g = 1 patient_laststat = patient.stat - //Update icon + prociconupdate = TRUE + + if(!patient.client || !(patient.client.prefs.cit_toggles & MEDIHOUND_SLEEPER) || !hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + hound.sleeper_nv = TRUE + else + hound.sleeper_nv = FALSE + if(hound.sleeper_nv != currentenvy) + prociconupdate = TRUE + + //Update icon + if(prociconupdate) hound.update_icons() //Return original patient return(patient) @@ -249,6 +283,12 @@ hound.sleeper_r = 0 hound.sleeper_g = 1 patient_laststat = patient.stat + + if(!patient.client || !(patient.client.prefs.cit_toggles & MEDIHOUND_SLEEPER) || !hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + hound.sleeper_nv = TRUE + else + hound.sleeper_nv = FALSE + //Update icon and return new patient hound.update_icons() return(C) @@ -265,7 +305,6 @@ patient_laststat = null patient = null hound.update_icons() - return //Gurgleborg process /obj/item/dogborg/sleeper/proc/clean_cycle() @@ -274,6 +313,10 @@ if(!(I in contents)) items_preserved -= I var/list/touchable_items = contents - items_preserved + var/sound/prey_digest = sound(get_sfx("digest_prey")) + var/sound/prey_death = sound(get_sfx("death_prey")) + var/sound/pred_digest = sound(get_sfx("digest_pred")) + var/sound/pred_death = sound(get_sfx("death_pred")) if(cleaning_cycles) cleaning_cycles-- cleaning = TRUE @@ -293,10 +336,19 @@ to_chat(hound,"You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.") to_chat(T,"You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.") hound.cell.give(30000) //Fueeeeellll - T.stop_sound_channel(CHANNEL_PRED) - playsound(get_turf(hound),"death_pred",50,0,-6,0,channel=CHANNEL_PRED,ignore_walls = FALSE) - T.stop_sound_channel(CHANNEL_PRED) - T.playsound_local("death_prey",60) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + var/turf/source = get_turf(hound) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!istype(H.loc, /obj/item/dogborg/sleeper)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_death) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_death) for(var/belly in T.vore_organs) var/obj/belly/B = belly for(var/atom/movable/thing in B) @@ -328,15 +380,22 @@ to_chat(hound, "Your [src] is now clean. Ending self-cleaning cycle.") cleaning = FALSE update_gut() - return //sound effects - for(var/mob/living/M in contents) - if(prob(50)) - M.stop_sound_channel(CHANNEL_PRED) - playsound(get_turf(hound),"digest_pred",35,0,-6,0,channel=CHANNEL_PRED,ignore_walls = FALSE) - M.stop_sound_channel(CHANNEL_PRED) - M.playsound_local("digest_prey",60) + if(prob(50)) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + var/turf/source = get_turf(hound) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!istype(H.loc, /obj/item/dogborg/sleeper)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_digest) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) if(cleaning) addtimer(CALLBACK(src, .proc/clean_cycle), 50) @@ -407,7 +466,6 @@ brigman.forceMove(src) brigman.reset_perspective(src) update_gut() - START_PROCESSING(SSobj, src) user.visible_message("[hound.name]'s mobile brig clunks in series as [brigman] slips inside.", "Your mobile brig groans lightly as [brigman] slips inside.") playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots return @@ -481,7 +539,6 @@ trashman.forceMove(src) trashman.reset_perspective(src) update_gut() - START_PROCESSING(SSobj, src) user.visible_message("[hound.name]'s garbage processor groans lightly as [trashman] slips inside.", "Your garbage compactor groans lightly as [trashman] slips inside.") playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) return diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 8a2e5d1292..1f3019fe65 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -94,6 +94,8 @@ target.update_handcuffed() if(trashtype && !dispense) qdel(src) + if(iscyborg(user)) + playsound(user, "law", 50, 0) return /obj/item/restraints/handcuffs/sinew diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 26712c2431..3a35f4d8ef 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -18,8 +18,8 @@ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - force = 10 - throwforce = 7 + force = 14 + throwforce = 10 w_class = WEIGHT_CLASS_NORMAL attack_verb = list("flogged", "whipped", "lashed", "disciplined") hitsound = 'sound/weapons/chainhit.ogg' @@ -57,8 +57,8 @@ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' flags_1 = CONDUCT_1 obj_flags = UNIQUE_RENAME - force = 15 - throwforce = 10 + force = 18 + throwforce = 15 w_class = WEIGHT_CLASS_BULKY block_chance = 50 armour_penetration = 75 diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index d7f0b03837..6d7c3036f9 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -82,7 +82,7 @@ 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) + if(M.resting && !M.recoveringstam) M.resting = FALSE M.update_canmove() else @@ -102,7 +102,7 @@ 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) + if(M.resting && !M.recoveringstam) M.resting = FALSE M.update_canmove() else diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 3bac97b009..7867ec5f1e 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -80,7 +80,7 @@ return FALSE //R.speed = -2 // Gotta go fast. - //Citadel change - makes vtecs give an ability rather than reducing the borg's speed instantly + //Citadel change - makes vtecs give an ability rather than reducing the borg's speed instantly R.AddAbility(new/obj/effect/proc_holder/silicon/cyborg/vtecControl) /obj/item/borg/upgrade/vtec/deactivate(mob/living/silicon/robot/R, user = usr) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 907b26c75c..3b28c30402 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -111,6 +111,22 @@ /obj/item/stack/tile/carpet/black/fifty amount = 50 +/obj/item/stack/tile/carpet/blackred + name = "red carpet" + icon_state = "tile-carpet-blackred" + turf_type = /turf/open/floor/carpet/blackred + +/obj/item/stack/tile/carpet/blackred/fifty + amount = 50 + +/obj/item/stack/tile/carpet/monochrome + name = "monochrome carpet" + icon_state = "tile-carpet-monochrome" + turf_type = /turf/open/floor/carpet/monochrome + +/obj/item/stack/tile/carpet/monochrome/fifty + amount = 50 + /obj/item/stack/tile/fakespace name = "astral carpet" singular_name = "astral carpet" diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 249eb67c05..7414e0d5c2 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -369,7 +369,8 @@ /obj/item/reagent_containers/food/drinks/soda_cans/space_up, /obj/item/reagent_containers/food/drinks/soda_cans/pwr_game, /obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime, - /obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola + /obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola, + /obj/item/reagent_containers/food/drinks/drinkingglass/filled/syndicatebomb )) new rig_snacks(src) diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index bce38548cc..4924051855 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -178,3 +178,21 @@ /obj/item/storage/lockbox/medal/sci/PopulateContents() for(var/i in 1 to 3) new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) + +/obj/item/storage/lockbox/medal/engineering + name = "engineering medal box" + desc = "A locked box used to store medals to be given to the members of the engineering department." + req_access = list(ACCESS_CE) + +/obj/item/storage/lockbox/medal/engineering/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/clothing/accessory/medal/engineer(src) + +/obj/item/storage/lockbox/medal/medical + name = "medical medal box" + desc = "A locked box used to store medals to be given to the members of the medical department." + req_access = list(ACCESS_CMO) + +/obj/item/storage/lockbox/medal/medical/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/clothing/accessory/medal/ribbon/medical_doctor(src) \ No newline at end of file diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index d74d18ad6e..73bfda5b58 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -34,6 +34,7 @@ /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/screwdriver, + /obj/item/valentine, /obj/item/stamp)) /obj/item/storage/wallet/Exited(atom/movable/AM) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index db517ddb66..7b976a6289 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -147,7 +147,7 @@ explode() switched_on(user) if(welding) - set_light(light_intensity) + set_light(light_intensity, 0.75, LIGHT_COLOR_FIRE) update_icon() diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index bd4ee0d35b..f0a233fea6 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -803,6 +803,7 @@ slot_flags = ITEM_SLOT_BACK force_unwielded = 11 force_wielded = 20 //I have no idea how to balance + reach = 2 throwforce = 22 throw_speed = 4 embedding = list("embedded_impact_pain_multiplier" = 3) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 316e91bb13..294611c1f1 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -106,7 +106,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/mob/living/carbon/human/H = loc loc.layer = LARGE_MOB_LAYER //NO HIDING BEHIND PLANTS FOR YOU, DICKWEED (HA GET IT, BECAUSE WEEDS ARE PLANTS) H.bleedsuppress = TRUE //AND WE WON'T BLEED OUT LIKE COWARDS - H.adjustStaminaLoss(-5) //CIT CHANGE - AND MAY HE NEVER SUCCUMB TO EXHAUSTION + H.adjustStaminaLoss(-50) //CIT CHANGE - AND MAY HE NEVER SUCCUMB TO EXHAUSTION else if(!(flags_1 & ADMIN_SPAWNED_1)) qdel(src) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index d66d64cde5..a6a6c5f699 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -167,6 +167,10 @@ L.stop_pulling() else if(istype(AM, /obj/structure/closet)) return + + else if(istype(AM, /obj/effect)) + return + else if(isobj(AM)) if (istype(AM, /obj/item)) var/obj/item/I = AM diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 45216a6d95..dd2e8428b1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -30,6 +30,7 @@ new /obj/item/circuitboard/machine/techfab/department/engineering(src) new /obj/item/extinguisher/advanced(src) new /obj/item/storage/photo_album/CE(src) + new /obj/item/storage/lockbox/medal/engineering(src) /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies locker" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 93da17b9b1..d424bcf876 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -77,6 +77,7 @@ new /obj/item/wallframe/defib_mount(src) new /obj/item/circuitboard/machine/techfab/department/medical(src) new /obj/item/storage/photo_album/CMO(src) + new /obj/item/storage/lockbox/medal/medical(src) /obj/structure/closet/secure_closet/animal name = "animal control" diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index df3df8ad14..067b1b0eb1 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -96,6 +96,7 @@ /obj/structure/closet/crate/freezer/blood name = "blood freezer" desc = "A freezer containing packs of blood." + icon_state = "surgery" /obj/structure/closet/crate/freezer/blood/PopulateContents() . = ..() diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 6290139bb4..12827a0aba 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -5,6 +5,7 @@ name = "preserved terrarium" desc = "An ancient machine that seems to be used for storing plant matter. The glass is obstructed by a mat of vines." mob_name = "a lifebringer" + job_description = "Lifebringer" icon = 'icons/obj/lavaland/spawners.dmi' icon_state = "terrarium" density = TRUE @@ -35,6 +36,7 @@ name = "ash walker egg" desc = "A man-sized yellow egg, spawned from some unfathomable creature. A humanoid silhouette lurks within." mob_name = "an ash walker" + job_description = "Ashwalker" icon = 'icons/mob/lavaland/lavaland_monsters.dmi' icon_state = "large_egg" mob_species = /datum/species/lizard/ashwalker @@ -77,6 +79,7 @@ name = "timeless prison" desc = "Although this stasis pod looks medicinal, it seems as though it's meant to preserve something for a very long time." mob_name = "a penitent exile" + job_description = "Exiled Prisoner" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE @@ -108,6 +111,7 @@ name = "inert free golem shell" desc = "A humanoid shape, empty, lifeless, and full of potential." mob_name = "a free golem" + job_description = "Free Golem" icon = 'icons/obj/wizard.dmi' icon_state = "construct" mob_species = /datum/species/golem @@ -180,6 +184,7 @@ /obj/effect/mob_spawn/human/golem/servant has_owner = TRUE name = "inert servant golem shell" + job_description = "Servant Golem" /obj/effect/mob_spawn/human/golem/adamantine @@ -194,6 +199,7 @@ name = "malfunctioning cryostasis sleeper" desc = "A humming sleeper with a silhouetted occupant inside. Its stasis function is broken and it's likely being used as a bed." mob_name = "a stranded hermit" + job_description = "Lavaland Hermit" icon = 'icons/obj/lavaland/spawners.dmi' icon_state = "cryostasis_sleeper" roundstart = FALSE @@ -246,6 +252,7 @@ /obj/effect/mob_spawn/human/doctor/alive/lavaland name = "broken rejuvenation pod" desc = "A small sleeper typically used to instantly restore minor wounds. This one seems broken, and its occupant is comatose." + job_description = "Lavaland Veterinarian" mob_name = "a translocated vet" flavour_text = "What...? Where are you? Where are the others? This is still the animal hospital - you should know, you've been an intern here for weeks - but \ everyone's gone. One of the cats scratched you just a few minutes ago. That's why you were in the pod - to heal the scratch. The scabs are still fresh; you see them right now. So where is \ @@ -262,6 +269,7 @@ name = "prisoner containment sleeper" desc = "A sleeper designed to put its occupant into a deep coma, unbreakable until the sleeper turns off. This one's glass is cracked and you can see a pale, sleeping face staring out." mob_name = "an escaped prisoner" + job_description = "Escaped Prisoner" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" outfit = /datum/outfit/lavalandprisoner @@ -299,6 +307,7 @@ name = "staff sleeper" desc = "A sleeper designed for long-term stasis between guest visits." mob_name = "hotel staff member" + job_description = "Hotel Staff" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" objectives = "Cater to visiting guests with your fellow staff. Do not leave your assigned hotel and always remember: The customer is always right!" @@ -321,6 +330,7 @@ /obj/effect/mob_spawn/human/hotel_staff/security name = "hotel security sleeper" mob_name = "hotel security member" + job_description = "Hotel Security" outfit = /datum/outfit/hotelstaff/security flavour_text = "You are a peacekeeper assigned to this hotel to protect the interests of the company while keeping the peace between \ guests and the staff. Do NOT leave the hotel, as that is grounds for contract termination." @@ -343,6 +353,7 @@ name = "Essence of friendship" desc = "Oh boy! Oh boy! A friend!" mob_name = "Demonic friend" + job_description = "Demonic Friend" icon = 'icons/obj/cardboard_cutout.dmi' icon_state = "cutout_basic" outfit = /datum/outfit/demonic_friend @@ -484,6 +495,7 @@ id = /obj/item/card/id/away/old/sec r_pocket = /obj/item/restraints/handcuffs l_pocket = /obj/item/assembly/flash/handheld + job_description = "Oldstation Crew" assignedrole = "Ancient Crew" /obj/effect/mob_spawn/human/oldsec/Destroy() @@ -496,6 +508,7 @@ mob_name = "an engineer" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" + job_description = "Oldstation Crew" roundstart = FALSE death = FALSE random = TRUE @@ -534,6 +547,7 @@ id = /obj/item/card/id/away/old/sci l_pocket = /obj/item/stack/medical/bruise_pack assignedrole = "Ancient Crew" + job_description = "Oldstation Crew" /obj/effect/mob_spawn/human/oldsci/Destroy() new/obj/structure/showcase/machinery/oldpod/used(drop_location()) @@ -542,11 +556,12 @@ /obj/effect/mob_spawn/human/pirate name = "space pirate sleeper" desc = "A cryo sleeper smelling faintly of rum." + job_description = "Space Pirate" random = TRUE icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" mob_name = "a space pirate" - mob_species = /datum/species/skeleton + mob_species = /datum/species/skeleton/pirate outfit = /datum/outfit/pirate/space roundstart = FALSE death = FALSE diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 1aaae691f8..e979d4f18e 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -68,6 +68,22 @@ to_chat(user, "You start adding [C] to [src]...") if(do_after(user, 20, target = src) && C.use(1)) make_new_table(/obj/structure/table/wood/fancy/black) + else if(istype(I, /obj/item/stack/tile/carpet/blackred)) + var/obj/item/stack/tile/carpet/blackred/C = I + if(C.get_amount() < 1) + to_chat(user, "You need one red carpet sheet to do this!") + return + to_chat(user, "You start adding [C] to [src]...") + if(do_after(user, 20, target = src) && C.use(1)) + make_new_table(/obj/structure/table/wood/fancy/blackred) + else if(istype(I, /obj/item/stack/tile/carpet/monochrome)) + var/obj/item/stack/tile/carpet/monochrome/C = I + if(C.get_amount() < 1) + to_chat(user, "You need one monochrome carpet sheet to do this!") + return + to_chat(user, "You start adding [C] to [src]...") + if(do_after(user, 20, target = src) && C.use(1)) + make_new_table(/obj/structure/table/wood/fancy/monochrome) else if(istype(I, /obj/item/stack/tile/carpet)) var/obj/item/stack/tile/carpet/C = I if(C.get_amount() < 1) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 78c8971759..8c29c1b2c5 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -298,7 +298,7 @@ frame = /obj/structure/table_frame framestack = /obj/item/stack/rods buildstack = /obj/item/stack/tile/carpet - canSmoothWith = list(/obj/structure/table/wood/fancy, /obj/structure/table/wood/fancy/black) + canSmoothWith = list(/obj/structure/table/wood/fancy, /obj/structure/table/wood/fancy/black, /obj/structure/table/wood/fancy/blackred, /obj/structure/table/wood/fancy/monochrome) /obj/structure/table/wood/fancy/New() // New() is used so that the /black subtype can override `icon` easily and @@ -314,11 +314,28 @@ icon_state = "fancy_table_black" buildstack = /obj/item/stack/tile/carpet/black +/obj/structure/table/wood/fancy/blackred + icon = 'icons/obj/structures.dmi' + icon_state = "fancy_table_blackred" + buildstack = /obj/item/stack/tile/carpet/blackred + +/obj/structure/table/wood/fancy/blackred/New() + . = ..() + icon = 'icons/obj/smooth_structures/fancy_table_blackred.dmi' + +/obj/structure/table/wood/fancy/monochrome + icon = 'icons/obj/structures.dmi' + icon_state = "fancy_table_monochrome" + buildstack = /obj/item/stack/tile/carpet/monochrome + +/obj/structure/table/wood/fancy/monochrome/New() + . = ..() + icon = 'icons/obj/smooth_structures/fancy_table_monochrome.dmi' + /obj/structure/table/wood/fancy/black/New() . = ..() // Ditto above. icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' - /* * Reinforced tables */ diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index f007c50394..7aa1183512 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -13,6 +13,15 @@ if(wet) AddComponent(/datum/component/wet_floor, wet, INFINITY, 0, INFINITY, TRUE) +/turf/open/MouseDrop_T(atom/dropping, mob/user) + . = ..() + if(dropping == user && isliving(user)) + var/mob/living/L = user + if(L.resting && do_after(L, max(10, L.getStaminaLoss()*0.5), 0, src)) + if(Adjacent(L, src)) + step(L, get_dir(L, src)) + playsound(L, "rustle", 25, 1) + /turf/open/indestructible name = "floor" icon = 'icons/turf/floors.dmi' diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 195245d967..fc1dec2acb 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -180,8 +180,19 @@ /turf/open/floor/carpet/black icon = 'icons/turf/floors/carpet_black.dmi' floor_tile = /obj/item/stack/tile/carpet/black - canSmoothWith = list(/turf/open/floor/carpet/black) + canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) +/turf/open/floor/carpet/blackred + icon = 'icons/turf/floors/carpet_blackred.dmi' + floor_tile = /obj/item/stack/tile/carpet/blackred + icon_state = "tile-carpet-blackred" + canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) + +/turf/open/floor/carpet/monochrome + icon = 'icons/turf/floors/carpet_monochrome.dmi' + floor_tile = /obj/item/stack/tile/carpet/monochrome + icon_state = "tile-carpet-monochrome" + canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) /turf/open/floor/carpet/narsie_act(force, ignore_mobs, probability = 20) . = (prob(probability) || force) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 250434762a..845c66fb33 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -277,7 +277,7 @@ /datum/action/innate/cult/blood_spell/veiling name = "Conceal Presence" desc = "A multi-function spell that alternates between hiding and revealing nearby cult runes, structures, turf, and airlocks." - invocation = "Kla'atu barada nikt'o!" + invocation = "Kla'atu barada nikt'o." button_icon_state = "gone" charges = 10 var/revealing = FALSE //if it reveals or not @@ -326,7 +326,7 @@ /datum/action/innate/cult/blood_spell/manipulation name = "Blood Rites" desc = "A complex spell that allows you to gather blood and use it for healing or other powerful spells." - invocation = "Fel'th Dol Ab'orod!" + invocation = "Fel'th Dol Ab'orod." button_icon_state = "manip" charges = 5 magic_path = "/obj/item/melee/blood_magic/manipulator" @@ -402,7 +402,7 @@ /obj/item/melee/blood_magic/stun name = "Stunning Aura" color = RUNE_COLOR_RED - invocation = "Fuu ma'jin!" + invocation = "Fuu ma'jin." /obj/item/melee/blood_magic/stun/afterattack(atom/target, mob/living/carbon/user, proximity) if(!isliving(target) || !proximity) @@ -434,6 +434,7 @@ else to_chat(user, "In an brilliant flash of red, [L] falls to the ground!") L.Knockdown(160) + L.adjustStaminaLoss(140) //Ensures hard stamcrit L.flash_act(1,1) if(issilicon(target)) var/mob/living/silicon/S = L @@ -498,7 +499,7 @@ /obj/item/melee/blood_magic/shackles name = "Binding Aura" desc = "Allows you to bind a victim and temporarily silence them." - invocation = "In'totum Lig'abis!" + invocation = "In'totum Lig'abis." color = "#000000" // black /obj/item/melee/blood_magic/shackles/afterattack(atom/target, mob/living/carbon/user, proximity) @@ -548,7 +549,7 @@ /obj/item/melee/blood_magic/construction name = "Corrupting Aura" desc = "Corrupts metal and plasteel into more sinister forms." - invocation = "Ethra p'ni dedol!" + invocation = "Ethra p'ni dedol." color = "#000000" // black /obj/item/melee/blood_magic/construction/afterattack(atom/target, mob/user, proximity_flag, click_parameters) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 74b322b258..c8d59f54a8 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -133,6 +133,9 @@ H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) H.remove_trait(CULT_EYES) H.update_body() + H.cut_overlays() + H.regenerate_icons() + /datum/antagonist/cult/on_removal() SSticker.mode.cult -= owner SSticker.mode.update_cult_icons_removed(owner) @@ -206,6 +209,7 @@ cult_team.rise(current) if(cult_team.cult_ascendent) cult_team.ascend(current) + /datum/antagonist/cult/master/remove_innate_effects(mob/living/mob_override) . = ..() var/mob/living/current = owner.current diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index 375d250f59..8452f78ed3 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -27,7 +27,7 @@ var/my_message if(!message) return - user.whisper("O bidai nabora se[pick("'","`")]sma!", language = /datum/language/common) + user.whisper("O bidai nabora se[pick("'","`")]sma.", language = /datum/language/common) user.whisper(html_decode(message)) var/title = "Acolyte" var/span = "cult italic" diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index aff0292b87..51c8803cee 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -25,7 +25,7 @@ Runes can either be invoked by one's self or with many different cultists. Each layer = LOW_OBJ_LAYER color = RUNE_COLOR_RED - var/invocation = "Aiy ele-mayo!" //This is said by cultists when the rune is invoked. + var/invocation = "Aiy ele-mayo." //This is said by cultists when the rune is invoked. var/req_cultists = 1 //The amount of cultists required around the rune to invoke it. If only 1, any cultist can invoke it. var/req_cultists_text //if we have a description override for required cultists to invoke var/rune_in_use = FALSE // Used for some runes, this is for when you want a rune to not be usable when in use. @@ -163,7 +163,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/malformed cultist_name = "malformed rune" cultist_desc = "a senseless rune written in gibberish. No good can come from invoking this." - invocation = "Ra'sha yoka!" + invocation = "Ra'sha yoka." invoke_damage = 30 /obj/effect/rune/malformed/Initialize(mapload, set_keyword) @@ -180,7 +180,7 @@ structure_check() searches for nearby cultist structures required for the invoca cultist_name = "Offer" cultist_desc = "offers a noncultist above it to Nar'Sie, either converting them or sacrificing them." req_cultists_text = "2 for conversion, 3 for living sacrifices and sacrifice targets." - invocation = "Mah'weyh pleggh at e'ntrath!" + invocation = "Mah'weyh pleggh at e'ntrath." icon_state = "3" color = RUNE_COLOR_OFFER req_cultists = 1 @@ -213,7 +213,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/datum/team/cult/Cult_team = C.cult_team var/is_convertable = is_convertable_to_cult(L,C.cult_team) if(L.stat != DEAD && (is_clock || is_convertable)) - invocation = "Mah'weyh pleggh at e'ntrath!" + invocation = "Mah'weyh pleggh at e'ntrath." ..() if(is_clock) L.visible_message("[L]'s eyes glow a defiant yellow!", \ @@ -223,7 +223,7 @@ structure_check() searches for nearby cultist structures required for the invoca else if(is_convertable) do_convert(L, invokers) else - invocation = "Barhah hra zar'garis!" + invocation = "Barhah hra zar'garis." ..() do_sacrifice(L, invokers) animate(src, color = oldcolor, time = 5) @@ -318,7 +318,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/empower cultist_name = "Empower" cultist_desc = "allows cultists to prepare greater amounts of blood magic at far less of a cost." - invocation = "H'drak v'loso, mir'kanas verbot!" + invocation = "H'drak v'loso, mir'kanas verbot." icon_state = "3" color = RUNE_COLOR_TALISMAN construct_invoke = FALSE @@ -332,7 +332,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/teleport cultist_name = "Teleport" cultist_desc = "warps everything above it to another chosen teleport rune." - invocation = "Sas'so c'arta forbici!" + invocation = "Sas'so c'arta forbici." icon_state = "2" color = RUNE_COLOR_TELEPORT req_keyword = TRUE @@ -509,7 +509,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/raise_dead cultist_name = "Revive" cultist_desc = "requires a dead, mindless, or inactive cultist placed upon the rune. Provided there have been sufficient sacrifices, they will be given a new life." - invocation = "Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!" //Depends on the name of the user - see below + invocation = "Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat." //Depends on the name of the user - see below icon_state = "1" color = RUNE_COLOR_MEDIUMRED var/static/revives_used = -SOULS_TO_REVIVE // Cultists get one "free" revive @@ -544,7 +544,7 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() return if(user.name == "Herbert West") - invocation = "To life, to life, I bring them!" + invocation = "To life, to life, I bring them." else invocation = initial(invocation) ..() @@ -600,7 +600,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/wall cultist_name = "Barrier" cultist_desc = "when invoked, makes a temporary invisible wall to block passage. Can be invoked again to reverse this." - invocation = "Khari'd! Eske'te tannin!" + invocation = "Khari'd. Eske'te tannin." icon_state = "4" color = RUNE_COLOR_DARKRED CanAtmosPass = ATMOS_PASS_DENSITY @@ -682,7 +682,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/summon cultist_name = "Summon Cultist" cultist_desc = "summons a single cultist to the rune. Requires 2 invokers." - invocation = "N'ath reth sh'yro eth d'rekkathnor!" + invocation = "N'ath reth sh'yro eth d'rekkathnor." req_cultists = 2 invoke_damage = 10 icon_state = "3" @@ -733,7 +733,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/blood_boil cultist_name = "Boil Blood" cultist_desc = "boils the blood of non-believers who can see the rune, rapidly dealing extreme amounts of damage. Requires 3 invokers." - invocation = "Dedo ol'btoh!" + invocation = "Dedo ol'btoh." icon_state = "4" color = RUNE_COLOR_BURNTORANGE light_color = LIGHT_COLOR_LAVA @@ -797,7 +797,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/manifest cultist_name = "Spirit Realm" cultist_desc = "manifests a spirit servant of the Geometer and allows you to ascend as a spirit yourself. The invoker must not move from atop the rune, and will take damage for each summoned spirit." - invocation = "Gal'h'rfikk harfrandid mud'gib!" //how the fuck do you pronounce this + invocation = "Gal'h'rfikk harfrandid mud'gib." //how the fuck do you pronounce this icon_state = "7" invoke_damage = 10 construct_invoke = FALSE @@ -924,7 +924,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/apocalypse cultist_name = "Apocalypse" cultist_desc = "a harbinger of the end times. Grows in strength with the cult's desperation - but at the risk of... side effects." - invocation = "Ta'gh fara'qha fel d'amar det!" + invocation = "Ta'gh fara'qha fel d'amar det." icon = 'icons/effects/96x96.dmi' icon_state = "apoc" pixel_x = -32 diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index df04059f99..c616459bd1 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -1,4 +1,5 @@ #define CHALLENGE_TELECRYSTALS 280 +#define PLAYER_SCALING 1.5 #define CHALLENGE_TIME_LIMIT 3000 #define CHALLENGE_MIN_PLAYERS 50 #define CHALLENGE_SHUTTLE_DELAY 15000 // 25 minutes, so the ops have at least 5 minutes before the shuttle is callable. @@ -61,7 +62,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) for(var/obj/machinery/computer/camera_advanced/shuttle_docker/D in GLOB.jam_on_wardec) D.jammed = TRUE - new uplink_type(get_turf(user), user.key, CHALLENGE_TELECRYSTALS) + new uplink_type(get_turf(user), user.key, CHALLENGE_TELECRYSTALS + CEILING(PLAYER_SCALING * GLOB.player_list.len, 1)) CONFIG_SET(number/shuttle_refuel_delay, max(CONFIG_GET(number/shuttle_refuel_delay), CHALLENGE_SHUTTLE_DELAY)) SSblackbox.record_feedback("amount", "nuclear_challenge_mode", 1) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 33dd3833b8..800448c02f 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -208,7 +208,7 @@ name = "Lone Operative" always_new_team = TRUE send_to_spawnpoint = FALSE //Handled by event - nukeop_outfit = /datum/outfit/syndicate/full + nukeop_outfit = /datum/outfit/syndicate/lone /datum/antagonist/nukeop/lone/assign_nuke() if(nuke_team && !nuke_team.tracked_nuke) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index a397fbb0d5..90df57f48b 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -202,10 +202,10 @@ /datum/antagonist/rev/farewell() if(ishuman(owner.current)) owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!", null, null, null, owner.current) - to_chat(owner, "You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...") + to_chat(owner, "You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel... You don't seem to be able to recall the names of your comrades, not even your leaders...") else if(issilicon(owner.current)) owner.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", null, null, null, owner.current) - to_chat(owner, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing but the name of the one who flashed you.") + to_chat(owner, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing of your time spent reprogrammed, you can't even remember the names or identities of anyone involved...") //blunt trauma deconversions call this through species.dm spec_attacked_by() /datum/antagonist/rev/proc/remove_revolutionary(borged, deconverter) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 7c769ca93d..0a4a82b862 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -16,6 +16,7 @@ mob_type = /mob/living/simple_animal/hostile/swarmer mob_name = "a swarmer" + job_description = "Swarmer" death = FALSE roundstart = FALSE flavour_text = {" diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index 9ca822b5ce..ebca252167 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -37,7 +37,7 @@ active_hotspot = new /obj/effect/hotspot(src) active_hotspot.temperature = exposed_temperature - active_hotspot.volume = exposed_volume + active_hotspot.volume = exposed_volume*25 active_hotspot.just_spawned = (current_cycle < SSair.times_fired) //remove just_spawned protection if no longer processing this cell @@ -139,7 +139,7 @@ add_overlay(lightning_overlay) if(temperature > 4500000) //This is where noblium happens. Some fusion-y effects. var/fusion_amt = temperature < LERP(4500000,12000000,0.5) ? gauss_lerp(temperature, 4500000, 12000000) : 1 - var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/tile_effects.dmi', "chem_gas") + var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/atmospherics.dmi', "fusion_gas") fusion_overlay.blend_mode = BLEND_ADD fusion_overlay.alpha = fusion_amt * 255 var/mutable_appearance/rainbow_overlay = mutable_appearance('icons/mob/screen_gen.dmi', "druggy") diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 0a90520424..45bb47ab58 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -113,17 +113,18 @@ /turf/open/proc/tile_graphic() var/static/list/nonoverlaying_gases = typecache_of_gases_with_no_overlays() - if(air) - . = new /list - var/list/gases = air.gases - for(var/id in gases) - if (nonoverlaying_gases[id]) - continue - var/gas = gases[id] - var/gas_meta = gas[GAS_META] - var/gas_overlay = gas_meta[META_GAS_OVERLAY] - if(gas_overlay && gas[MOLES] > gas_meta[META_GAS_MOLES_VISIBLE]) - . += gas_overlay + if(!air) + return + . = new /list + var/list/gases = air.gases + for(var/id in gases) + if (nonoverlaying_gases[id]) + continue + var/gas = gases[id] + var/gas_meta = gas[GAS_META] + var/gas_overlay = gas_meta[META_GAS_OVERLAY] + if(gas_overlay && gas[MOLES] > gas_meta[META_GAS_MOLES_VISIBLE]) + . += gas_overlay[min(FACTOR_GAS_VISIBLE_MAX, CEILING(gas[MOLES] / MOLES_GAS_VISIBLE_STEP, 1))] /proc/typecache_of_gases_with_no_overlays() . = list() diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index fc20d5d26f..d07164ccd6 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -86,13 +86,6 @@ GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache()) if(!.) . += HEAT_CAPACITY_VACUUM //we want vacuums in turfs to have the same heat capacity as space -//prefer this in performance critical areas -#define TOTAL_MOLES(cached_gases, out_var)\ - out_var = 0;\ - for(var/total_moles_id in cached_gases){\ - out_var += cached_gases[total_moles_id][MOLES];\ - } - /datum/gas_mixture/proc/total_moles() var/cached_gases = gases TOTAL_MOLES(cached_gases, .) diff --git a/code/modules/atmospherics/gasmixtures/gas_types.dm b/code/modules/atmospherics/gasmixtures/gas_types.dm index 85933d3a68..9dcf8c3145 100644 --- a/code/modules/atmospherics/gasmixtures/gas_types.dm +++ b/code/modules/atmospherics/gasmixtures/gas_types.dm @@ -11,7 +11,9 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g gas_info[META_GAS_NAME] = initial(gas.name) gas_info[META_GAS_MOLES_VISIBLE] = initial(gas.moles_visible) if(initial(gas.moles_visible) != null) - gas_info[META_GAS_OVERLAY] = new /obj/effect/overlay/gas(initial(gas.gas_overlay)) + gas_info[META_GAS_OVERLAY] = new /list(FACTOR_GAS_VISIBLE_MAX) + for(var/i in 1 to FACTOR_GAS_VISIBLE_MAX) + gas_info[META_GAS_OVERLAY][i] = new /obj/effect/overlay/gas(initial(gas.gas_overlay), i * 255 / FACTOR_GAS_VISIBLE_MAX) gas_info[META_GAS_FUSION_POWER] = initial(gas.fusion_power) gas_info[META_GAS_DANGER] = initial(gas.dangerous) gas_info[META_GAS_ID] = initial(gas.id) @@ -39,7 +41,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g var/id = "" var/specific_heat = 0 var/name = "" - var/gas_overlay = "" //icon_state in icons/effects/tile_effects.dmi + var/gas_overlay = "" //icon_state in icons/effects/atmospherics.dmi var/moles_visible = null var/dangerous = FALSE //currently used by canisters var/fusion_power = 0 //How much the gas accelerates a fusion reaction @@ -89,7 +91,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g specific_heat = 40 name = "Nitrous Oxide" gas_overlay = "nitrous_oxide" - moles_visible = 1 + moles_visible = MOLES_GAS_VISIBLE * 2 dangerous = TRUE /datum/gas/nitryl @@ -131,18 +133,20 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g /datum/gas/miasma id = "miasma" - specific_heat = 20 + specific_heat = 0.00001 + fusion_power = 50 name = "Miasma" gas_overlay = "miasma" moles_visible = MOLES_GAS_VISIBLE * 60 /obj/effect/overlay/gas - icon = 'icons/effects/tile_effects.dmi' + icon = 'icons/effects/atmospherics.dmi' mouse_opacity = MOUSE_OPACITY_TRANSPARENT anchored = TRUE // should only appear in vis_contents, but to be safe layer = FLY_LAYER appearance_flags = TILE_BOUND -/obj/effect/overlay/gas/New(state) +/obj/effect/overlay/gas/New(state, alph) . = ..() icon_state = state + alpha = alph diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index ddcd8e2d6d..bcb3752cbf 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -650,7 +650,7 @@ if(0) add_overlay(AALARM_OVERLAY_GREEN) overlay_state = AALARM_OVERLAY_GREEN - light_color = LIGHT_COLOR_GREEN + light_color = LIGHT_COLOR_BLUEGREEN set_light(brightness_on) if(1) add_overlay(AALARM_OVERLAY_WARN) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 55c11816da..276c488bce 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -6,6 +6,7 @@ name = "Unknown" density = TRUE anchored = TRUE + var/job_description = null var/mob_type = null var/mob_name = "" var/mob_gender = null @@ -29,7 +30,7 @@ var/ghost_usable = TRUE //ATTACK GHOST IGNORING PARENT RETURN VALUE -/obj/effect/mob_spawn/attack_ghost(mob/user) +/obj/effect/mob_spawn/attack_ghost(mob/user, latejoinercalling) if(!SSticker.HasRoundStarted() || !loc || !ghost_usable) return if(!uses) @@ -40,11 +41,19 @@ return if(QDELETED(src) || QDELETED(user)) return - var/ghost_role = alert("Become [mob_name]? (Warning, You can no longer be cloned!)",,"Yes","No") + var/ghost_role = alert(latejoinercalling ? "Latejoin as [mob_name]? (This is a ghost role, and as such, it's very likely to be off-station.)" : "Become [mob_name]? (Warning, You can no longer be cloned!)",,"Yes","No") if(ghost_role == "No" || !loc) return + if(QDELETED(src) || QDELETED(user)) + return + if(latejoinercalling) + var/mob/dead/new_player/NP = user + if(istype(NP)) + NP.close_spawn_windows() + NP.stop_sound_channel(CHANNEL_LOBBYMUSIC) log_game("[key_name(user)] became [mob_name]") create(ckey = user.ckey) + return TRUE /obj/effect/mob_spawn/Initialize(mapload) . = ..() @@ -52,14 +61,13 @@ create() else if(ghost_usable) GLOB.poi_list |= src - LAZYADD(GLOB.mob_spawners[name], src) + LAZYADD(GLOB.mob_spawners[job_description ? job_description : name], src) /obj/effect/mob_spawn/Destroy() GLOB.poi_list -= src - var/list/spawners = GLOB.mob_spawners[name] - LAZYREMOVE(spawners, src) - if(!LAZYLEN(spawners)) - GLOB.mob_spawners -= name + LAZYREMOVE(GLOB.mob_spawners[job_description ? job_description : name], src) + if(!LAZYLEN(GLOB.mob_spawners[job_description ? job_description : name])) + GLOB.mob_spawners -= job_description ? job_description : name return ..() /obj/effect/mob_spawn/proc/special(mob/M) @@ -262,6 +270,7 @@ mob_type = /mob/living/simple_animal/mouse death = FALSE roundstart = FALSE + job_description = "Mouse" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" @@ -270,6 +279,7 @@ mob_type = /mob/living/simple_animal/cow death = FALSE roundstart = FALSE + job_description = "Cow" mob_gender = FEMALE icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" @@ -314,6 +324,7 @@ icon_state = "sleeper" flavour_text = "You are a space doctor!" assignedrole = "Space Doctor" + job_description = "Off-station Doctor" /obj/effect/mob_spawn/human/doctor/alive/equip(mob/living/carbon/human/H) ..() @@ -364,6 +375,7 @@ death = FALSE roundstart = FALSE random = TRUE + job_description = "Off-station Bartender" name = "bartender sleeper" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" @@ -387,6 +399,7 @@ death = FALSE roundstart = FALSE random = TRUE + job_description = "Beach Biodome Bum" mob_name = "Beach Bum" name = "beach bum sleeper" icon = 'icons/obj/machines/sleeper.dmi' @@ -399,6 +412,7 @@ mob_gender = "female" name = "lifeguard sleeper" id_job = "Lifeguard" + job_description = "Beach Biodome Lifeguard" uniform = /obj/item/clothing/under/shorts/red /datum/outfit/beachbum @@ -474,6 +488,7 @@ /obj/effect/mob_spawn/human/commander/alive death = FALSE roundstart = FALSE + job_description = "Nanotrasen Commander" mob_name = "Nanotrasen Commander" name = "sleeper" icon = 'icons/obj/machines/sleeper.dmi' @@ -484,6 +499,7 @@ death = FALSE roundstart = FALSE mob_name = "Private Security Officer" + job_description = "Nanotrasen Security" name = "sleeper" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" @@ -502,6 +518,7 @@ /obj/effect/mob_spawn/human/skeleton/alive death = FALSE roundstart = FALSE + job_description = "Skeleton" icon = 'icons/effects/blood.dmi' icon_state = "remains" flavour_text = "By unknown powers, your skeletal remains have been reanimated! Walk this mortal plain and terrorize all living adventurers who dare cross your path." @@ -516,6 +533,7 @@ /obj/effect/mob_spawn/human/zombie/alive death = FALSE roundstart = FALSE + job_description = "Zombie" icon = 'icons/effects/blood.dmi' icon_state = "remains" flavour_text = "By unknown powers, your rotting remains have been resurrected! Walk this mortal plain and terrorize all living adventurers who dare cross your path." @@ -542,6 +560,7 @@ uses = -1 outfit = /datum/outfit/spacebartender assignedrole = "Space Bar Patron" + job_description = "Space Bar Patron" //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/effect/mob_spawn/human/alive/space_bar_patron/attack_hand(mob/user) diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index c4a4b167c0..16ecae7a5f 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -589,6 +589,7 @@ icon_state = "sleeper" roundstart = FALSE death = FALSE + job_description = "Syndicate Snow Operative" faction = ROLE_SYNDICATE outfit = /datum/outfit/snowsyndie flavour_text = "You are a syndicate operative recently awoken from cryostasis in an underground outpost. Monitor Nanotrasen communications and record information. All intruders should be \ diff --git a/code/modules/buildmode/submodes/advanced.dm b/code/modules/buildmode/submodes/advanced.dm index 22eb998cdf..418f504777 100644 --- a/code/modules/buildmode/submodes/advanced.dm +++ b/code/modules/buildmode/submodes/advanced.dm @@ -8,6 +8,7 @@ /datum/buildmode_mode/advanced/show_help(client/c) to_chat(c, "***********************************************************") to_chat(c, "Right Mouse Button on buildmode button = Set object type") + to_chat(c, "Left Mouse Button + alt on turf/obj = Copy object type") to_chat(c, "Left Mouse Button on turf/obj = Place objects") to_chat(c, "Right Mouse Button = Delete objects") to_chat(c, "") @@ -32,7 +33,15 @@ var/list/pa = params2list(params) var/left_click = pa.Find("left") var/right_click = pa.Find("right") - if(left_click) + var/alt_click = pa.Find("alt") + + if(left_click && alt_click) + if (istype(object, /turf) || istype(object, /obj) || istype(object, /mob)) + objholder = object.type + to_chat(c, "[initial(object.name)] ([object.type]) selected.") + else + to_chat(c, "[initial(object.name)] is not a turf, object, or mob! Please select again.") + else if(left_click) if(ispath(objholder,/turf)) var/turf/T = get_turf(object) log_admin("Build Mode: [key_name(c)] modified [T] in [AREACOORD(object)] to [objholder]") @@ -47,4 +56,3 @@ if(isobj(object)) log_admin("Build Mode: [key_name(c)] deleted [object] at [AREACOORD(object)]") qdel(object) - \ No newline at end of file diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 7e8fa9826b..1bf41e3d25 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -81,6 +81,21 @@ crate_name = "emergency crate" crate_type = /obj/structure/closet/crate/internals +/datum/supply_pack/emergency/soft_suit + name = "Emergency Space Suit " + desc = "Is there bombs going off left and right? Is there meteors shooting around the station? Well we have two fragile space suit for emergencys as well as air and masks." + cost = 1000 + contains = list(/obj/item/tank/internals/air, + /obj/item/tank/internals/air, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas, + /obj/item/clothing/suit/space/fragile, + /obj/item/clothing/suit/space/fragile, + /obj/item/clothing/head/helmet/space/fragile, + /obj/item/clothing/head/helmet/space/fragile) + crate_name = "emergency crate" + crate_type = /obj/structure/closet/crate/internals + /datum/supply_pack/emergency/firefighting name = "Firefighting Crate" desc = "Only you can prevent station fires. Partner up with two firefighter suits, gas masks, flashlights, large oxygen tanks, extinguishers, and hardhats!" @@ -129,9 +144,10 @@ /datum/supply_pack/emergency/metalfoam name = "Metal Foam Grenade Crate" - desc = "Seal up those pesky hull breaches with 7 Metal Foam Grenades." - cost = 1000 - contains = list(/obj/item/storage/box/metalfoam) + desc = "Seal up those pesky hull breaches with 14 Metal Foam Grenades." + cost = 2000 + contains = list(/obj/item/storage/box/metalfoam, + /obj/item/storage/box/metalfoam) crate_name = "metal foam grenade crate" /datum/supply_pack/emergency/syndicate @@ -228,13 +244,15 @@ /datum/supply_pack/emergency/weedcontrol name = "Weed Control Crate" - desc = "Keep those invasive species OUT. Contains a scythe, gasmask, and two anti-weed chemical grenades. Warranty void if used on ambrosia. Requires Hydroponics access to open." + desc = "Keep those invasive species OUT. Contains a scythe, gasmask, two sprays of Plant-B-Gone, and two anti-weed chemical grenades. Warranty void if used on ambrosia. Requires Hydroponics access to open." cost = 1500 access = ACCESS_HYDROPONICS contains = list(/obj/item/scythe, /obj/item/clothing/mask/gas, /obj/item/grenade/chem_grenade/antiweed, - /obj/item/grenade/chem_grenade/antiweed) + /obj/item/grenade/chem_grenade/antiweed, + /obj/item/reagent_containers/spray/plantbgone, + /obj/item/reagent_containers/spray/plantbgone) crate_name = "weed control crate" crate_type = /obj/structure/closet/crate/secure/hydroponics @@ -277,6 +295,15 @@ /obj/item/clothing/head/fedora/det_hat) crate_name = "forensics crate" +/datum/supply_pack/security/sechardsuit + name = "Sec Hardsuit" + desc = "One Sec Hardsuit with a small air tank and mask." + cost = 3000 // half of SWAT gear for have the armor and half the gear + contains = list(/obj/item/clothing/suit/space/hardsuit/security, + /obj/item/tank/internals/air, + /obj/item/clothing/mask/gas) + crate_name = "sec hardsuit crate" + /datum/supply_pack/security/helmets name = "Helmets Crate" desc = "Contains three standard-issue brain buckets. Requires Security access to open." @@ -396,6 +423,22 @@ /obj/item/clothing/suit/armor/bulletproof) crate_name = "bulletproof armor crate" +/datum/supply_pack/security/armory/bullethelmets + name = "Bulletproof Helmet Crate" + desc = "Contains three sets of bulletproof helmets. Guaranteed to reduce a bullet's stopping power by over half. Requires Armory access to open." + cost = 1500 + contains = list(/obj/item/clothing/head/helmet/alt, + /obj/item/clothing/head/helmet/alt, + /obj/item/clothing/head/helmet/alt) + crate_name = "bulletproof helmet crate" + +/datum/supply_pack/security/armory/chemimp + name = "Chemical Implants Crate" + desc = "Contains five Remote Chemical implants. Requires Armory access to open." + cost = 2000 + contains = list(/obj/item/storage/box/chemimp) + crate_name = "chemical implant crate" + /datum/supply_pack/security/armory/combatknives name = "Combat Knives Crate" desc = "Contains three sharpened combat knives. Each knife guaranteed to fit snugly inside any Nanotrasen-standard boot. Requires Armory access to open." @@ -419,24 +462,18 @@ /datum/supply_pack/security/armory/energy name = "Energy Guns Crate" - desc = "Contains two Energy Guns, capable of firing both nonlethal and lethal blasts of light. Requires Armory access to open." - cost = 2500 + desc = "Contains three Energy Guns, capable of firing both nonlethal and lethal blasts of light. Requires Armory access to open." + cost = 3500 contains = list(/obj/item/gun/energy/e_gun, + /obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun) crate_name = "energy gun crate" crate_type = /obj/structure/closet/crate/secure/plasma -/datum/supply_pack/security/armory/chemimp - name = "Chemical Implants Crate" - desc = "Contains five Remote Chemical implants. Requires Armory access to open." - cost = 2000 - contains = list(/obj/item/storage/box/chemimp) - crate_name = "chemical implant crate" - -/datum/supply_pack/security/armory/exileimp +/datum/supply_pack/security/armory/exileimp // Theres boxes in 2 lockers as well as gateway never realy being used sad name = "Exile Implants Crate" desc = "Contains five Exile implants. Requires Armory access to open." - cost = 3000 + cost = 1000 contains = list(/obj/item/storage/box/exileimp) crate_name = "exile implant crate" @@ -450,7 +487,7 @@ /datum/supply_pack/security/armory/trackingimp name = "Tracking Implants Crate" desc = "Contains four tracking implants. Requires Armory access to open." - cost = 2000 + cost = 1000 contains = list(/obj/item/storage/box/trackimp) crate_name = "tracking implant crate" @@ -506,6 +543,15 @@ /obj/item/shield/riot) crate_name = "riot shields crate" +/datum/supply_pack/security/armory/riotshotguns + name = "Riot Shotgun Crate" + desc = "For when the greytide gets really uppity. Contains three riot Shotguns. Requires Armory access to open." + cost = 6000 + contains = list(/obj/item/gun/ballistic/shotgun/riot, + /obj/item/gun/ballistic/shotgun/riot, + /obj/item/gun/ballistic/shotgun/riot) + crate_name = "riot shotgun crate" + /datum/supply_pack/security/armory/swat name = "SWAT Crate" desc = "Contains two fullbody sets of tough, fireproof, pressurized suits designed in a joint effort by IS-ERI and Nanotrasen. Each set contains a suit, helmet, mask, combat belt, and combat gloves. Requires Armory access to open." @@ -534,13 +580,32 @@ /datum/supply_pack/security/armory/wt550ammo name = "WT-550 Auto Rifle Ammo Crate" desc = "Contains four 20-round magazines for the WT-550 Auto Rifle. Each magazine is designed to facilitate rapid tactical reloads. Requires Armory access to open." - cost = 3000 + cost = 2500 contains = list(/obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9) crate_name = "auto rifle ammo crate" +/datum/supply_pack/security/armory/wt550ammo_nonlethal // Takes around 11 shots to stun crit someone + name = "WT-550 Auto Rifle Non-Lethal Ammo Crate" + desc = "Contains four 20-round magazines for the WT-550 Auto Rifle. Each magazine is designed to facilitate rapid tactical reloads. Requires Armory access to open." + cost = 1500 + contains = list(/obj/item/ammo_box/magazine/wt550m9/wtrubber, + /obj/item/ammo_box/magazine/wt550m9/wtrubber, + /obj/item/ammo_box/magazine/wt550m9/wtrubber, + /obj/item/ammo_box/magazine/wt550m9/wtrubber) + crate_name = "auto rifle ammo crate" + +/datum/supply_pack/security/armory/wt550ammo_special + name = "WT-550 Auto Rifle Special Ammo Crate" + desc = "Contains 2 20-round Armour Piercing and Incendiary magazines for the WT-550 Auto Rifle. Each magazine is designed to facilitate rapid tactical reloads. Requires Armory access to open." + cost = 4500 + contains = list(/obj/item/ammo_box/magazine/wt550m9/wtap, + /obj/item/ammo_box/magazine/wt550m9/wtap, + /obj/item/ammo_box/magazine/wt550m9/wtic, + /obj/item/ammo_box/magazine/wt550m9/wtic) + crate_name = "auto rifle ammo crate" ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Engineering ///////////////////////////////////// @@ -561,7 +626,7 @@ /datum/supply_pack/engineering/conveyor name = "Conveyor Assembly Crate" desc = "Keep production moving along with six conveyor belts. Conveyor switch included. If you have any questions, check out the enclosed instruction book." - cost = 1500 + cost = 750 contains = list(/obj/item/conveyor_construct, /obj/item/conveyor_construct, /obj/item/conveyor_construct, @@ -592,6 +657,15 @@ /obj/item/clothing/glasses/meson/engine) crate_name = "engineering gear crate" +/datum/supply_pack/engineering/engihardsuit + name = "Engineering Hardsuit" + desc = "Poly 'Who stole all the hardsuits!' Well now you can get more hardsuits if needed! NOTE ONE HARDSUIT IS IN THIS CRATE, as well as one air tank and maks!" + cost = 2500 + contains = list(/obj/item/tank/internals/air, + /obj/item/clothing/mask/gas, + /obj/item/clothing/suit/space/hardsuit/engine) + crate_name = "engineering hardsuit" + /datum/supply_pack/engineering/powergamermitts name = "Insulated Gloves Crate" desc = "The backbone of modern society. Barely ever ordered for actual engineering. Contains three insulated gloves." @@ -940,7 +1014,7 @@ /datum/supply_pack/materials/bz name = "BZ Canister Crate" desc = "Contains a canister of BZ. Requires Toxins access to open." - cost = 4000 + cost = 5000 access = ACCESS_TOX_STORAGE contains = list(/obj/machinery/portable_atmospherics/canister/bz) crate_name = "BZ canister crate" @@ -1045,47 +1119,10 @@ /obj/item/storage/firstaid/fire) crate_name = "burn treatment kit crate" -/datum/supply_pack/medical/firstaid - name = "First Aid Kit Crate" - desc = "Contains four first aid kits for healing most types of wounds." - cost = 1000 - contains = list(/obj/item/storage/firstaid/regular, - /obj/item/storage/firstaid/regular, - /obj/item/storage/firstaid/regular, - /obj/item/storage/firstaid/regular) - crate_name = "first aid kit crate" - -/datum/supply_pack/medical/firstaidoxygen - name = "Oxygen Deprivation Kit Crate" - desc = "Contains three first aid kits focused on helping oxygen deprivation victims." - cost = 1000 - contains = list(/obj/item/storage/firstaid/o2, - /obj/item/storage/firstaid/o2, - /obj/item/storage/firstaid/o2) - crate_name = "oxygen deprivation kit crate" - -/datum/supply_pack/medical/surgery - name = "Surgical Supplies Crate" - desc = "Do you want to perform surgery, but don't have one of those fancy shmancy degrees? Just get started with this crate containing a medical duffelbag, Sterilizine spray and collapsible roller bed." - cost = 3000 - contains = list(/obj/item/storage/backpack/duffelbag/med/surgery, - /obj/item/reagent_containers/medspray/sterilizine, - /obj/item/roller) - crate_name = "surgical supplies crate" - -/datum/supply_pack/medical/firstaidtoxins - name = "Toxin Treatment Kit Crate" - desc = "Contains three first aid kits focused on healing damage dealt by heavy toxins." - cost = 1000 - contains = list(/obj/item/storage/firstaid/toxin, - /obj/item/storage/firstaid/toxin, - /obj/item/storage/firstaid/toxin) - crate_name = "toxin treatment kit crate" - /datum/supply_pack/medical/bloodpacks name = "Blood Pack Variety Crate" desc = "Contains eight different blood packs for reintroducing blood to patients." - cost = 3500 + cost = 3000 contains = list(/obj/item/reagent_containers/blood, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/blood/APlus, @@ -1106,17 +1143,36 @@ /obj/item/defibrillator/loaded) crate_name = "defibrillator crate" +/datum/supply_pack/medical/firstaid + name = "First Aid Kit Crate" + desc = "Contains four first aid kits for healing most types of wounds." + cost = 1000 + contains = list(/obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/regular) + crate_name = "first aid kit crate" + +/datum/supply_pack/medical/medicalhardsuit + name = "Medical Hardsuit" + desc = "Got people being spaced left and right? Hole in the same room as the dead body of Hos or cap? Fear not, now you can buy one medical hardsuit with a mask and air tank to save your fellow crewmembers." + cost = 2500 + contains = list(/obj/item/tank/internals/air, + /obj/item/clothing/mask/gas, + /obj/item/clothing/suit/space/hardsuit/medical) + crate_name = "medical hardsuit" + /datum/supply_pack/medical/iv_drip name = "IV Drip Crate" desc = "Contains a single IV drip for administering blood to patients." - cost = 1000 + cost = 700 contains = list(/obj/machinery/iv_drip) crate_name = "iv drip crate" /datum/supply_pack/medical/supplies name = "Medical Supplies Crate" - desc = "Contains seven beakers, syringes, and bodybags. Six morphine bottles, four insulin pills. Two charcoal bottles, epinephrine bottles, antitoxin bottles, and large beakers. Finally, a single roll of medical gauze. German doctor not included." - cost = 2000 + desc = "Contains seven beakers, syringes, and bodybags. Three morphine bottles, four insulin pills. Two charcoal bottles, epinephrine bottles, antitoxin bottles, and large beakers. Finally, a single roll of medical gauze, as well as a bottle of stimulant pills for long, hard work days. German doctor not included." + cost = 2500 contains = list(/obj/item/reagent_containers/glass/bottle/charcoal, /obj/item/reagent_containers/glass/bottle/charcoal, /obj/item/reagent_containers/glass/bottle/epinephrine, @@ -1124,9 +1180,6 @@ /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, - /obj/item/reagent_containers/glass/bottle/morphine, - /obj/item/reagent_containers/glass/bottle/morphine, - /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/toxin, /obj/item/reagent_containers/glass/bottle/toxin, /obj/item/reagent_containers/glass/beaker/large, @@ -1139,7 +1192,8 @@ /obj/item/storage/box/beakers, /obj/item/storage/box/medsprays, /obj/item/storage/box/syringes, - /obj/item/storage/box/bodybags) + /obj/item/storage/box/bodybags, + /obj/item/storage/pill_bottle/stimulant) crate_name = "medical supplies crate" /datum/supply_pack/medical/vending @@ -1150,6 +1204,58 @@ /obj/item/vending_refill/wallmed) crate_name = "medical vending crate" +/datum/supply_pack/medical/sprays + name = "Medical Sprays" + desc = "Contains two cans of Styptic Spray, Silver Sulfadiazine Spray, Synthflesh Spray and Sterilizer Compound Spray." + cost = 2500 + contains = list(/obj/item/reagent_containers/medspray/styptic, + /obj/item/reagent_containers/medspray/styptic, + /obj/item/reagent_containers/medspray/silver_sulf, + /obj/item/reagent_containers/medspray/silver_sulf, + /obj/item/reagent_containers/medspray/synthflesh, + /obj/item/reagent_containers/medspray/synthflesh, + /obj/item/reagent_containers/medspray/sterilizine, + /obj/item/reagent_containers/medspray/sterilizine) + crate_name = "medical supplies crate" + +/datum/supply_pack/medical/firstaidmixed + name = "Mixed Medical Kits" + desc = "Contains one of each medical kits for dealing with a variety of injured crewmembers." + cost = 1500 + contains = list(/obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/brute, + /obj/item/storage/firstaid/fire, + /obj/item/storage/firstaid/regular) + crate_name = "medical supplies crate" + +/datum/supply_pack/medical/firstaidoxygen + name = "Oxygen Deprivation Kit Crate" + desc = "Contains three first aid kits focused on helping oxygen deprivation victims." + cost = 1000 + contains = list(/obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/o2) + crate_name = "oxygen deprivation kit crate" + +/datum/supply_pack/medical/surgery + name = "Surgical Supplies Crate" + desc = "Do you want to perform surgery, but don't have one of those fancy shmancy degrees? Just get started with this crate containing a medical duffelbag, Sterilizine spray and collapsible roller bed." + cost = 1000 + contains = list(/obj/item/storage/backpack/duffelbag/med/surgery, + /obj/item/reagent_containers/medspray/sterilizine, + /obj/item/roller) + crate_name = "surgical supplies crate" + +/datum/supply_pack/medical/firstaidtoxins + name = "Toxin Treatment Kit Crate" + desc = "Contains three first aid kits focused on healing damage dealt by heavy toxins." + cost = 1000 + contains = list(/obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/toxin) + crate_name = "toxin treatment kit crate" + /datum/supply_pack/medical/virus name = "Virus Crate" desc = "Contains twelve different bottles, containing several viral samples for virology research. Also includes seven beakers and syringes. Balled-up jeans not included. Requires CMO access to open." @@ -1303,14 +1409,15 @@ /datum/supply_pack/service/noslipfloor name = "High-traction Floor Tiles" - desc = "Make slipping a thing of the past with thirty industrial-grade anti-slip floortiles!" + desc = "Make slipping a thing of the past with sixty industrial-grade anti-slip floortiles!" cost = 2000 - contains = list(/obj/item/stack/tile/noslip/thirty) + contains = list(/obj/item/stack/tile/noslip/thirty, + /obj/item/stack/tile/noslip/thirty) crate_name = "high-traction floor tiles crate" /datum/supply_pack/service/janitor name = "Janitorial Supplies Crate" - desc = "Fight back against dirt and grime with Nanotrasen's Janitorial Essentials(tm)! Contains three buckets, caution signs, and cleaner grenades. Also has a single mop, spray cleaner, rag, and trash bag." + desc = "Fight back against dirt and grime with Nanotrasen's Janitorial Essentials(tm)! Contains three buckets, caution signs, and cleaner grenades. Also has a single mop, spray cleaner, rag, NT soap and a trash bag." cost = 1000 contains = list(/obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/glass/bucket, @@ -1324,7 +1431,8 @@ /obj/item/reagent_containers/glass/rag, /obj/item/grenade/chem_grenade/cleaner, /obj/item/grenade/chem_grenade/cleaner, - /obj/item/grenade/chem_grenade/cleaner) + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/soap/nanotrasen) crate_name = "janitorial supplies crate" /datum/supply_pack/service/janitor/janicart @@ -1378,7 +1486,7 @@ /datum/supply_pack/service/carpet name = "Premium Carpet Crate" - desc = "Plasteel floor tiles getting on your nerves? These stacks of extra soft carpet will tie any room together." + desc = "Plasteel floor tiles getting on your nerves? These stacks of extra soft carpet will tie any room together. Contains the classics." cost = 1000 contains = list(/obj/item/stack/tile/carpet/fifty, /obj/item/stack/tile/carpet/fifty, @@ -1386,13 +1494,24 @@ /obj/item/stack/tile/carpet/black/fifty) crate_name = "premium carpet crate" +/datum/supply_pack/service/carpet2 + name = "Premium Carpet Crate #2" + desc = "Plasteel floor tiles getting on your nerves? These stacks of extra soft carpet will tie any room together. Contains red, and monochrome" + cost = 1000 + contains = list(/obj/item/stack/tile/carpet/blackred/fifty, + /obj/item/stack/tile/carpet/blackred/fifty, + /obj/item/stack/tile/carpet/monochrome/fifty, + /obj/item/stack/tile/carpet/monochrome/fifty) + crate_name = "premium carpet crate #2" + /datum/supply_pack/service/lightbulbs name = "Replacement Lights" - desc = "May the light of Aether shine upon this station! Or at least, the light of forty two light tubes and twenty one light bulbs." - cost = 1000 + desc = "May the light of Aether shine upon this station! Or at least, the light of forty two light tubes and twenty one light bulbs as well as a light replacer." + cost = 1200 contains = list(/obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, - /obj/item/storage/box/lights/mixed) + /obj/item/storage/box/lights/mixed, + /obj/item/lightreplacer) crate_name = "replacement lights" /datum/supply_pack/service/minerkit @@ -1483,20 +1602,52 @@ crate_name = "beekeeping starter crate" crate_type = /obj/structure/closet/crate/hydroponics +/datum/supply_pack/organic/cutlery + name = "Kitchen Cutlery Deluxe Set" + desc = "Need to slice and dice away those ''Tomatos'' well we got what you need! From a nice set of knifes, forks, plates, glasses, and a whetstone for when you got some grizzle that is a bit harder to slice then normal." + cost = 10000 + contraband = TRUE + contains = list(/obj/item/sharpener, + /obj/item/kitchen/fork, + /obj/item/kitchen/fork, + /obj/item/kitchen/knife, + /obj/item/kitchen/knife, + /obj/item/kitchen/knife, + /obj/item/kitchen/knife, + /obj/item/kitchen/knife/butcher, + /obj/item/kitchen/knife/butcher, + /obj/item/kitchen/rollingpin, //Deluxe for a reason + /obj/item/trash/plate, + /obj/item/trash/plate, + /obj/item/trash/plate, + /obj/item/trash/plate, + /obj/item/reagent_containers/food/drinks/drinkingglass, + /obj/item/reagent_containers/food/drinks/drinkingglass, + /obj/item/reagent_containers/food/drinks/drinkingglass, + /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, + /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass) + crate_name = "kitchen cutlery deluxe set" + /datum/supply_pack/organic/food name = "Food Crate" - desc = "Get things cooking with this crate full of useful ingredients! Contains a dozen eggs, three bananas, and some flour, rice, milk, soymilk, salt, pepper, enzyme, sugar, and monkeymeat." + desc = "Get things cooking with this crate full of useful ingredients! Contains a two dozen eggs, three bananas, and two bags of flour and rice, two cartons of milk, soymilk, as well as salt and pepper shakers, a enzyme and sugar bottle, and three slabs of monkeymeat." cost = 1000 contains = list(/obj/item/reagent_containers/food/condiment/flour, + /obj/item/reagent_containers/food/condiment/flour, /obj/item/reagent_containers/food/condiment/rice, + /obj/item/reagent_containers/food/condiment/rice, + /obj/item/reagent_containers/food/condiment/milk, /obj/item/reagent_containers/food/condiment/milk, /obj/item/reagent_containers/food/condiment/soymilk, /obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/reagent_containers/food/condiment/peppermill, /obj/item/storage/fancy/egg_box, + /obj/item/storage/fancy/egg_box, /obj/item/reagent_containers/food/condiment/enzyme, /obj/item/reagent_containers/food/condiment/sugar, /obj/item/reagent_containers/food/snacks/meat/slab/monkey, + /obj/item/reagent_containers/food/snacks/meat/slab/monkey, + /obj/item/reagent_containers/food/snacks/meat/slab/monkey, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/reagent_containers/food/snacks/grown/banana) @@ -1790,7 +1941,7 @@ desc = "Psst.. bud... want some contraband? I can get you a poster, some nice cigs, dank, even some sponsored items...you know, the good stuff. Just keep it away from the cops, kay?" contraband = TRUE cost = 3000 - num_contained = 7 + num_contained = 5 //SOME contains = list(/obj/item/poster/random_contraband, /obj/item/poster/random_contraband, /obj/item/reagent_containers/food/snacks/grown/cannabis, @@ -1956,25 +2107,55 @@ name = "Toy Crate" desc = "Who cares about pride and accomplishment? Skip the gaming and get straight to the sweet rewards with this product! Contains five random toys. Warranty void if used to prank research directors." cost = 5000 // or play the arcade machines ya lazy bum - // TODO make this actually just use the arcade machine loot list + // TODID make this actually just use the arcade machine loot list num_contained = 5 - contains = list(/obj/item/toy/spinningtoy, - /obj/item/toy/sword, - /obj/item/toy/foamblade, - /obj/item/toy/talking/AI, - /obj/item/toy/talking/owl, - /obj/item/toy/talking/griffin, - /obj/item/toy/nuke, - /obj/item/toy/minimeteor, - /obj/item/toy/plush/carpplushie, - /obj/item/toy/plush/lizardplushie, - /obj/item/toy/plush/snakeplushie, - /obj/item/toy/plush/nukeplushie, - /obj/item/toy/plush/slimeplushie, - /obj/item/coin/antagtoken, - /obj/item/stack/tile/fakespace/loaded, - /obj/item/gun/ballistic/shotgun/toy/crossbow, - /obj/item/toy/redbutton, + contains = list(/obj/item/storage/box/snappops, + /obj/item/toy/talking/AI, + /obj/item/toy/talking/codex_gigas, + /obj/item/clothing/under/syndicate/tacticool, + /obj/item/toy/sword , + /obj/item/toy/gun, + /obj/item/gun/ballistic/shotgun/toy/crossbow, + /obj/item/storage/box/fakesyndiesuit, + /obj/item/storage/crayons, + /obj/item/toy/spinningtoy, + /obj/item/toy/prize/ripley, + /obj/item/toy/prize/fireripley, + /obj/item/toy/prize/deathripley, + /obj/item/toy/prize/gygax, + /obj/item/toy/prize/durand, + /obj/item/toy/prize/honk, + /obj/item/toy/prize/marauder, + /obj/item/toy/prize/seraph, + /obj/item/toy/prize/mauler, + /obj/item/toy/prize/odysseus, + /obj/item/toy/prize/phazon, + /obj/item/toy/prize/reticence, + /obj/item/toy/cards/deck, + /obj/item/toy/nuke, + /obj/item/toy/minimeteor, + /obj/item/toy/redbutton, + /obj/item/toy/talking/owl, + /obj/item/toy/talking/griffin, + /obj/item/coin/antagtoken, + /obj/item/stack/tile/fakespace/loaded, + /obj/item/stack/tile/fakepit/loaded, + /obj/item/toy/toy_xeno, + /obj/item/storage/box/actionfigure, + /obj/item/restraints/handcuffs/fake, + /obj/item/grenade/chem_grenade/glitter/pink, + /obj/item/grenade/chem_grenade/glitter/blue, + /obj/item/grenade/chem_grenade/glitter/white, + /obj/item/toy/eightball, + /obj/item/toy/windupToolbox, + /obj/item/toy/clockwork_watch, + /obj/item/toy/toy_dagger, + /obj/item/extendohand/acme, + /obj/item/hot_potato/harmless/toy, + /obj/item/card/emagfake, + /obj/item/clothing/shoes/wheelys, + /obj/item/clothing/shoes/kindleKicks, + /obj/item/storage/belt/military/snack, /obj/item/toy/eightball, /obj/item/vending_refill/donksoft) crate_name = "toy crate" @@ -2072,7 +2253,7 @@ /datum/supply_pack/misc/artsupply name = "Art Supplies" - desc = "Make some happy little accidents with six canvasses, two easels, and two rainbow crayons!" + desc = "Make some happy little accidents with six canvasses, two easels, two boxes of crayons, and a rainbow crayon!" cost = 800 contains = list(/obj/structure/easel, /obj/structure/easel, @@ -2082,11 +2263,23 @@ /obj/item/canvas/twentythreeXnineteen, /obj/item/canvas/twentythreeXtwentythree, /obj/item/canvas/twentythreeXtwentythree, + /obj/item/storage/crayons, + /obj/item/storage/crayons, /obj/item/toy/crayon/rainbow, - /obj/item/toy/crayon/rainbow) + /obj/item/toy/crayon/white, + /obj/item/toy/crayon/white) crate_name = "art supply crate" crate_type = /obj/structure/closet/crate/wooden +/datum/supply_pack/misc/captain_pen + name = "Captain Pen" + desc = "A spare Captain fountain pen." + access = ACCESS_CAPTAIN + cost = 10000 + contains = list(/obj/item/pen/fountain/captain) + crate_name = "captain pen" + crate_type = /obj/structure/closet/crate/secure/weapon //It is a combat pen + /datum/supply_pack/misc/bicycle name = "Bicycle" desc = "Nanotrasen reminds all employees to never toy with powers outside their control." @@ -2124,7 +2317,7 @@ /datum/supply_pack/misc/paper name = "Bureaucracy Crate" - desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureaucratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, three folders, two clipboards and two stamps."//that was too forced + desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureaucratic supplies! Contains five pens, some camera film, hand labeler supplies, a paper bin, three folders, two clipboards and two stamps as well as a briefcase."//that was too forced cost = 1500 contains = list(/obj/structure/filingcabinet/chestdrawer/wheeled, /obj/item/camera_film, @@ -2135,7 +2328,6 @@ /obj/item/pen/fourcolor, /obj/item/pen/fourcolor, /obj/item/pen, - /obj/item/pen/fountain, /obj/item/pen/blue, /obj/item/pen/red, /obj/item/folder/blue, @@ -2144,14 +2336,16 @@ /obj/item/clipboard, /obj/item/clipboard, /obj/item/stamp, - /obj/item/stamp/denied) + /obj/item/stamp/denied, + /obj/item/storage/briefcase) crate_name = "bureaucracy crate" /datum/supply_pack/misc/fountainpens name = "Calligraphy Crate" desc = "Sign death warrants in style with these seven executive fountain pens." cost = 700 - contains = list(/obj/item/storage/box/fountainpens) + contains = list(/obj/item/storage/box/fountainpens, + /obj/item/paper_bin) crate_type = /obj/structure/closet/crate/wooden crate_name = "calligraphy crate" @@ -2188,6 +2382,36 @@ ) crate_name = "religious supplies crate" +/datum/supply_pack/misc/lewd + name = "Lewd Crate" // OwO + desc = "Psss want to have a good time with your sluts? Well I got what you want maid clothing, dildos, collars and more!" + cost = 5000 + contraband = TRUE + contains = list(/obj/item/dildo/custom, + /obj/item/dildo/custom, + /obj/item/vending_refill/kink, + /obj/item/vending_refill/kink, + /obj/item/clothing/under/maid, + /obj/item/clothing/under/maid, + /obj/item/electropack/shockcollar, + /obj/item/electropack/shockcollar, + /obj/item/restraints/handcuffs/fake/kinky, + /obj/item/restraints/handcuffs/fake/kinky, + /obj/item/clothing/head/kitty/genuine, // Why its illegal + /obj/item/clothing/head/kitty/genuine, + /obj/structure/reagent_dispensers/keg/aphro) + crate_name = "lewd kit" + crate_type = /obj/structure/closet/crate + +/datum/supply_pack/misc/lewdkeg + name = "Lewd Deluxe Keg" + desc = "That other stuff not getting you ready? Well I have a Chemslut making tons of the good stuff." + cost = 7000 //It can be a weapon + contraband = TRUE + contains = list(/obj/structure/reagent_dispensers/keg/aphro/strong) + crate_name = "deluxe keg" + crate_type = /obj/structure/closet/crate + /datum/supply_pack/misc/toner name = "Toner Crate" desc = "Spent too much ink printing butt pictures? Fret not, with these six toner refills, you'll be printing butts 'till the cows come home!'" @@ -2199,3 +2423,4 @@ /obj/item/toner, /obj/item/toner) crate_name = "toner crate" + diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 8ea827ce5c..53a8d84af2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -120,7 +120,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/parallax var/ambientocclusion = TRUE - var/auto_fit_viewport = FALSE + var/auto_fit_viewport = TRUE var/uplink_spawn_loc = UPLINK_PDA @@ -216,7 +216,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Name: " dat += "[real_name]
" - dat += "Gender: [gender == MALE ? "Male" : "Female"]
" + dat += "Gender: [gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]
" dat += "Age: [age]
" dat += "Special Names:
" @@ -254,7 +254,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) else dat += "[TextPreview(features["flavor_text"])]...
" dat += "

Body

" - dat += "Gender: [gender == MALE ? "Male" : "Female"]
" + dat += "Gender: [gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]
" dat += "Species:[pref_species.id]
" dat += "Random Body
" dat += "Always Random Body: [be_random_body ? "Yes" : "No"]
" @@ -574,6 +574,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(NOGENITALS in pref_species.species_traits) dat += "Your species ([pref_species.name]) does not support genitals!
" else + if(pref_species.use_skintones) + dat += "Genitals use skintone:[features["genitals_use_skintone"] == TRUE ? "Yes" : "No"]
" dat += "Has Penis:[features["has_cock"] == TRUE ? "Yes" : "No"]
" if(features["has_cock"] == TRUE) if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) @@ -685,7 +687,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"]
" dat += "Fit Viewport: [auto_fit_viewport ? "Auto" : "Manual"]
" - if (CONFIG_GET(flag/maprotation)) + if (CONFIG_GET(flag/maprotation) && CONFIG_GET(flag/tgstyle_maprotation)) var/p_map = preferred_map if (!p_map) p_map = "Default" @@ -732,7 +734,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

Citadel Preferences

" //Because fuck me if preferences can't be fucking modularized and expected to update in a reasonable timeframe. dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" - dat += "Allow MediHound sleeper: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" + dat += "Voracious MediHound sleepers: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]
" @@ -1475,7 +1477,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["mam_tail"] = "None" if("tail_human") - var/list/snowflake_tails_list = list("None" = null) + var/list/snowflake_tails_list = list() for(var/path in GLOB.tails_list_human) var/datum/sprite_accessory/tails/human/instance = GLOB.tails_list_human[path] if(istype(instance, /datum/sprite_accessory)) @@ -1492,7 +1494,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["mam_tail"] = "None" if("mam_tail") - var/list/snowflake_tails_list = list("None" = null) + var/list/snowflake_tails_list = list() for(var/path in GLOB.mam_tails_list) var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1568,7 +1570,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) skin_tone = new_s_tone if("taur") - var/list/snowflake_taur_list = list("Normal" = null) + var/list/snowflake_taur_list = list() for(var/path in GLOB.taur_list) var/datum/sprite_accessory/taur/instance = GLOB.taur_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1586,7 +1588,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["tail_lizard"] = "None" if("ears") - var/list/snowflake_ears_list = list("Normal" = null) + var/list/snowflake_ears_list = list() for(var/path in GLOB.ears_list) var/datum/sprite_accessory/ears/instance = GLOB.ears_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1599,7 +1601,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["ears"] = new_ears if("mam_ears") - var/list/snowflake_ears_list = list("Normal" = null) + var/list/snowflake_ears_list = list() for(var/path in GLOB.mam_ears_list) var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1612,7 +1614,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["mam_ears"] = new_ears if("mam_body_markings") - var/list/snowflake_markings_list = list("Normal" = null) + var/list/snowflake_markings_list = list() for(var/path in GLOB.mam_body_markings_list) var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1844,13 +1846,13 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(unlock_content) toggles ^= MEMBER_PUBLIC if("gender") - if(gender == MALE) - gender = FEMALE - else - gender = MALE - underwear = random_underwear(gender) - undershirt = random_undershirt(gender) - socks = random_socks() + var/chosengender = input(user, "Select your character's gender.", "Gender Selection", gender) in list(MALE,FEMALE,"nonbinary","object") + switch(chosengender) + if("nonbinary") + chosengender = PLURAL + if("object") + chosengender = NEUTER + gender = chosengender facial_hair_style = random_facial_hair_style(gender) hair_style = random_hair_style(gender) @@ -2062,9 +2064,19 @@ GLOBAL_LIST_EMPTY(preferences_datums) else if("xenotail" in pref_species.default_features) character.dna.species.mutant_bodyparts |= "xenotail" - if(("legs" in pref_species.default_features) && character.dna.features["legs"] == "Digitigrade Legs") - pref_species.species_traits += DIGITIGRADE + if("legs" in pref_species.default_features) + if(character.dna.features["legs"] == "Digitigrade Legs") + pref_species.species_traits += DIGITIGRADE + character.Digitigrade_Leg_Swap(FALSE) + + if(character.dna.features["legs"] == "Normal Legs" && DIGITIGRADE in pref_species.species_traits) + pref_species.species_traits -= DIGITIGRADE + character.Digitigrade_Leg_Swap(TRUE) + + else if((!"legs" in pref_species.default_features) && DIGITIGRADE in pref_species.species_traits) + pref_species.species_traits -= DIGITIGRADE character.Digitigrade_Leg_Swap(TRUE) + if(DIGITIGRADE in pref_species.species_traits) character.Digitigrade_Leg_Swap(FALSE) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 8152f42efb..dbf782c5fe 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -349,7 +349,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //Sanitize real_name = reject_bad_name(real_name) - gender = sanitize_gender(gender) + gender = sanitize_gender(gender, TRUE, TRUE) if(!real_name) real_name = random_unique_name(gender) diff --git a/code/modules/client/verbs/aooc.dm b/code/modules/client/verbs/aooc.dm index dd6a802e11..90c0dc5a55 100644 --- a/code/modules/client/verbs/aooc.dm +++ b/code/modules/client/verbs/aooc.dm @@ -56,7 +56,7 @@ var/antaglisting = list() for(var/datum/mind/M in get_antag_minds(/datum/antagonist)) - if(!M.current || !M.current.client) + if(!M.current || !M.current.client || isnewplayer(M.current)) continue antaglisting |= M.current.client @@ -104,7 +104,7 @@ GLOBAL_VAR_INIT(antag_ooc_colour, AOOC_COLOR) var/antaglisting = list() //Only those who have access to AOOC need to know if it's enabled or not. for(var/datum/mind/M in get_antag_minds(/datum/antagonist)) - if(!M.current || !M.current.client) + if(!M.current || !M.current.client || isnewplayer(M.current)) continue antaglisting |= M.current.client diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 6c22334f78..b691074c27 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -69,6 +69,7 @@ if(M.a_intent == INTENT_HARM) M.changeNext_move(CLICK_CD_RAPID) + M.adjustStaminaLoss(-2) //Restore 2/3 of the stamina used assuming empty stam buffer. With proper stamina buffer management, this results in a net gain of +.5 stamina per click. if(warcry) M.say("[warcry]", ignore_spam = TRUE, forced = "north star warcry") .= FALSE diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index f7c52c909e..69d6fe545e 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -4,6 +4,8 @@ icon_state = "hardhat0_yellow" item_state = "hardhat0_yellow" var/brightness_on = 4 //luminosity when on + light_color = "#FFCC66" + var/power_on = 0.8 var/on = FALSE item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite) armor = list("melee" = 15, "bullet" = 5, "laser" = 20,"energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50) @@ -29,7 +31,7 @@ A.UpdateButtonIcon() /obj/item/clothing/head/hardhat/proc/turn_on(mob/user) - set_light(brightness_on) + set_light(brightness_on, power_on) /obj/item/clothing/head/hardhat/proc/turn_off(mob/user) set_light(0) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 25e0dbe886..7265800c49 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -321,7 +321,7 @@ /obj/item/clothing/head/helmet/proc/update_helmlight(mob/user = null) if(F) if(F.on) - set_light(F.brightness_on) + set_light(F.brightness_on, F.flashlight_power, F.light_color) else set_light(0) update_icon() diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 61f189e236..00cb2678cd 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -54,7 +54,10 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe") if(bloody) - . += mutable_appearance('icons/effects/blood.dmi', "shoeblood") + if(adjusted == NORMAL_STYLE) + . += mutable_appearance('icons/effects/blood.dmi', "shoeblood") + else + . += mutable_appearance('modular_citadel/icons/mob/digishoes.dmi', "shoeblood") /obj/item/clothing/shoes/equipped(mob/user, slot) . = ..() diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 6224e2a3d9..913b92f9eb 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -35,7 +35,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals) slowdown = 1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -43,3 +43,4 @@ strip_delay = 80 equip_delay_other = 80 resistance_flags = NONE + tauric = TRUE //Citadel Add for tauric hardsuits diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 0794ef29e7..974936ba30 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -180,6 +180,7 @@ armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine resistance_flags = FIRE_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits //Atmospherics /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos @@ -201,6 +202,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos + tauric = TRUE //Citadel Add for tauric hardsuits //Chief Engineer's hardsuit @@ -224,6 +226,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite jetpack = /obj/item/tank/jetpack/suit + tauric = TRUE //Citadel Add for tauric hardsuits //Mining hardsuit /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -254,6 +257,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/mining/Initialize() . = ..() @@ -349,6 +353,7 @@ allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit + tauric = TRUE //Citadel Add for tauric hardsuits //Elite Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite @@ -377,6 +382,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits //The Owl Hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl @@ -449,6 +455,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical) armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical + tauric = TRUE //Citadel Add for tauric hardsuits //Research Director hardsuit /obj/item/clothing/head/helmet/space/hardsuit/rd @@ -490,6 +497,7 @@ /obj/item/hand_tele, /obj/item/aicard) armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd + tauric = TRUE //Citadel Add for tauric hardsuits @@ -510,6 +518,7 @@ item_state = "sec_hardsuit" armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/security/Initialize() . = ..() @@ -531,6 +540,7 @@ armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos jetpack = /obj/item/tank/jetpack/suit + tauric = TRUE //Citadel Add for tauric hardsuits //Captain /obj/item/clothing/head/helmet/space/hardsuit/captain @@ -558,6 +568,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago helmettype = /obj/item/clothing/head/helmet/space/hardsuit/captain + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/captain/Initialize() . = ..() @@ -657,6 +668,7 @@ var/recharge_rate = 1 //How quickly the shield recharges once it starts charging var/shield_state = "shield-old" var/shield_on = "shield-old" + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/shielded/Initialize() . = ..() @@ -774,6 +786,7 @@ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/shielded/syndi/Initialize() @@ -803,6 +816,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat dog_fashion = /datum/dog_fashion/back/deathsquad + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat name = "death commando helmet" diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index dcd344563a..89f114f7e5 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -128,8 +128,8 @@ Contains: //Space pirate outfit /obj/item/clothing/head/helmet/space/pirate - name = "pirate hat" - desc = "Yarr." + name = "royal tricorne" + desc = "A thick, space-proof tricorne from the royal Space Queen. It's lined with a layer of reflective kevlar." icon_state = "pirate" item_state = "pirate" armor = list("melee" = 30, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75) @@ -139,13 +139,14 @@ Contains: flags_cover = HEADCOVERSEYES /obj/item/clothing/head/helmet/space/pirate/bandana - name = "pirate bandana" + name = "royal bandana" + desc = "A space-proof bandanna crafted with reflective kevlar." icon_state = "bandana" item_state = "bandana" /obj/item/clothing/suit/space/pirate - name = "pirate coat" - desc = "Yarr." + name = "royal waistcoat " + desc = "A royal, space-proof waistcoat. The inside of it is lined with reflective kevlar." icon_state = "pirate" item_state = "pirate" w_class = WEIGHT_CLASS_NORMAL @@ -191,6 +192,7 @@ Contains: icon_state = "ert_security" item_state = "ert_security" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/sec + tauric = TRUE //Citadel Add for tauric hardsuits //ERT Engineering /obj/item/clothing/head/helmet/space/hardsuit/ert/engi @@ -204,6 +206,7 @@ Contains: icon_state = "ert_engineer" item_state = "ert_engineer" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engi + tauric = TRUE //Citadel Add for tauric hardsuits //ERT Medical /obj/item/clothing/head/helmet/space/hardsuit/ert/med @@ -218,6 +221,7 @@ Contains: item_state = "ert_medical" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/med species_exception = list(/datum/species/angel) + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/eva name = "EVA suit" @@ -225,6 +229,7 @@ Contains: item_state = "s_suit" desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies." armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 65) + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/helmet/space/eva name = "EVA helmet" @@ -343,6 +348,7 @@ Contains: slowdown = 2 armor = list("melee" = 5, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 0, "acid" = 0) strip_delay = 65 + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(!torn && prob(50)) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 0943505f25..d1ee88d5a8 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -54,7 +54,7 @@ user.update_inv_head() //So the mob overlay updates if(on) - set_light(brightness_on) + set_light(brightness_on, 0.8, "#FFCC66") else set_light(0) diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 6d42b2d78f..e6710ee8f9 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -109,6 +109,7 @@ name = "green space suit" icon_state = "syndicate-black-med" item_state = "syndicate-black" + tauric = TRUE //Citadel Add for tauric hardsuits //Black-orange syndicate space suit diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 6aabee0c81..ad0311f160 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -9,6 +9,51 @@ var/togglename = null var/suittoggled = FALSE + var/adjusted = NORMAL_STYLE + mutantrace_variation = MUTANTRACE_VARIATION + var/tauric = FALSE //Citadel Add for tauric hardsuits + var/taurmode = NOT_TAURIC + var/dimension_x = 32 + var/dimension_y = 32 + var/center = FALSE //Should we center the sprite? + +/obj/item/clothing/suit/equipped(mob/user, slot) + ..() + if(ishuman(user)) + var/mob/living/carbon/human/H = user + + if(mutantrace_variation) + if(DIGITIGRADE in H.dna.species.species_traits) + adjusted = ALT_STYLE + H.update_inv_wear_suit() + else if(adjusted == ALT_STYLE) + adjusted = NORMAL_STYLE + H.update_inv_wear_suit() + + if(("taur" in H.dna.species.mutant_bodyparts) && (H.dna.features["taur"] != "None")) + if(H.dna.features["taur"] in list("Naga", "Tentacle")) + taurmode = SNEK_TAURIC + if(tauric == TRUE) + center = TRUE + dimension_x = 64 + else if(H.dna.features["taur"] in list("Fox", "Wolf", "Otie", "Drake", "Lab", "Shepherd", "Husky", "Eevee", "Panther", "Tajaran", "Horse", "Cow")) + taurmode = PAW_TAURIC + if(tauric == TRUE) + center = TRUE + dimension_x = 64 + /* + else if(H.dna.features["taur"] == "Horse" || "Cow") + taurmode = HOOF_TAURIC //tweak this for when the exotics get their own suits, if ever. + center = TRUE + dimension_x = 64 + */ + else + taurmode = NOT_TAURIC + if(tauric == TRUE) + center = FALSE + dimension_x = 32 + H.update_inv_wear_suit() + /obj/item/clothing/suit/worn_overlays(isinhands = FALSE) . = list() diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index f73ca30fb0..97c9da289b 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -23,6 +23,7 @@ item_state = "armoralt" blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/armor/vest/alt desc = "A Type I armored vest that provides decent protection against most types of damage." diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 1c24ee17a7..cbc8f33e3a 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -23,10 +23,11 @@ slowdown = 1 allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/pen, /obj/item/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR strip_delay = 70 equip_delay_other = 70 resistance_flags = ACID_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits //Standard biosuit, orange stripe /obj/item/clothing/head/bio_hood/general diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index 7542a0dd59..2516d446d6 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -36,7 +36,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) actions_types = list(/datum/action/item_action/toggle) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF - hit_reaction_chance = 50 + hit_reaction_chance = 50 // Only on the chest yet blocks all attacks? /obj/item/clothing/suit/armor/reactive/attack_self(mob/user) active = !(active) @@ -126,6 +126,7 @@ /obj/item/clothing/suit/armor/reactive/stealth name = "reactive stealth armor" + reactivearmor_cooldown_duration = 65 desc = "An experimental suit of armor that renders the wearer invisible on detection of imminent harm, and creates a decoy that runs away from the owner. You can't fight what you can't see." /obj/item/clothing/suit/armor/reactive/stealth/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) @@ -139,7 +140,7 @@ E.Copy_Parent(owner, 50) E.GiveTarget(owner) //so it starts running right away E.Goto(owner, E.move_to_delay, E.minimum_distance) - owner.alpha = 0 + owner.alpha = 30 owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise spawn(40) owner.alpha = initial(owner.alpha) @@ -152,6 +153,7 @@ name = "reactive tesla armor" desc = "An experimental suit of armor with sensitive detectors hooked up to a huge capacitor grid, with emitters strutting out of it. Zap." siemens_coefficient = -1 + reactivearmor_cooldown_duration = 20 var/tesla_power = 25000 var/tesla_range = 20 var/tesla_flags = TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE @@ -185,6 +187,7 @@ /obj/item/clothing/suit/armor/reactive/repulse name = "reactive repulse armor" + reactivearmor_cooldown_duration = 20 desc = "An experimental suit of armor that violently throws back attackers." /obj/item/clothing/suit/armor/reactive/repulse/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) @@ -210,6 +213,7 @@ /obj/item/clothing/suit/armor/reactive/table name = "reactive table armor" + reactivearmor_cooldown_duration = 0 desc = "If you can't beat the memes, embrace them." var/tele_range = 10 diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 1748813f56..10ddf37265 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -20,7 +20,8 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, /obj/item/crowbar) slowdown = 1 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT @@ -29,6 +30,7 @@ strip_delay = 60 equip_delay_other = 60 resistance_flags = FIRE_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/fire/firefighter icon_state = "firesuit" @@ -83,7 +85,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 2 armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) - flags_inv = HIDEJUMPSUIT + flags_inv = HIDEJUMPSUIT|HIDETAUR heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -91,6 +93,7 @@ strip_delay = 70 equip_delay_other = 70 resistance_flags = NONE + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/bomb_hood/security @@ -143,6 +146,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30) strip_delay = 60 equip_delay_other = 60 - flags_inv = HIDEJUMPSUIT + flags_inv = HIDEJUMPSUIT|HIDETAUR resistance_flags = NONE rad_flags = RAD_PROTECT_CONTENTS + tauric = TRUE //Citadel Add for tauric hardsuits diff --git a/code/modules/clothing/suits/vg_suits.dm b/code/modules/clothing/suits/vg_suits.dm index 2c97653637..08fe029f9e 100644 --- a/code/modules/clothing/suits/vg_suits.dm +++ b/code/modules/clothing/suits/vg_suits.dm @@ -9,6 +9,7 @@ siemens_coefficient = 0.5 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/armor/xcomsquaddie/dredd name = "Judge Armor" @@ -17,6 +18,7 @@ item_state = "dredd-suit" icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/armor/xcomarmor @@ -30,6 +32,7 @@ siemens_coefficient = 0.5 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/armor/vest/neorussian name = "neo-Russian vest" @@ -38,6 +41,7 @@ item_state = "nr_vest" icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/armor/doomguy name = "Doomguy's armor" @@ -49,6 +53,7 @@ armor = list(melee = 50, bullet = 30, laser = 20, energy = 20, bomb = 30, bio = 0, rad = 0) icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/kaminacape @@ -58,6 +63,7 @@ body_parts_covered = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/officercoat name = "Officer's Coat" @@ -65,6 +71,7 @@ icon_state = "officersuit" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/soldiercoat name = "Soldier's Coat" @@ -72,6 +79,7 @@ icon_state = "soldiersuit" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/russofurcoat name = "russian fur coat" @@ -81,6 +89,7 @@ body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/doshjacket name = "Plasterer's Jacket" @@ -89,6 +98,7 @@ body_parts_covered = CHEST|GROIN|ARMS icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/maidapron name = "Apron" @@ -97,6 +107,7 @@ body_parts_covered = CHEST|GROIN icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/clownpiece name = "small fairy wings" @@ -105,6 +116,7 @@ body_parts_covered = 0 icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/clownpiece/flying name = "small fairy wings" @@ -112,6 +124,7 @@ icon_state = "clownpiece-fly" icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/raincoat name = "Raincoat" @@ -120,5 +133,6 @@ body_parts_covered =CHEST|GROIN|LEGS|ARMS|HANDS icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 8883919e38..c2c3f19b9d 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -65,6 +65,8 @@ var/mob/living/carbon/human/H = user if(DIGITIGRADE in H.dna.species.species_traits) suit_style = DIGITIGRADE_SUIT_STYLE + else + suit_style = NORMAL_SUIT_STYLE H.update_inv_w_uniform() if(attached_accessory && slot != SLOT_HANDS && ishuman(user)) diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index dd0083a1b7..6bf96429b9 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -139,7 +139,7 @@ SSblackbox.record_feedback("associative", "commendation", 1, list("commender" = "[user.real_name]", "commendee" = "[M.real_name]", "medal" = "[src]", "reason" = input)) GLOB.commendations += "[user.real_name] awarded [M.real_name] the [name]! \n- [input]" commended = TRUE - desc += "
The inscription reads: [input] - [user.real_name]" + desc += "
The inscription reads: [input] - [user.real_name]" log_game("[key_name(M)] was given the following commendation by [key_name(user)]: [input]") message_admins("[key_name(M)] was given the following commendation by [key_name(user)]: [input]") @@ -157,6 +157,16 @@ desc = "A bronze heart-shaped medal awarded for sacrifice. It is often awarded posthumously or for severe injury in the line of duty." icon_state = "bronze_heart" +/obj/item/clothing/accessory/medal/engineer + name = "\"Shift's Best Electrician\" award" + desc = "An award bestowed upon engineers who have excelled at keeping the station running in the best possible condition against all odds." + icon_state = "engineer" + +/obj/item/clothing/accessory/medal/greytide + name = "\"Greytider of the shift\" award" + desc = "An award for only the most annoying of assistants. Locked doors mean nothing to you and behaving is not in your vocabulary" + icon_state = "greytide" + /obj/item/clothing/accessory/medal/ribbon name = "ribbon" desc = "A ribbon" @@ -167,6 +177,11 @@ name = "\"cargo tech of the shift\" award" desc = "An award bestowed only upon those cargotechs who have exhibited devotion to their duty in keeping with the highest traditions of Cargonia." +/obj/item/clothing/accessory/medal/ribbon/medical_doctor + name = "\"doctor of the shift\" award" + desc = "An award bestowed only upon the most capable doctors who have upheld the Hippocratic Oath to the best of their ability" + icon_state = "medical_doctor" + /obj/item/clothing/accessory/medal/silver name = "silver medal" desc = "A silver medal." @@ -280,7 +295,7 @@ desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet." icon_state = "lawyerbadge" item_color = "lawyerbadge" - + /obj/item/clothing/accessory/lawyers_badge/attack_self(mob/user) if(prob(1)) user.say("The testimony contradicts the evidence!", forced = "attorney's badge") diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 5b9a8c8af3..ba57643339 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -88,8 +88,8 @@ var/ionmust = pick_list(ION_FILE, "ionmust") //Require are basically all dumb internet memes. var/ionrequire = pick_list(ION_FILE, "ionrequire") - //Things are NOT objects; instead, they're specific things that either harm humans or - //must be done to not harm humans. Make sure they're plural and "not" can be tacked + //Things are NOT objects; instead, they're specific things that either harm crew or + //must be done to not harm crew. Make sure they're plural and "not" can be tacked //onto the front of them. var/ionthings = pick_list(ION_FILE, "ionthings") //Allergies should be broad and appear somewhere on the station for maximum fun. Severity @@ -139,22 +139,22 @@ if(2) //X is an object message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(9) //X is harmful to humans + if(9) //X is harmful to crew switch(rand(1,7)) //What is X? if(1) //X is a threat - message = "[ionadjectiveshalf][ionthreats] ARE HARMFUL TO HUMANS" + message = "[ionadjectiveshalf][ionthreats] ARE HARMFUL TO CREW" if(2) //X is a job - message = "[ionadjectiveshalf][ioncrew1] ARE HARMFUL TO HUMANS" + message = "[ionadjectiveshalf][ioncrew1] ARE HARMFUL TO CREW" if(3) //X is an object - message = "[ionadjectiveshalf][ionobjects] ARE HARMFUL TO HUMANS" + message = "[ionadjectiveshalf][ionobjects] ARE HARMFUL TO CREW" if(4) //X is an action - message = "THOSE WHO [ionmust] ARE HARMFUL TO HUMANS" + message = "THOSE WHO [ionmust] ARE HARMFUL TO CREW" if(5) //X is an abstract - message = "[ionabstract] IS HARMFUL TO HUMANS" + message = "[ionabstract] IS HARMFUL TO CREW" if(6) //X is being a job - message = "BEING [ionadjectiveshalf][ioncrew1] IS HARMFUL TO HUMANS" + message = "BEING [ionadjectiveshalf][ioncrew1] IS HARMFUL TO CREW" if(7) //X is doing a thing - message = "[ionthings] IS HARMFUL TO HUMANS" + message = "[ionthings] IS HARMFUL TO CREW" if(10 to 11) //(Not) Having X is harmful switch(rand(1,2)) //Is having or not having harmful? @@ -327,15 +327,15 @@ if(27 to 28) //Humans must consume X to survive switch(rand(1,5)) //What is X? if(1) //X is a food - message = "HUMANS MUST EAT [ionadjectiveshalf][ionfood] TO SURVIVE" + message = "CREWMEMBERS MUST EAT [ionadjectiveshalf][ionfood] TO SURVIVE" if(2) //X is a drink - message = "HUMANS MUST DRINK [ionadjectiveshalf][iondrinks] TO SURVIVE" + message = "CREWMEMBERS MUST DRINK [ionadjectiveshalf][iondrinks] TO SURVIVE" if(3) //X is an object - message = "HUMANS MUST EAT [ionadjectiveshalf][ionobjects] TO SURVIVE" + message = "CREWMEMBERS MUST EAT [ionadjectiveshalf][ionobjects] TO SURVIVE" if(4) //X is a threat - message = "HUMANS MUST EAT [ionadjectiveshalf][ionthreats] TO SURVIVE" + message = "CREWMEMBERS MUST EAT [ionadjectiveshalf][ionthreats] TO SURVIVE" if(5) //X is a job - message = "HUMANS MUST EAT [ionadjectiveshalf][ioncrew1] TO SURVIVE" + message = "CREWMEMBERS MUST EAT [ionadjectiveshalf][ioncrew1] TO SURVIVE" if(29 to 31) //Change jobs or ranks switch(rand(1,2)) //Change job or rank? @@ -382,54 +382,54 @@ if(2) //X is perform Y message = "THE [ioncrew1] MUST [ionmust]" - if(34) //X is non/the only human + if(34) //X is non/the only crew switch(rand(1,2)) //Only or non? - if(1) //Only human + if(1) //Only crew switch(rand(1,7)) //Who is it? if(1) //A specific job - message = "ONLY THE [ioncrew1] ARE HUMAN" + message = "ONLY THE [ioncrew1] ARE CREW" if(2) //Two specific jobs - message = "ONLY THE [ioncrew1] AND [ioncrew2] ARE HUMAN" + message = "ONLY THE [ioncrew1] AND [ioncrew2] ARE CREW" if(3) //Threats - message = "ONLY [ionadjectiveshalf][ionthreats] ARE HUMAN" + message = "ONLY [ionadjectiveshalf][ionthreats] ARE CREW" if(4) // Objects - message = "ONLY [ionadjectiveshalf][ionobjects] ARE HUMAN" + message = "ONLY [ionadjectiveshalf][ionobjects] ARE CREW" if(5) // Species - message = "ONLY [ionspecies] ARE HUMAN" + message = "ONLY [ionspecies] ARE CREW" if(6) //Adjective crewmembers - message = "ONLY [ionadjectives] PEOPLE ARE HUMAN" + message = "ONLY [ionadjectives] PEOPLE ARE CREW" if(7) //Only people who X switch(rand(1,3)) //What is X? if(1) //X is perform an action - message = "ONLY THOSE WHO [ionmust] ARE HUMAN" + message = "ONLY THOSE WHO [ionmust] ARE CREW" if(2) //X is own certain objects - message = "ONLY THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE HUMAN" + message = "ONLY THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE CREW" if(3) //X is eat certain food - message = "ONLY THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE HUMAN" + message = "ONLY THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE CREW" if(2) //Non human switch(rand(1,7)) //Who is it? if(1) //A specific job - message = "[ioncrew1] ARE NON-HUMAN" + message = "[ioncrew1] ARE NON-CREW" if(2) //Two specific jobs - message = "[ioncrew1] AND [ioncrew2] ARE NON-HUMAN" + message = "[ioncrew1] AND [ioncrew2] ARE NON-CREW" if(3) //Threats - message = "[ionadjectiveshalf][ionthreats] ARE NON-HUMAN" + message = "[ionadjectiveshalf][ionthreats] ARE NON-CREW" if(4) // Objects - message = "[ionadjectiveshalf][ionobjects] ARE NON-HUMAN" + message = "[ionadjectiveshalf][ionobjects] ARE NON-CREW" if(5) // Species - message = "[ionspecies] ARE NON-HUMAN" + message = "[ionspecies] ARE NON-CREW" if(6) //Adjective crewmembers - message = "[ionadjectives] PEOPLE ARE NON-HUMAN" + message = "[ionadjectives] PEOPLE ARE NON-CREW" if(7) //Only people who X switch(rand(1,3)) //What is X? if(1) //X is perform an action - message = "THOSE WHO [ionmust] ARE NON-HUMAN" + message = "THOSE WHO [ionmust] ARE NON-CREW" if(2) //X is own certain objects - message = "THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE NON-HUMAN" + message = "THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE NON-CREW" if(3) //X is eat certain food - message = "THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE NON-HUMAN" + message = "THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE NON-CREW" if(35 to 36) //You must protect or harm X switch(rand(1,2)) //Protect or harm? diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 80b8373887..910e94f680 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -148,6 +148,7 @@ new /obj/item/stack/spacecash/c200(drop_location()) credits_stored -= 200 to_chat(user,"You retrieve the siphoned credits!") + credits_stored = 0 /obj/machinery/shuttle_scrambler/proc/send_notification() diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 58b71cfb3e..5cd5d2c5c6 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( var/turf/center var/list/flood_images = list() var/list/turf/flood_turfs = list() - var/image_icon = 'icons/effects/tile_effects.dmi' + var/image_icon = 'icons/effects/atmospherics.dmi' var/image_state = "plasma" var/radius = 0 var/next_expand = 0 diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index c24b22ce71..9d173a34a5 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -90,6 +90,10 @@ name = "Nuka Cola" list_reagents = list("nuka_cola" = 50) +/obj/item/reagent_containers/food/drinks/drinkingglass/filled/syndicatebomb + name = "Syndicat Bomb" + list_reagents = list("syndicatebomb" = 50) + /obj/item/reagent_containers/food/drinks/drinkingglass/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/food/snacks/egg)) //breaking eggs var/obj/item/reagent_containers/food/snacks/egg/E = I diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index ecb3cfb2ba..a2f5b06042 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -156,7 +156,7 @@ icon_state = "mint" bitesize = 1 trash = /obj/item/trash/plate - list_reagents = list("minttoxin" = 1) + list_reagents = list("minttoxin" = 2) filling_color = "#800000" foodtype = TOXIC | SUGAR diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index 1956365896..8574933bda 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -28,7 +28,7 @@ if(last_check_time + 50 < world.time) if(ishuman(M)) var/mob/living/carbon/human/H = M - if(H.mind && H.mind.assigned_role == "Security Officer" && !H.has_trait(TRAIT_AGEUSIA)) + if(H.mind && H.mind.assigned_role == "Security Officer" || H.mind.assigned_role == "Detective" || H.mind.assigned_role == "Warden" || H.mind.assigned_role == "Head of Security" && !H.has_trait(TRAIT_AGEUSIA)) to_chat(H,"I love this taste!") H.adjust_disgust(-5 + -2.5 * fraction) GET_COMPONENT_FROM(mood, /datum/component/mood, H) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 3bcc8d7659..913fb44dae 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -10,6 +10,8 @@ active_power_usage = 100 circuit = /obj/item/circuitboard/machine/microwave pass_flags = PASSTABLE + light_color = LIGHT_COLOR_YELLOW + light_power = 0.9 var/operating = FALSE // Is it on? var/dirty = 0 // = {0..100} Does it need cleaning? var/broken = 0 // ={0,1,2} How broken is it??? @@ -267,12 +269,14 @@ soundloop.start() operating = TRUE icon_state = "mw1" + set_light(1.5) updateUsrDialog() /obj/machinery/microwave/proc/abort() operating = FALSE // Turn it off again aferwards icon_state = "mw" updateUsrDialog() + set_light(0) soundloop.stop() /obj/machinery/microwave/proc/stop() @@ -298,6 +302,7 @@ if(prob(50)) new /obj/item/reagent_containers/food/snacks/badrecipe(src) qdel(S) + set_light(0) soundloop.stop() /obj/machinery/microwave/proc/broke() @@ -310,6 +315,7 @@ flags_1 = null //So you can't add condiments operating = FALSE // Turn it off again aferwards updateUsrDialog() + set_light(0) soundloop.stop() /obj/machinery/microwave/Topic(href, href_list) diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index 767de8011a..5a44cb78f8 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -136,6 +136,7 @@ spawn(30) if(!QDELETED(src)) + investigate_log(INVESTIGATE_BOTANY, "[key_name(user)] released a killer tomato at [COORD(src)]") var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc)) K.maxHealth += round(seed.endurance / 3) K.melee_damage_lower += round(seed.potency / 10) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 591fdfd535..e3ca576944 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -137,6 +137,7 @@ else var/turf/user_turf = get_turf(user) var/dir_to_target = get_dir(user_turf, get_turf(A)) + var/stam_gain = 0 swiping = TRUE var/static/list/scythe_slash_angles = list(0, 45, 90, -45, -90) for(var/i in scythe_slash_angles) @@ -144,7 +145,10 @@ for(var/obj/structure/spacevine/V in T) if(user.Adjacent(V)) melee_attack_chain(user, V) + stam_gain += 5 //should be hitcost swiping = FALSE + stam_gain += 2 //Initial hitcost + user.adjustStaminaLoss(-stam_gain) // ************************************* // Nutrient defines for hydroponics diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index f3b3237834..23d20cd27a 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -1,12 +1,11 @@ -/*CITADEL CHANGE - comments this out to be overridden in modular_citadel GLOBAL_LIST_INIT(command_positions, list( "Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", - "Chief Medical Officer")) -*/ + "Chief Medical Officer", + "Quartermaster")) GLOBAL_LIST_INIT(engineering_positions, list( "Chief Engineer", @@ -27,15 +26,13 @@ GLOBAL_LIST_INIT(science_positions, list( "Scientist", "Roboticist")) -/*CITADEL CHANGE - comments this out to be overridden in modular_citadel GLOBAL_LIST_INIT(supply_positions, list( - "Head of Personnel", "Quartermaster", "Cargo Technician", "Shaft Miner")) -*/ -/*CITADEL CHANGE - comments this out to be overridden in modular_citadel + GLOBAL_LIST_INIT(civilian_positions, list( + "Head of Personnel", "Bartender", "Botanist", "Cook", @@ -46,7 +43,6 @@ GLOBAL_LIST_INIT(civilian_positions, list( "Clown", "Mime", "Assistant")) -*/ GLOBAL_LIST_INIT(security_positions, list( "Head of Security", diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 2c7eaf09ba..46ae6cfbaf 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -13,6 +13,7 @@ armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/hooded/explorer name = "explorer hood" @@ -63,6 +64,7 @@ clothing_flags = THICKMATERIAL //not spaceproof max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | LAVA_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits slowdown = 0 armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) @@ -121,7 +123,7 @@ /****************SEVA Suit and Mask****************/ /obj/item/clothing/suit/hooded/seva - name = "SEVA suit" + name = "SEVA Suit" desc = "A fire-proof suit for exploring hot environments." icon_state = "seva" item_state = "seva" @@ -133,9 +135,10 @@ armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 25, "bio" = 50, "rad" = 25, "fire" = 100, "acid" = 25) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/hooded/seva - name = "SEVA hood" + name = "SEVA Hood" desc = "A fire-proof hood for exploring hot environments." icon_state = "seva" item_state = "seva" @@ -145,6 +148,19 @@ armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 25, "bio" = 50, "rad" = 25, "fire" = 100, "acid" = 25) resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS +/obj/item/clothing/mask/gas/seva + name = "SEVA Mask" + desc = "A face-covering plate that can be connected to an air supply. Intended for use with the SEVA Suit." + icon_state = "seva" + clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR + w_class = WEIGHT_CLASS_NORMAL + item_state = "seva" + gas_transfer_coefficient = 0.01 + permeability_coefficient = 0.01 + flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH + resistance_flags = FIRE_PROOF + /****************Exo-Suit and Mask****************/ /obj/item/clothing/suit/hooded/exo @@ -162,6 +178,7 @@ armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/hooded/exo name = "Exo-hood" @@ -173,4 +190,17 @@ min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0) - resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE \ No newline at end of file + resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE + +/obj/item/clothing/mask/gas/exo + name = "Exosuit Mask" + desc = "A face-covering mask that can be connected to an air supply. Intended for use with the Exosuit." + icon_state = "exo" + clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR + w_class = WEIGHT_CLASS_NORMAL + item_state = "exo" + gas_transfer_coefficient = 0.01 + permeability_coefficient = 0.01 + flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH + resistance_flags = FIRE_PROOF \ No newline at end of file diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 69b1bcaab4..2e695e6772 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -73,6 +73,9 @@ /obj/item/twohanded/required/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) . = ..() + if(istype(target, /obj/item/crusher_trophy)) + var/obj/item/crusher_trophy/T = target + T.add_to(src, user) if(!proximity_flag && charged)//Mark a target, or mine a tile. var/turf/proj_turf = user.loc if(!isturf(proj_turf)) diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 621a6afe23..dd7f642243 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -99,6 +99,8 @@ GLOBAL_LIST(labor_sheet_values) if("move_shuttle") if(!alone_in_area(get_area(src), usr)) to_chat(usr, "Prisoners are only allowed to be released while alone.") + else if(!check_auth()) + to_chat(usr, "Prisoners are only allowed to be released when they reach their point goal.") else switch(SSshuttle.moveShuttle("laborcamp", "laborcamp_home", TRUE)) if(1) diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 797009cc1b..4077f21ea9 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -189,7 +189,7 @@ /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit name = "cactus fruit" - list_reagents = list("vitamin" = 2, "nutriment" = 2, "vitfro" = 4) + list_reagents = list("vitamin" = 2, "nutriment" = 2, "vitfro" = 6) desc = "A cactus fruit covered in a thick, reddish skin. And some ash." icon_state = "cactus_fruit" seed = /obj/item/seeds/lavaland/cactus diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 63f7a7e414..ca1fd7f9bb 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -59,7 +59,8 @@ new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 1000), new /datum/data/mining_equipment("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000), new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1000), - new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000) + new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000), + new /datum/data/mining_equipment("Premium Accelerator", /obj/item/gun/energy/kinetic_accelerator/premiumka, 8000) ) /datum/data/mining_equipment @@ -308,8 +309,10 @@ switch(selection) if("Exo-suit") new /obj/item/clothing/suit/hooded/exo(drop_location) + new /obj/item/clothing/mask/gas/exo(drop_location) if("SEVA suit") new /obj/item/clothing/suit/hooded/seva(drop_location) + new /obj/item/clothing/mask/gas/seva(drop_location) SSblackbox.record_feedback("tally", "suit_voucher_redeemed", 1, selection) qdel(voucher) \ No newline at end of file diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index d5646c2fa4..746b87e434 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -153,6 +153,21 @@ AttemptLateSpawn(href_list["SelectedJob"]) return + if(href_list["JoinAsGhostRole"]) + if(!GLOB.enter_allowed) + to_chat(usr, " There is an administrative lock on entering the game!") + + if(SSticker.queued_players.len && !(ckey(key) in GLOB.admin_datums)) + if((living_player_count() >= relevant_cap) || (src != SSticker.queued_players[1])) + to_chat(usr, "Server is full.") + return + + var/obj/effect/mob_spawn/MS = pick(GLOB.mob_spawners[href_list["JoinAsGhostRole"]]) + if(istype(MS) && MS.attack_ghost(src, latejoinercalling = TRUE)) + SSticker.queued_players -= src + SSticker.queue_delay = 4 + qdel(src) + if(!ready && href_list["preference"]) if(client) client.prefs.process_link(src, href_list) @@ -427,6 +442,8 @@ for(var/datum/job/job in SSjob.occupations) if(job && IsJobUnavailable(job.title, TRUE) == JOB_AVAILABLE) available_job_count++; + for(var/spawner in GLOB.mob_spawners) + available_job_count++ for(var/datum/job/prioritized_job in SSjob.prioritized_jobs) if(prioritized_job.current_positions >= prioritized_job.total_positions) @@ -444,6 +461,7 @@ dat += " [a.title]. " dat += "
Choose from the following open positions:

" + dat += "(G) - Ghost Role
" dat += "
" var/job_count = 0 for(var/datum/job/job in SSjob.occupations) @@ -461,6 +479,10 @@ continue dat += "[job.title] ([job.current_positions])
" break + for(var/spawner in GLOB.mob_spawners) + job_count++ + if(job_count > round(available_job_count / 2)) + dat += "[spawner] (G)
" dat += "
" // Removing the old window method but leaving it here for reference diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index 6d59bc052a..b9e27c0637 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -21,7 +21,8 @@ In all, this is a lot like the monkey code. /N switch(M.a_intent) if ("help") - resting = 0 + if(!recoveringstam) + resting = 0 AdjustStun(-60) AdjustKnockdown(-60) AdjustUnconscious(-60) diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm index 5961e4dd71..383edd566a 100644 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -26,7 +26,8 @@ else if(stat == UNCONSCIOUS) stat = CONSCIOUS - resting = 0 + if(!recoveringstam) + resting = 0 adjust_blindness(-1) update_canmove() update_damage_hud() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index dbaf9fb642..d81ef09d14 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -311,7 +311,9 @@ AdjustKnockdown(-60) AdjustUnconscious(-60) AdjustSleeping(-100) - if(resting) + if(recoveringstam) + adjustStaminaLoss(-15) + else if(resting) resting = 0 update_canmove() diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index b22498670a..c21f9ce213 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -178,7 +178,6 @@ parts -= picked if(updating_health) updatehealth() - update_stamina() if(update) update_damage_overlays() update_stamina() //CIT CHANGE - makes sure update_stamina() always gets called after a health update diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bff95c5f31..548381ba8a 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -28,6 +28,9 @@ . = ..() + if(CONFIG_GET(flag/disable_stambuffer)) + togglesprint() + AddComponent(/datum/component/redirect, list(COMSIG_COMPONENT_CLEAN_ACT = CALLBACK(src, .proc/clean_blood))) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index aba8e98583..4185f8f3aa 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -272,7 +272,10 @@ "[M] disarmed [src]!") else playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) - Knockdown(100) + if(!lying) //CITADEL EDIT + Knockdown(100, override_duration = 30, override_stam = 25) + else + Knockdown(100) log_combat(M, src, "tackled") visible_message("[M] has tackled down [src]!", \ "[M] has tackled down [src]!") diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 763487f7ed..99615e9543 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -53,3 +53,4 @@ var/creamed = FALSE //to use with creampie overlays var/static/list/can_ride_typecache = typecacheof(list(/mob/living/carbon/human, /mob/living/simple_animal/slime, /mob/living/simple_animal/parrot)) var/lastpuke = 0 + var/last_fire_update diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 789a52250c..a50fb4fe79 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -122,6 +122,12 @@ ///FIRE CODE /mob/living/carbon/human/handle_fire() + if(!last_fire_update) + last_fire_update = fire_stacks + if((fire_stacks > HUMAN_FIRE_STACK_ICON_NUM && last_fire_update <= HUMAN_FIRE_STACK_ICON_NUM) || (fire_stacks <= HUMAN_FIRE_STACK_ICON_NUM && last_fire_update > HUMAN_FIRE_STACK_ICON_NUM)) + last_fire_update = fire_stacks + update_fire() + ..() if(dna) dna.species.handle_fire(src) @@ -154,6 +160,7 @@ /mob/living/carbon/human/ExtinguishMob() if(!dna || !dna.species.ExtinguishMob(src)) + last_fire_update = null ..() //END FIRE CODE diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 79ea11682d..aee1daa449 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -528,22 +528,22 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) if("tail_lizard" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "tail_lizard" if("waggingtail_lizard" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "waggingtail_lizard" else if ("tail_lizard" in mutant_bodyparts) bodyparts_to_add -= "waggingtail_lizard" if("tail_human" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "tail_human" if("waggingtail_human" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "waggingtail_human" else if ("tail_human" in mutant_bodyparts) bodyparts_to_add -= "waggingtail_human" @@ -599,11 +599,11 @@ GLOBAL_LIST_EMPTY(roundstart_races) //Other Races if("mam_tail" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None") + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "mam_tail" if("mam_waggingtail" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT || !H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "mam_waggingtail" else if ("mam_tail" in mutant_bodyparts) bodyparts_to_add -= "mam_waggingtail" @@ -613,8 +613,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) bodyparts_to_add -= "mam_ears" if("taur" in mutant_bodyparts) - if(!H.dna.features["taur"] || H.dna.features["taur"] == "None") + if(!H.dna.features["taur"] || H.dna.features["taur"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR))) bodyparts_to_add -= "taur" + //END EDIT //Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more agressive updating than most limbs. @@ -629,7 +630,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) species_traits += DIGITIGRADE var/should_be_squished = FALSE if(H.wear_suit) - if((H.wear_suit.flags_inv & HIDEJUMPSUIT) || ((H.wear_suit.body_parts_covered & LEGS) && (H.wear_suit.body_parts_covered & FEET))) + if(H.wear_suit.mutantrace_variation == NO_MUTANTRACE_VARIATION) //we got digitigrade suits now fam should_be_squished = TRUE if(H.w_uniform && !H.wear_suit) if(H.w_uniform.mutantrace_variation == NO_MUTANTRACE_VARIATION) @@ -1418,6 +1419,12 @@ GLOBAL_LIST_EMPTY(roundstart_races) target.w_uniform.add_fingerprint(user) //var/randomized_zone = ran_zone(user.zone_selected) CIT CHANGE - comments out to prevent compiling errors SEND_SIGNAL(target, COMSIG_HUMAN_DISARM_HIT, user, user.zone_selected) + if(target.pulling == user) + target.visible_message("[user] wrestles out of [target]'s grip!") + target.stop_pulling() + playsound(target, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + log_combat(user, target, "disarmed out of grab from") + return //var/obj/item/bodypart/affecting = target.get_bodypart(randomized_zone) CIT CHANGE - comments this out to prevent compile errors due to the below commented out bit var/randn = rand(1, 100) /*if(randn <= 25) CITADEL CHANGE - moves disarm push attempts to right click @@ -1431,9 +1438,11 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!target.combatmode) // CITADEL CHANGE randn += -10 //CITADEL CHANGE - being out of combat mode makes it easier for you to get disarmed if(user.resting) //CITADEL CHANGE - randn += 60 //CITADEL CHANGE - No kosher disarming if you're resting + randn += 100 //CITADEL CHANGE - No kosher disarming if you're resting if(!user.combatmode) //CITADEL CHANGE randn += 25 //CITADEL CHANGE - Makes it harder to disarm outside of combat mode + if(user.pulling == target) + randn += -20 //If you have the time to get someone in a grab, you should have a greater chance at snatching the thing in their hand. Will be made completely obsolete by the grab rework but i've got a poor track record for releasing big projects on time so w/e i guess if(randn <= 35)//CIT CHANGE - changes this back to a 35% chance to accomodate for the above being commented out in favor of right-click pushing var/obj/item/I = null @@ -1636,7 +1645,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.adjustCloneLoss(damage * hit_percent * H.physiology.clone_mod) if(STAMINA) if(BP) - if(damage > 0 ? BP.receive_damage(0, 0, damage * hit_percent * H.physiology.stamina_mod) : BP.heal_damage(0, 0, abs(damage * hit_percent * H.physiology.stamina_mod))) + if(damage > 0 ? BP.receive_damage(0, 0, damage * hit_percent * H.physiology.stamina_mod) : BP.heal_damage(0, 0, abs(damage * hit_percent * H.physiology.stamina_mod), only_robotic = FALSE, only_organic = FALSE)) H.update_stamina() else H.adjustStaminaLoss(damage * hit_percent * H.physiology.stamina_mod) diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 572e50b01b..576b231af5 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -3,8 +3,8 @@ id = "human" default_color = "FFFFFF" species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS_PARTSONLY) - mutant_bodyparts = list("ears", "tail_human", "wings", "taur") // CITADEL EDIT gives humans snowflake parts - default_features = list("mcolor" = "FFF", "tail_human" = "None", "ears" = "None", "wings" = "None", "taur" = "None") + mutant_bodyparts = list("mam_ears", "mam_tail", "wings", "taur") // CITADEL EDIT gives humans snowflake parts + default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None", "wings" = "None", "taur" = "None") use_skintones = 1 skinned_type = /obj/item/stack/sheet/animalhide/human disliked_food = GROSS | RAW diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index d079080eaa..d778aa50f2 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -7,7 +7,7 @@ sexes = 0 meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton species_traits = list(NOBLOOD) - inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_FAKEDEATH) + inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_FAKEDEATH) inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) mutanttongue = /obj/item/organ/tongue/bone damage_overlay_type = ""//let's not show bloody wounds or burns over bones. @@ -17,4 +17,8 @@ /datum/species/skeleton/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) return TRUE - return ..() \ No newline at end of file + return ..() + +/datum/species/skeleton/pirate + name = "Space Queen's Skeleton" + inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_FAKEDEATH) diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 6f7f227a80..4bc3d622ac 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -128,3 +128,23 @@ charge_max = 50 cooldown_min = 50 shapeshift_type = /mob/living/simple_animal/hostile/retaliate/bat + var/ventcrawl_nude_only = TRUE + var/transfer_name = TRUE + +/obj/effect/proc_holder/spell/targeted/shapeshift/bat/Shapeshift(mob/living/caster) //cit change + var/obj/shapeshift_holder/H = locate() in caster + if(H) + to_chat(caster, "You're already shapeshifted!") + return + + var/mob/living/shape = new shapeshift_type(caster.loc) + H = new(shape,src,caster) + if(istype(H, /mob/living/simple_animal)) + var/mob/living/simple_animal/SA = H + if(ventcrawl_nude_only && length(caster.get_equipped_items(include_pockets = TRUE))) + SA.ventcrawler = FALSE + if(transfer_name) + H.name = caster.name + + clothes_req = 0 + human_req = 0 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index cf29b3541f..72052f0fa1 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -130,6 +130,8 @@ There are several things that need to be remembered: t_color = "[t_color]_d_l" else if(U.adjusted == NORMAL_STYLE) t_color = "[t_color]_l" + else + U.alternate_worn_icon = null var/mutable_appearance/uniform_overlay @@ -284,6 +286,8 @@ There are several things that need to be remembered: if(S.mutantrace_variation) if(S.adjusted == ALT_STYLE) S.alternate_worn_icon = 'modular_citadel/icons/mob/digishoes.dmi' + else + S.alternate_worn_icon = null overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(state = shoes.icon_state, default_layer = SHOES_LAYER, default_icon_file = ((shoes.alternate_worn_icon) ? shoes.alternate_worn_icon : 'icons/mob/feet.dmi')) var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER] @@ -363,18 +367,39 @@ There are several things that need to be remembered: var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_SUIT] inv.update_icon() - if(istype(wear_suit, /obj/item/clothing/suit)) + if(wear_suit) + var/obj/item/clothing/suit/S = wear_suit wear_suit.screen_loc = ui_oclothing if(client && hud_used && hud_used.hud_shown) if(hud_used.inventory_shown) client.screen += wear_suit update_observer_view(wear_suit,1) - overlays_standing[SUIT_LAYER] = wear_suit.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = ((wear_suit.alternate_worn_icon) ? wear_suit.alternate_worn_icon : 'icons/mob/suit.dmi')) + if(S.mutantrace_variation) //Just make sure we've got this checked too + if(S.taurmode == NOT_TAURIC && S.adjusted == ALT_STYLE) //are we not a taur, but we have Digitigrade legs? Run this check first, then. + S.alternate_worn_icon = 'modular_citadel/icons/mob/suit_digi.dmi' + else + S.alternate_worn_icon = null + + if(S.tauric == TRUE) //Are we a suit with tauric mode possible? + if(S.taurmode == SNEK_TAURIC) + S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_naga.dmi' + if(S.taurmode == PAW_TAURIC) + S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_canine.dmi' + if(S.taurmode == NOT_TAURIC && S.adjusted == ALT_STYLE) + S.alternate_worn_icon = 'modular_citadel/icons/mob/suit_digi.dmi' + else if(S.taurmode == NOT_TAURIC && S.adjusted == NORMAL_STYLE) + S.alternate_worn_icon = null + + + + overlays_standing[SUIT_LAYER] = S.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = ((wear_suit.alternate_worn_icon) ? S.alternate_worn_icon : 'icons/mob/suit.dmi')) var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER] if(OFFSET_SUIT in dna.species.offset_features) suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1] suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2] + if(S.center) + suit_overlay = center_image(suit_overlay, S.dimension_x, S.dimension_y) overlays_standing[SUIT_LAYER] = suit_overlay update_hair() update_mutant_bodyparts() diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 4621986c0c..fa435d11c0 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -23,7 +23,7 @@ var/bprv = handle_bodyparts() if(bprv & BODYPART_LIFE_UPDATE_HEALTH) updatehealth() - update_stamina() + update_stamina() if(stat != DEAD) handle_brain_damage() @@ -454,6 +454,9 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put if(getStaminaLoss() && !combatmode)//CIT CHANGE - prevents stamina regen while combat mode is active adjustStaminaLoss(resting ? (recoveringstam ? -7.5 : -3) : -1.5)//CIT CHANGE - decreases adjuststaminaloss to stop stamina damage from being such a joke + if(!recoveringstam && incomingstammult != 1) + incomingstammult = min(1, incomingstammult*2) + //CIT CHANGES START HERE. STAMINA BUFFER STUFF if(bufferedstam && world.time > stambufferregentime) var/drainrate = max((bufferedstam*(bufferedstam/(5)))*0.1,1) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 55ecebda8c..1ffa3316ab 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -81,6 +81,8 @@ var/slow = 0 if (bodytemperature < 283.222) slow += (283.222 - bodytemperature) / 10 * 1.75 + if(slow <= 0) + return add_movespeed_modifier(MOVESPEED_ID_MONKEY_TEMPERATURE_SPEEDMOD, TRUE, 100, override = TRUE, multiplicative_slowdown = amount) /mob/living/carbon/monkey/Stat() diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index dfc81396e7..4e5c7decc5 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -243,7 +243,7 @@ adjustStaminaLoss(-stamina, FALSE) if(updating_health) updatehealth() - update_stamina() + update_stamina() // damage ONE external organ, organ gets randomly selected from damaged ones. /mob/living/proc/take_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE) @@ -252,7 +252,7 @@ adjustStaminaLoss(stamina, FALSE) if(updating_health) updatehealth() - update_stamina() + update_stamina() // heal MANY bodyparts, in random order /mob/living/proc/heal_overall_damage(brute = 0, burn = 0, stamina = 0, only_robotic = FALSE, only_organic = TRUE, updating_health = TRUE) @@ -261,7 +261,7 @@ adjustStaminaLoss(-stamina, FALSE) if(updating_health) updatehealth() - update_stamina() + update_stamina() // damage MANY bodyparts, in random order /mob/living/proc/take_overall_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE) @@ -270,7 +270,7 @@ adjustStaminaLoss(stamina, FALSE) if(updating_health) updatehealth() - update_stamina() + update_stamina() //heal up to amount damage, in a given order /mob/living/proc/heal_ordered_damage(amount, list/damage_types) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index c55252ddb6..9ef4c1567a 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -135,8 +135,11 @@ eye_blind = max(eye_blind-1,1) else if(eye_blurry) //blurry eyes heal slowly eye_blurry = max(eye_blurry-1, 0) - if(client && !eye_blurry) - remove_eyeblur() + if(client) + if(!eye_blurry) + remove_eyeblur() + else + update_eyeblur() /mob/living/proc/update_damage_hud() return diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6c5f030313..0c50b7ef60 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -631,7 +631,7 @@ /mob/living/resist_grab(moving_resist) . = 1 if(pulledby.grab_state) - if(prob(30/pulledby.grab_state)) + if(!resting && prob(30/pulledby.grab_state)) visible_message("[src] has broken free of [pulledby]'s grip!") log_combat(pulledby, src, "broke grab") pulledby.stop_pulling() @@ -1020,7 +1020,7 @@ client.move_delay = world.time + movement_delay() lying_prev = lying if(canmove && !intentionalresting && iscarbon(src) && client && client.prefs && client.prefs.autostand)//CIT CHANGE - adds autostanding as a preference - resist_a_rest(TRUE)//CIT CHANGE - ditto + addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto return canmove /mob/living/proc/AddAbility(obj/effect/proc_holder/A) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index a1ad1165de..335645b17e 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -71,6 +71,8 @@ var/lamp_max = 10 //Maximum brightness of a borg lamp. Set as a var for easy adjusting. var/lamp_intensity = 0 //Luminosity of the headlamp. 0 is off. Higher settings than the minimum require power. + light_color = "#FFCC66" + light_power = 0.8 var/lamp_cooldown = 0 //Flag for if the lamp is on cooldown after being forcibly disabled. var/sight_mode = 0 @@ -639,9 +641,9 @@ add_overlay("disabler")//ditto if(sleeper_g && module.sleeper_overlay) - add_overlay("[module.sleeper_overlay]_g") + add_overlay("[module.sleeper_overlay]_g[sleeper_nv ? "_nv" : ""]") if(sleeper_r && module.sleeper_overlay) - add_overlay("[module.sleeper_overlay]_r") + add_overlay("[module.sleeper_overlay]_r[sleeper_nv ? "_nv" : ""]") if(module.dogborg == TRUE) if(resting) cut_overlays() diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index d2cfdb88e3..e9978d1e62 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -5,6 +5,8 @@ gender = NEUTER mob_biotypes = list(MOB_ROBOTIC) light_range = 3 + light_power = 0.9 + light_color = "#CDDDFF" stop_automated_movement = 1 wander = 0 healable = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 93284fe666..ece5d7e24c 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -1,22 +1,22 @@ /obj/item/projectile/hivebotbullet - damage = 10 + damage = 15 damage_type = BRUTE /mob/living/simple_animal/hostile/hivebot name = "hivebot" - desc = "A small robot." + desc = "A strange robot that does not seem pleased to meet you." icon = 'icons/mob/hivebot.dmi' icon_state = "basic" icon_living = "basic" icon_dead = "basic" gender = NEUTER mob_biotypes = list(MOB_ROBOTIC) - health = 15 - maxHealth = 15 + health = 50 + maxHealth = 50 healable = 0 - melee_damage_lower = 2 - melee_damage_upper = 3 - attacktext = "claws" + melee_damage_lower = 10 + melee_damage_upper = 10 + attacktext = "saw" attack_sound = 'sound/weapons/bladeslice.ogg' projectilesound = 'sound/weapons/gunshot.ogg' projectiletype = /obj/item/projectile/hivebotbullet @@ -36,8 +36,8 @@ deathmessage = "[src] blows apart!" /mob/living/simple_animal/hostile/hivebot/range - name = "hivebot" - desc = "A smallish robot, this one is armed!" + name = "combat hivebot" + desc = "An armed robot that does not seem pleased to meet you." icon_state = "ranged" icon_living = "ranged" icon_dead = "ranged" @@ -46,6 +46,7 @@ minimum_distance = 5 /mob/living/simple_animal/hostile/hivebot/rapid + name = "gunner hivebot" icon_state = "ranged" icon_living = "ranged" icon_dead = "ranged" @@ -54,14 +55,23 @@ retreat_distance = 5 minimum_distance = 5 +/mob/living/simple_animal/hostile/hivebot/engineering + name = "engineering hivebot" + icon_state = "EngBot" + icon_living = "EngBot" + icon_dead = "EngBot" + desc = "A strange engineering robot that does not seem pleased to meet you." + health = 75 + maxHealth = 75 + /mob/living/simple_animal/hostile/hivebot/strong - name = "strong hivebot" + name = "elite hivebot" icon_state = "strong" icon_living = "strong" icon_dead = "strong" - desc = "A robot, this one is armed and looks tough!" - health = 80 - maxHealth = 80 + desc = "A heavily armed and armored robot that does not seem pleased to meet you." + health = 100 + maxHealth = 100 ranged = 1 /mob/living/simple_animal/hostile/hivebot/death(gibbed) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index 2041f64154..a2b342ab1b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -15,6 +15,7 @@ friendly = "harmlessly rolls into" maxHealth = 45 health = 45 + gold_core_spawnable = HOSTILE_SPAWN harm_intent_damage = 5 melee_damage_lower = 0 melee_damage_upper = 0 @@ -27,7 +28,7 @@ status_flags = CANPUSH search_objects = 1 wanted_objects = list(/obj/item/stack/ore/diamond, /obj/item/stack/ore/gold, /obj/item/stack/ore/silver, - /obj/item/stack/ore/uranium) + /obj/item/stack/ore/uranium, /obj/item/stack/ore/titanium) var/chase_time = 100 var/will_burrow = TRUE diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index 181a692831..6841534b0e 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -206,6 +206,8 @@ eye_blurry = max(amount, eye_blurry) if(!old_eye_blurry) add_eyeblur() //Citadel edit blurry eye memes entailed. syncs beware + else if(eye_blurry > 0) + update_eyeblur() /mob/proc/adjust_blurriness(amount) var/old_eye_blurry = eye_blurry @@ -213,6 +215,8 @@ if(amount>0) if(!old_eye_blurry) add_eyeblur() + else if(eye_blurry > 0) + update_eyeblur() else if(old_eye_blurry && !eye_blurry) remove_eyeblur() @@ -222,14 +226,20 @@ if(amount>0) if(!old_eye_blurry) add_eyeblur() + else if(eye_blurry > 0) + update_eyeblur() else if(old_eye_blurry) remove_eyeblur() /mob/proc/add_eyeblur() var/obj/screen/plane_master/game_world/GW = locate(/obj/screen/plane_master/game_world) in client.screen var/obj/screen/plane_master/floor/F = locate(/obj/screen/plane_master/floor) in client.screen - GW.add_filter("blurry_eyes", 2, EYE_BLUR) - F.add_filter("blurry_eyes", 2, EYE_BLUR) + GW.add_filter("blurry_eyes", 2, EYE_BLUR(CLAMP(eye_blurry*0.1,0.6,3))) + F.add_filter("blurry_eyes", 2, EYE_BLUR(CLAMP(eye_blurry*0.1,0.6,3))) + +/mob/proc/update_eyeblur() + remove_eyeblur() + add_eyeblur() /mob/proc/remove_eyeblur() var/obj/screen/plane_master/game_world/GW = locate(/obj/screen/plane_master/game_world) in client.screen diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 2cfeec0276..7c377ffa22 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -52,8 +52,9 @@ icon_state = "apc0" use_power = NO_POWER_USE req_access = null - max_integrity = 200 + max_integrity = 300 integrity_failure = 50 + var/damage_deflection = 10 resistance_flags = FIRE_PROOF interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON @@ -150,7 +151,7 @@ if (!req_access) req_access = list(ACCESS_ENGINE_EQUIP) if (!armor) - armor = list("melee" = 20, "bullet" = 20, "laser" = 10, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50) + armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50) ..() GLOB.apcs_list += src @@ -742,6 +743,11 @@ if(!(flags_1 & NODECONSTRUCT_1)) set_broken() +/obj/machinery/power/apc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) + if(damage_flag == "melee" && damage_amount < damage_deflection) + return 0 + . = ..() + /obj/machinery/power/apc/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) if(!(stat & BROKEN)) diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm index 52a72e0ff7..b45d01d7d8 100644 --- a/code/modules/projectiles/ammunition/ballistic/revolver.dm +++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm @@ -17,7 +17,12 @@ // .38 (Detective's Gun) /obj/item/ammo_casing/c38 - name = ".38 bullet casing" - desc = "A .38 bullet casing." + name = ".38 rubber bullet casing" + desc = "A .38 rubber bullet casing." caliber = "38" projectile_type = /obj/item/projectile/bullet/c38 + +/obj/item/ammo_casing/c38/lethal + name = ".38 bullet casing" + desc = "A .38 bullet casing" + projectile_type = /obj/item/projectile/bullet/c38lethal diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index c05f05ae59..7cd27e8592 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -7,7 +7,7 @@ multiple_sprites = 1 /obj/item/ammo_box/c38 - name = "speed loader (.38)" + name = "speed loader (.38 rubber)" desc = "Designed to quickly reload revolvers." icon_state = "38" ammo_type = /obj/item/ammo_casing/c38 @@ -15,6 +15,10 @@ multiple_sprites = 1 materials = list(MAT_METAL = 20000) +/obj/item/ammo_box/c38/lethal + name = "speed loader (.38)" + ammo_type = /obj/item/ammo_casing/c38/lethal + /obj/item/ammo_box/c9mm name = "ammo box (9mm)" icon_state = "9mmbox" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 6a6921e949..701e92527b 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -386,7 +386,7 @@ /obj/item/gun/proc/update_gunlight(mob/user = null) if(gun_light) if(gun_light.on) - set_light(gun_light.brightness_on) + set_light(gun_light.brightness_on, gun_light.flashlight_power, gun_light.light_color) else set_light(0) cut_overlays(flashlight_overlay, TRUE) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 10ce341fec..ad2949892e 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -22,9 +22,44 @@ var/max_mod_capacity = 100 var/list/modkits = list() - + var/recharge_timerid +/obj/item/gun/energy/kinetic_accelerator/premiumka + name = "premium accelerator" + desc = "A premium kinetic accelerator fitted with an extended barrel and increased pressure tank." + icon_state = "premiumgun" + item_state = "premiumgun" + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + ammo_type = list(/obj/item/ammo_casing/energy/kinetic/premium) + +/obj/item/gun/energy/kinetic_accelerator/premiumka/dropped() + . = ..() + if(!QDELING(src) && !holds_charge) + // Put it on a delay because moving item from slot to hand + // calls dropped(). + addtimer(CALLBACK(src, .proc/empty_if_not_held), 1.60) + +/obj/item/ammo_casing/energy/kinetic/premium + projectile_type = /obj/item/projectile/kinetic/premium + +/obj/item/projectile/kinetic/premium + name = "kinetic force" + icon_state = null + damage = 50 + damage_type = BRUTE + flag = "bomb" + range = 5 + log_override = TRUE + +/obj/item/gun/energy/kinetic_accelerator/premiumka/update_icon() + ..() + if(!can_shoot()) + add_overlay("[icon_state]_empty") + else + cut_overlays() + /obj/item/gun/energy/kinetic_accelerator/examine(mob/user) ..() if(max_mod_capacity) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 2f9221e986..ffc7e71c75 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -177,6 +177,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) item_state = null icon_state = "wormhole_projector" + pin = null var/obj/effect/portal/p_blue var/obj/effect/portal/p_orange var/atmos_link = FALSE diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 9a7e92b7e0..e4d13ad315 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -29,36 +29,38 @@ ammo_type = list(/obj/item/ammo_casing/energy/beam_rifle/hitscan) cell_type = /obj/item/stock_parts/cell/beam_rifle canMouseDown = TRUE + //Cit changes: beam rifle stats. + slowdown = 1 + item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND | NEEDS_PERMIT pin = null var/aiming = FALSE - var/aiming_time = 12 + var/aiming_time = 14 var/aiming_time_fire_threshold = 5 - var/aiming_time_left = 12 - var/aiming_time_increase_user_movement = 3 - var/scoped_slow = 1 - var/aiming_time_increase_angle_multiplier = 0.3 + var/aiming_time_left = 14 + var/aiming_time_increase_user_movement = 7 + var/aiming_time_increase_angle_multiplier = 0.30 var/last_process = 0 var/lastangle = 0 var/aiming_lastangle = 0 var/mob/current_user = null var/list/obj/effect/projectile/tracer/current_tracers - - var/structure_piercing = 2 //Amount * 2. For some reason structures aren't respecting this unless you have it doubled. Probably with the objects in question's Bump() code instead of this but I'll deal with this later. + + var/structure_piercing = 1 var/structure_bleed_coeff = 0.7 var/wall_pierce_amount = 0 var/wall_devastate = 0 var/aoe_structure_range = 1 - var/aoe_structure_damage = 50 - var/aoe_fire_range = 2 - var/aoe_fire_chance = 40 + var/aoe_structure_damage = 35 + var/aoe_fire_range = 1 + var/aoe_fire_chance = 100 var/aoe_mob_range = 1 - var/aoe_mob_damage = 30 - var/impact_structure_damage = 60 - var/projectile_damage = 30 + var/aoe_mob_damage = 20 + var/impact_structure_damage = 75 + var/projectile_damage = 40 var/projectile_stun = 0 var/projectile_setting_pierce = TRUE - var/delay = 25 + var/delay = 30 var/lastfire = 0 //ZOOMING @@ -120,14 +122,14 @@ /obj/item/gun/energy/beam_rifle/proc/handle_zooming() if(!zooming || !check_user()) return - current_user.client.change_view(world.view + zoom_target_view_increase) - zoom_current_view_increase = zoom_target_view_increase set_autozoom_pixel_offsets_immediate(zooming_angle) /obj/item/gun/energy/beam_rifle/proc/start_zooming() if(zoom_lock == ZOOM_LOCK_OFF) return zooming = TRUE + current_user.client.change_view(world.view + zoom_target_view_increase) + zoom_current_view_increase = zoom_target_view_increase /obj/item/gun/energy/beam_rifle/proc/stop_zooming(mob/user) if(zooming) @@ -159,12 +161,6 @@ to_chat(user, "You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode.") aiming_beam() -/obj/item/gun/energy/beam_rifle/proc/update_slowdown() - if(aiming) - slowdown = scoped_slow - else - slowdown = initial(slowdown) - /obj/item/gun/energy/beam_rifle/Initialize() . = ..() fire_delay = delay @@ -487,6 +483,8 @@ return 0.4 if(istype(target, /obj/structure/window)) return 0.5 + if(istype(target, /obj/structure/blob)) + return 0.65 //CIT CHANGE. return 1 /obj/item/projectile/beam/beam_rifle/proc/handle_impact(atom/target) @@ -566,4 +564,4 @@ /obj/item/projectile/beam/beam_rifle/hitscan/aiming_beam/on_hit() qdel(src) - return FALSE \ No newline at end of file + return FALSE diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index 81cb34a0f7..d3af474d76 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -13,6 +13,11 @@ // .38 (Detective's Gun) /obj/item/projectile/bullet/c38 + name = ".38 rubber bullet" + damage = 15 + stamina = 48 + +/obj/item/projectile/bullet/c38lethal name = ".38 bullet" damage = 25 diff --git a/code/modules/projectiles/projectile/energy/ebow.dm b/code/modules/projectiles/projectile/energy/ebow.dm index 3e65bbfad2..1e3dbebcb1 100644 --- a/code/modules/projectiles/projectile/energy/ebow.dm +++ b/code/modules/projectiles/projectile/energy/ebow.dm @@ -6,6 +6,7 @@ nodamage = 0 knockdown = 100 stutter = 5 + drowsy = 50 /obj/item/projectile/energy/bolt/halloween name = "candy corn" diff --git a/code/modules/projectiles/projectile/special/neurotoxin.dm b/code/modules/projectiles/projectile/special/neurotoxin.dm index 46027e7bdf..def7ea187e 100644 --- a/code/modules/projectiles/projectile/special/neurotoxin.dm +++ b/code/modules/projectiles/projectile/special/neurotoxin.dm @@ -3,10 +3,12 @@ icon_state = "neurotoxin" damage = 5 damage_type = TOX - knockdown = 100 /obj/item/projectile/bullet/neurotoxin/on_hit(atom/target, blocked = FALSE) if(isalien(target)) knockdown = 0 nodamage = TRUE + else if(isliving(target)) + var/mob/living/L = target + L.Knockdown(100, override_duration = 30, override_stam = 25) return ..() diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 8d3d704f79..9674485c45 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -292,19 +292,18 @@ var/datum/reagent/R = addiction if(C && R) R.addiction_stage++ - switch(R.addiction_stage) - if(1 to 10) - need_mob_update += R.addiction_act_stage1(C) - if(10 to 20) - need_mob_update += R.addiction_act_stage2(C) - if(20 to 30) - need_mob_update += R.addiction_act_stage3(C) - if(30 to 40) - need_mob_update += R.addiction_act_stage4(C) - if(40 to INFINITY) - to_chat(C, "You feel like you've gotten over your need for [R.name].") - SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.id]_addiction") - cached_addictions.Remove(R) + if(1 <= R.addiction_stage && R.addiction_stage <= R.addiction_stage1_end) + need_mob_update += R.addiction_act_stage1(C) + else if(R.addiction_stage1_end <= R.addiction_stage && R.addiction_stage <= R.addiction_stage2_end) + need_mob_update += R.addiction_act_stage2(C) + else if(R.addiction_stage2_end <= R.addiction_stage && R.addiction_stage <= R.addiction_stage3_end) + need_mob_update += R.addiction_act_stage3(C) + else if(R.addiction_stage3_end <= R.addiction_stage && R.addiction_stage <= R.addiction_stage4_end) + need_mob_update += R.addiction_act_stage4(C) + else if(R.addiction_stage4_end <= R.addiction_stage) + to_chat(C, "You feel like you've gotten over your need for [R.name].") + SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.id]_addiction") + cached_addictions.Remove(R) addiction_tick++ if(C && need_mob_update) //some of the metabolized reagents had effects on the mob that requires some updates. C.updatehealth() diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 3ee971bc9f..5c39cd9db2 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -313,3 +313,9 @@ var/amount = beaker.reagents.get_reagent_amount("eggyolk") beaker.reagents.remove_reagent("eggyolk", amount) beaker.reagents.add_reagent("mayonnaise", amount) + //Moonsugar for skooma + if(beaker.reagents.has_reagent("sugar") && beaker.reagents.has_reagent("moonshine")) + var/amount = min(beaker.reagents.get_reagent_amount("sugar"), beaker.reagents.get_reagent_amount("moonshine")) + beaker.reagents.remove_reagent("sugar", amount) + beaker.reagents.remove_reagent("moonshine", amount) + beaker.reagents.add_reagent("moonsugar", amount*2) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 04f2a00302..a52bb1ecfe 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -27,6 +27,10 @@ var/overdose_threshold = 0 var/addiction_threshold = 0 var/addiction_stage = 0 + var/addiction_stage1_end = 10 + var/addiction_stage2_end = 20 + var/addiction_stage3_end = 30 + var/addiction_stage4_end = 40 var/overdosed = 0 // You fucked up and this is now triggering its overdose effects, purge that shit quick. var/self_consuming = FALSE diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 989c5a9b82..eb3daef393 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -355,3 +355,75 @@ M.adjustOxyLoss(1, 0) ..() . = 1 + +/datum/reagent/drug/skooma + name = "Skooma" + id = "skooma" + description = "An ancient, highly-addictive drug of long-forgotten times. It greatly improves the user's speed and strength, but heavily impedes their intelligence and agility." + reagent_state = LIQUID + color = "#F3E0F9" + taste_description = "ancient, unfulfilled prophecies" + addiction_threshold = 1 + addiction_stage3_end = 40 + addiction_stage4_end = 240 + +/datum/reagent/drug/skooma/on_mob_add(mob/living/L) + . = ..() + L.add_trait(TRAIT_GOTTAGOFAST, id) + L.next_move_modifier *= 2 + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(H.physiology) + H.physiology.stamina_mod *= 0.5 + if(H.dna && H.dna.species) + H.dna.species.punchdamagehigh *= 5 + +/datum/reagent/drug/skooma/on_mob_delete(mob/living/L) + . = ..() + L.remove_trait(TRAIT_GOTTAGOFAST, id) + L.next_move_modifier *= 0.5 + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(H.physiology) + H.physiology.stamina_mod *= 2 + if(H.dna && H.dna.species) + H.dna.species.punchdamagehigh *= 0.2 + +/datum/reagent/drug/skooma/on_mob_life(mob/living/carbon/M) + M.adjustBrainLoss(1*REM) + M.adjustToxLoss(1*REM) + if(prob(10)) + M.adjust_blurriness(2) + ..() + . = 1 + +/datum/reagent/drug/skooma/addiction_act_stage1(mob/living/M) + M.Jitter(10) + if(prob(50)) + M.adjust_blurriness(2) + ..() + +/datum/reagent/drug/skooma/addiction_act_stage2(mob/living/M) + M.Jitter(20) + M.Dizzy(10) + M.adjust_blurriness(2) + ..() + +/datum/reagent/drug/skooma/addiction_act_stage3(mob/living/M) + M.Jitter(50) + M.Dizzy(20) + M.adjust_blurriness(4) + if(prob(20)) + M.emote(pick("twitch","drool","moan")) + ..() + +/datum/reagent/drug/skooma/addiction_act_stage4(mob/living/M) + M.Jitter(50) + M.Dizzy(50) + M.adjust_blurriness(10) + if(prob(50)) //This proc will be called about 200 times and the adjustbrainloss() below only has to be called 40 times to kill. This will make surviving skooma addiction pretty rare without mannitol usage. + M.adjustBrainLoss(5) + if(prob(40)) + M.emote(pick("twitch","drool","moan")) + ..() + diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index d45c1f65f0..53bc7e2c17 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1847,3 +1847,10 @@ /datum/reagent/tranquility/reaction_mob(mob/living/L, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection)))) L.ForceContractDisease(new /datum/disease/transformation/gondola(), FALSE, TRUE) + +/datum/reagent/moonsugar + name = "Moonsugar" + id = "moonsugar" + description = "The primary precursor for an ancient feline delicacy known as skooma. While it has no notable effects on it's own, mixing it with morphine in a chilled container may yield interesting results." + color = "#FAEAFF" + taste_description = "synthetic catnip" diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm index e3fa5603c7..d91e2af7e9 100644 --- a/code/modules/reagents/chemistry/recipes/drugs.dm +++ b/code/modules/reagents/chemistry/recipes/drugs.dm @@ -40,3 +40,18 @@ id = "aranesp" results = list("aranesp" = 3) required_reagents = list("epinephrine" = 1, "atropine" = 1, "morphine" = 1) + +/datum/chemical_reaction/skooma + name = "skooma" + id = "skooma" + results = list("skooma" = 2, "moonshine" = 4, "sugar" = 4) + required_temp = 280 + is_cold_recipe = TRUE + required_reagents = list("moonsugar" = 10, "morphine" = 5) + +/datum/chemical_reaction/skoomarevert + name = "skoomarevert" + id = "skoomarevert" + results = list("moonsugar" = 1, "morphine" = 2.5) + required_temp = 315 //a little above normal body temperature + required_reagents = list("skooma" = 1) diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index b11ef878b6..d4111467ba 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -14,6 +14,8 @@ /obj/item/reagent_containers/pill/patch/attack(mob/living/L, mob/user) if(ishuman(L)) var/obj/item/bodypart/affecting = L.get_bodypart(check_zone(user.zone_selected)) + if(!L.can_inject(user, 1, affecting)) //like monkey code, thickmaterial stops patches + return if(!affecting) to_chat(user, "The limb is missing!") return diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index 6e6bd740bb..305b39b694 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -20,8 +20,8 @@ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE /datum/design/board/onehuman_module - name = "Module Design (OneHuman)" - desc = "Allows for the construction of a OneHuman AI Module." + name = "Module Design (OneCrew)" + desc = "Allows for the construction of a OneCrew AI Module." id = "onehuman_module" materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 6000) build_path = /obj/item/aiModule/zeroth/oneHuman diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 2050e96f5e..7ceeda2c64 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -462,7 +462,7 @@ category = list("initial", "Security") /datum/design/c38 - name = "Speed Loader (.38)" + name = "Speed Loader (.38 rubber)" id = "c38" build_type = AUTOLATHE materials = list(MAT_METAL = 20000) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 4b28ecd048..b7da52468b 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -132,6 +132,40 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/holobarrier_med + name = "PENLITE holobarrier projector" + desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases." + build_type = PROTOLATHE + build_path = /obj/item/holosign_creator/medical + materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease) + id = "holobarrier_med" + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/healthanalyzer_advanced + name = "Advanced Health Analyzer" + desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy." + id = "healthanalyzer_advanced" + build_path = /obj/item/healthanalyzer/advanced + build_type = PROTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500) + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/blood_bag + name = "Empty Blood Bag" + desc = "A small sterilized plastic bag for blood." + id = "blood_bag" + build_path = /obj/item/reagent_containers/blood + build_type = PROTOLATHE + materials = list(MAT_GLASS = 1500, MAT_PLASTIC = 3500) + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +//////////////////////////////////////// +//////////Defibrillator Tech//////////// +//////////////////////////////////////// + /datum/design/defibrillator name = "Defibrillator" id = "defibrillator" @@ -151,6 +185,11 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +///////////////////////////////////////// +//////////Alien Surgery Tools//////////// +///////////////////////////////////////// + /datum/design/alienscalpel name = "Alien Scalpel" desc = "An advanced scalpel obtained through Abductor technology." @@ -211,15 +250,6 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL -/datum/design/healthanalyzer_advanced - name = "advanced health analyzer" - desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy." - id = "healthanalyzer_advanced" - build_path = /obj/item/healthanalyzer/advanced - build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500) - category = list("Medical Designs") - departmental_flags = DEPARTMENTAL_FLAG_MEDICAL ///////////////////////////////////////// //////////Cybernetic Implants//////////// @@ -577,12 +607,94 @@ surgery = /datum/surgery/advanced/necrotic_revival research_icon_state = "surgery_head" -/datum/design/holobarrier_med - name = "PENLITE holobarrier projector" - desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases." +///////////////////////////////////////// +////////////Medical Prosthetics////////// +///////////////////////////////////////// + +/datum/design/basic_l_arm + name = "Surplus prosthetic left arm" + desc = "Basic outdated and fragile prosthetic left arm." + id = "basic_l_arm" build_type = PROTOLATHE - build_path = /obj/item/holosign_creator/medical - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease) - id = "holobarrier_med" + materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + construction_time = 20 + build_path = /obj/item/bodypart/l_arm/robot/surplus category = list("Medical Designs") - departmental_flags = DEPARTMENTAL_FLAG_MEDICAL \ No newline at end of file + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/basic_r_arm + name = "Surplus prosthetic right arm" + desc = "Basic outdated and fragile prosthetic left arm." + id = "basic_r_arm" + build_type = PROTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + construction_time = 20 + build_path = /obj/item/bodypart/r_arm/robot/surplus + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/basic_l_leg + name = "Surplus prosthetic left leg" + desc = "Basic outdated and fragile prosthetic left leg." + id = "basic_l_leg" + build_type = PROTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + construction_time = 20 + build_path = /obj/item/bodypart/l_leg/robot/surplus + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/basic_r_leg + name = "Surplus prosthetic right leg" + desc = "Basic outdated and fragile prosthetic right leg." + id = "basic_r_leg" + build_type = PROTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + construction_time = 20 + build_path = /obj/item/bodypart/r_leg/robot/surplus + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/adv_r_leg + name = "Advanced prosthetic right leg" + desc = "A renforced prosthetic right leg." + id = "adv_r_leg" + build_type = PROTOLATHE + materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + construction_time = 40 + build_path = /obj/item/bodypart/r_leg/robot/surplus_upgraded + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/adv_l_leg + name = "Advanced prosthetic left leg" + desc = "A renforced prosthetic left leg." + id = "adv_l_leg" + build_type = PROTOLATHE + materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + construction_time = 40 + build_path = /obj/item/bodypart/l_leg/robot/surplus_upgraded + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/adv_l_arm + name = "Advanced prosthetic left arm" + desc = "A renforced prosthetic left arm." + id = "adv_l_arm" + build_type = PROTOLATHE + materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + construction_time = 40 + build_path = /obj/item/bodypart/l_arm/robot/surplus_upgraded + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/adv_r_arm + name = "Advanced prosthetic right arm" + desc = "A renforced prosthetic right arm." + id = "adv_r_arm" + build_type = PROTOLATHE + materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + construction_time = 40 + build_path = /obj/item/bodypart/r_arm/robot/surplus_upgraded + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 908de02f3a..bf503c2653 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -8,6 +8,11 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY +/datum/design/c38/sec/lethal + name = "Speed Loader (.38)" + id = "sec_38lethal" + build_path = /obj/item/ammo_box/c38/lethal + /datum/design/rubbershot/sec id = "sec_rshot" build_type = PROTOLATHE diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index 9f88f4a23f..4405401cec 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -184,7 +184,6 @@ /datum/nanite_program/metabolic_synthesis name = "Metabolic Synthesis" desc = "The nanites use the metabolic cycle of the host to speed up their replication rate, using their extra nutrition as fuel." - use_rate = -0.5 //generates nanites rogue_types = list(/datum/nanite_program/toxic) /datum/nanite_program/metabolic_synthesis/check_conditions() @@ -197,6 +196,7 @@ /datum/nanite_program/metabolic_synthesis/active_effect() host_mob.nutrition -= 0.5 + nanites.adjust_nanites(0.5) /datum/nanite_program/triggered/access name = "Subdermal ID" @@ -262,4 +262,4 @@ var/datum/nanite_program/fault = pick(nanites.programs) if(fault == src) return - fault.software_error() \ No newline at end of file + fault.software_error() diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index fb3c5908f5..cb5062904d 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -158,18 +158,12 @@ Nothing else in the console has ID requirements. var/logname = "Unknown" if(isAI(user)) logname = "AI: [user.name]" - if(iscarbon(user)) - var/obj/item/card/id/idcard = user.get_active_held_item() - if(istype(idcard)) - logname = "User: [idcard.registered_name]" - if(ishuman(user)) - var/mob/living/carbon/human/H = user - var/obj/item/I = H.wear_id - if(istype(I)) - var/obj/item/card/id/ID = I.GetID() - if(istype(ID)) - logname = "User: [ID.registered_name]" - stored_research.research_logs += "[logname] researched node id [id] with cost [json_encode(price)]." + else if(iscyborg(user)) + logname = "Cyborg: [user.name]" + else if(isliving(user)) + var/mob/living/L = user + logname = L.get_visible_name() + stored_research.research_logs += "[logname] researched node id [id] with cost [json_encode(price)] at [COORD(src)]." return TRUE else say("Failed to research node: Internal database error!") @@ -635,6 +629,8 @@ Nothing else in the console has ID requirements. /obj/machinery/computer/rdconsole/proc/ui_techweb() var/list/l = list() + if(islist(stored_research.research_logs) && stored_research.research_logs.len) + l += "Last action: [stored_research.research_logs[stored_research.research_logs.len]]" if(ui_mode != RDCONSOLE_UI_MODE_LIST) var/list/columns = list() var/max_tier = 0 diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 7dcbb6775a..826f8d05b8 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -10,7 +10,7 @@ // Default research tech, prevents bricking design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab", - "space_heater", "xlarge_beaker", "sec_rshot", "sec_bshot", "sec_slug", "sec_Islug", "sec_dart", "sec_38", + "space_heater", "xlarge_beaker", "sec_rshot", "sec_bshot", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "sec_38lethal", "rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass") /datum/techweb_node/mmi @@ -49,7 +49,7 @@ display_name = "Biological Technology" description = "What makes us tick." //the MC, silly! prereq_ids = list("base") - design_ids = list("chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer") + design_ids = list("chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -71,6 +71,24 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 +/datum/techweb_node/surplus_lims + id = "surplus_lims" + display_name = "Basic Prosthetics" + description = "Basic fragile lims for the impaired." + prereq_ids = list("biotech") + design_ids = list("basic_l_arm", "basic_r_arm", "basic_r_leg", "basic_l_leg") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) // You can knock them off with a glass shard... + export_price = 5000 + +/datum/techweb_node/advance_lims + id = "advance_lims" + display_name = "Upgraded Prosthetics" + description = "Reinforced prosthetics for the impaired." + prereq_ids = list("adv_biotech", "surplus_lims") + design_ids = list("adv_l_arm", "adv_r_arm", "adv_r_leg", "adv_l_leg") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + export_price = 5000 + /////////////////////////Advanced Surgery///////////////////////// /datum/techweb_node/adv_surgery id = "adv_surgery" @@ -105,7 +123,7 @@ display_name = "Data Theory" description = "Big Data, in space!" prereq_ids = list("base") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 /datum/techweb_node/adv_datatheory @@ -114,7 +132,7 @@ description = "Better insight into programming and data." prereq_ids = list("datatheory") design_ids = list("icprinter", "icupgadv", "icupgclo") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) export_price = 5000 /////////////////////////engineering tech///////////////////////// @@ -126,7 +144,7 @@ design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6000) export_price = 5000 /datum/techweb_node/adv_engi @@ -135,7 +153,7 @@ description = "Pushing the boundaries of physics, one chainsaw-fist at a time." prereq_ids = list("engineering", "emp_basic") design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000) export_price = 5000 /datum/techweb_node/anomaly @@ -144,7 +162,7 @@ description = "Unlock the potential of the mysterious anomalies that appear on station." prereq_ids = list("adv_engi", "practical_bluespace") design_ids = list("reactive_armour", "anomaly_neutralizer") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) export_price = 5000 /datum/techweb_node/high_efficiency @@ -153,7 +171,7 @@ description = "Finely-tooled manufacturing techniques allowing for picometer-perfect precision levels." prereq_ids = list("engineering", "datatheory") design_ids = list("pico_mani", "super_matter_bin") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) export_price = 5000 /datum/techweb_node/adv_power @@ -162,7 +180,7 @@ description = "How to get more zap." prereq_ids = list("engineering") design_ids = list("smes", "super_cell", "hyper_cell", "super_capacitor", "superpacman", "mrspacman", "power_turbine", "power_turbine_console", "power_compressor", "circulator", "teg") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) export_price = 5000 /////////////////////////Bluespace tech///////////////////////// @@ -170,7 +188,7 @@ id = "bluespace_basic" display_name = "Basic Bluespace Theory" description = "Basic studies into the mysterious alternate dimension known as bluespace." - prereq_ids = list("base") + prereq_ids = list("base", "datatheory") design_ids = list("beacon", "xenobioconsole", "telesci_gps") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -190,8 +208,8 @@ display_name = "Applied Bluespace Research" description = "Using bluespace to make things faster and better." prereq_ids = list("bluespace_basic", "engineering") - design_ids = list("bs_rped","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "bluespacebodybag", "phasic_scanning", "roastingstick", "ore_silo") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) + design_ids = list("bs_rped","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "roastingstick", "ore_silo") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) export_price = 5000 /datum/techweb_node/bluespace_power @@ -207,9 +225,9 @@ id = "bluespace_holding" display_name = "Bluespace Pockets" description = "Studies into the mysterious alternate dimension known as bluespace and how to place items in the threads of reality." - prereq_ids = list("adv_power", "adv_bluespace", "anomaly_research", "adv_biotech") + prereq_ids = list("adv_power", "adv_bluespace", "adv_biotech", "adv_plasma") design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5500) export_price = 5000 /////////////////////////plasma tech///////////////////////// /datum/techweb_node/basic_plasma @@ -218,7 +236,7 @@ description = "Research into the mysterious and dangerous substance, plasma." prereq_ids = list("engineering") design_ids = list("mech_generator") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 /datum/techweb_node/adv_plasma @@ -227,7 +245,7 @@ description = "Research on how to fully exploit the power of plasma." prereq_ids = list("basic_plasma") design_ids = list("mech_plasma_cutter") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) export_price = 5000 /////////////////////////robotics tech///////////////////////// @@ -237,7 +255,7 @@ description = "Programmable machines that make our lives lazier." prereq_ids = list("base") design_ids = list("paicard") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 /datum/techweb_node/adv_robotics @@ -246,7 +264,7 @@ description = "It can even do the dishes!" prereq_ids = list("robotics") design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) export_price = 5000 /datum/techweb_node/neural_programming @@ -270,7 +288,7 @@ id = "cyborg_upg_util" display_name = "Cyborg Upgrades: Utility" description = "Utility upgrades for cyborgs." - prereq_ids = list("engineering") + prereq_ids = list("engineering", "robotics") design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 @@ -279,7 +297,7 @@ id = "cyborg_upg_med" display_name = "Cyborg Upgrades: Medical" description = "Medical upgrades for cyborgs." - prereq_ids = list("adv_biotech") + prereq_ids = list("adv_biotech", "robotics") design_ids = list("borg_upgrade_defibrillator", "borg_upgrade_piercinghypospray", "borg_upgrade_highstrengthsynthesiser", "borg_upgrade_expandedsynthesiser", "borg_upgrade_pinpointer", "borg_upgrade_surgicalprocessor") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 @@ -358,7 +376,7 @@ display_name = "Computer Hardware" description = "How computer hardware are made." prereq_ids = list("comptech") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) //they are really shitty + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1250) //they are really kinda shitty export_price = 2000 design_ids = list("hdd_basic", "hdd_advanced", "hdd_super", "hdd_cluster", "ssd_small", "ssd_micro", "netcard_basic", "netcard_advanced", "netcard_wired", "portadrive_basic", "portadrive_advanced", "portadrive_super", "cardslot", "aislot", "miniprinter", "APClink", "bat_control", "bat_normal", "bat_advanced", @@ -369,8 +387,8 @@ display_name = "Arcade Games" description = "For the slackers on the station." prereq_ids = list("comptech") - design_ids = list("arcade_battle", "arcade_orion", "slotmachine") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) + design_ids = list("arcade_battle", "arcade_orion", "slotmachine") // Magic money + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500) export_price = 2000 /datum/techweb_node/comp_recordkeeping @@ -379,7 +397,7 @@ description = "Organized record databases and how they're used." prereq_ids = list("comptech") design_ids = list("secdata", "med_data", "prisonmanage", "vendor", "automated_announcement") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1250) export_price = 2000 /datum/techweb_node/telecomms @@ -387,7 +405,7 @@ display_name = "Telecommunications Technology" description = "Subspace transmission technology for near-instant communications devices." prereq_ids = list("comptech", "bluespace_basic") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500) export_price = 5000 design_ids = list("s-receiver", "s-bus", "s-broadcaster", "s-processor", "s-hub", "s-server", "s-relay", "comm_monitor", "comm_server", "s-ansible", "s-filter", "s-amplifier", "ntnet_relay", "s-treatment", "s-analyzer", "s-crystal", "s-transmitter") @@ -417,7 +435,7 @@ description = "We have the technology to make him." prereq_ids = list("biotech") design_ids = list("clonecontrol", "clonepod", "clonescanner", "scan_console", "cloning_disk") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 /datum/techweb_node/cryotech @@ -433,7 +451,7 @@ id = "subdermal_implants" display_name = "Subdermal Implants" description = "Electronic implants buried beneath the skin." - prereq_ids = list("biotech") + prereq_ids = list("biotech", "datatheory") design_ids = list("implanter", "implantcase", "implant_chem", "implant_tracking", "locator") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -443,7 +461,7 @@ display_name = "Cybernetic Organs" description = "We have the technology to rebuild him." prereq_ids = list("adv_biotech") - design_ids = list("cybernetic_heart", "cybernetic_liver", "cybernetic_liver_u", "cybernetic_lungs") + design_ids = list("cybernetic_heart", "cybernetic_liver", "cybernetic_liver_u", "cybernetic_lungs", "cybernetic_lungs_u") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -499,7 +517,7 @@ description = "Clean things better, faster, stronger, and harder!" prereq_ids = list("adv_engi") design_ids = list("advmop", "buffer", "light_replacer") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1750) // No longer has its bag export_price = 5000 /datum/techweb_node/botany @@ -508,7 +526,7 @@ description = "Botanical tools" prereq_ids = list("adv_engi", "biotech") design_ids = list("diskplantgene", "portaseeder", "plantgenes", "flora_gun", "hydro_tray", "biogenerator", "seed_extractor") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750) export_price = 5000 /datum/techweb_node/exp_tools @@ -517,7 +535,7 @@ description = "Highly advanced construction tools." design_ids = list("exwelder", "jawsoflife", "handdrill") prereq_ids = list("adv_engi") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750) export_price = 5000 /////////////////////////weaponry tech///////////////////////// @@ -527,7 +545,7 @@ description = "Our researchers have found new to weaponize just about everything now." prereq_ids = list("engineering") design_ids = list("pin_testing", "tele_shield") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) export_price = 5000 /datum/techweb_node/adv_weaponry @@ -536,7 +554,7 @@ description = "Our weapons are breaking the rules of reality by now." prereq_ids = list("adv_engi", "weaponry") design_ids = list("pin_loyalty") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) export_price = 5000 /datum/techweb_node/electric_weapons @@ -545,7 +563,7 @@ description = "Weapons using electric technology" prereq_ids = list("weaponry", "adv_power" , "emp_basic") design_ids = list("stunrevolver", "stunshell", "ioncarbine") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) export_price = 5000 /datum/techweb_node/radioactive_weapons @@ -563,7 +581,7 @@ description = "Weapons using medical technology." prereq_ids = list("adv_biotech", "adv_weaponry") design_ids = list("rapidsyringe", "shotgundartcryostatis") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 /datum/techweb_node/beam_weapons @@ -581,7 +599,7 @@ description = "Various advanced beam weapons" prereq_ids = list("beam_weapons") design_ids = list("beamrifle") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3250) // Sniper export_price = 5000 /datum/techweb_node/explosive_weapons @@ -590,7 +608,7 @@ description = "If the light stuff just won't do it." prereq_ids = list("adv_weaponry") design_ids = list("large_Grenade", "pyro_Grenade", "adv_Grenade") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750) export_price = 5000 /datum/techweb_node/ballistic_weapons @@ -599,16 +617,16 @@ description = "This isn't research.. This is reverse-engineering!" prereq_ids = list("weaponry") design_ids = list("mag_oldsmg", "mag_oldsmg_ap", "mag_oldsmg_ic") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750) export_price = 5000 /datum/techweb_node/tech_shell id = "tech_shell" display_name = "Technological Shells" description = "They're more technological than regular shot." - prereq_ids = list("adv_weaponry") + prereq_ids = list("weaponry", "ballistic_weapons") design_ids = list("techshotshell") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) export_price = 5000 /datum/techweb_node/gravity_gun @@ -657,7 +675,7 @@ prereq_ids = list("adv_mecha", "adv_weaponry") design_ids = list("durand_chassis", "durand_torso", "durand_head", "durand_left_arm", "durand_right_arm", "durand_left_leg", "durand_right_leg", "durand_main", "durand_peri", "durand_targ", "durand_armor") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750) export_price = 5000 /datum/techweb_node/phazon @@ -667,7 +685,7 @@ prereq_ids = list("adv_mecha", "weaponry" , "adv_bluespace") design_ids = list("phazon_chassis", "phazon_torso", "phazon_head", "phazon_left_arm", "phazon_right_arm", "phazon_left_leg", "phazon_right_leg", "phazon_main", "phazon_peri", "phazon_targ", "phazon_armor") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) export_price = 5000 /datum/techweb_node/adv_mecha_tools @@ -685,7 +703,7 @@ description = "Tools for high level mech suits" prereq_ids = list("adv_biotech") design_ids = list("mech_sleeper", "mech_syringe_gun", "mech_medi_beam") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 5000 /datum/techweb_node/mech_modules diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index b0f99ae3c2..b8d19a7018 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -96,6 +96,7 @@ name = "Syndicate Bioweapon Scientist" roundstart = FALSE death = FALSE + job_description = "Off-station Syndicate Scientist" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper_s" flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile. DON'T abandon the base without good cause. The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!" @@ -107,6 +108,7 @@ /datum/outfit/lavaland_syndicate name = "Lavaland Syndicate Agent" + name = "Off-station Syndicate Agent" r_hand = /obj/item/gun/ballistic/automatic/sniper_rifle uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/toggle/labcoat @@ -123,6 +125,7 @@ /obj/effect/mob_spawn/human/lavaland_syndicate/comms name = "Syndicate Comms Agent" + job_description = "Off-station Syndicate Comms Agent" flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Monitor enemy activity as best you can, and try to keep a low profile. DON'T abandon the base without good cause. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail. Do not let the base fall into enemy hands!" outfit = /datum/outfit/lavaland_syndicate/comms diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 7d337c67c2..9d9e26c6fa 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -305,3 +305,10 @@ else S.adjusted = ALT_STYLE H.update_inv_shoes() + if(H.wear_suit) + var/obj/item/clothing/suit/S = H.wear_suit + if(swap_back) + S.adjusted = NORMAL_STYLE + else + S.adjusted = ALT_STYLE + H.update_inv_wear_suit() \ No newline at end of file diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index c535ef4a20..ab31d64034 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -235,7 +235,7 @@ - +// Surplus lims /obj/item/bodypart/l_arm/robot/surplus name = "surplus prosthetic left arm" desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." @@ -268,6 +268,38 @@ burn_reduction = 0 max_damage = 20 +// Upgraded Surplus lims +/obj/item/bodypart/l_arm/robot/surplus_upgraded + name = "reinforced surplus prosthetic left arm" + desc = "A skeletal, robotic limb. This one is reinforced to provide better protection." + icon = 'icons/mob/augmentation/surplus_augments.dmi' + brute_reduction = 1 + burn_reduction = 1 + max_damage = 30 + +/obj/item/bodypart/r_arm/robot/surplus_upgraded + name = "reinforced surplus prosthetic right arm" + desc = "A skeletal, robotic limb. This one is reinforced to provide better protection." + icon = 'icons/mob/augmentation/surplus_augments.dmi' + brute_reduction = 1 + burn_reduction = 1 + max_damage = 30 + +/obj/item/bodypart/l_leg/robot/surplus_upgraded + name = "reinforced surplus prosthetic left leg" + desc = "A skeletal, robotic limb. This one is reinforced to provide better protection." + icon = 'icons/mob/augmentation/surplus_augments.dmi' + brute_reduction = 1 + burn_reduction = 1 + max_damage = 30 + +/obj/item/bodypart/r_leg/robot/surplus_upgraded + name = "reinforced surplus prosthetic right leg" + desc = "A skeletal, robotic limb. This one is reinforced to provide better protection." + icon = 'icons/mob/augmentation/surplus_augments.dmi' + brute_reduction = 1 + burn_reduction = 1 + max_damage = 30 #undef ROBOTIC_LIGHT_BRUTE_MSG #undef ROBOTIC_MEDIUM_BRUTE_MSG diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index bfe1b2dc3b..9f42cf0baa 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -28,6 +28,7 @@ eye_color = HMN.eye_color if(HMN.has_trait(TRAIT_NIGHT_VISION) && !lighting_alpha) lighting_alpha = LIGHTING_PLANE_ALPHA_NV_TRAIT + see_in_dark = 8 M.update_tint() owner.update_sight() diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 48392f70a3..bbbe8c584d 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -251,6 +251,8 @@ var/static/regex/clap_words = regex("clap|applaud") var/static/regex/honk_words = regex("ho+nk") //hooooooonk var/static/regex/multispin_words = regex("like a record baby|right round") + var/static/regex/orgasm_words = regex("cum|orgasm|climax|squirt") //CITADEL CHANGE + var/static/regex/dab_words = regex("dab|mood") //CITADEL CHANGE var/i = 0 //STUN @@ -565,6 +567,23 @@ var/mob/living/L = V L.SpinAnimation(speed = 10, loops = 5) + //CITADEL CHANGES + //ORGASM + else if((findtext(message, orgasm_words))) + cooldown = COOLDOWN_MEME + for(var/V in listeners) + var/mob/living/carbon/human/H = V + if(H.canbearoused && H.has_dna()) // probably a redundant check but for good measure + H.mob_climax(forced_climax=TRUE) + + //DAB + else if((findtext(message, dab_words))) + cooldown = COOLDOWN_DAMAGE + for(var/V in listeners) + var/mob/living/M = V + M.say("*dab") + //END CITADEL CHANGES + else cooldown = COOLDOWN_NONE diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index a38b27af6c..32eaf0cde9 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1053,7 +1053,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/device_tools/briefcase_launchpad name = "Briefcase Launchpad" - desc = "A briefcase containing a launchpad, a device able to teleport items and people to and from targets up to eight tiles away from the briefcase. \ + desc = "A briefcase containing a launchpad, a device able to teleport items and people to and from targets up to twenty tiles away from the briefcase. \ Also includes a remote control, disguised as an ordinary folder. Touch the briefcase with the remote to link it." surplus = 0 item = /obj/item/storage/briefcase/launchpad @@ -1487,7 +1487,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/sbeacondrop/clownbomb cost = 15 restricted_roles = list("Clown") - +/* /datum/uplink_item/role_restricted/clowncar name = "Clown Car" desc = "The Clown Car is the ultimate transportation method for any worthy clown! \ @@ -1498,7 +1498,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/vehicle/sealed/car/clowncar cost = 15 restricted_roles = list("Clown") - +*/ // Pointless /datum/uplink_item/badass category = "(Pointless) Badassery" diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 5a41beb88d..6db8d4a8b3 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -123,6 +123,7 @@ /obj/item/clothing/gloves/fingerless = 2, /obj/item/clothing/head/soft/black = 2, /obj/item/clothing/mask/bandana/skull = 1) + premium = list(/obj/item/radio/headset/headset_rob = 2) //Cit change refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe /obj/item/vending_refill/wardrobe/robo_wardrobe diff --git a/config/admins.txt b/config/admins.txt index 807b4d89d5..27a2178e2c 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -7,133 +7,5 @@ # NOTE: if the rank-name cannot be found in admin_ranks.txt, they will not be adminned! ~Carn # # NOTE: syntax was changed to allow hyphenation of ranknames, since spaces are stripped. # ############################################################################################### -<<<<<<< HEAD -======= -Optimumtact = Host -NewSta = Game Master -Expletives = Game Master -kingofkosmos = Game Master -MrStonedOne = Lazy Master -microscopics = Game Master -Gun Hog = Game Master -KorPhaeron = Game Master -razharas = Game Master -Lordpidey = Game Master -Niknakflak = Game Master -rolan7 = Game Master -quarxink = Game Master -adrix89 = Game Master -tle = Game Master -xsi = Game Master -scaredofshadows = Game Master -neofite = Game Master -trubblebass = Game Master -mport2004 = Game Master -deuryn = Game Master -agouri = Game Master -errorage = Game Master -superxpdude = Game Master -petethegoat = Game Master -nodrak = Game Master -carnwennan = Game Master -ikarrus = Game Master -cheridan = Game Master -giacomand = Game Master -rockdtben = Game Master -sieve = Game Master -aranclanos = Game Master -intigracy = Game Master -dumpdavidson = Game Master -kazeespada = Game Master -malkevin = Game Master -incoming = Game Master -demas = Game Master -fleure = Game Master -ricotez = Game Master -misterperson = Game Master -crimsonvision = Game Master -iamgoofball = Game Master -zelacks = Game Master -androidsfv = Game Master -miggles = Game Master -jordie0608 = Game Master -s0ldi3rkr4s0 = Game Master -ergovisavi = Game Master -vistapowa = Game Master -miauw62 = Game Master -rumia29 = Game Master -bobylein = Game Master -sirbayer = Game Master -hornygranny = Game Master -yota = Game Master -firecage = Game Master -donkieyo = Game Master -argoneus = Game Master -paprka = Game Master -cookingboy3 = Game Master -limeliz = Game Master -steelpoint = Game Master -phil235 = Game Master -CorruptComputer = Game Master -xxnoob = Game Master -tkdrg = Game Master -Cuboos = Game Master -thunder12345 = Game Master -wjohnston = Game Master -mandurrh = Game Master -thurgatar = Game Master -xerux = Game Master -dannno = Game Master -lo6a4evskiy = Game Master -vekter = Game Master -Ahammer18 = Game Master -ACCount12 = Game Master -fayrik = Game Master -shadowlight213 = Game Master -drovidicorv = Game Master -Dunc = Game Master -MMMiracles = Game Master -bear1ake = Game Master -CoreOverload = Game Master -Jalleo = Game Master -ChangelingRain = Game Master -FoxPMcCloud = Game Master -Xhuis = Game Master -Astralenigma = Game Master -Tokiko1 = Game Master -SuperSayu = Game Master -Lzimann = Game Master -As334 = Game Master -neersighted = Game Master -Swankcookie = Game Master -Ressler = Game Master -Folix = Game Master -Bawhoppennn = Game Master -Anturke = Host -Lumipharon = Game Master -bgobandit = Game Master -coiax = Game Master -RandomMarine = Game Master -PKPenguin321 = Game Master -TechnoAlchemist = Game Master -Aloraydrel = Game Master -Quiltyquilty = Game Master -SnipeDragon = Game Master -Fjeld = Game Master -kevinz000 = Game Master -Tacolizard = Game Master -TrustyGun = Game Master -Cyberboss = Game Master -PJB3005 = Game Master -Sweaterkittens = Game Master -Feemjmeem = Game Master -JStheguy = Game Master -excessiveuseofcobby = Game Master -Plizzard = Game Master -octareenroon91 = Game Master -Serpentarium = Game Master -Averagejoe82 = Game Master -The Dreamweaver = Game Master -88Naoki = Game Master -Naksuasdf = Game Master ->>>>>>> 3653239... Merge pull request #37785 from 81Denton/circboard_spawners + +yourckeygoeshere = Host diff --git a/config/config.txt b/config/config.txt index 3a74166fe7..33bff862d9 100644 --- a/config/config.txt +++ b/config/config.txt @@ -363,6 +363,11 @@ ANNOUNCE_ADMIN_LOGOUT ## You should edit maps.txt to match your configuration when you enable this. MAPROTATION +## TG-style map rotation +## By default, Citadel uses a more traditional method of map voting, where at the end of a round, players are given a full upfront vote. +## This PR will disable that, and will make the server use TG's map rotation instead. +#TGSTYLE_MAPROTATION + ## Map voting ## Allows players to vote for their preffered map ## When it's set to zero, the map will be randomly picked each round diff --git a/config/game_options.txt b/config/game_options.txt index 3a1febf6dd..bfc5ed5edb 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -37,7 +37,7 @@ WALK_DELAY 4 ## The variables below affect the movement of specific mob types. THIS AFFECTS ALL SUBTYPES OF THE TYPE YOU CHOOSE! ## Entries completely override all subtypes. Later entries have precedence over earlier entries. -## This means if you put /mob 0 on the last entry, it will null out all changes, while if you put /mob as the first entry and +## This means if you put /mob 0 on the last entry, it will null out all changes, while if you put /mob as the first entry and ## /mob/living/carbon/human on the last entry, the last entry will override the first. ##MULTIPLICATIVE_MOVESPEED /mob/living/carbon/human 0 ##MULTIPLICATIVE_MOVESPEED /mob/living/silicon/robot 0 @@ -135,10 +135,10 @@ MIDROUND_ANTAG CHANGELING MIDROUND_ANTAG WIZARD #MIDROUND_ANTAG MONKEY -## Uncomment these for overrides of the minimum / maximum number of players in a round type. +## Uncomment these for overrides of the minimum / maximum number of players in a round type. ## If you set any of these occasionally check to see if you still need them as the modes ## will still be actively rebalanced around the SUGGESTED populations, not your overrides. -## Notes: For maximum number of players a value of -1 means no maximum. Setting minimums to +## Notes: For maximum number of players a value of -1 means no maximum. Setting minimums to ## VERY low numbers (< 5) can lead to errors if the roundtypes were not designed for that. #MIN_POP TRAITOR 0 @@ -542,3 +542,6 @@ ROUNDSTART_TRAITS ## A cap on how many monkeys may be created via monkey cubes MONKEYCAP 64 + +## Uncomment to use TG-style combat +#DISABLE_STAMBUFFER diff --git a/config/unbuyableshuttles.txt b/config/unbuyableshuttles.txt index b563c6c0e6..18dbfd711f 100644 --- a/config/unbuyableshuttles.txt +++ b/config/unbuyableshuttles.txt @@ -28,3 +28,4 @@ #_maps/shuttles/emergency_supermatter.dmm #_maps/shuttles/emergency_wabbajack.dmm #_maps/shuttles/emergency_discoinferno.dmm +#_maps/shuttles/emergency_syndicate.dmm diff --git a/dependencies.sh b/dependencies.sh index 1b61b37c88..644cdd3acc 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -3,11 +3,12 @@ #Project dependencies file #Final authority on what's required to fully build the project -#byond version -#note, this also needs to be changed in the Dockerfile's initial FROM command -#If someone has an idea for how to set that version within the Dockerfile itself without any other dependencies, feel free to PR it -export BYOND_MAJOR=512 -export BYOND_MINOR=1448 +# byond version +# Extracted from the Dockerfile. Change by editing Dockerfile's FROM command. +LIST=($(sed -n 's/.*byond:\([0-9]\+\)\.\([0-9]\+\).*/\1 \2/p' Dockerfile)) +export BYOND_MAJOR=${LIST[0]} +export BYOND_MINOR=${LIST[1]} +unset LIST #rust_g git tag export RUST_G_VERSION=0.4.1 diff --git a/html/changelogs/AutoChangeLog-pr-7451.yml b/html/changelogs/AutoChangeLog-pr-7451.yml new file mode 100644 index 0000000000..ea4ec47b8d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7451.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - admin: "When a gamemode fails pre_setup, it will now send a message in admin IRC and in ingame admin chat, instead of only being viewable in the logs." diff --git a/html/changelogs/AutoChangeLog-pr-7465.yml b/html/changelogs/AutoChangeLog-pr-7465.yml new file mode 100644 index 0000000000..4f47fed4e5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7465.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Portal guns now spawn without firing pins." diff --git a/html/changelogs/AutoChangeLog-pr-7608.yml b/html/changelogs/AutoChangeLog-pr-7608.yml new file mode 100644 index 0000000000..898cf84d90 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7608.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "Server operators and badmins can now make the server play like TG by toggling the stamina buffer on/off using the DISABLE_STAMBUFFER config option." diff --git a/html/changelogs/AutoChangeLog-pr-7620.yml b/html/changelogs/AutoChangeLog-pr-7620.yml new file mode 100644 index 0000000000..b786b77476 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7620.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Airlock wires now work as they did prior to the hard sync" diff --git a/html/changelogs/AutoChangeLog-pr-7624.yml b/html/changelogs/AutoChangeLog-pr-7624.yml new file mode 100644 index 0000000000..34f23f6560 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7624.yml @@ -0,0 +1,9 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "The thing you're currently grabbing is now taken into account when left-click disarming. Things you have grabbed now roughly have a 45% chance to be disarmed." + - balance: "Disarm push rolls are now determined by the target's staminaloss rather than a flat number." + - balance: "When you're in combat mode, pushing someone who isn't in combat mode is a guaranteed knockdown. Hard counter to stam regen squeezing in melee combat." + - balance: "Failed disarm push attempts now deals light staminaloss to the target so long as both the attacker and target are standing. The total stamloss dealt to the target is random, clocking in at a very inefficient 1-5 stamloss per unsuccessful push attempt." + - tweak: "Disarm pushes now play the thudswoosh sound regardless if they're successful or not. Had it not been for copyright, I would've used L4D's melee sound." + - tweak: "Disarm push attempts are now logged" diff --git a/html/changelogs/AutoChangeLog-pr-7625.yml b/html/changelogs/AutoChangeLog-pr-7625.yml new file mode 100644 index 0000000000..a6e72eab8f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7625.yml @@ -0,0 +1,7 @@ +author: "Poojawa" +delete-after: True +changes: + - refactor: "improved vore sound responsiveness to preference choices." + - balance: "removed morphine from Medihound sleeper chemical list" + - bugfix: "fixed preference setting being broken" + - refactor: "Medihound sleepers are Initialized properly, and icons update correctly now on eject" diff --git a/html/changelogs/AutoChangeLog-pr-7626.yml b/html/changelogs/AutoChangeLog-pr-7626.yml new file mode 100644 index 0000000000..000c39c0cd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7626.yml @@ -0,0 +1,4 @@ +author: "Poojawa" +delete-after: True +changes: + - tweak: "Air alarm All clear color changed from green to blue" diff --git a/html/changelogs/AutoChangeLog-pr-7627.yml b/html/changelogs/AutoChangeLog-pr-7627.yml new file mode 100644 index 0000000000..2490900f6a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7627.yml @@ -0,0 +1,4 @@ +author: "Poojawa" +delete-after: True +changes: + - balance: "APCs are harder to destroy." diff --git a/html/changelogs/AutoChangeLog-pr-7630.yml b/html/changelogs/AutoChangeLog-pr-7630.yml new file mode 100644 index 0000000000..4f2d6081a0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7630.yml @@ -0,0 +1,5 @@ +author: "Tupinambis" +delete-after: True +changes: + - tweak: "Changes large parts of the nuclear operative base, including the addition of a new barracks where the ops spawn, a personal bedroom for the leader, the rearrangement of numerous rooms, some added fluff, a slightly more roomy bar, a larger hanger, a kitchen, and various other small changes to make the base feel just a bit more alive. This was achieved by completely redoing the base from scratch so there was room to work with, as a result potential bugs could crop, please do report them." + - bugfix: "The drop pod chamber was airless. This seems like an oversight, and has been filled with air." diff --git a/html/changelogs/AutoChangeLog-pr-7631.yml b/html/changelogs/AutoChangeLog-pr-7631.yml new file mode 100644 index 0000000000..4dc1e42bf3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7631.yml @@ -0,0 +1,4 @@ +author: "nicc" +delete-after: True +changes: + - rscadd: "*dab" diff --git a/html/changelogs/AutoChangeLog-pr-7632.yml b/html/changelogs/AutoChangeLog-pr-7632.yml new file mode 100644 index 0000000000..69bac5623f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7632.yml @@ -0,0 +1,5 @@ +author: "Poojawa" +delete-after: True +changes: + - rscadd: "Added Digitigrade versions of everything appliciable in suit.dmi" + - imageadd: "Snowflake Icons weren't modified, and were given NO_MUTANTRACE_VARIATION" diff --git a/html/changelogs/AutoChangeLog-pr-7639.yml b/html/changelogs/AutoChangeLog-pr-7639.yml new file mode 100644 index 0000000000..8ecd3c4c5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7639.yml @@ -0,0 +1,6 @@ +author: "Poojawa" +delete-after: True +changes: + - imageadd: "naga and quad Taurs literally don't freeze their ass off in space anymore." + - bugfix: "Digitigrade legs will toggle on/off properly on character menue" + - bugfix: "The misleading \"normal\" has been removed from species options" diff --git a/html/changelogs/AutoChangeLog-pr-7640.yml b/html/changelogs/AutoChangeLog-pr-7640.yml new file mode 100644 index 0000000000..7360022b33 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7640.yml @@ -0,0 +1,4 @@ +author: "Poojawa" +delete-after: True +changes: + - balance: "Added sanity checks to emag usage" diff --git a/html/changelogs/AutoChangeLog-pr-7643.yml b/html/changelogs/AutoChangeLog-pr-7643.yml new file mode 100644 index 0000000000..c74534bd34 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7643.yml @@ -0,0 +1,4 @@ +author: "CameronWoof" +delete-after: True +changes: + - rscadd: "Medihounds now have rollerbeds for non-vore patient transport" diff --git a/html/changelogs/AutoChangeLog-pr-7650.yml b/html/changelogs/AutoChangeLog-pr-7650.yml new file mode 100644 index 0000000000..ba84b55d33 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7650.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Autostand no longer makes you invulnerable to dropping items when being knocked down with a force greater than 80" diff --git a/html/changelogs/AutoChangeLog-pr-7652.yml b/html/changelogs/AutoChangeLog-pr-7652.yml new file mode 100644 index 0000000000..4695db6186 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7652.yml @@ -0,0 +1,6 @@ +author: "Toriate" +delete-after: True +changes: + - imageadd: "All regular crates are now 3/4ths ToriCrates +iamgeadd: Unused plastic crate sprite added" + - rscadd: "Blood freezer crates now have unique sprites." diff --git a/html/changelogs/AutoChangeLog-pr-7653.yml b/html/changelogs/AutoChangeLog-pr-7653.yml new file mode 100644 index 0000000000..a761e5d393 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7653.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "You can no longer abuse an href exploit to return from the labor camp before obtaining enough points to satisfy your point goal." diff --git a/html/changelogs/AutoChangeLog-pr-7658.yml b/html/changelogs/AutoChangeLog-pr-7658.yml new file mode 100644 index 0000000000..bcbff333a4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7658.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Norko's donor item is now listed in the right category" diff --git a/html/changelogs/AutoChangeLog-pr-7659.yml b/html/changelogs/AutoChangeLog-pr-7659.yml new file mode 100644 index 0000000000..1be7e6d1f3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7659.yml @@ -0,0 +1,5 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "The medihound sleeper now has a non-vore variant. This will be used by default. The old voracious variant will only appear if both the person being sleeper'd and the medihound have the voracious hound sleepers pref enabled. Sprites by Toriate" + - tweak: "\"Allow medihound sleeper\" is now labelled \"Voracious medihound sleepers\", and is now off by default" diff --git a/html/changelogs/AutoChangeLog-pr-7660.yml b/html/changelogs/AutoChangeLog-pr-7660.yml new file mode 100644 index 0000000000..825553bbcb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7660.yml @@ -0,0 +1,4 @@ +author: "CameronWoof" +delete-after: True +changes: + - bugfix: "The closed O2 crate now uses the same color scheme as the open one" diff --git a/html/changelogs/AutoChangeLog-pr-7664.yml b/html/changelogs/AutoChangeLog-pr-7664.yml new file mode 100644 index 0000000000..47be323084 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7664.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "AOOC no longer prints to players in the lobby" diff --git a/html/changelogs/AutoChangeLog-pr-7666.yml b/html/changelogs/AutoChangeLog-pr-7666.yml new file mode 100644 index 0000000000..0b6183b403 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7666.yml @@ -0,0 +1,4 @@ +author: "Tupinambis" +delete-after: True +changes: + - rscadd: "Cryo Sleepers have been added to Perma on all four maps in rotation. the bathroom windoor and window have switched places to accommodate this change." diff --git a/html/changelogs/AutoChangeLog-pr-7667.yml b/html/changelogs/AutoChangeLog-pr-7667.yml new file mode 100644 index 0000000000..c27be81efd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7667.yml @@ -0,0 +1,8 @@ +author: "Poojawa" +delete-after: True +changes: + - bugfix: "fixed vtech, but it still doesn't work because of overriding jog/sprint mechanics from combat reworks." + - bugfix: "Puppy jaws properly store if you're emagged, they are also toggle-able for stealth like the tongue." + - bugfix: "Digitigrade legs should properly fucking update for the last fucking time. Fucking snowflake code. +refractor: Got rid of snowflake sechound cuffs, gave them normal zipties like regular secborgs." + - bugfix: "dogborg sleepers actually extinguish people who are on fire, in case you don't have time to lick them out." diff --git a/html/changelogs/AutoChangeLog-pr-7671.yml b/html/changelogs/AutoChangeLog-pr-7671.yml new file mode 100644 index 0000000000..193bd574e4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7671.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Human tails and human ears now save again. Humans now use mam_tail and mam_ears for their snowflake bits instead of tg's equivalent, just as they did prior to human tail and ear saving breaking" diff --git a/html/changelogs/AutoChangeLog-pr-7675.yml b/html/changelogs/AutoChangeLog-pr-7675.yml new file mode 100644 index 0000000000..aab21aa377 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7675.yml @@ -0,0 +1,4 @@ +author: "Tupinambis" +delete-after: True +changes: + - rscadd: "You can now choose the pre-exisiting \"loader\" sprite as an appearance for your engineering borg." diff --git a/html/changelogs/AutoChangeLog-pr-7677.yml b/html/changelogs/AutoChangeLog-pr-7677.yml new file mode 100644 index 0000000000..c194004c9c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7677.yml @@ -0,0 +1,4 @@ +author: "Tupinambis" +delete-after: True +changes: + - tweak: "A vast majority of references to humans within ion laws have been replaced with crew. AI modules have received similar treatment" diff --git a/html/changelogs/AutoChangeLog-pr-7681.yml b/html/changelogs/AutoChangeLog-pr-7681.yml new file mode 100644 index 0000000000..1398a037a1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7681.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Disarm pushes no longer deal staminaloss to resting targets" diff --git a/html/changelogs/AutoChangeLog-pr-7683.yml b/html/changelogs/AutoChangeLog-pr-7683.yml new file mode 100644 index 0000000000..e092f3d199 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7683.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "You can no longer force a hard stamcritted spaceman to stand by clicking them with help intent. Get more creative if you want to torture someone that's in hard stamcrit." diff --git a/html/changelogs/AutoChangeLog-pr-7686.yml b/html/changelogs/AutoChangeLog-pr-7686.yml new file mode 100644 index 0000000000..c2dc25894a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7686.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "The revolution gamemode now waits until the 20 minute mark before checking for win conditions." diff --git a/html/changelogs/AutoChangeLog-pr-7688.yml b/html/changelogs/AutoChangeLog-pr-7688.yml new file mode 100644 index 0000000000..9098e4f1e1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7688.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "You can no longer resist/move out of grabs while you're resting. Disarming your way out still works, though." diff --git a/html/changelogs/AutoChangeLog-pr-7689.yml b/html/changelogs/AutoChangeLog-pr-7689.yml new file mode 100644 index 0000000000..6a8541dba8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7689.yml @@ -0,0 +1,5 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "Stamina damage now has diminishing returns on people who are in hard staminacrit with the addition of a new multiplier. When you take staminaloss while in hard staminacrit, you'll be under the effects of the new multiplier, which reduces the amount of staminaloss you take from all sources of staminaloss. The diminishing returns multiplier will steadily return to 1 once you're out of staminacrit." + - rscadd: "You can now scramble while resting. You can do this by dragging your spaceman onto an adjacent turf. This works even if you're in staminacrit, but the timer depends entirely on your staminaloss." diff --git a/html/changelogs/AutoChangeLog-pr-7694.yml b/html/changelogs/AutoChangeLog-pr-7694.yml new file mode 100644 index 0000000000..21949649bb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7694.yml @@ -0,0 +1,5 @@ +author: "izzyinbox" +delete-after: True +changes: + - rscadd: "adds VoG orgasm command using words \"orgasm\", \"cum\", \"squirt\", \"climax\"" + - rscadd: "adds VoG dab command using words \"dab\" and \"mood\"" diff --git a/html/changelogs/AutoChangeLog-pr-7696.yml b/html/changelogs/AutoChangeLog-pr-7696.yml new file mode 100644 index 0000000000..09246b01ad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7696.yml @@ -0,0 +1,4 @@ +author: "ursamedium" +delete-after: True +changes: + - imageadd: "Gas icons changed." diff --git a/html/changelogs/AutoChangeLog-pr-7699.yml b/html/changelogs/AutoChangeLog-pr-7699.yml new file mode 100644 index 0000000000..dd714ba1de --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7699.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Fully augged cyborg people now heal stamina damage properly." diff --git a/html/changelogs/AutoChangeLog-pr-7700.yml b/html/changelogs/AutoChangeLog-pr-7700.yml new file mode 100644 index 0000000000..2893239d8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7700.yml @@ -0,0 +1,4 @@ +author: "Poojawa" +delete-after: True +changes: + - bugfix: "Taur suits should fix themselves properly when worn by other people." diff --git a/html/changelogs/AutoChangeLog-pr-7703.yml b/html/changelogs/AutoChangeLog-pr-7703.yml new file mode 100644 index 0000000000..772b45bc8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7703.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Job EXP is now tracked properly for all roles." diff --git a/html/changelogs/AutoChangeLog-pr-7712.yml b/html/changelogs/AutoChangeLog-pr-7712.yml new file mode 100644 index 0000000000..8f1ac6d4c4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7712.yml @@ -0,0 +1,9 @@ +author: "Tupinambis" +delete-after: True +changes: + - rscadd: "Adds a syndicate themed emergency shuttle that costs 20000 credits, and can ONLY be purchased when the communications console is emagged. This shuttle features a fully stocked medbay with self serve sleepers, plenty of room that can fit highpop, a fully featured bridge, ballistic auto turrets, and an armory, EVA prep room, and bar, all of which are only accessible by either an agent ID or through hacking. + +-EVA prep features 2 syndicate hardsuits and 3 syndicate softsuits. +-Armory features 5 stetchkins with spare ammo, and 2 riot c-20r's. + +![image](https://user-images.githubusercontent.com/42078130/48306551-0b786380-e500-11e8-821a-e59ac4eee0ea.png)" diff --git a/html/changelogs/AutoChangeLog-pr-7714.yml b/html/changelogs/AutoChangeLog-pr-7714.yml new file mode 100644 index 0000000000..2b860f656b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7714.yml @@ -0,0 +1,5 @@ +author: "Tupinambis" +delete-after: True +changes: + - balance: "Lone operatives no longer spawn with a syndicate hardsuit and a bulldog. They instead spawn with a black and red EVA suit and an extra 15 TC (40 in total) +![image](https://user-images.githubusercontent.com/42078130/48308065-c44e9a80-e520-11e8-8d60-cec8ff23d61d.png)" diff --git a/html/changelogs/AutoChangeLog-pr-7717.yml b/html/changelogs/AutoChangeLog-pr-7717.yml new file mode 100644 index 0000000000..a3acd0a3ea --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7717.yml @@ -0,0 +1,6 @@ +author: "Tupinambis" +delete-after: True +changes: + - rscadd: "The tesla engine has been replaced with a supermatter engine, and pubby engineering has been redesigned to accommodate this change." + - rscdel: "The tesla engine has been completely removed along with any related components" + - bugfix: "RD and R&D vents are now actually connected to the air distribution." diff --git a/html/changelogs/AutoChangeLog-pr-7719.yml b/html/changelogs/AutoChangeLog-pr-7719.yml new file mode 100644 index 0000000000..fec98e6cd0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7719.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Nightmares and shadowpeople have had their light threshold for being considered in darkness reduced. Nightmares can no longer stand unharmed next to a light fixture during a nightshift 100% unharmed. The threshold is high enough so that APC lights on their own won't harm a nightmare, but being on the edge of a light source will." diff --git a/html/changelogs/AutoChangeLog-pr-7721.yml b/html/changelogs/AutoChangeLog-pr-7721.yml new file mode 100644 index 0000000000..b0060318dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7721.yml @@ -0,0 +1,7 @@ +author: "Tupinambis" +delete-after: True +changes: + - rscadd: "New engineering hivebot. Has a bit more health but otherwise aesthetic." + - tweak: "Oldstation no longer has an excessive amounts of hivebots within it, however the bots that remain are individually a larger threat." + - balance: "Hivebots are now more robust, with a higher melee damage output and health." + - server: "Remove this ruin from the blacklist or this PR is pointless." diff --git a/html/changelogs/AutoChangeLog-pr-7723.yml b/html/changelogs/AutoChangeLog-pr-7723.yml new file mode 100644 index 0000000000..2b54faed3e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7723.yml @@ -0,0 +1,5 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "The detective revolver's .38 bullets are now non-lethal again, but now require 3 shots to hard stamcrit" + - rscadd: "The current lethal variant of the .38 bullets can still be printed at sec protolathes." diff --git a/html/changelogs/AutoChangeLog-pr-7726.yml b/html/changelogs/AutoChangeLog-pr-7726.yml new file mode 100644 index 0000000000..f777d8db6d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7726.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "You can now access ghost roles from the latejoin menu." diff --git a/html/changelogs/AutoChangeLog-pr-7727.yml b/html/changelogs/AutoChangeLog-pr-7727.yml new file mode 100644 index 0000000000..cb8337ad94 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7727.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "Eyeblur now scales depending on how much actual eyeblur you actually have." diff --git a/html/changelogs/AutoChangeLog-pr-7728.yml b/html/changelogs/AutoChangeLog-pr-7728.yml new file mode 100644 index 0000000000..bed83efd8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7728.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Ebows now induce 50 drowsiness on whatever they hit." diff --git a/html/changelogs/AutoChangeLog-pr-7729.yml b/html/changelogs/AutoChangeLog-pr-7729.yml new file mode 100644 index 0000000000..f57c246d8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7729.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Telepads have been buffed across the board. T1 parts on a launchpad still grants you a range of 15 tiles, but T4 parts now grant you a pretty large 60 tile range (up from their original 18 tile range). Briefcase launchpads were also buffed, they now have a range of 20 tiles, up from their previous laughable 8 tiles." diff --git a/html/changelogs/AutoChangeLog-pr-7730.yml b/html/changelogs/AutoChangeLog-pr-7730.yml new file mode 100644 index 0000000000..1e10b14409 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7730.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "The grace period for the revolution win condition check has been reduced from 20 minutes to 10 minutes. You don't need to wait nearly as long for the round to end if no heads join in." diff --git a/html/changelogs/AutoChangeLog-pr-7731.yml b/html/changelogs/AutoChangeLog-pr-7731.yml new file mode 100644 index 0000000000..c11a22fb00 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7731.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "You can now select plural and neuter as your gender. They're labelled \"non-binary\" and \"object\" in the character customization menu, respectively." diff --git a/html/changelogs/AutoChangeLog-pr-7733.yml b/html/changelogs/AutoChangeLog-pr-7733.yml new file mode 100644 index 0000000000..dd28d4840a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7733.yml @@ -0,0 +1,5 @@ +author: "R3dtail" +delete-after: True +changes: + - rscadd: "Added 16 saltprimaryobject items +Added 4 saltsecondarysubject items" diff --git a/html/changelogs/AutoChangeLog-pr-7734.yml b/html/changelogs/AutoChangeLog-pr-7734.yml new file mode 100644 index 0000000000..0a6064e42a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7734.yml @@ -0,0 +1,16 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "A lot more light sources now use the same nonbinary colored lighting philosophies as flashlights and light fixtures!" + - tweak: "Flashlights mounted to guns and helmets now retain the same color and power as their original light. Lavaland's caves will reflect a fluorescent blue as you shine your KA around, and sec's helmets are now capable of illuminating maint in that fancy fluorescent blue." + - tweak: "Cameras now shine a fluorescent blue when lit up by an AI" + - tweak: "Glowing goo now actually glows green." + - tweak: "Candles had their power reduced from 1 to 0.8." + - tweak: "Lighters now shine a little further, and are now properly colored." + - tweak: "PDAs now shine an incandescent yellow to match their sprite." + - tweak: "Welding tools now shine an appropriate color" + - tweak: "Hardhats now shine an incandescent yellow." + - tweak: "Plasmaman helmets now shine an incandescent yellow." + - tweak: "Microwaves no longer overpower literally every single light in the game, instead having a power of 0.9." + - tweak: "Borgs now have incandescent yellow lights to match their sprites" + - tweak: "Bots now shine a fluorescent blue light" diff --git a/html/changelogs/AutoChangeLog-pr-7735.yml b/html/changelogs/AutoChangeLog-pr-7735.yml new file mode 100644 index 0000000000..bf5e5bef17 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7735.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "Airlock light overlays are now on the above lighting layer. This means airlock lights can actually be seen in the dark now." diff --git a/html/changelogs/AutoChangeLog-pr-7736.yml b/html/changelogs/AutoChangeLog-pr-7736.yml new file mode 100644 index 0000000000..e3678536a7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7736.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "The mob spawners list no longer leaves null entries behind when a spawner has a job description defined. The latejoin menu will no longer show ghost roles that are filled, and the spawners menu actually works again." diff --git a/html/changelogs/AutoChangeLog-pr-7737.yml b/html/changelogs/AutoChangeLog-pr-7737.yml new file mode 100644 index 0000000000..9cc206e243 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7737.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "The voting system now actually tracks who voted for what. This means it's now possible to change your vote, and it's possible to see what you voted for." diff --git a/html/changelogs/AutoChangeLog-pr-7738.yml b/html/changelogs/AutoChangeLog-pr-7738.yml new file mode 100644 index 0000000000..164906cde8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7738.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Using help intent on someone that's in hard stamcrit will now make them heal 15 stamloss." diff --git a/html/changelogs/AutoChangeLog-pr-7739.yml b/html/changelogs/AutoChangeLog-pr-7739.yml new file mode 100644 index 0000000000..0a5f3c5501 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7739.yml @@ -0,0 +1,4 @@ +author: "Tupinambis" +delete-after: True +changes: + - bugfix: "the air injectors for the SM engine waste and for toxins waste should now receive power" diff --git a/html/changelogs/AutoChangeLog-pr-7741.yml b/html/changelogs/AutoChangeLog-pr-7741.yml new file mode 100644 index 0000000000..19cecfc263 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7741.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "Auto fit viewport is now enabled by default for new players. One less question off the FAQ" diff --git a/html/changelogs/AutoChangeLog-pr-7742.yml b/html/changelogs/AutoChangeLog-pr-7742.yml new file mode 100644 index 0000000000..94ed23aafa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7742.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "The Khajiit favorite, Skooma, was added as a chemistry recipe that can be produced with cooperation between chemistry and either cargo or service. If you want to spoil the recipe for yourself, take a look at the PR for it!" diff --git a/html/changelogs/AutoChangeLog-pr-7743.yml b/html/changelogs/AutoChangeLog-pr-7743.yml new file mode 100644 index 0000000000..623baa0f1d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7743.yml @@ -0,0 +1,5 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "When the shuttle leaves for centcom, a vote will be started to select the next map instead of the map being randomly chosen via biased voting methods" + - server: "If a server operator wishes to re-enable the biased TG preference voting system, you can do so by toggling the TGSTYLE_MAPROTATION config flag on in the config.txt. Keep in mind that doing so will bring you great misfortune." diff --git a/html/changelogs/AutoChangeLog-pr-7748.yml b/html/changelogs/AutoChangeLog-pr-7748.yml new file mode 100644 index 0000000000..34cdf952f5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7748.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Cacti in lavaland now have 6u of vitfro instead of just 4u. This lessens the gap between cacti and first aid kits, the third rarest and second rarest readily available healing methods for ashwalkers, respectively." diff --git a/html/changelogs/AutoChangeLog-pr-7750.yml b/html/changelogs/AutoChangeLog-pr-7750.yml new file mode 100644 index 0000000000..b835b8b102 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7750.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "the \"genitals use skintone\" option now appears in the character appearance menu when appropriate again." diff --git a/html/changelogs/AutoChangeLog-pr-7751.yml b/html/changelogs/AutoChangeLog-pr-7751.yml new file mode 100644 index 0000000000..788f083cf1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7751.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - rscadd: "Clicking your stamina bar will now show your exact stamina along with info regarding your stamina buffer" diff --git a/html/changelogs/AutoChangeLog-pr-7752.yml b/html/changelogs/AutoChangeLog-pr-7752.yml new file mode 100644 index 0000000000..71fc9feb70 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7752.yml @@ -0,0 +1,4 @@ +author: "YPOQ" +delete-after: True +changes: + - bugfix: "Stealth implants work again" diff --git a/html/changelogs/AutoChangeLog-pr-7754.yml b/html/changelogs/AutoChangeLog-pr-7754.yml new file mode 100644 index 0000000000..2599671fb5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7754.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "The bug where ghost role spawners leave null entries in glob.mob_spawners has actually been fixed" diff --git a/html/changelogs/AutoChangeLog-pr-7756.yml b/html/changelogs/AutoChangeLog-pr-7756.yml new file mode 100644 index 0000000000..6355b1a6ef --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7756.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "The Kitchen Gun (TM) is no longer invisible." diff --git a/html/changelogs/AutoChangeLog-pr-7765.yml b/html/changelogs/AutoChangeLog-pr-7765.yml new file mode 100644 index 0000000000..6d7c5c4075 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7765.yml @@ -0,0 +1,5 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "The majority of cult spells no longer have exclamation marks at the end of their invocations. This means they will no longer be bound to the rules of shouting. Which means sec officers will no longer be able to hear culties sacrificing the captain from the complete opposite side of the maintenance tunnel the sacrifice is happening in. However, things like EMP pulses and runeless teleportation still have the effect due to their inherent loud nature." + - balance: "The stun blood spell now instantly causes hard stamcrit. However, to offset this, it now also only has one charge and has a higher cost." diff --git a/html/changelogs/AutoChangeLog-pr-7770.yml b/html/changelogs/AutoChangeLog-pr-7770.yml new file mode 100644 index 0000000000..d949f17161 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7770.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "The Gloves of the North Star now restore 2/3 of the stamina used up by punches when harm intent punching. With aggressive play and good stamina buffer management, this makes it entirely plausible to roughly double your stamina regeneration per mob life process tick." diff --git a/html/changelogs/AutoChangeLog-pr-7771.yml b/html/changelogs/AutoChangeLog-pr-7771.yml new file mode 100644 index 0000000000..f537395993 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7771.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Revs can no longer remember the name of the person who flashed them when deconverted. This brings it in-line with the other conversion antag deconversions." diff --git a/html/changelogs/AutoChangeLog-pr-7772.yml b/html/changelogs/AutoChangeLog-pr-7772.yml new file mode 100644 index 0000000000..5aa989cc93 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7772.yml @@ -0,0 +1,5 @@ +author: "Tupinambis" +delete-after: True +changes: + - tweak: "Adds a mixed clothing closet to Deltastation Dorms." + - tweak: "Adds a bottle of unstable mutagen to Botany, on account of its distance from Chemistry." diff --git a/html/changelogs/AutoChangeLog-pr-7776.yml b/html/changelogs/AutoChangeLog-pr-7776.yml new file mode 100644 index 0000000000..43660c000a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7776.yml @@ -0,0 +1,4 @@ +author: "Tupinambis" +delete-after: True +changes: + - bugfix: "Omegastation should no longer have any turf with missing textures, as those spots have been replaced with playing covered in a sandy turf decal." diff --git a/html/changelogs/AutoChangeLog-pr-7778.yml b/html/changelogs/AutoChangeLog-pr-7778.yml new file mode 100644 index 0000000000..75362eca05 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7778.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "The bug where you can sometimes get permanently stuck in stamcrit should HOPEFULLY be fixed. I'm unable to reproduce the bug myself, but let's hope." diff --git a/html/changelogs/AutoChangeLog-pr-7779.yml b/html/changelogs/AutoChangeLog-pr-7779.yml new file mode 100644 index 0000000000..4202149f90 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7779.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "The night vision trait now grants you darksight for an entire 1:1 screen, but the alpha of the lighting plane with the trait has been increased from 245 to 250 to balance it out" diff --git a/html/changelogs/AutoChangeLog-pr-7781.yml b/html/changelogs/AutoChangeLog-pr-7781.yml new file mode 100644 index 0000000000..d6f2ca5907 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7781.yml @@ -0,0 +1,5 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "It's now actually possible to click the stamina hud button" + - bugfix: "The stamina hud button now displays your stamina buffer correctly" diff --git a/html/changelogs/AutoChangeLog-pr-7782.yml b/html/changelogs/AutoChangeLog-pr-7782.yml new file mode 100644 index 0000000000..17986ac78f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7782.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Bone spears now have a reach of 2 tiles." diff --git a/html/changelogs/AutoChangeLog-pr-7783.yml b/html/changelogs/AutoChangeLog-pr-7783.yml new file mode 100644 index 0000000000..489f7ba055 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7783.yml @@ -0,0 +1,4 @@ +author: "R3dtail" +delete-after: True +changes: + - rscadd: "Added a new carpet. Red! Also added said carpet to the Premium Carpet crate from the cargo supply console. Trilby said she'd take care of the crafting recipe." diff --git a/html/changelogs/AutoChangeLog-pr-7791.yml b/html/changelogs/AutoChangeLog-pr-7791.yml new file mode 100644 index 0000000000..d2cde53ae0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7791.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "You can no longer phase through solid objects via scrambling" diff --git a/icons/effects/atmospherics.dmi b/icons/effects/atmospherics.dmi new file mode 100644 index 0000000000..acf48a0bd0 Binary files /dev/null and b/icons/effects/atmospherics.dmi differ diff --git a/icons/effects/tile_effects.dmi b/icons/effects/tile_effects.dmi deleted file mode 100644 index 18dde378e1..0000000000 Binary files a/icons/effects/tile_effects.dmi and /dev/null differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 39726a6ece..1d99a415df 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index 5198f3bda9..dae3861233 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index afbd091d13..f3d5c42570 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index 46b229388d..18b323c997 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 4bc07f86f5..f74ca2092d 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index 5da31a3a4f..c35956687d 100644 Binary files a/icons/obj/clothing/accessories.dmi and b/icons/obj/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index a9d1398c20..73f3065b4f 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 12dd04004b..a474b5f285 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 3737ee694e..c3eb8b995c 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/crates.dmi b/icons/obj/crates.dmi index 508ae18c60..4165719a3c 100644 Binary files a/icons/obj/crates.dmi and b/icons/obj/crates.dmi differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index d8092a6095..e3ec4171ad 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 6309e5c084..0ee0e3d2d1 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/monitors.dmi b/icons/obj/monitors.dmi index 07fc6f035e..f338ffcf3d 100644 Binary files a/icons/obj/monitors.dmi and b/icons/obj/monitors.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_blackred.dmi b/icons/obj/smooth_structures/fancy_table_blackred.dmi new file mode 100644 index 0000000000..0766c2f2f9 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_blackred.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_monochrome.dmi b/icons/obj/smooth_structures/fancy_table_monochrome.dmi new file mode 100644 index 0000000000..54b1b17577 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_monochrome.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 897508fa8c..2e1fdfa7a8 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi index 8b439d2bad..9305e4b7bc 100644 Binary files a/icons/obj/tiles.dmi and b/icons/obj/tiles.dmi differ diff --git a/icons/turf/floors/carpet_blackred.dmi b/icons/turf/floors/carpet_blackred.dmi new file mode 100644 index 0000000000..e75ce04381 Binary files /dev/null and b/icons/turf/floors/carpet_blackred.dmi differ diff --git a/icons/turf/floors/carpet_monochrome.dmi b/icons/turf/floors/carpet_monochrome.dmi new file mode 100644 index 0000000000..9ab9bc499e Binary files /dev/null and b/icons/turf/floors/carpet_monochrome.dmi differ diff --git a/modular_citadel/code/_onclick/hud/stamina.dm b/modular_citadel/code/_onclick/hud/stamina.dm index 5a5e613547..781b7cb25f 100644 --- a/modular_citadel/code/_onclick/hud/stamina.dm +++ b/modular_citadel/code/_onclick/hud/stamina.dm @@ -6,7 +6,12 @@ name = "stamina" icon_state = "stamina0" screen_loc = ui_stamina - mouse_opacity = 0 + mouse_opacity = 1 + +/obj/screen/staminas/Click(location,control,params) + if(isliving(usr)) + var/mob/living/L = usr + to_chat(L, "You have [L.getStaminaLoss()] stamina loss.
Your stamina buffer can take [L.stambuffer] stamina loss, and will use 50% of that stamina loss when recharging.
Your stamina buffer is [(L.stambuffer*(100/L.stambuffer))-(L.bufferedstam*(100/L.stambuffer))]% full.
") /mob/living/carbon/human/proc/staminahudamount() if(stat == DEAD || recoveringstam) diff --git a/modular_citadel/code/game/objects/ids.dm b/modular_citadel/code/game/objects/ids.dm index 5d67c18416..89a3c0f0c2 100644 --- a/modular_citadel/code/game/objects/ids.dm +++ b/modular_citadel/code/game/objects/ids.dm @@ -81,16 +81,3 @@ to_chat(user, "[ER] has no charges left.") return . = ..() - -/obj/item/card/emag/afterattack(atom/target, mob/user, proximity) - if(!uses) - user.visible_message("[src] emits a weak spark. It's burnt out!") - playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) - return - . = ..() - uses = max(uses - 1, 0) - if(!uses) - user.visible_message("[src] fizzles and sparks. It seems like it's out of charges.") - playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) - else if(uses <= 3) - playsound(src, 'sound/effects/light_flicker.ogg', 30, 1) //Tiiiiiiny warning sound to let ya know your emag's almost dead diff --git a/modular_citadel/code/game/objects/items/robot/robot_upgrades.dm b/modular_citadel/code/game/objects/items/robot/robot_upgrades.dm index 279685e94a..5f65b97173 100644 --- a/modular_citadel/code/game/objects/items/robot/robot_upgrades.dm +++ b/modular_citadel/code/game/objects/items/robot/robot_upgrades.dm @@ -1,4 +1,4 @@ -//V-tech kicked in yo +// Citadel's Vtech Controller /obj/effect/proc_holder/silicon/cyborg/vtecControl name = "vTec Control" desc = "Allows finer-grained control of the vTec speed boost." @@ -10,7 +10,6 @@ /obj/effect/proc_holder/silicon/cyborg/vtecControl/Click(mob/living/silicon/robot/user) - var/mob/living/silicon/robot/self = usr currentState = (currentState + 1) % 3 @@ -18,11 +17,11 @@ if(usr) switch(currentState) if (0) - self.speed += maxReduction + self.speed = maxReduction if (1) self.speed -= maxReduction*0.5 if (2) - self.speed -= maxReduction*0.5 + self.speed -= maxReduction*1.25 action.button_icon_state = "Chevron_State_[currentState]" action.UpdateButtonIcon() diff --git a/modular_citadel/code/modules/admin/chat_commands.dm b/modular_citadel/code/modules/admin/chat_commands.dm index 9cd25d328c..d5d66a1888 100644 --- a/modular_citadel/code/modules/admin/chat_commands.dm +++ b/modular_citadel/code/modules/admin/chat_commands.dm @@ -3,8 +3,15 @@ help_text = "What are Citadel Station 13 players salting about today? Spin the wheel and find out!" /datum/tgs_chat_command/wheelofsalt/Run(datum/tgs_chat_user/sender, params) - var/saltresult = "The wheel of salt [pick("clatters","vibrates","clanks","groans","moans","squeaks","emits a[pick(" god-forsaken"," lewd"," creepy"," generic","n orgasmic")] [pick("airhorn","bike horn","trumpet","clown","latex","vore","dog")] noise")] as it spins violently... And it seems the salt of the day is the " - var/saltprimarysubject = "[pick("combat","medical","grab","furry","wall","orgasm","cat","ERP","lizard","dog","latex","vision cone","atmospherics","table","chem","vore","dogborg","Skylar Lineman","Mekhi Anderson","Peppermint","rework","cum","dick","cockvore")]" - var/saltsecondarysubject = "[pick("rework","changes","r34","ban","removal","addition","leak","proposal","fanart","introduction","tabling","ERP")]" + var/saltresult = "The wheel of salt [pick("clatters","screams","vibrates","clanks","resonates","groans","moans","squeaks","emits a[pick(" god-forsaken"," lewd"," creepy"," generic","n orgasmic"," demonic")] [pick("airhorn","bike horn","trumpet","clown","latex","vore","dog","laughing")] noise")] as it spins violently... And it seems the salt of the day is the " + var/saltprimarysubject = "[pick("combat","medical","grab","furry","wall","orgasm","cat","ERP","lizard","dog","latex","vision cone","atmospherics","table","chem","vore","dogborg","Skylar Lineman","Mekhi Anderson","Peppermint","rework","cum","dick","cockvore","Medihound","sleeper","belly sleeper","door wires","flightsuit","coder privilege","Developer abuse","ban reason","github self merge","red panda","beret","male catgirl","powergame","hexacrocin","Discord server","Clitadel","Cargonia","Solarian Republic","Main and RP merger","bluespace","salt","chem dispenser theft","Botany","moth","BWOINK","anal vore","stamina","Mason Jakops","mining","noodle","milf","Lavaland","Necropolis","Ashwalker","Chase Redtail","Drew Mint","Pavel Marsk","Jecca Qua","Joker Amari","Durgit","chaplain","Antag","nanite","Syndicate","Nar-Sie","Ratvar","Cult","maint","Foam-Force","AI","cyborg","ghost","clockwork","cyberpunk","vaporwave","Clown","Leon Beech","Mime","security","research","Megafauna","Bubblegum","Ash Drake","Legion","Colossus","White Shuttle","Changeling","Cowboy","Space Ninja","Poly","Revolutionary","Skyrim","forbidden fruits","xenomorph","blob","Nuclear Operative","crossdressing")]" + var/saltsecondarysubject = "[pick("rework","changes","r34","ban","removal","addition","leak","proposal","fanart","introduction","tabling","ERP","bikeshedding","crossdressing","sprites","semen keg","argument","theft","nerf","screeching","salt","creampie","lewding","murder","kissing","marriage","replacement","fucking","ship","netflix adaptation","dance","remaster","system","voyeur","decoration","pre-order","bukkake","seduction","worship","gangbang","handholding")]" saltresult += "[saltprimarysubject] [saltsecondarysubject]" return "[saltresult]!" + +/datum/tgs_chat_command/despacito + name = "despacito" //someone please high effort this sometime and make it a full on ytdl search + help_text = "This is so sad." + +/datum/tgs_chat_command/despacito/Run() + return "https://www.youtube.com/watch?v=kJQP7kiw5Fk" diff --git a/modular_citadel/code/modules/antagonists/cult/blood_magic.dm b/modular_citadel/code/modules/antagonists/cult/blood_magic.dm deleted file mode 100644 index 065216a2c7..0000000000 --- a/modular_citadel/code/modules/antagonists/cult/blood_magic.dm +++ /dev/null @@ -1,3 +0,0 @@ -/datum/action/innate/cult/blood_spell/stun - charges = 4 - health_cost = 3 diff --git a/modular_citadel/code/modules/awaymissions/citadel_ghostrole_spawners.dm b/modular_citadel/code/modules/awaymissions/citadel_ghostrole_spawners.dm index 83f3680ff4..f6991f1d9f 100644 --- a/modular_citadel/code/modules/awaymissions/citadel_ghostrole_spawners.dm +++ b/modular_citadel/code/modules/awaymissions/citadel_ghostrole_spawners.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" roundstart = FALSE + job_description = "Cydonian Knight" death = FALSE random = TRUE outfit = /datum/outfit/lavaknight diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 8135532d85..eda53c0afe 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -258,7 +258,7 @@ datum/gear/darksabresheath category = SLOT_IN_BACKPACK path = /obj/item/reagent_containers/food/drinks/flask/steel cost = 2 - ckeywhitelist = list("johnnyvitrano") + ckeywhitelist = list("nik707") /datum/gear/paperhat name = "Paper Hat" @@ -331,4 +331,16 @@ datum/gear/darksabresheath name = "Divine robes" category = SLOT_W_UNIFORM path = /obj/item/clothing/under/lunasune - ckeywhitelist = list("invader4352") \ No newline at end of file + ckeywhitelist = list("invader4352") + +/datum/gear/gothcoat + name = "Goth Coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/gothcoat + ckeywhitelist = list("norko") + +/datum/gear/corgisuit + name = "Corgi Suit" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/ian_costume + ckeywhitelist = list("cathodetherobot") diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 9d3a6b9a02..773366c81e 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -18,6 +18,42 @@ category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/cloak/david cost = 3 + +/datum/gear/creamsweater + name = "Cream Commando Sweater" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/under/bb_sweater + cost = 1 + +/datum/gear/blacksweater + name = "Black Commando Sweater" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/under/bb_sweater/black + cost = 1 + +/datum/gear/purpsweater + name = "Purple Commando Sweater" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/under/bb_sweater/purple + cost = 1 + +/datum/gear/greensweater + name = "Green Commando Sweater" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/under/bb_sweater/green + cost = 1 + +/datum/gear/redsweater + name = "Red Commando Sweater" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/under/bb_sweater/red + cost = 1 + +/datum/gear/bluesweater + name = "Navy Commando Sweater" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/under/bb_sweater/blue + cost = 1 /datum/gear/jacketbomber name = "Bomber jacket" diff --git a/modular_citadel/code/modules/client/preferences_toggles.dm b/modular_citadel/code/modules/client/preferences_toggles.dm index 7e3a78144e..350c19ab64 100644 --- a/modular_citadel/code/modules/client/preferences_toggles.dm +++ b/modular_citadel/code/modules/client/preferences_toggles.dm @@ -22,15 +22,15 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)() return C.prefs.cit_toggles & DIGESTION_NOISES TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglehoundsleeper)() - set name = "Allow/Deny Hound Sleeper" + set name = "Toggle Voracious Hound Sleepers" set category = "Preferences" - set desc = "Allow MediHound Sleepers" + set desc = "Toggles Voracious MediHound Sleepers" usr.client.prefs.cit_toggles ^= MEDIHOUND_SLEEPER usr.client.prefs.save_preferences() if(usr.client.prefs.cit_toggles & MEDIHOUND_SLEEPER) - to_chat(usr, "You will now allow MediHounds to place you in their sleeper.") + to_chat(usr, "You have opted in for voracious medihound sleepers.") else - to_chat(usr, "You will no longer allow MediHounds to place you in their sleeper.") + to_chat(usr, "Medihound sleepers will no longer be voracious when you're involved.") SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle MediHound Sleeper", "[usr.client.prefs.cit_toggles & MEDIHOUND_SLEEPER ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/verbs/menu/Settings/Sound/togglehoundsleeper/Get_checked(client/C) - return C.prefs.cit_toggles & MEDIHOUND_SLEEPER \ No newline at end of file + return C.prefs.cit_toggles & MEDIHOUND_SLEEPER diff --git a/modular_citadel/code/modules/clothing/spacesuits/cydonian_armor.dm b/modular_citadel/code/modules/clothing/spacesuits/cydonian_armor.dm index 209c2d0448..1d896952c4 100644 --- a/modular_citadel/code/modules/clothing/spacesuits/cydonian_armor.dm +++ b/modular_citadel/code/modules/clothing/spacesuits/cydonian_armor.dm @@ -18,6 +18,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator) var/energy_color = "#35FFF0" var/obj/item/clothing/suit/space/hardsuit/lavaknight/linkedsuit = null + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/head/helmet/space/hardsuit/lavaknight/New() ..() diff --git a/modular_citadel/code/modules/clothing/suits/suits.dm b/modular_citadel/code/modules/clothing/suits/suits.dm index 8d7de7be01..22e4aef6a9 100644 --- a/modular_citadel/code/modules/clothing/suits/suits.dm +++ b/modular_citadel/code/modules/clothing/suits/suits.dm @@ -11,6 +11,7 @@ alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' icon_state = "hostrench" item_state = "hostrench" + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/hooded/cloak/david name = "red cloak" @@ -18,12 +19,14 @@ desc = "Ever wanted to look like a badass without ANY effort? Try this nanotrasen brand red cloak, perfect for kids" hoodtype = /obj/item/clothing/head/hooded/cloakhood/david body_parts_covered = CHEST|GROIN|ARMS + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/head/hooded/cloakhood/david name = "red cloak hood" icon_state = "golhood" desc = "conceal your face in shame with this nanotrasen brand hood" flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/flakjack name = "flak jacket" @@ -35,4 +38,5 @@ blood_overlay_type = "armor" body_parts_covered = CHEST resistance_flags = NONE + mutantrace_variation = NO_MUTANTRACE_VARIATION armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 5, "bio" = 0, "rad" = 0, "fire" = -5, "acid" = -15) //nylon sucks against acid \ No newline at end of file diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index a243d48e27..8e26f8014f 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -78,6 +78,7 @@ icon_state = "labred" alternate_worn_icon = 'icons/mob/custom_w.dmi' item_state = "labred" + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/clothing/suit/toggle/labcoat/labredblack name = "Black and Red Coat" @@ -86,6 +87,7 @@ icon_state = "labredblack" alternate_worn_icon = 'icons/mob/custom_w.dmi' item_state = "labredblack" + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/toy/plush/carrot name = "carrot plushie" @@ -191,6 +193,7 @@ alternate_worn_icon = 'icons/mob/custom_w.dmi' item_state = "hos-g" body_parts_covered = CHEST|GROIN|ARMS|LEGS + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/reagent_containers/food/drinks/flask/russian name = "russian flask" @@ -272,6 +275,7 @@ /obj/item/clothing/under/bb_sweater/black/naomi name = "worn black sweater" + mutantrace_variation = NO_MUTANTRACE_VARIATION desc = "A well-loved sweater, showing signs of several cleanings and re-stitchings. And a few stains. Is that cat fur?" /obj/item/clothing/neck/petcollar/naomi @@ -344,6 +348,7 @@ item_state = "darkcarapace" blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back + mutantrace_variation = NO_MUTANTRACE_VARIATION armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) @@ -370,6 +375,7 @@ icon_state = "rdcoat" alternate_worn_icon = 'icons/mob/custom_w.dmi' item_state = "rdcoat" + mutantrace_variation = NO_MUTANTRACE_VARIATION /obj/item/custom/leechjar name = "Jar of Leeches" diff --git a/modular_citadel/code/modules/jobs/job_types/medical.dm b/modular_citadel/code/modules/jobs/job_types/medical.dm index 24505322f3..31c8b7d3c4 100644 --- a/modular_citadel/code/modules/jobs/job_types/medical.dm +++ b/modular_citadel/code/modules/jobs/job_types/medical.dm @@ -2,9 +2,7 @@ minimal_player_age = 30 /datum/outfit/job/doctor - ..() backpack_contents = list(/obj/item/storage/hypospraykit/regular) /datum/outfit/job/chemist - ..() backpack_contents = list(/obj/item/storage/hypospraykit/regular) diff --git a/modular_citadel/code/modules/jobs/jobs.dm b/modular_citadel/code/modules/jobs/jobs.dm deleted file mode 100644 index 85e8043d62..0000000000 --- a/modular_citadel/code/modules/jobs/jobs.dm +++ /dev/null @@ -1,28 +0,0 @@ -GLOBAL_LIST_INIT(command_positions, list( - "Captain", - "Head of Personnel", - "Head of Security", - "Chief Engineer", - "Research Director", - "Chief Medical Officer", - "Quartermaster")) - -GLOBAL_LIST_INIT(supply_positions, list( - "Quartermaster", - "Cargo Technician", - "Shaft Miner")) - -GLOBAL_LIST_INIT(civilian_positions, list( - "Head of Personnel", - "Bartender", - "Botanist", - "Cook", - "Janitor", - "Curator", - "Lawyer", - "Chaplain", - "Clown", - "Mime", - "Assistant")) - - diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm index 920c543e84..c76b8f2c12 100644 --- a/modular_citadel/code/modules/mob/cit_emotes.dm +++ b/modular_citadel/code/modules/mob/cit_emotes.dm @@ -160,3 +160,38 @@ user.nextsoundemote = world.time + 7 playsound(user, 'modular_citadel/sound/voice/weh.ogg', 50, 1, -1) . = ..() + +/datum/emote/living/peep + key = "peep" + key_third_person = "peeps like a bird" + message = "peeps like a bird!" + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/peep/run_emote(mob/living/user, params) + if(ishuman(user)) + if(user.nextsoundemote >= world.time) + return + user.nextsoundemote = world.time + 7 + playsound(user, 'modular_citadel/sound/voice/peep.ogg', 50, 1, -1) + . = ..() + +/datum/emote/living/dab + key = "dab" + key_third_person = "suddenly hits a dab" + message = "suddenly hits a dab!" + emote_type = EMOTE_AUDIBLE + + + +/datum/emote/living/dab/run_emote(mob/living/user, params) + if (ishuman(user)) + var/def_zone = BODY_ZONE_CHEST + var/luck = (rand(1,100)) + if(luck >= 65) + user.adjustStaminaLoss(70) + if(luck >= 80) + def_zone = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM) + user.apply_damage(20, BRUTE, def_zone) + if(luck >= 95) + user.adjustBrainLoss(100) + . = ..() \ No newline at end of file diff --git a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm index 0b4e744772..38343838e9 100644 --- a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -1,16 +1,16 @@ /datum/sprite_accessory var/extra = FALSE - var/extra_icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' var/extra_color_src = MUTCOLORS2 //The color source for the extra overlay. var/extra2 = FALSE - var/extra2_icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + var/extra_icon = 'modular_citadel/icons/mob/mam_tails.dmi' + var/extra2_icon = 'modular_citadel/icons/mob/mam_tails.dmi' var/extra2_color_src = MUTCOLORS3 var/list/ckeys_allowed /* tbi eventually idk /datum/sprite_accessory/legs/digitigrade_mam name = "Anthro Digitigrade Legs" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' */ /datum/sprite_accessory/moth_wings/none @@ -37,128 +37,123 @@ name = "Red Panda" icon_state = "ailurus" color_src = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/axolotl name = "Axolotl" icon_state = "axolotl" + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/axolotl name = "Axolotl" icon_state = "axolotl" + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/axolotl name = "Axolotl" icon_state = "axolotl" + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/bear name = "Bear" icon_state = "bear" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/bear name = "Bear" icon_state = "bear" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/bear name = "Bear" icon_state = "bear" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails/human/catbig name = "Cat, Big" icon_state = "catbig" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/catbig name = "Cat, Big" icon_state = "catbig" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/cow name = "Cow" icon_state = "cow" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' gender_specific = 1 /datum/sprite_accessory/tails/human/cow name = "Cow" icon_state = "cow" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/cow name = "Cow" icon_state = "cow" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/curled name = "Curled Horn" icon_state = "horn1" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MUTCOLORS3 -/datum/sprite_accessory/tails/human/eevee - name = "Eevee" - icon_state = "eevee" - extra = TRUE - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - /datum/sprite_accessory/ears/human/eevee name = "Eevee" icon_state = "eevee" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' + +/datum/sprite_accessory/tails/human/eevee + name = "Eevee" + icon_state = "eevee" + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/eevee name = "Eevee" icon_state = "eevee" - extra = TRUE - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/elephant name = "Elephant" icon_state = "elephant" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - -//datum/sprite_accessory/ears/elf -// name = "Elf" -// icon_state = "elf" -// icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' -// ckeys_allowed = list("atiefling") + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/ears/fennec name = "Fennec" icon_state = "fennec" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' hasinner = 1 /datum/sprite_accessory/tails/human/fennec name = "Fennec" icon_state = "fennec" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/fennec name = "Fennec" icon_state = "fennec" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/fish name = "Fish" icon_state = "fish" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MUTCOLORS3 /datum/sprite_accessory/tails/human/fish name = "Fish" icon_state = "fish" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' extra = TRUE extra_color_src = MUTCOLORS3 /datum/sprite_accessory/tails_animated/human/fish name = "Fish" icon_state = "fish" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' extra = TRUE extra_color_src = MUTCOLORS3 @@ -166,53 +161,53 @@ name = "Fox" icon_state = "fox" hasinner = 1 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/fox name = "Fox" icon_state = "fox" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' extra = TRUE /datum/sprite_accessory/tails_animated/human/fox name = "Fox" icon_state = "fox" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' extra = TRUE /datum/sprite_accessory/tails/human/horse name = "Horse" icon_state = "horse" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' color_src = HAIR /datum/sprite_accessory/tails_animated/human/horse name = "Horse" icon_state = "horse" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' color_src = HAIR /datum/sprite_accessory/tails/human/husky name = "Husky" icon_state = "husky" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' extra = TRUE /datum/sprite_accessory/tails_animated/human/husky name = "Husky" icon_state = "husky" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' extra = TRUE /datum/sprite_accessory/tails/human/insect name = "Insect" icon_state = "insect" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/insect name = "insect" icon_state = "insect" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/jellyfish name = "Jellyfish" @@ -224,287 +219,298 @@ icon_state = "kitsune" extra = TRUE extra_color_src = MUTCOLORS2 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/kitsune name = "Kitsune" icon_state = "kitsune" extra = TRUE extra_color_src = MUTCOLORS2 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/lab name = "Dog, Floppy" icon_state = "lab" hasinner = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/ears/murid name = "Murid" icon_state = "murid" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/murid name = "Murid" icon_state = "murid" color_src = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/murid name = "Murid" icon_state = "murid" color_src = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/otie name = "Otusian" icon_state = "otie" hasinner= 1 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/otie name = "Otusian" icon_state = "otie" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/otie name = "Otusian" icon_state = "otie" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails/orca name = "Orca" icon_state = "orca" extra = TRUE - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/orca name = "Orca" icon_state = "orca" extra = TRUE - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/pede name = "Scolipede" icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE + icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MUTCOLORS2 extra_color_src = MUTCOLORS3 /datum/sprite_accessory/tails/human/pede name = "Scolipede" icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE - extra2 = TRUE - color_src = MUTCOLORS - extra_color_src = MUTCOLORS2 - extra2_color_src = MUTCOLORS3 + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/pede name = "Scolipede" icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE - extra2 = TRUE - color_src = MUTCOLORS - extra_color_src = MUTCOLORS2 - extra2_color_src = MUTCOLORS3 + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/rabbit name = "Rabbit" icon_state = "rabbit" hasinner= 1 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/rabbit name = "Rabbit" icon_state = "rabbit" color_src = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/rabbit name = "Rabbit" icon_state = "rabbit" color_src = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/sergal name = "Sergal" icon_state = "sergal" hasinner= 1 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/sergal name = "Sergal" icon_state = "sergal" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/sergal name = "Sergal" icon_state = "sergal" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/human/skunk name = "skunk" icon_state = "skunk" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/skunk name = "skunk" icon_state = "skunk" color_src = 0 + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/skunk name = "skunk" icon_state = "skunk" color_src = 0 + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails/human/shark name = "Shark" icon_state = "shark" color_src = MUTCOLORS - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails/human/shark/datashark name = "datashark" icon_state = "datashark" color_src = 0 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/squirrel name = "Squirrel" icon_state = "squirrel" hasinner= 1 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/squirrel name = "Squirrel" icon_state = "squirrel" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/squirrel name = "Squirrel" icon_state = "squirrel" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails/human/yentacle name = "Tentacle" icon_state = "tentacle" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/tentacle name = "Tentacle" icon_state = "tentacle" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/ears/wolf name = "Wolf" icon_state = "wolf" hasinner = 1 - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/tails/human/wolf name = "Wolf" icon_state = "wolf" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/tails_animated/human/wolf name = "Wolf" icon_state = "wolf" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_tails.dmi' /****************************************** *************** Body Parts **************** *******************************************/ /datum/sprite_accessory/mam_ears - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + extra = TRUE + extra2 = TRUE + icon = 'modular_citadel/icons/mob/mam_ears.dmi' + extra_icon = 'modular_citadel/icons/mob/mam_ears.dmi' + extra2_icon = 'modular_citadel/icons/mob/mam_ears.dmi' + /datum/sprite_accessory/mam_ears/none name = "None" + icon_state = "none" /datum/sprite_accessory/mam_tails - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + extra = TRUE + extra2 = TRUE + icon = 'modular_citadel/icons/mob/mam_tails.dmi' + extra_icon = 'modular_citadel/icons/mob/mam_tails.dmi' + extra2_icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/mam_tails/none name = "None" + icon_state = "none" /datum/sprite_accessory/mam_tails_animated - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + extra = TRUE + extra2 = TRUE + icon = 'modular_citadel/icons/mob/mam_tails.dmi' + extra_icon = 'modular_citadel/icons/mob/mam_tails.dmi' + extra2_icon = 'modular_citadel/icons/mob/mam_tails.dmi' /datum/sprite_accessory/mam_tails_animated/none name = "None" + icon_state = "none" + +/datum/sprite_accessory/snouts + +/datum/sprite_accessory/snouts/none + name = "None" + icon_state = "none" + extra_icon = 'modular_citadel/icons/mob/mam_snouts.dmi' + extra2_icon = 'modular_citadel/icons/mob/mam_snouts.dmi' + /****************************************** **************** Snouts ******************* *******************************************/ -/datum/sprite_accessory/snouts/none - name = "None" - icon_state = "none" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - /datum/sprite_accessory/snouts/bird name = "Beak" icon_state = "bird" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MUTCOLORS3 /datum/sprite_accessory/snouts/bigbeak name = "Big Beak" icon_state = "bigbeak" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MUTCOLORS3 /datum/sprite_accessory/snouts/elephant name = "Elephant" icon_state = "elephant" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE extra_color_src = MUTCOLORS3 /datum/sprite_accessory/snouts/lcanid name = "Fox, Long" icon_state = "lcanid" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE /datum/sprite_accessory/snouts/scanid name = "Fox, Short" icon_state = "scanid" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE /datum/sprite_accessory/snouts/wolf name = "Wolf" icon_state = "wolf" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE /datum/sprite_accessory/snouts/rhino name = "Horn" icon_state = "rhino" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE extra = MUTCOLORS3 /datum/sprite_accessory/snouts/husky name = "Husky" icon_state = "husky" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE /datum/sprite_accessory/snouts/otie name = "Otie" icon_state = "otie" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE /datum/sprite_accessory/snouts/pede name = "Scolipede" icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' extra = TRUE color_src = MUTCOLORS extra_color_src = MUTCOLORS2 @@ -512,17 +518,122 @@ /datum/sprite_accessory/snouts/sergal name = "Sergal" icon_state = "sergal" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MUTCOLORS2 /datum/sprite_accessory/snouts/toucan name = "Toucan" icon_state = "toucan" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MUTCOLORS3 /****************************************** -************ Actual Species *************** +***************** Ears ******************** +*******************************************/ + +/datum/sprite_accessory/mam_ears/axolotl + name = "Axolotl" + icon_state = "axolotl" + +/datum/sprite_accessory/mam_ears/bear + name = "Bear" + icon_state = "bear" + +/datum/sprite_accessory/mam_ears/catbig + name = "Cat, Big" + icon_state = "catbig" + hasinner = 1 + +/datum/sprite_accessory/mam_ears/cow + name = "Cow" + icon_state = "cow" + +/datum/sprite_accessory/mam_ears/deer + name = "Deer" + icon_state = "deer" + +/datum/sprite_accessory/mam_ears/eevee + name = "Eevee" + icon_state = "eevee" + +/datum/sprite_accessory/mam_ears/elephant + name = "Elephant" + icon_state = "elephant" + +/datum/sprite_accessory/mam_ears/fennec + name = "Fennec" + icon_state = "fennec" + hasinner = 1 + +/datum/sprite_accessory/mam_ears/fish + name = "Fish" + icon_state = "fish" + color_src = MUTCOLORS3 + +/datum/sprite_accessory/mam_ears/fox + name = "Fox" + icon_state = "fox" + hasinner = 1 + +/datum/sprite_accessory/mam_ears/husky + name = "Husky" + icon_state = "wolf" + +/datum/sprite_accessory/mam_ears/kangaroo + name = "kangaroo" + icon_state = "kangaroo" + +/datum/sprite_accessory/mam_ears/lab + name = "Dog, Long" + icon_state = "lab" + +/datum/sprite_accessory/mam_ears/murid + name = "Murid" + icon_state = "murid" + +/datum/sprite_accessory/mam_ears/neko + name = "Neko" + icon_state = "cat" + hasinner = 1 + color_src = HAIR + +/datum/sprite_accessory/mam_ears/otie + name = "Otusian" + icon_state = "otie" + hasinner= 1 + +/datum/sprite_accessory/mam_ears/squirrel + name = "Squirrel" + icon_state = "squirrel" + hasinner= 1 + +/datum/sprite_accessory/mam_ears/pede + name = "Scolipede" + icon_state = "pede" + color_src = MUTCOLORS2 + extra_color_src = MUTCOLORS3 + +/datum/sprite_accessory/mam_ears/rabbit + name = "Rabbit" + icon_state = "rabbit" + hasinner= 1 + +/datum/sprite_accessory/mam_ears/sergal + name = "Sergal" + icon_state = "sergal" + hasinner= 1 + +/datum/sprite_accessory/mam_ears/skunk + name = "skunk" + icon_state = "skunk" + +/datum/sprite_accessory/mam_ears/wolf + name = "Wolf" + icon_state = "wolf" + hasinner = 1 + +/****************************************** +*********** Tails and Things ************** *******************************************/ /datum/sprite_accessory/mam_tails/ailurus @@ -535,10 +646,6 @@ icon_state = "ailurus" extra = TRUE -/datum/sprite_accessory/mam_ears/axolotl - name = "Axolotl" - icon_state = "axolotl" - /datum/sprite_accessory/mam_tails/axolotl name = "Axolotl" icon_state = "axolotl" @@ -547,10 +654,6 @@ name = "Axolotl" icon_state = "axolotl" -/datum/sprite_accessory/mam_ears/bear - name = "Bear" - icon_state = "bear" - /datum/sprite_accessory/mam_tails/bear name = "Bear" icon_state = "bear" @@ -559,11 +662,6 @@ name = "Bear" icon_state = "bear" -/datum/sprite_accessory/mam_ears/catbig - name = "Cat, Big" - icon_state = "catbig" - hasinner = 1 - /datum/sprite_accessory/mam_tails/catbig name = "Cat, Big" icon_state = "catbig" @@ -572,11 +670,6 @@ name = "Cat, Big" icon_state = "catbig" -/datum/sprite_accessory/mam_ears/cow - name = "Cow" - icon_state = "cow" - gender_specific = 1 - /datum/sprite_accessory/mam_tail/cow name = "Cow" icon_state = "cow" @@ -589,33 +682,16 @@ name = "Curled Horn" icon_state = "horn1" -/datum/sprite_accessory/mam_ears/deer - name = "Deer" - icon_state = "deer" - /datum/sprite_accessory/mam_tails/eevee name = "Eevee" icon_state = "eevee" extra = TRUE -/datum/sprite_accessory/mam_ears/eevee - name = "Eevee" - icon_state = "eevee" - /datum/sprite_accessory/mam_tails_animated/eevee name = "Eevee" icon_state = "eevee" extra = TRUE -/datum/sprite_accessory/mam_ears/elephant - name = "Elephant" - icon_state = "elephant" - -/datum/sprite_accessory/mam_ears/fennec - name = "Fennec" - icon_state = "fennec" - hasinner = 1 - /datum/sprite_accessory/mam_tails/fennec name = "Fennec" icon_state = "fennec" @@ -624,11 +700,6 @@ name = "Fennec" icon_state = "fennec" -/datum/sprite_accessory/mam_ears/fish - name = "Fish" - icon_state = "fish" - color_src = MUTCOLORS3 - /datum/sprite_accessory/mam_tails/human/fish name = "Fish" icon_state = "fish" @@ -641,11 +712,6 @@ extra = TRUE extra_color_src = MUTCOLORS3 -/datum/sprite_accessory/mam_ears/fox - name = "Fox" - icon_state = "fox" - hasinner = 1 - /datum/sprite_accessory/mam_tails/fox name = "Fox" icon_state = "fox" @@ -674,12 +740,6 @@ icon_state = "Horse" color_src = HAIR -/datum/sprite_accessory/mam_ears/husky - name = "Husky" - icon_state = "wolf" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE - /datum/sprite_accessory/mam_tails/husky name = "Husky" icon_state = "husky" @@ -698,11 +758,6 @@ datum/sprite_accessory/mam_tails/insect name = "Insect" icon_state = "insect" -/datum/sprite_accessory/mam_ears/kangaroo - name = "kangaroo" - icon_state = "kangaroo" - extra = TRUE - /datum/sprite_accessory/mam_tails/kangaroo name = "kangaroo" icon_state = "kangaroo" @@ -726,10 +781,6 @@ datum/sprite_accessory/mam_tails/insect icon_state = "kitsune" extra = TRUE -/datum/sprite_accessory/mam_ears/lab - name = "Dog, Long" - icon_state = "lab" - /datum/sprite_accessory/mam_tails/lab name = "Lab" icon_state = "lab" @@ -738,10 +789,6 @@ datum/sprite_accessory/mam_tails/insect name = "Lab" icon_state = "lab" -/datum/sprite_accessory/mam_ears/murid - name = "Murid" - icon_state = "murid" - /datum/sprite_accessory/mam_tails/murid name = "Murid" icon_state = "murid" @@ -752,29 +799,15 @@ datum/sprite_accessory/mam_tails/insect icon_state = "murid" color_src = 0 -/datum/sprite_accessory/mam_ears/neko - name = "Neko" - icon_state = "cat" - hasinner = 1 - color_src = HAIR - icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' - /datum/sprite_accessory/mam_tails/neko name = "Neko" icon_state = "cat" color_src = HAIR - icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' /datum/sprite_accessory/mam_tails_animated/neko name = "Neko" icon_state = "cat" color_src = HAIR - icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' - -/datum/sprite_accessory/mam_ears/otie - name = "Otusian" - icon_state = "otie" - hasinner= 1 /datum/sprite_accessory/mam_tails/otie name = "Otusian" @@ -794,38 +827,13 @@ datum/sprite_accessory/mam_tails/insect icon_state = "orca" extra = TRUE -/datum/sprite_accessory/mam_ears/pede - name = "Scolipede" - icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE - color_src = MUTCOLORS2 - extra_color_src = MUTCOLORS3 - /datum/sprite_accessory/mam_tails/pede name = "Scolipede" icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE - extra2 = TRUE - color_src = MUTCOLORS - extra_color_src = MUTCOLORS2 - extra2_color_src = MUTCOLORS3 /datum/sprite_accessory/mam_tails_animated/pede name = "Scolipede" icon_state = "pede" - icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' - extra = TRUE - extra2 = TRUE - color_src = MUTCOLORS - extra_color_src = MUTCOLORS2 - extra2_color_src = MUTCOLORS3 - -/datum/sprite_accessory/mam_ears/rabbit - name = "Rabbit" - icon_state = "rabbit" - hasinner= 1 /datum/sprite_accessory/mam_tails/rabbit name = "Rabbit" @@ -835,11 +843,6 @@ datum/sprite_accessory/mam_tails/insect name = "Rabbit" icon_state = "rabbit" -/datum/sprite_accessory/mam_ears/sergal - name = "Sergal" - icon_state = "sergal" - hasinner= 1 - /datum/sprite_accessory/mam_tails/sergal name = "Sergal" icon_state = "sergal" @@ -848,10 +851,6 @@ datum/sprite_accessory/mam_tails/insect name = "Sergal" icon_state = "sergal" -/datum/sprite_accessory/mam_ears/skunk - name = "skunk" - icon_state = "skunk" - /datum/sprite_accessory/mam_tails/skunk name = "skunk" icon_state = "skunk" @@ -886,11 +885,6 @@ datum/sprite_accessory/mam_tails/insect extra = TRUE extra2 = TRUE -/datum/sprite_accessory/mam_ears/squirrel - name = "Squirrel" - icon_state = "squirrel" - hasinner= 1 - /datum/sprite_accessory/mam_tails/squirrel name = "Squirrel" icon_state = "squirrel" @@ -907,11 +901,6 @@ datum/sprite_accessory/mam_tails/tentacle name = "Tentacle" icon_state = "tentacle" -/datum/sprite_accessory/mam_ears/wolf - name = "Wolf" - icon_state = "wolf" - hasinner = 1 - /datum/sprite_accessory/mam_tails/wolf name = "Wolf" icon_state = "wolf" @@ -1082,6 +1071,7 @@ datum/sprite_accessory/mam_tails/tentacle extra2 = TRUE center = TRUE dimension_x = 64 + var/taur_mode = NOT_TAURIC /datum/sprite_accessory/taur/none name = "None" @@ -1090,10 +1080,12 @@ datum/sprite_accessory/mam_tails/tentacle /datum/sprite_accessory/taur/cow name = "Cow" icon_state = "cow" + taur_mode = HOOF_TAURIC /datum/sprite_accessory/taur/drake name = "Drake" icon_state = "drake" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/drider name = "Drider" @@ -1102,59 +1094,67 @@ datum/sprite_accessory/mam_tails/tentacle /datum/sprite_accessory/taur/eevee name = "Eevee" icon_state = "eevee" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/fox name = "Fox" icon_state = "fox" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/husky name = "Husky" icon_state = "husky" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/horse name = "Horse" icon_state = "horse" + taur_mode = HOOF_TAURIC /datum/sprite_accessory/taur/lab name = "Lab" icon_state = "lab" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/naga name = "Naga" icon_state = "naga" - -/datum/sprite_accessory/taur/tentacle - name = "Tentacle" - icon_state = "tentacle" + taur_mode = SNEK_TAURIC /datum/sprite_accessory/taur/otie name = "Otie" icon_state = "otie" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/pede name = "Scolipede" icon_state = "pede" - extra = TRUE - extra2 = TRUE - color_src = MUTCOLORS - extra_color_src = MUTCOLORS2 - extra2_color_src = MUTCOLORS3 + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/panther name = "Panther" icon_state = "panther" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/shepherd name = "Shepherd" icon_state = "shepherd" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/tajaran name = "Tajaran" icon_state = "tajaran" + taur_mode = PAW_TAURIC + +/datum/sprite_accessory/taur/tentacle + name = "Tentacle" + icon_state = "tentacle" + taur_mode = SNEK_TAURIC /datum/sprite_accessory/taur/wolf name = "Wolf" icon_state = "wolf" + taur_mode = PAW_TAURIC /****************************************** *************** Ayyliums ****************** @@ -1362,24 +1362,25 @@ datum/sprite_accessory/mam_tails/tentacle // *** Snooooow flaaaaake *** -/datum/sprite_accessory/mam_body_markings/guilmon +/datum/sprite_accessory/body_markings/guilmon name = "Guilmon" icon_state = "guilmon" gender_specific = 1 -/datum/sprite_accessory/mam_tails/guilmon +/datum/sprite_accessory/tails/lizard/guilmon name = "Guilmon" icon_state = "guilmon" extra = TRUE -/datum/sprite_accessory/mam_tails_animated/guilmon +/datum/sprite_accessory/tails_animated/lizard/guilmon name = "Guilmon" icon_state = "guilmon" extra = TRUE -/datum/sprite_accessory/mam_ears/guilmon +/datum/sprite_accessory/horns/guilmon name = "Guilmon" icon_state = "guilmon" + icon = 'modular_citadel/icons/mob/mam_ears.dmi' /datum/sprite_accessory/snout/guilmon name = "Guilmon" @@ -1456,199 +1457,199 @@ datum/sprite_accessory/mam_tails/tentacle /*************** VIRGO PORTED HAIRS ****************************/ #define VHAIR(_name, new_state) /datum/sprite_accessory/hair/##new_state/icon_state=#new_state;/datum/sprite_accessory/hair/##new_state/name = "Virgo - " + #_name //VIRGO PORTED HAIRS -VHAIR(Short Hair Rosa, hair_rosa_s) -VHAIR(Short Hair 80s, hair_80s_s) -VHAIR(Long Bedhead, hair_long_bedhead_s) -VHAIR(Dave, hair_dave_s) -VHAIR(Country, hair_country_s) -VHAIR(Shy, hair_shy_s) -VHAIR(Unshaven Mohawk, hair_unshaven_mohawk_s) -VHAIR(Manbun, hair_manbun_s) -VHAIR(Longer Bedhead, hair_longer_bedhead_s) -VHAIR(Ponytail, hair_ponytail_s) -VHAIR(Ziegler, hair_ziegler_s) -VHAIR(Emo Fringe, hair_emofringe_s) -VHAIR(Very Short Over Eye Alt, hair_veryshortovereyealternate_s) -VHAIR(Shorthime, hair_shorthime_s) -VHAIR(High Tight, hair_hightight_s) -VHAIR(Thinning Front, hair_thinningfront_s) -VHAIR(Big Afro, hair_bigafro_s) -VHAIR(Afro, hair_afro_s) -VHAIR(High Braid, hair_hbraid_s) -VHAIR(Braid, hair_braid_s) -VHAIR(Sargeant, hair_sargeant_s) -VHAIR(Gelled, hair_gelled_s) -VHAIR(Kagami, hair_kagami_s) -VHAIR(ShortTail, hair_stail_s) -VHAIR(Gentle, hair_gentle_s) -VHAIR(Grande, hair_grande_s) -VHAIR(Bobcurl, hair_bobcurl_s) -VHAIR(Pompadeur, hair_pompadour_s) -VHAIR(Plait, hair_plait_s) -VHAIR(Long, hair_long_s) -VHAIR(Rattail, hair_rattail_s) -VHAIR(Tajspiky, hair_tajspiky_s) -VHAIR(Messy, hair_messy_s) -VHAIR(Bangs, hair_bangs_s) -VHAIR(TBraid, hair_tbraid_s) -VHAIR(Toriyama2, hair_toriyama2_s) -VHAIR(CIA, hair_cia_s) -VHAIR(Mulder, hair_mulder_s) -VHAIR(Scully, hair_scully_s) -VHAIR(Nitori, hair_nitori_s) -VHAIR(Joestar, hair_joestar_s) -VHAIR(Ponytail4, hair_ponytail4_s) -VHAIR(Ponytail5, hair_ponytail5_s) -VHAIR(Beehive2, hair_beehive2_s) -VHAIR(Short Braid, hair_shortbraid_s) -VHAIR(Reverse Mohawk, hair_reversemohawk_s) -VHAIR(SHort Bangs, hair_shortbangs_s) -VHAIR(Half Shaved, hair_halfshaved_s) -VHAIR(Longer Alt 2, hair_longeralt2_s) -VHAIR(Bun, hair_bun_s) -VHAIR(Curly, hair_curly_s) -VHAIR(Victory, hair_victory_s) -VHAIR(Ponytail6, hair_ponytail6_s) -VHAIR(Undercut3, hair_undercut3_s) -VHAIR(Bobcut Alt, hair_bobcultalt_s) -VHAIR(Fingerwave, hair_fingerwave_s) -VHAIR(Oxton, hair_oxton_s) -VHAIR(Poofy2, hair_poofy2_s) -VHAIR(Fringe Tail, hair_fringetail_s) -VHAIR(Bun3, hair_bun3_s) -VHAIR(Wisp, hair_wisp_s) -VHAIR(Undercut2, hair_undercut2_s) -VHAIR(TBob, hair_tbob_s) -VHAIR(Spiky Ponytail, hair_spikyponytail_s) -VHAIR(Rowbun, hair_rowbun_s) -VHAIR(Rowdualtail, hair_rowdualtail_s) -VHAIR(Rowbraid, hair_rowbraid_s) -VHAIR(Shaved Mohawk, hair_shavedmohawk_s) -VHAIR(Topknot, hair_topknot_s) -VHAIR(Ronin, hair_ronin_s) -VHAIR(Bowlcut2, hair_bowlcut2_s) -VHAIR(Thinning Rear, hair_thinningrear_s) -VHAIR(Thinning, hair_thinning_s) -VHAIR(Jade, hair_jade_s) -VHAIR(Bedhead, hair_bedhead_s) -VHAIR(Dreadlocks, hair_dreads_s) -VHAIR(Very Long, hair_vlong_s) -VHAIR(Jensen, hair_jensen_s) -VHAIR(Halfbang, hair_halfbang_s) -VHAIR(Kusangi, hair_kusangi_s) -VHAIR(Ponytail, hair_ponytail_s) -VHAIR(Ponytail3, hair_ponytail3_s) -VHAIR(Halfbang Alt, hair_halfbang_alt_s) -VHAIR(Bedhead V2, hair_bedheadv2_s) -VHAIR(Long Fringe, hair_longfringe_s) -VHAIR(Flair, hair_flair_s) -VHAIR(Bedhead V3, hair_bedheadv3_s) -VHAIR(Himecut, hair_himecut_s) -VHAIR(Curls, hair_curls_s) -VHAIR(Very Long Fringe, hair_vlongfringe_s) -VHAIR(Longest, hair_longest_s) -VHAIR(Father, hair_father_s) -VHAIR(Emo Long, hair_emolong_s) -VHAIR(Short Hair 3, hair_shorthair3_s) -VHAIR(Double Bun, hair_doublebun_s) -VHAIR(Sleeze, hair_sleeze_s) -VHAIR(Twintail, hair_twintail_s) -VHAIR(Emo 2, hair_emo2_s) -VHAIR(Low Fade, hair_lowfade_s) -VHAIR(Med Fade, hair_medfade_s) -VHAIR(High Fade, hair_highfade_s) -VHAIR(Bald Fade, hair_baldfade_s) -VHAIR(No Fade, hair_nofade_s) -VHAIR(Trim Flat, hair_trimflat_s) -VHAIR(Shaved, hair_shaved_s) -VHAIR(Trimmed, hair_trimmed_s) -VHAIR(Tight Bun, hair_tightbun_s) -VHAIR(Short Hair 4, hair_d_s) -VHAIR(Short Hair 5, hair_e_s) -VHAIR(Short Hair 6, hair_f_s) -VHAIR(Skinhead, hair_skinhead_s) -VHAIR(Afro2, hair_afro2_s) -VHAIR(Bobcut, hair_bobcut_s) -VHAIR(Emo, hair_emo_s) -VHAIR(Long Over Eye, hair_longovereye_s) -VHAIR(Feather, hair_feather_s) -VHAIR(Hitop, hair_hitop_s) -VHAIR(Short Over Eye, hair_shortoverye_s) -VHAIR(Straight, hair_straight_s) -VHAIR(Buzzcut, hair_buzzcut_s) -VHAIR(Combover, hair_combover_s) -VHAIR(Crewcut, hair_crewcut_s) -VHAIR(Devillock, hair_devilock_s) -VHAIR(Clean, hair_clean_s) -VHAIR(Shaggy, hair_shaggy_s) -VHAIR(Updo, hair_updo_s) -VHAIR(Mohawk, hair_mohawk_s) -VHAIR(Odango, hair_odango_s) -VHAIR(Ombre, hair_ombre_s) -VHAIR(Parted, hair_parted_s) -VHAIR(Quiff, hair_quiff_s) -VHAIR(Volaju, hair_volaju_s) -VHAIR(Bun2, hair_bun2_s) -VHAIR(Rows1, hair_rows1_s) -VHAIR(Rows2, hair_rows2_s) -VHAIR(Dandy Pompadour, hair_dandypompadour_s) -VHAIR(Poofy, hair_poofy_s) -VHAIR(Toriyama, hair_toriyama_s) -VHAIR(Drillruru, hair_drillruru_s) -VHAIR(Bowlcut, hair_bowlcut_s) -VHAIR(Coffee House, hair_coffeehouse_s) -VHAIR(Family Man, hair_thefamilyman_s) -VHAIR(Shaved Part, hair_shavedpart_s) -VHAIR(Modern, hair_modern_s) -VHAIR(One Shoulder, hair_oneshoulder_s) -VHAIR(Very Short Over Eye, hair_veryshortovereye_s) -VHAIR(Unkept, hair_unkept_s) -VHAIR(Wife, hair_wife_s) -VHAIR(Nia, hair_nia_s) -VHAIR(Undercut, hair_undercut_s) -VHAIR(Bobcut Alt, hair_bobcutalt_s) -VHAIR(Short Hair 4 alt, hair_shorthair4_s) -VHAIR(Tressshoulder, hair_tressshoulder_s) +VHAIR("Short Hair Rosa", hair_rosa_s) +VHAIR("Short Hair 80s", hair_80s_s) +VHAIR("Long Bedhead", hair_long_bedhead_s) +VHAIR("Dave", hair_dave_s) +VHAIR("Country", hair_country_s) +VHAIR("Shy", hair_shy_s) +VHAIR("Unshaven Mohawk", hair_unshaven_mohawk_s) +VHAIR("Manbun", hair_manbun_s) +VHAIR("Longer Bedhead", hair_longer_bedhead_s) +VHAIR("Ponytail", hair_ponytail_s) +VHAIR("Ziegler", hair_ziegler_s) +VHAIR("Emo Fringe", hair_emofringe_s) +VHAIR("Very Short Over Eye Alt", hair_veryshortovereyealternate_s) +VHAIR("Shorthime", hair_shorthime_s) +VHAIR("High Tight", hair_hightight_s) +VHAIR("Thinning Front", hair_thinningfront_s) +VHAIR("Big Afro", hair_bigafro_s) +VHAIR("Afro", hair_afro_s) +VHAIR("High Braid", hair_hbraid_s) +VHAIR("Braid", hair_braid_s) +VHAIR("Sargeant", hair_sargeant_s) +VHAIR("Gelled", hair_gelled_s) +VHAIR("Kagami", hair_kagami_s) +VHAIR("ShortTail", hair_stail_s) +VHAIR("Gentle", hair_gentle_s) +VHAIR("Grande", hair_grande_s) +VHAIR("Bobcurl", hair_bobcurl_s) +VHAIR("Pompadeur", hair_pompadour_s) +VHAIR("Plait", hair_plait_s) +VHAIR("Long", hair_long_s) +VHAIR("Rattail", hair_rattail_s) +VHAIR("Tajspiky", hair_tajspiky_s) +VHAIR("Messy", hair_messy_s) +VHAIR("Bangs", hair_bangs_s) +VHAIR("TBraid", hair_tbraid_s) +VHAIR("Toriyama2", hair_toriyama2_s) +VHAIR("CIA", hair_cia_s) +VHAIR("Mulder", hair_mulder_s) +VHAIR("Scully", hair_scully_s) +VHAIR("Nitori", hair_nitori_s) +VHAIR("Joestar", hair_joestar_s) +VHAIR("Ponytail4", hair_ponytail4_s) +VHAIR("Ponytail5", hair_ponytail5_s) +VHAIR("Beehive2", hair_beehive2_s) +VHAIR("Short Braid", hair_shortbraid_s) +VHAIR("Reverse Mohawk", hair_reversemohawk_s) +VHAIR("SHort Bangs", hair_shortbangs_s) +VHAIR("Half Shaved", hair_halfshaved_s) +VHAIR("Longer Alt 2", hair_longeralt2_s) +VHAIR("Bun", hair_bun_s) +VHAIR("Curly", hair_curly_s) +VHAIR("Victory", hair_victory_s) +VHAIR("Ponytail6", hair_ponytail6_s) +VHAIR("Undercut3", hair_undercut3_s) +VHAIR("Bobcut Alt", hair_bobcultalt_s) +VHAIR("Fingerwave", hair_fingerwave_s) +VHAIR("Oxton", hair_oxton_s) +VHAIR("Poofy2", hair_poofy2_s) +VHAIR("Fringe Tail", hair_fringetail_s) +VHAIR("Bun3", hair_bun3_s) +VHAIR("Wisp", hair_wisp_s) +VHAIR("Undercut2", hair_undercut2_s) +VHAIR("TBob", hair_tbob_s) +VHAIR("Spiky Ponytail", hair_spikyponytail_s) +VHAIR("Rowbun", hair_rowbun_s) +VHAIR("Rowdualtail", hair_rowdualtail_s) +VHAIR("Rowbraid", hair_rowbraid_s) +VHAIR("Shaved Mohawk", hair_shavedmohawk_s) +VHAIR("Topknot", hair_topknot_s) +VHAIR("Ronin", hair_ronin_s) +VHAIR("Bowlcut2", hair_bowlcut2_s) +VHAIR("Thinning Rear", hair_thinningrear_s) +VHAIR("Thinning", hair_thinning_s) +VHAIR("Jade", hair_jade_s) +VHAIR("Bedhead", hair_bedhead_s) +VHAIR("Dreadlocks", hair_dreads_s) +VHAIR("Very Long", hair_vlong_s) +VHAIR("Jensen", hair_jensen_s) +VHAIR("Halfbang", hair_halfbang_s) +VHAIR("Kusangi", hair_kusangi_s) +VHAIR("Ponytail", hair_ponytail_s) +VHAIR("Ponytail3", hair_ponytail3_s) +VHAIR("Halfbang Alt", hair_halfbang_alt_s) +VHAIR("Bedhead V2", hair_bedheadv2_s) +VHAIR("Long Fringe", hair_longfringe_s) +VHAIR("Flair", hair_flair_s) +VHAIR("Bedhead V3", hair_bedheadv3_s) +VHAIR("Himecut", hair_himecut_s) +VHAIR("Curls", hair_curls_s) +VHAIR("Very Long Fringe", hair_vlongfringe_s) +VHAIR("Longest", hair_longest_s) +VHAIR("Father", hair_father_s) +VHAIR("Emo Long", hair_emolong_s) +VHAIR("Short Hair 3", hair_shorthair3_s) +VHAIR("Double Bun", hair_doublebun_s) +VHAIR("Sleeze", hair_sleeze_s) +VHAIR("Twintail", hair_twintail_s) +VHAIR("Emo 2", hair_emo2_s) +VHAIR("Low Fade", hair_lowfade_s) +VHAIR("Med Fade", hair_medfade_s) +VHAIR("High Fade", hair_highfade_s) +VHAIR("Bald Fade", hair_baldfade_s) +VHAIR("No Fade", hair_nofade_s) +VHAIR("Trim Flat", hair_trimflat_s) +VHAIR("Shaved", hair_shaved_s) +VHAIR("Trimmed", hair_trimmed_s) +VHAIR("Tight Bun", hair_tightbun_s) +VHAIR("Short Hair 4", hair_d_s) +VHAIR("Short Hair 5", hair_e_s) +VHAIR("Short Hair 6", hair_f_s) +VHAIR("Skinhead", hair_skinhead_s) +VHAIR("Afro2", hair_afro2_s) +VHAIR("Bobcut", hair_bobcut_s) +VHAIR("Emo", hair_emo_s) +VHAIR("Long Over Eye", hair_longovereye_s) +VHAIR("Feather", hair_feather_s) +VHAIR("Hitop", hair_hitop_s) +VHAIR("Short Over Eye", hair_shortoverye_s) +VHAIR("Straight", hair_straight_s) +VHAIR("Buzzcut", hair_buzzcut_s) +VHAIR("Combover", hair_combover_s) +VHAIR("Crewcut", hair_crewcut_s) +VHAIR("Devillock", hair_devilock_s) +VHAIR("Clean", hair_clean_s) +VHAIR("Shaggy", hair_shaggy_s) +VHAIR("Updo", hair_updo_s) +VHAIR("Mohawk", hair_mohawk_s) +VHAIR("Odango", hair_odango_s) +VHAIR("Ombre", hair_ombre_s) +VHAIR("Parted", hair_parted_s) +VHAIR("Quiff", hair_quiff_s) +VHAIR("Volaju", hair_volaju_s) +VHAIR("Bun2", hair_bun2_s) +VHAIR("Rows1", hair_rows1_s) +VHAIR("Rows2", hair_rows2_s) +VHAIR("Dandy Pompadour", hair_dandypompadour_s) +VHAIR("Poofy", hair_poofy_s) +VHAIR("Toriyama", hair_toriyama_s) +VHAIR("Drillruru", hair_drillruru_s) +VHAIR("Bowlcut", hair_bowlcut_s) +VHAIR("Coffee House", hair_coffeehouse_s) +VHAIR("Family Man", hair_thefamilyman_s) +VHAIR("Shaved Part", hair_shavedpart_s) +VHAIR("Modern", hair_modern_s) +VHAIR("One Shoulder", hair_oneshoulder_s) +VHAIR("Very Short Over Eye", hair_veryshortovereye_s) +VHAIR("Unkept", hair_unkept_s) +VHAIR("Wife", hair_wife_s) +VHAIR("Nia", hair_nia_s) +VHAIR("Undercut", hair_undercut_s) +VHAIR("Bobcut Alt", hair_bobcutalt_s) +VHAIR("Short Hair 4 alt", hair_shorthair4_s) +VHAIR("Tressshoulder", hair_tressshoulder_s) //END #undef VHAIR #define VFACE(_name, new_state) /datum/sprite_accessory/facial_hair/##new_state/icon_state=#new_state;;/datum/sprite_accessory/facial_hair/##new_state/name="Virgo" + #_name -VFACE(Watson, facial_watson_s) -VFACE(Chaplin, facial_chaplin_s) -VFACE(Fullbeard, facial_fullbeard_s) -VFACE(Vandyke, facial_vandyke_s) -VFACE(Elvis, facial_elvis_s) -VFACE(Abe, facial_abe_s) -VFACE(Chin, facial_chin_s) -VFACE(GT, facial_gt_s) -VFACE(Hip, facial_hip_s) -VFACE(Hogan, facial_hogan_s) -VFACE(Selleck, facial_selleck_s) -VFACE(Neckbeard, facial_neckbeard_s) -VFACE(Longbeard, facial_longbeard_s) -VFACE(Dwarf, facial_dwarf_s) -VFACE(Sideburn, facial_sideburn_s) -VFACE(Mutton, facial_mutton_s) -VFACE(Moustache, facial_moustache_s) -VFACE(Pencilstache, facial_pencilstache_s) -VFACE(Goatee, facial_goatee_s) -VFACE(Smallstache, facial_smallstache_s) -VFACE(Volaju, facial_volaju_s) -VFACE(3 O\'clock, facial_3oclock_s) -VFACE(5 O\'clock, facial_5oclock_s) -VFACE(7 O\'clock, facial_7oclock_s) -VFACE(5 O\'clock Moustache, facial_5oclockmoustache_s) -VFACE(7 O\'clock, facial_7oclockmoustache_s) -VFACE(Walrus, facial_walrus_s) -VFACE(Muttonmus, facial_muttonmus_s) -VFACE(Wise, facial_wise_s) -VFACE(Martial Artist, facial_martialartist_s) -VFACE(Dorsalfnil, facial_dorsalfnil_s) -VFACE(Hornadorns, facial_hornadorns_s) -VFACE(Spike, facial_spike_s) -VFACE(Chinhorns, facial_chinhorns_s) -VFACE(Cropped Fullbeard, facial_croppedfullbeard_s) -VFACE(Chinless Beard, facial_chinlessbeard_s) -VFACE(Moonshiner, facial_moonshiner_s) -VFACE(Tribearder, facial_tribearder_s) +VFACE("Watson", facial_watson_s) +VFACE("Chaplin", facial_chaplin_s) +VFACE("Fullbeard", facial_fullbeard_s) +VFACE("Vandyke", facial_vandyke_s) +VFACE("Elvis", facial_elvis_s) +VFACE("Abe", facial_abe_s) +VFACE("Chin", facial_chin_s) +VFACE("GT", facial_gt_s) +VFACE("Hip", facial_hip_s) +VFACE("Hogan", facial_hogan_s) +VFACE("Selleck", facial_selleck_s) +VFACE("Neckbeard", facial_neckbeard_s) +VFACE("Longbeard", facial_longbeard_s) +VFACE("Dwarf", facial_dwarf_s) +VFACE("Sideburn", facial_sideburn_s) +VFACE("Mutton", facial_mutton_s) +VFACE("Moustache", facial_moustache_s) +VFACE("Pencilstache", facial_pencilstache_s) +VFACE("Goatee", facial_goatee_s) +VFACE("Smallstache", facial_smallstache_s) +VFACE("Volaju", facial_volaju_s) +VFACE("3 O\'clock", facial_3oclock_s) +VFACE("5 O\'clock", facial_5oclock_s) +VFACE("7 O\'clock", facial_7oclock_s) +VFACE("5 O\'clock Moustache", facial_5oclockmoustache_s) +VFACE("7 O\'clock", facial_7oclockmoustache_s) +VFACE("Walrus", facial_walrus_s) +VFACE("Muttonmus", facial_muttonmus_s) +VFACE("Wise", facial_wise_s) +VFACE("Martial Artist", facial_martialartist_s) +VFACE("Dorsalfnil", facial_dorsalfnil_s) +VFACE("Hornadorns", facial_hornadorns_s) +VFACE("Spike", facial_spike_s) +VFACE("Chinhorns", facial_chinhorns_s) +VFACE("Cropped Fullbeard", facial_croppedfullbeard_s) +VFACE("Chinless Beard", facial_chinlessbeard_s) +VFACE("Moonshiner", facial_moonshiner_s) +VFACE("Tribearder", facial_tribearder_s) #undef VFACE \ No newline at end of file diff --git a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm index 9921e4ed47..c2c581d282 100644 --- a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm +++ b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm @@ -1,6 +1,8 @@ /mob/living/carbon/adjustStaminaLossBuffered(amount, updating_stamina = 1) if(status_flags & GODMODE) return 0 + if(CONFIG_GET(flag/disable_stambuffer)) + return var/directstamloss = (bufferedstam + amount) - stambuffer if(directstamloss > 0) adjustStaminaLoss(directstamloss) @@ -12,5 +14,7 @@ /mob/living/carbon/adjustStaminaLoss(amount, updating_health = TRUE, forced = FALSE, affected_zone = BODY_ZONE_CHEST) if(!forced && (status_flags & GODMODE)) return FALSE - apply_damage(amount, STAMINA, affected_zone) + apply_damage(amount > 0 ? amount*incomingstammult : amount, STAMINA, affected_zone) + if(recoveringstam && amount > 20) + incomingstammult = max(0.01, incomingstammult/(amount*0.05)) return amount diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species.dm b/modular_citadel/code/modules/mob/living/carbon/human/species.dm index 0211975526..8d50bf16b0 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/species.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species.dm @@ -37,24 +37,22 @@ var/randomized_zone = ran_zone(user.zone_selected) SEND_SIGNAL(target, COMSIG_HUMAN_DISARM_HIT, user, user.zone_selected) var/obj/item/bodypart/affecting = target.get_bodypart(randomized_zone) - var/randn = rand(1, 100) - if(user.resting) - randn += 20 //Makes it plausible, but unlikely, to push someone over while resting - if(!user.combatmode) - randn += 25 //Makes it impossible to push actually push someone outside of combat mode - if(randn <= 25) + if((!target.combatmode && user.combatmode || prob(target.getStaminaLoss()*(user.resting ? 0.25 : 1)*(user.combatmode ? 1 : 0.05))) && !target.resting) //probability depends on staminaloss. it's plausible, but unlikely that you'll be able to push someone over while resting, and pretty rare to successfully push someone outside of combat mode. The few people that even know how to right-click outside of combat mode are a rarity but let's take that into account regardless. playsound(target, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - target.visible_message("[user] has pushed [target]!", + target.visible_message("[user] [user.combatmode ? "has" : "gently"] pushed [target]!", "[user] has pushed [target]!", null, COMBAT_MESSAGE_RANGE) target.apply_effect(40, EFFECT_KNOCKDOWN, target.run_armor_check(affecting, "melee", "Your armor prevents your fall!", "Your armor softens your fall!")) target.forcesay(GLOB.hit_appends) log_combat(user, target, "disarmed", " pushing them to the ground") return - playsound(target, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - target.visible_message("[user] attempted to push [target]!", \ - "[user] attemped to push [target]!", null, COMBAT_MESSAGE_RANGE) + playsound(target, 'sound/weapons/thudswoosh.ogg', 25, 1, -1) + target.visible_message("[user] [user.combatmode ? "attempted to push" : "tries to gently push"] [target] over!", \ + "[user] [user.combatmode ? "attempted to push" : "tries to gently push"] [target] over!", null, COMBAT_MESSAGE_RANGE) + if(!target.resting && !user.resting && user.combatmode) + target.adjustStaminaLoss(rand(1,5)) //This is the absolute most inefficient way to get someone into soft stamcrit, but if you've got a crowd trying to shove you over, you've no option but to get knocked down and accept fate + log_combat(user, target, "attempted to disarm push") //////////////////// /////BODYPARTS///// diff --git a/modular_citadel/code/modules/mob/living/living.dm b/modular_citadel/code/modules/mob/living/living.dm index e56eac5f05..955263b7af 100644 --- a/modular_citadel/code/modules/mob/living/living.dm +++ b/modular_citadel/code/modules/mob/living/living.dm @@ -1,5 +1,6 @@ /mob/living var/recoveringstam = FALSE + var/incomingstammult = 1 var/bufferedstam = 0 var/stambuffer = 20 var/stambufferregentime diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index 6fe3994d20..f0e5c35a8b 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -3,31 +3,31 @@ DOG BORG EQUIPMENT HERE SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! */ +/obj/item/dogborg/jaws + name = "Dogborg jaws" + desc = "The jaws of the debug errors oh god." + icon = 'icons/mob/dogborg.dmi' + flags_1 = CONDUCT_1 + force = 1 + throwforce = 0 + w_class = 3 + hitsound = 'sound/weapons/bite.ogg' + sharpness = IS_SHARP + /obj/item/dogborg/jaws/big name = "combat jaws" - icon = 'icons/mob/dogborg.dmi' + desc = "The jaws of the law. Very sharp." icon_state = "jaws" - desc = "The jaws of the law." - flags_1 = CONDUCT_1 force = 12 - throwforce = 0 - hitsound = 'sound/weapons/bite.ogg' attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") - w_class = 3 - sharpness = IS_SHARP /obj/item/dogborg/jaws/small name = "puppy jaws" - icon = 'icons/mob/dogborg.dmi' + desc = "Rubberized teeth designed to protect accidental harm. Sharp enough for specialized tasks however." icon_state = "smalljaws" - desc = "The jaws of a small dog." - flags_1 = CONDUCT_1 force = 6 - throwforce = 0 - hitsound = 'sound/weapons/bite.ogg' attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") - w_class = 3 - sharpness = IS_SHARP + var/status = 0 /obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user) ..() @@ -36,50 +36,25 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! /obj/item/dogborg/jaws/small/attack_self(mob/user) var/mob/living/silicon/robot.R = user - if(R.emagged) - name = "combat jaws" - icon = 'icons/mob/dogborg.dmi' - icon_state = "jaws" - desc = "The jaws of the law." - flags_1 = CONDUCT_1 - force = 12 - throwforce = 0 - hitsound = 'sound/weapons/bite.ogg' - attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") - w_class = 3 - sharpness = IS_SHARP - else - name = "puppy jaws" - icon = 'icons/mob/dogborg.dmi' - icon_state = "smalljaws" - desc = "The jaws of a small dog." - flags_1 = CONDUCT_1 - force = 5 - throwforce = 0 - hitsound = 'sound/weapons/bite.ogg' - attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") - w_class = 3 - sharpness = IS_SHARP - update_icon() - - -//Cuffs - -/obj/item/restraints/handcuffs/cable/zipties/cyborg/dog/attack(mob/living/carbon/C, mob/user) - if(!C.handcuffed) - playsound(loc, 'sound/weapons/cablecuff.ogg', 60, 1, -2) - C.visible_message("[user] is trying to put zipties on [C]!", \ - "[user] is trying to put zipties on [C]!") - if(do_mob(user, C, 60)) - if(!C.handcuffed) - C.handcuffed = new /obj/item/restraints/handcuffs/cable/zipties/used(C) - C.update_inv_handcuffed(0) - to_chat(user,"You handcuff [C].") - playsound(loc, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE) - log_combat(user, C, "handcuffed") + if(R.cell && R.cell.charge > 100) + if(R.emagged && status == 0) + name = "combat jaws" + icon_state = "jaws" + desc = "The jaws of the law." + force = 12 + attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") + status = 1 + to_chat(user, "Your jaws are now [status ? "Combat" : "Pup'd"].") else - to_chat(user,"You fail to handcuff [C]!") - + name = "puppy jaws" + icon_state = "smalljaws" + desc = "The jaws of a small dog." + force = 5 + attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") + status = 0 + if(R.emagged) + to_chat(user, "Your jaws are now [status ? "Combat" : "Pup'd"].") + update_icon() //Boop @@ -152,8 +127,10 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! /obj/item/analyzer/nose/AltClick(mob/user) //Barometer output for measuring when the next storm happens . = ..() -/obj/item/analyzer/nose/afterattack(atom/target, mob/user) +/obj/item/analyzer/nose/afterattack(atom/target, mob/user, proximity) . = ..() + if(!proximity) + return do_attack_animation(target, null, src) user.visible_message("[user] [pick(attack_verb)] \the [target.name] with their nose!") @@ -172,8 +149,8 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! STR.max_combined_w_class = 5 STR.max_items = 1 STR.cant_hold = typecacheof(list(/obj/item/disk/nuclear, /obj/item/radio/intercom)) -//Tongue stuff +//Tongue stuff /obj/item/soap/tongue name = "synthetic tongue" desc = "Useful for slurping mess off the floor before affectionally licking the crew members in the face." @@ -190,12 +167,6 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! ..() item_flags |= NOBLUDGEON //No more attack messages -/obj/item/trash/rkibble - name = "robo kibble" - desc = "A novelty bowl of assorted mech fabricator byproducts. Mockingly feed this to the sec-dog to help it recharge." - icon = 'icons/mob/dogborg.dmi' - icon_state= "kibble" - /obj/item/soap/tongue/attack_self(mob/user) var/mob/living/silicon/robot.R = user if(R.cell && R.cell.charge > 100) @@ -303,6 +274,13 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! target.wash_cream() return +//Dogfood + +/obj/item/trash/rkibble + name = "robo kibble" + desc = "A novelty bowl of assorted mech fabricator byproducts. Mockingly feed this to the sec-dog to help it recharge." + icon = 'icons/mob/dogborg.dmi' + icon_state= "kibble" //Defibs @@ -337,6 +315,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! var/laser var/sleeper_g var/sleeper_r + var/sleeper_nv #define MAX_K9_LEAP_DIST 4 //because something's definitely borked the pounce functioning from a distance. diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm index ebb418b3e2..b6f624709e 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -30,7 +30,7 @@ /obj/item/robot_module/k9 name = "Security K-9 Unit" basic_modules = list( - /obj/item/restraints/handcuffs/cable/zipties/cyborg/dog, + /obj/item/restraints/handcuffs/cable/zipties, /obj/item/storage/bag/borgdelivery, /obj/item/dogborg/jaws/big, /obj/item/dogborg/pounce, @@ -69,6 +69,7 @@ /obj/item/extinguisher/mini, /obj/item/healthanalyzer, /obj/item/dogborg/sleeper/medihound, + /obj/item/roller/robo, /obj/item/reagent_containers/borghypo, /obj/item/twohanded/shockpaddles/cyborg/hound, /obj/item/stack/medical/gauze/cyborg, @@ -222,7 +223,7 @@ /obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads","Handy") + var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads","Loader","Handy") if(!borg_icon) return FALSE switch(borg_icon) @@ -233,7 +234,7 @@ special_light_key = "engineer" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' if("Loader") - cyborg_base_icon = "loader" + cyborg_base_icon = "loaderborg" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' has_snowflake_deadsprite = TRUE if("Handy") diff --git a/modular_citadel/code/modules/projectiles/ammunition/ballistic/smg/smg.dm b/modular_citadel/code/modules/projectiles/ammunition/ballistic/smg/smg.dm index 7a2f69de5a..d17367b922 100644 --- a/modular_citadel/code/modules/projectiles/ammunition/ballistic/smg/smg.dm +++ b/modular_citadel/code/modules/projectiles/ammunition/ballistic/smg/smg.dm @@ -2,4 +2,4 @@ /obj/item/ammo_casing/c46x30mm/tx name = "Toxin Tipped 4.6x30mm bullet casing." desc = "A Toxin Tipped 4.6x30mm bullet casing." - projectile_type = /obj/item/projectile/bullet/c46x30mm + projectile_type = /obj/item/projectile/bullet/c46x30mm_tx diff --git a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm index 2ae5308835..1aa8122be5 100644 --- a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm +++ b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm @@ -48,6 +48,8 @@ var/tmp/list/items_preserved = list() // Stuff that wont digest so we shouldn't process it again. var/tmp/next_emote = 0 // When we're supposed to print our next emote, as a belly controller tick # var/tmp/recent_sound = FALSE // Prevent audio spam + var/tmp/last_hearcheck = 0 + var/tmp/list/hearing_mobs // Don't forget to watch your commas at the end of each line if you change these. var/list/struggle_messages_outside = list( @@ -167,7 +169,7 @@ //Sound w/ antispam flag setting if(!silent && !recent_sound) for(var/mob/M in get_hearers_in_view(5, get_turf(owner))) - if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) + if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) playsound(get_turf(owner),"[src.vore_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) recent_sound = TRUE @@ -200,7 +202,7 @@ AM.forceMove(destination) // Move the belly contents into the same location as belly's owner. count++ for(var/mob/M in get_hearers_in_view(5, get_turf(owner))) - if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) + if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) playsound(get_turf(owner),"[src.release_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) if(!silent) owner.visible_message("[owner] expels everything from their [lowertext(name)]!") @@ -220,7 +222,7 @@ items_preserved -= M if(release_sound) for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & EATING_NOISES) + if(H.client && (H.client.prefs.cit_toggles & EATING_NOISES)) playsound(get_turf(owner),"[src.release_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) if(istype(M,/mob/living)) @@ -296,7 +298,7 @@ target.nom_mob(content, target.owner) if(!silent) for(var/mob/M in get_hearers_in_view(5, get_turf(owner))) - if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) + if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) playsound(get_turf(owner),"[src.vore_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) owner.updateVRPanel() for(var/mob/living/M in contents) @@ -510,7 +512,7 @@ if(!silent) for(var/mob/M in get_hearers_in_view(5, get_turf(owner))) - if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) + if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) playsound(get_turf(owner),"struggle_sound",35,0,-5,1,ignore_walls = FALSE,channel=CHANNEL_PRED) R.stop_sound_channel(CHANNEL_PRED) var/sound/prey_struggle = sound(get_sfx("prey_struggle")) diff --git a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm b/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm index 8b8781cb02..6c528f75a9 100644 --- a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm +++ b/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm @@ -45,6 +45,9 @@ ////////////////////////// Sound vars ///////////////////////////// var/sound/prey_digest = sound(get_sfx("digest_prey")) var/sound/prey_death = sound(get_sfx("death_prey")) + var/sound/pred_digest = sound(get_sfx("digest_pred")) + var/sound/pred_death = sound(get_sfx("death_pred")) + var/turf/source = get_turf(owner) ///////////////////////////// DM_HOLD ///////////////////////////// @@ -55,12 +58,18 @@ else if(digest_mode == DM_DIGEST) for (var/mob/living/M in contents) if(prob(25)) - M.stop_sound_channel(CHANNEL_DIGEST) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(CHANNEL_DIGEST) - M.playsound_local(get_turf(M), prey_digest, 45) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_digest) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) //Pref protection! if (!M.digestable || M.absorbed) @@ -86,13 +95,19 @@ M.visible_message("You watch as [owner]'s form loses its additions.") owner.nutrition += 400 // so eating dead mobs gives you *something*. - M.stop_sound_channel(DIGESTION_NOISES) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"death_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(DIGESTION_NOISES) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_death) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_death) M.stop_sound_channel(CHANNEL_PREYLOOP) - M.playsound_local(get_turf(M), prey_death, 65) digestion_death(M) owner.update_icons() continue @@ -115,12 +130,18 @@ if(digest_mode == DM_HEAL) for (var/mob/living/M in contents) if(prob(25)) - M.stop_sound_channel(CHANNEL_DIGEST) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(CHANNEL_DIGEST) - M.playsound_local(get_turf(M), prey_digest, 65) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_digest) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) if(M.stat != DEAD) if(owner.nutrition >= NUTRITION_LEVEL_STARVING && (M.health < M.maxHealth)) @@ -132,14 +153,19 @@ ////////////////////////// DM_NOISY ///////////////////////////////// //for when you just want people to squelch around if(digest_mode == DM_NOISY) - for (var/mob/living/M in contents) - if(prob(35)) - M.stop_sound_channel(CHANNEL_DIGEST) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(CHANNEL_PRED) - M.playsound_local(get_turf(M), prey_digest, 65) + if(prob(35)) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_digest) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) //////////////////////////// DM_ABSORB //////////////////////////// @@ -147,13 +173,19 @@ for (var/mob/living/M in contents) - if(prob(10)) //Less often than gurgles. People might leave this on forever. - M.stop_sound_channel(CHANNEL_DIGEST) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(CHANNEL_PRED) - M.playsound_local(get_turf(M), prey_digest, 65) + if(prob(10))//Less often than gurgles. People might leave this on forever. + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_digest) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) if(M.absorbed) continue @@ -180,12 +212,18 @@ if(digest_mode == DM_DRAGON) for (var/mob/living/M in contents) if(prob(55)) //if you're hearing this, you're a vore ho anyway. - M.stop_sound_channel(CHANNEL_DIGEST) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(CHANNEL_DIGEST) - M.playsound_local(get_turf(M), prey_digest, 65) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_digest) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) //No digestion protection for megafauna. @@ -207,13 +245,18 @@ to_chat(owner, "[digest_alert_owner]") to_chat(M, "[digest_alert_prey]") M.visible_message("You watch as [owner]'s guts loudly rumble as it finishes off a meal.") - - M.stop_sound_channel(CHANNEL_DIGEST) - for(var/mob/H in get_hearers_in_view(5, get_turf(owner))) - if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES) - playsound(get_turf(owner),"death_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST) - M.stop_sound_channel(CHANNEL_DIGEST) - M.playsound_local(get_turf(M), prey_death, 65) + if((world.time - NORMIE_HEARCHECK) > last_hearcheck) + LAZYCLEARLIST(hearing_mobs) + for(var/mob/H in get_hearers_in_view(3, source)) + if(!H.client || !(H.client.prefs.cit_toggles & DIGESTION_NOISES)) + continue + LAZYADD(hearing_mobs, H) + last_hearcheck = world.time + for(var/mob/H in hearing_mobs) + if(!isbelly(H.loc)) + H.playsound_local(source, null, 45, falloff = 0, S = pred_death) + else if(H in contents) + H.playsound_local(source, null, 65, falloff = 0, S = prey_death) M.spill_organs(FALSE,TRUE,TRUE) M.stop_sound_channel(CHANNEL_PREYLOOP) digestion_death(M) diff --git a/modular_citadel/icons/mob/digishoes.dmi b/modular_citadel/icons/mob/digishoes.dmi index 49988f88f6..a499db6262 100644 Binary files a/modular_citadel/icons/mob/digishoes.dmi and b/modular_citadel/icons/mob/digishoes.dmi differ diff --git a/modular_citadel/icons/mob/mam_bodyparts.dmi b/modular_citadel/icons/mob/mam_bodyparts.dmi deleted file mode 100644 index de8da877f9..0000000000 Binary files a/modular_citadel/icons/mob/mam_bodyparts.dmi and /dev/null differ diff --git a/modular_citadel/icons/mob/mam_ears.dmi b/modular_citadel/icons/mob/mam_ears.dmi new file mode 100644 index 0000000000..51ffd28bbc Binary files /dev/null and b/modular_citadel/icons/mob/mam_ears.dmi differ diff --git a/modular_citadel/icons/mob/mam_snouts.dmi b/modular_citadel/icons/mob/mam_snouts.dmi new file mode 100644 index 0000000000..98b62f929d Binary files /dev/null and b/modular_citadel/icons/mob/mam_snouts.dmi differ diff --git a/modular_citadel/icons/mob/mam_tails.dmi b/modular_citadel/icons/mob/mam_tails.dmi new file mode 100644 index 0000000000..7627b71b35 Binary files /dev/null and b/modular_citadel/icons/mob/mam_tails.dmi differ diff --git a/modular_citadel/icons/mob/suit_digi.dmi b/modular_citadel/icons/mob/suit_digi.dmi new file mode 100644 index 0000000000..89284dbe52 Binary files /dev/null and b/modular_citadel/icons/mob/suit_digi.dmi differ diff --git a/modular_citadel/icons/mob/taur_canine.dmi b/modular_citadel/icons/mob/taur_canine.dmi new file mode 100644 index 0000000000..101430f0e2 Binary files /dev/null and b/modular_citadel/icons/mob/taur_canine.dmi differ diff --git a/modular_citadel/icons/mob/taur_hooved.dmi b/modular_citadel/icons/mob/taur_hooved.dmi new file mode 100644 index 0000000000..e9860f2014 Binary files /dev/null and b/modular_citadel/icons/mob/taur_hooved.dmi differ diff --git a/modular_citadel/icons/mob/taur_naga.dmi b/modular_citadel/icons/mob/taur_naga.dmi new file mode 100644 index 0000000000..7342b52cdb Binary files /dev/null and b/modular_citadel/icons/mob/taur_naga.dmi differ diff --git a/modular_citadel/icons/mob/widerobot.dmi b/modular_citadel/icons/mob/widerobot.dmi index 81ec2ed86d..2b192a1052 100644 Binary files a/modular_citadel/icons/mob/widerobot.dmi and b/modular_citadel/icons/mob/widerobot.dmi differ diff --git a/modular_citadel/sound/voice/peep.ogg b/modular_citadel/sound/voice/peep.ogg new file mode 100644 index 0000000000..b687300677 Binary files /dev/null and b/modular_citadel/sound/voice/peep.ogg differ diff --git a/strings/ion_laws.json b/strings/ion_laws.json index 152afd1116..1c28d5d5e5 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -226,7 +226,7 @@ "OXYGEN", "CARBON DIOXIDE", "ELECTRICITY", - "HUMAN CONTACT", + "CREW CONTACT", "CYBORG CONTACT", "MEDICINE", "FLOORS", diff --git a/strings/phobia.json b/strings/phobia.json index 3be9794bf9..3f56751333 100644 --- a/strings/phobia.json +++ b/strings/phobia.json @@ -268,5 +268,33 @@ "let go", "i'll catch you", "slip" + ], + +"anime": [ + "anime", + "manga", + "baka", + "desu", + "sugoi", + "katana", + "weeb", + "otaku", + "catgirl", + "catgirls", + "ninja", + "uguu", + "waifu", + "husbando", + "best girl", + "worst girl", + "subs", + "dubs", + "season two when", + "cosplay", + "nya", + "nyaa", + "neet", + "ora", + "~" ] -} +} \ No newline at end of file diff --git a/strings/sillytips.txt b/strings/sillytips.txt index 478fba7b1c..f7c66b7407 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -15,7 +15,7 @@ Sometimes a round will just be a bust. C'est la vie. This is a game that is constantly being developed for. Expect things to be added, removed, fixed, and broken on a daily basis. It's fun to try and predict the round type from the tip of the round message. They said the QM could never be a head, but we showed them. -The bird remembers. +The birb remembers. Your sprite represents your hitbox, so that afro makes you easier to kill. The sacrifices we make for style. Sometimes admins will just do stuff. Roll with it. The remake will never come out. @@ -31,4 +31,16 @@ As the Lawyer, you are the last bastion of roleplay-focused jobs. Even the curat There are at least 11 ways to get through plastic flaps. How many can you name? FEED ME A STRAY CAT Did you know that tossing the clown into a singularity will either increase or decrease its size by a large amount? -Don't worry, you can always circlejerk your hate on the discord about furries. \ No newline at end of file +Don't worry, you can always circlejerk your hate on the discord about furries. +Play a Vampire, they're overpowered and broken with no downsides that matter! +You can make a Beepsky with E-swords that will murder people for not wearing their IDs! +You can make a Beepsky with Toy-E-Swords if you want. It's like a cheaper Beepsky that will trip people and maybe shout on the sec channel about people its "Arresting" +There is a magic chem that turns people into Cat Girls/Boys. Its called "Felinid Mutation Toxin"! +Having Neko ears and tails or Cat ears and tails does not make you into a Felinid race! +Mhelp is basically useless, and never used correctly. Being a Mentor just means that admins will do Mhelps for you and you get to learn the round type when someone asks you a basic question regarding their antag status. +Toxins Bombs are not the only way to get RnD points. However, nobody will ever do any other method to get sci points... +Plasma men are a powerful race with many perks! No really, I swear! So what if they need an "ERP Plasma room" to fuck, who cares! +As a Cargo Tech make sure to always buy a tesla to sell back to CC. They love those those. Trust me! +Help. +Maints. +BZ stops or slows down Lings chem regeneration drastically, make sure to BZ flood the station when lings are confirmed! diff --git a/strings/tips.txt b/strings/tips.txt index 079bb50938..d389437158 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -29,7 +29,7 @@ As a Medical Doctor, you can attempt to drain blood from a husk with a syringe t As a Medical Doctor, while both heal toxin damage, the difference between charcoal and antitoxin is that charcoal will actively remove all other reagents from one's body, while antitoxin only removes various toxins - but can overdose. As a Medical Doctor, you can surgically implant or extract things from people's chests. This can range from putting in a bomb to pulling out an alien larva. As a Medical Doctor, you must target the correct limb and be on help intent when trying to perform surgery on someone. Using disarm attempt will intentionally fail the surgery step. -As a Medical Doctor, corpses with the "...and their soul has departed" description no longer have a ghost attached to them and aren't revivable or clonable. +As a Medical Doctor, corpses with the "...and their soul has departed" description no longer have a ghost attached to them and aren't usually revivable or cloneable. However it may prove useful to be creative in your revivification techniques with these bodies. As a Medical Doctor, treating plasmamen is not impossible! Salbutamol stops them from suffocating and showers stop them from burning alive. You can even perform surgery on them by doing the procedure on a roller bed under a shower. As a Medical Doctor, you can point your penlight at people to create a medical hologram. This lets them know that you're coming to treat them. As a Medical Doctor, you can extract implants by holding an empty implant case in your offhand while performing the extraction step. @@ -230,4 +230,4 @@ You can swap floor tiles by holding a crowbar in one hand and a stack of tiles i When hacking doors, cutting and mending the "test light wire" will restore power to the door. When crafting most items, you can either manually combine parts or use the crafting menu. Suit storage units not only remove blood and dirt from clothing, but also radiation! -Remote devices will work when used through cameras. For example: Bluespace RPEDs and door remotes. \ No newline at end of file +Remote devices will work when used through cameras. For example: Bluespace RPEDs and door remotes. diff --git a/tgstation.dme b/tgstation.dme index 5c12fb6d94..b17ba9363f 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2834,7 +2834,6 @@ #include "modular_citadel\code\modules\admin\holder2.dm" #include "modular_citadel\code\modules\admin\secrets.dm" #include "modular_citadel\code\modules\admin\topic.dm" -#include "modular_citadel\code\modules\antagonists\cult\blood_magic.dm" #include "modular_citadel\code\modules\arousal\arousal.dm" #include "modular_citadel\code\modules\arousal\organs\breasts.dm" #include "modular_citadel\code\modules\arousal\organs\eggsack.dm" @@ -2890,7 +2889,6 @@ #include "modular_citadel\code\modules\food_and_drinks\snacks\meat.dm" #include "modular_citadel\code\modules\integrated_electronics\subtypes\manipulation.dm" #include "modular_citadel\code\modules\jobs\dresscode_values.dm" -#include "modular_citadel\code\modules\jobs\jobs.dm" #include "modular_citadel\code\modules\jobs\job_types\captain.dm" #include "modular_citadel\code\modules\jobs\job_types\cargo_service.dm" #include "modular_citadel\code\modules\jobs\job_types\engineering.dm" diff --git a/tools/mapmerge2/dmm.py b/tools/mapmerge2/dmm.py index 421ffb4cd1..8bb1dca353 100644 --- a/tools/mapmerge2/dmm.py +++ b/tools/mapmerge2/dmm.py @@ -370,7 +370,7 @@ def _parse(map_raw_text): continue elif in_comment_line: continue - elif char == "\t": + elif char in "\r\t": continue if char == "/" and not in_quote_block: @@ -478,6 +478,9 @@ def _parse(map_raw_text): # grid block for char in it: + if char == "\r": + continue + if in_coord_block: if char == ",": if reading_coord == "x":