diff --git a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm index 6d0ce34d4111..588fe99b9792 100644 --- a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm @@ -1,8 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) "ae" = ( /obj/structure/chair/sofa/left{ dir = 8 @@ -10,49 +6,59 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet, /area/ruin/beach) -"aF" = ( -/obj/effect/turf_decal/weather/sand/corner{ +"bs" = ( +/obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ +/obj/effect/turf_decal/siding/white{ dir = 1 }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"bf" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/water/beach/deep, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "bE" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/ruin/beach) -"ch" = ( -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach, +"bG" = ( +/obj/item/oar, +/obj/item/oar, +/obj/structure/rack, +/turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) -"cr" = ( -/obj/machinery/light/floor{ - pixel_y = 16 +"bN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/wood/ebony, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "dd" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/walnut, /area/ruin/beach) -"dB" = ( -/mob/living/simple_animal/hostile/carp{ - bruteloss = 100 +"di" = ( +/obj/vehicle/ridden/lavaboat{ + dir = 8; + name = "boat" }, -/turf/open/water/beach, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"dp" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/effect/turf_decal/siding/white/corner, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"dq" = ( +/turf/open/floor/plasteel/stairs/wood, +/area/overmap_encounter/planetoid/beachplanet/explored) +"du" = ( +/obj/effect/turf_decal/weather/sand/corner, +/obj/structure/flora/ausbushes/reedbush, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"dW" = ( +"dI" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, @@ -63,15 +69,6 @@ }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"ep" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) "eJ" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -83,16 +80,6 @@ icon_state = "wood-broken2" }, /area/ruin/beach) -"eO" = ( -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eS" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) "eV" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/food/snacks/fishmeat/carp, @@ -106,29 +93,23 @@ /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, /turf/open/floor/plastic, /area/ruin/beach) -"fh" = ( -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) "fo" = ( /obj/structure/chair/stool{ dir = 1 }, /turf/open/floor/carpet, /area/ruin/beach) -"fG" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 +"fp" = ( +/mob/living/simple_animal/hostile/carp{ + bruteloss = 100 }, -/obj/effect/turf_decal/weather/sand/corner, -/obj/structure/flora/rock/asteroid, -/turf/open/water/beach, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"fO" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 +"fv" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ +/obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 4 }, /turf/open/water/beach/deep, @@ -138,13 +119,8 @@ icon_state = "wood-broken6" }, /area/ruin/beach) -"gu" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing{ +"gm" = ( +/obj/effect/turf_decal/weather/sand/corner{ dir = 4 }, /turf/open/water/beach/deep, @@ -158,14 +134,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/plastic, /area/ruin/beach) -"gT" = ( -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gZ" = ( -/obj/effect/turf_decal/borderfloor/corner, -/obj/effect/turf_decal/siding/white/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) "hd" = ( /obj/machinery/light/floor, /obj/machinery/porta_turret/syndicate/energy{ @@ -181,28 +149,39 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet, /area/ruin/beach) -"hH" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 +"hl" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 }, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hK" = ( /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"hW" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 1 +"hq" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/grass/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"hY" = ( +/obj/structure/railing/wood{ + dir = 8 }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/water/beach, +/obj/structure/flora/bigplant, +/turf/open/floor/concrete/tiles, /area/overmap_encounter/planetoid/beachplanet/explored) -"ic" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 +"iH" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/beachplanet/explored) +"iN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) @@ -218,10 +197,9 @@ /obj/machinery/light/dim/directional/south, /turf/open/floor/plastic, /area/ruin/beach) -"jD" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, +"kg" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/railing/corner, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "kj" = ( @@ -231,11 +209,11 @@ /obj/item/kitchen/knife/hunting, /turf/open/floor/wood, /area/ruin/beach) -"kw" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ +"kr" = ( +/obj/effect/turf_decal/weather/sand/corner{ dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ dir = 1 }, /turf/open/water/beach/deep, @@ -263,6 +241,13 @@ }, /turf/open/floor/wood/walnut, /area/ruin/beach) +"ld" = ( +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "ly" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -272,15 +257,55 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plastic, /area/ruin/beach) -"mr" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 +"lL" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 8 }, -/obj/effect/turf_decal/siding/white{ - dir = 4 +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"lX" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 1 + }, +/obj/effect/turf_decal/weather/sand/corner, +/obj/structure/flora/rock/asteroid, +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"mh" = ( +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/cave/explored) +"mj" = ( +/mob/living/simple_animal/hostile/carp/megacarp{ + dir = 8; + name = "Mother Carp"; + loot = list("/obj/item/clothing/suit/space/hardsuit/carp"); + faction = list("hostile","carp") + }, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/cave/explored) +"mq" = ( +/obj/item/ammo_box/c38_box, +/obj/structure/closet/crate/wooden, +/turf/open/floor/wood, +/area/ruin/beach) +"my" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 5 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) +"mD" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/item/gun/ballistic/shotgun/winchester, +/turf/open/floor/wood, +/area/ruin/beach) +"mE" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 8 + }, +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) "mP" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/siding/wood, @@ -295,6 +320,13 @@ dir = 8 }, /area/ruin/beach) +"nc" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing{ + layer = 3.3 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "nn" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -303,18 +335,30 @@ icon_state = "wood-broken3" }, /area/ruin/beach) -"nv" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 +"ns" = ( +/turf/open/floor/concrete/tiles, +/area/overmap_encounter/planetoid/beachplanet/explored) +"ny" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 }, -/turf/open/water/beach, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"nG" = ( -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 +"nR" = ( +/obj/structure/spawner/carp, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/cave/explored) +"om" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 4 }, -/turf/open/water/beach, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 4 + }, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "ov" = ( /obj/effect/turf_decal/siding/yellow{ @@ -323,29 +367,31 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/walnut, /area/ruin/beach) -"oE" = ( +"oI" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"oS" = ( +/turf/open/floor/wood, +/area/ruin/beach) +"oY" = ( +/obj/structure/table/wood, /obj/machinery/light/small/directional/north, +/obj/item/binoculars{ + pixel_x = -1; + layer = 2.9 + }, /turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) -"oH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8 +"pb" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oP" = ( -/obj/machinery/light/floor{ - pixel_y = 16; - pixel_x = -16 +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 }, -/turf/open/floor/wood/ebony, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"oS" = ( -/turf/open/floor/wood, -/area/ruin/beach) "pe" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/siding/wood{ @@ -359,67 +405,54 @@ }, /turf/open/floor/wood/ebony, /area/ruin/beach) -"pC" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 +"pg" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pI" = ( -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pJ" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"qE" = ( -/obj/effect/turf_decal/weather/sand/corner{ +/obj/structure/railing/corner{ dir = 8 }, -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"qQ" = ( +"qh" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigpack_carp{ - pixel_y = 7; - pixel_x = 9 - }, -/obj/item/lighter{ - pixel_y = -4 - }, -/obj/item/cigbutt{ - pixel_y = 3; - pixel_x = 5 +/obj/item/flashlight/lamp/green{ + pixel_y = 8 }, /turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) -"ra" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ro" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) "rs" = ( /obj/machinery/deepfryer, /obj/effect/turf_decal/corner/opaque/pink/diagonal, /turf/open/floor/plastic, /area/ruin/beach) -"sp" = ( +"rt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/beachplanet/explored) +"rG" = ( +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"rP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"rV" = ( /obj/effect/turf_decal/weather/sand{ - dir = 5 + dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 5 +/obj/effect/turf_decal/weather/sand/corner{ + dir = 4 }, -/turf/open/water/beach/deep, +/obj/structure/flora/rock/jungle, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "sz" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, @@ -434,19 +467,21 @@ /obj/structure/closet/secure_closet/freezer, /turf/open/floor/plastic, /area/ruin/beach) -"sA" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/mob/living/simple_animal/hostile/pirate/ranged{ - faction = list("beach","pirate") - }, -/turf/open/floor/wood/ebony, +"sG" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/siding/white, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "sJ" = ( /obj/structure/flora/bigplant, /turf/open/floor/wood/walnut, /area/ruin/beach) +"sM" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 1 + }, +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) "sN" = ( /obj/structure/chair/sofa, /obj/machinery/light/small/directional/north{ @@ -457,10 +492,6 @@ /obj/item/grenade/clusterbuster/spawner_spesscarp, /turf/open/floor/carpet, /area/ruin/beach) -"sV" = ( -/obj/structure/spacevine, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) "tj" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, /obj/machinery/atmospherics/components/unary/portables_connector{ @@ -471,103 +502,32 @@ }, /turf/open/floor/plastic, /area/ruin/beach) -"tA" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 9 - }, +"tr" = ( +/obj/structure/flora/driftlog, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"tH" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tV" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, +"tQ" = ( +/obj/effect/turf_decal/weather/sand, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"tX" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) "ut" = ( /turf/closed/wall/mineral/wood, /area/ruin/beach) -"uC" = ( -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uD" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ +"uM" = ( +/obj/structure/railing/wood{ dir = 4 }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uY" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/corner{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uZ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vc" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vv" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vA" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/water/beach, +/obj/structure/flora/bigplant, +/turf/open/floor/concrete/tiles, /area/overmap_encounter/planetoid/beachplanet/explored) "vD" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, /turf/open/floor/plastic, /area/ruin/beach) -"vL" = ( -/turf/open/floor/concrete/tiles, -/area/overmap_encounter/planetoid/beachplanet/explored) "vM" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -577,13 +537,7 @@ /obj/item/kitchen/knife/butcher, /turf/open/floor/plastic, /area/ruin/beach) -"wu" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wH" = ( +"wg" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 8 }, @@ -592,12 +546,34 @@ }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"xl" = ( +"wR" = ( /obj/effect/turf_decal/weather/sand{ - dir = 10 + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) +"xt" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigpack_carp{ + pixel_y = 7; + pixel_x = 9 + }, +/obj/item/lighter{ + pixel_y = -4 + }, +/obj/item/cigbutt{ + pixel_y = 3; + pixel_x = 5 + }, +/turf/open/floor/wood/ebony, +/area/overmap_encounter/planetoid/beachplanet/explored) +"xP" = ( +/obj/structure/spacevine/dense, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/cave/explored) "yo" = ( /obj/structure/table/wood/poker, /obj/item/kirbyplants{ @@ -612,21 +588,11 @@ }, /turf/open/floor/carpet, /area/ruin/beach) -"yy" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/structure/flora/rock/jungle, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yD" = ( -/obj/effect/turf_decal/siding/wood/corner{ +"yK" = ( +/obj/effect/turf_decal/siding/wideplating/corner{ dir = 1 }, -/obj/structure/railing/corner{ +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ dir = 1 }, /turf/open/water/beach/deep, @@ -647,15 +613,8 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/ruin/beach) -"zc" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/bigplant, -/turf/open/floor/concrete/tiles, +"yV" = ( +/turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) "zq" = ( /obj/structure/table/wood/reinforced, @@ -663,6 +622,17 @@ /obj/effect/turf_decal/corner/opaque/pink/diagonal, /turf/open/floor/plastic, /area/ruin/beach) +"zx" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/sand, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "zA" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/cubancarp{ @@ -678,50 +648,25 @@ }, /turf/open/floor/wood/walnut, /area/ruin/beach) -"zB" = ( -/obj/effect/turf_decal/siding/wideplating/corner, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, +"Af" = ( +/obj/structure/spacevine/dense, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"Ap" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, +"AG" = ( /obj/effect/turf_decal/weather/sand{ - dir = 4 + dir = 1 }, -/turf/open/water/beach, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"Ay" = ( +"Bb" = ( /obj/effect/turf_decal/weather/sand{ dir = 9 }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AF" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/concrete/tiles, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AO" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 }, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"AT" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/junglebush/b, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) "Bg" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, /mob/living/simple_animal/hostile/pirate/melee{ @@ -729,6 +674,29 @@ }, /turf/open/floor/plastic, /area/ruin/beach) +"Bo" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 8 + }, +/obj/effect/turf_decal/weather/sand/corner, +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Bu" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 5 + }, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Bz" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 4 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "BD" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/siding/yellow{ @@ -740,6 +708,23 @@ icon_state = "wood-broken5" }, /area/ruin/beach) +"BN" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"BR" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/ebony, +/area/overmap_encounter/planetoid/beachplanet/explored) +"BW" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/concrete/tiles, +/area/overmap_encounter/planetoid/beachplanet/explored) "Ch" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, /obj/structure/sink/kitchen{ @@ -748,94 +733,93 @@ }, /turf/open/floor/plastic, /area/ruin/beach) -"CJ" = ( -/obj/structure/flora/ausbushes/stalkybush, +"Ci" = ( /obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"CQ" = ( -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"CV" = ( -/obj/machinery/grill, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plastic, -/area/ruin/beach) -"Ds" = ( -/obj/effect/turf_decal/borderfloor/corner{ dir = 1 }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"Dz" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 +"Cp" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 4 }, +/obj/structure/flora/ausbushes/stalkybush, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"DB" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/binoculars{ - pixel_x = -1; - layer = 2.9 +"Cr" = ( +/obj/machinery/light/floor{ + pixel_y = 16 }, /turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) -"DM" = ( -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DO" = ( +"CV" = ( +/obj/machinery/grill, +/obj/effect/turf_decal/corner/opaque/pink/diagonal, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plastic, +/area/ruin/beach) +"DL" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 }, +/obj/structure/flora/junglebush/b, /obj/structure/railing{ dir = 4 }, -/turf/open/water/beach/deep, +/turf/open/floor/plating/grass/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "DS" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/walnut, /area/ruin/beach) +"Eb" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "Em" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/walnut{ icon_state = "wood-broken7" }, /area/ruin/beach) -"Eq" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FG" = ( -/turf/template_noop, -/area/template_noop) -"FI" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 8 +"Ez" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 9 }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"FK" = ( -/obj/effect/turf_decal/siding/wood{ +"Fq" = ( +/obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/structure/railing{ +/obj/effect/turf_decal/siding/white{ dir = 1 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"FW" = ( -/obj/effect/turf_decal/weather/sand, +"Fr" = ( +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Fz" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"FG" = ( +/turf/template_noop, +/area/template_noop) +"Ga" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "Gr" = ( @@ -868,22 +852,6 @@ /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/plastic, /area/ruin/beach) -"GL" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_y = 8 - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GM" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) "GP" = ( /obj/structure/chair/sofa/right, /obj/effect/decal/cleanable/cobweb, @@ -892,6 +860,15 @@ }, /turf/open/floor/carpet, /area/ruin/beach) +"Hb" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "He" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, /obj/effect/decal/cleanable/blood/footprints{ @@ -914,6 +891,25 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ruin/beach) +"Hm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"HF" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/plating/grass/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) "HW" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, /obj/effect/decal/cleanable/blood/footprints{ @@ -925,11 +921,6 @@ }, /turf/open/floor/plastic, /area/ruin/beach) -"In" = ( -/obj/effect/turf_decal/borderfloor/corner, -/obj/effect/turf_decal/siding/white/corner, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) "Iv" = ( /obj/effect/decal/cleanable/garbage{ pixel_y = -14 @@ -937,44 +928,45 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood/walnut, /area/ruin/beach) -"IN" = ( -/obj/effect/turf_decal/borderfloor{ +"ID" = ( +/obj/effect/turf_decal/weather/sand/corner{ dir = 1 }, -/obj/effect/turf_decal/siding/white{ +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Jl" = ( +/obj/effect/turf_decal/siding/wideplating/corner, +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Kf" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"IV" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown/corner{ - dir = 8 +/obj/structure/railing/corner{ + dir = 1 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"Js" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 +"Kv" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 5 }, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 }, -/obj/structure/flora/rock/jungle, -/turf/open/water/beach, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"JL" = ( -/mob/living/simple_animal/hostile/carp/megacarp{ - dir = 8; - name = "Mother Carp"; - loot = list("/obj/item/clothing/suit/space/hardsuit/carp"); - faction = list("hostile","carp") +"KL" = ( +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 1 }, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"Kq" = ( -/mob/living/simple_animal/hostile/carp{ - bruteloss = 100 +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ + dir = 1 + }, +/obj/vehicle/ridden/lavaboat{ + dir = 4; + name = "boat" }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) @@ -987,12 +979,19 @@ /obj/structure/curtain/cloth/grey, /turf/open/floor/wood/ebony, /area/ruin/beach) -"KY" = ( -/obj/effect/turf_decal/borderfloor{ +"KZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ dir = 8 }, -/obj/effect/turf_decal/siding/white{ - dir = 8 +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Lb" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4; + layer = 3.1 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) @@ -1001,12 +1000,10 @@ /obj/item/trash/can, /turf/open/floor/wood/walnut, /area/ruin/beach) -"LE" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/gun/ballistic/shotgun/winchester/lethal, -/turf/open/floor/wood, -/area/ruin/beach) +"LK" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/cave/explored) "LM" = ( /obj/structure/closet/crate/bin, /obj/item/reagent_containers/food/snacks/fishmeat/carp/imitation, @@ -1015,27 +1012,29 @@ /obj/effect/turf_decal/corner/opaque/pink/diagonal, /turf/open/floor/plastic, /area/ruin/beach) -"LP" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"Mw" = ( +/turf/closed/mineral, +/area/overmap_encounter/planetoid/cave/explored) +"MI" = ( +/obj/structure/spacevine, +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/cave/explored) +"NF" = ( +/obj/effect/turf_decal/weather/sand, +/obj/effect/turf_decal/weather/sand/corner{ + dir = 1 }, -/obj/structure/flora/bigplant, -/turf/open/floor/concrete/tiles, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"Mn" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 +"Oi" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 1 }, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Nq" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/railing/corner, -/turf/open/water/beach/deep, +/obj/effect/turf_decal/weather/sand/corner{ + dir = 8 + }, +/obj/structure/flora/rock/jungle, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "Ok" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, @@ -1044,6 +1043,15 @@ "Ol" = ( /turf/open/floor/carpet, /area/ruin/beach) +"Oo" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/mob/living/simple_animal/hostile/pirate/ranged{ + faction = list("beach","pirate") + }, +/turf/open/floor/wood/ebony, +/area/overmap_encounter/planetoid/beachplanet/explored) "Os" = ( /obj/structure/table/wood/reinforced, /obj/effect/turf_decal/corner/opaque/pink/diagonal, @@ -1058,20 +1066,11 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/plastic, /area/ruin/beach) -"OE" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"OO" = ( -/obj/structure/spacevine/dense, -/turf/open/water/beach/deep, +"Ow" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/effect/turf_decal/siding/white/corner, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"Pe" = ( -/obj/structure/spawner/carp, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) "PB" = ( /obj/structure/closet/cabinet, /obj/item/pneumatic_cannon/speargun, @@ -1082,6 +1081,12 @@ }, /turf/open/floor/wood, /area/ruin/beach) +"PC" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 10 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "PM" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -1092,15 +1097,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/walnut, /area/ruin/beach) -"Qi" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, +"PR" = ( +/obj/structure/flora/ausbushes/reedbush, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"QO" = ( -/turf/closed/mineral, -/area/overmap_encounter/planetoid/cave/explored) +"QQ" = ( +/obj/effect/turf_decal/weather/sand/corner, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) "QV" = ( /obj/structure/table/wood/reinforced, /obj/machinery/microwave{ @@ -1138,49 +1142,76 @@ }, /turf/open/floor/carpet, /area/ruin/beach) -"Sl" = ( -/obj/effect/turf_decal/siding/wood/corner{ +"RE" = ( +/obj/effect/turf_decal/weather/sand/corner{ dir = 4 }, -/obj/structure/railing/corner{ - dir = 4; - layer = 3.1 +/obj/effect/turf_decal/weather/sand{ + dir = 4 }, -/turf/open/water/beach/deep, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"SC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"RR" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/ebony, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Sk" = ( +/turf/open/floor/plating/asteroid/sand, +/area/overmap_encounter/planetoid/beachplanet/explored) +"Sv" = ( +/obj/effect/turf_decal/weather/sand/corner{ + dir = 4 }, -/obj/structure/flora/ausbushes/stalkybush, -/obj/structure/railing{ +/turf/open/water/beach, +/area/overmap_encounter/planetoid/beachplanet/explored) +"SH" = ( +/obj/effect/turf_decal/weather/sand{ dir = 8 }, -/turf/open/water/beach/deep, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"SV" = ( -/obj/structure/flora/driftlog, -/turf/open/water/beach/deep, +"SW" = ( +/obj/effect/turf_decal/weather/sand/corner, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"Ta" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/asteroid/sand, +"SX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "Ty" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/wood, /area/ruin/beach) -"TQ" = ( -/obj/structure/flora/rock/asteroid, +"TM" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 4 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"TP" = ( +/mob/living/simple_animal/hostile/carp{ + bruteloss = 100 + }, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"Ue" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 +"TU" = ( +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ + dir = 1 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) @@ -1190,24 +1221,52 @@ /obj/effect/turf_decal/corner/opaque/pink/diagonal, /turf/open/floor/plastic, /area/ruin/beach) -"Ut" = ( -/obj/item/oar, -/obj/item/oar, -/obj/structure/rack, +"UC" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown/corner{ + dir = 8 + }, +/turf/open/water/beach/deep, +/area/overmap_encounter/planetoid/beachplanet/explored) +"UZ" = ( +/obj/machinery/light/floor{ + pixel_y = 16; + pixel_x = -16 + }, /turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) -"UE" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach/deep, +"Vh" = ( +/obj/structure/chair/plastic, +/obj/item/cigbutt{ + pixel_y = 7; + pixel_x = 9; + layer = 2.9 + }, +/obj/item/cigbutt{ + pixel_y = 3; + pixel_x = -10; + layer = 2.9 + }, +/obj/item/cigbutt{ + pixel_y = -5; + pixel_x = 4; + layer = 2.9 + }, +/mob/living/simple_animal/hostile/pirate/ranged{ + faction = list("beach","pirate") + }, +/turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) -"UH" = ( -/turf/open/floor/plasteel/stairs/wood, +"Vm" = ( +/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/sand{ + dir = 6 + }, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"UX" = ( -/obj/vehicle/ridden/lavaboat{ - dir = 8; - name = "boat" +"Vn" = ( +/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown/corner{ + dir = 1 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) @@ -1217,24 +1276,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/walnut, /area/ruin/beach) -"Vy" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VQ" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Wb" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/water/beach, +"VZ" = ( +/obj/structure/spacevine, +/turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) "Wk" = ( /obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, @@ -1254,48 +1298,24 @@ "WT" = ( /turf/open/floor/wood/walnut, /area/ruin/beach) -"WU" = ( +"WX" = ( /obj/effect/turf_decal/weather/sand/corner, /obj/effect/turf_decal/weather/sand/corner{ dir = 1 }, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"Xp" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing{ - layer = 3.3 - }, +"Yf" = ( +/obj/structure/flora/ausbushes/stalkybush, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"Xt" = ( -/obj/structure/chair/plastic, -/obj/item/cigbutt{ - pixel_y = 7; - pixel_x = 9; - layer = 2.9 - }, -/obj/item/cigbutt{ - pixel_y = 3; - pixel_x = -10; - layer = 2.9 - }, -/obj/item/cigbutt{ - pixel_y = -5; - pixel_x = 4; - layer = 2.9 - }, -/mob/living/simple_animal/hostile/pirate/ranged{ - faction = list("beach","pirate") - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"XA" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 +"Yk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 +/obj/structure/flora/ausbushes/stalkybush, +/obj/structure/railing{ + dir = 8 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) @@ -1304,30 +1324,15 @@ icon_state = "wood-broken7" }, /area/ruin/beach) -"YJ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Zq" = ( -/obj/effect/turf_decal/weather/sand/corner{ +"YL" = ( +/obj/effect/turf_decal/weather/sand{ dir = 8 }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"ZG" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, -/obj/vehicle/ridden/lavaboat{ - dir = 4; - name = "boat" - }, -/turf/open/water/beach/deep, +"Zf" = ( +/obj/structure/flora/rock/asteroid, +/turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "ZJ" = ( /mob/living/simple_animal/hostile/pirate/melee{ @@ -1335,11 +1340,6 @@ }, /turf/open/floor/wood, /area/ruin/beach) -"ZL" = ( -/obj/item/ammo_box/c38_box/hunting, -/obj/structure/closet/crate/wooden, -/turf/open/floor/wood, -/area/ruin/beach) "ZV" = ( /obj/effect/turf_decal/corner/opaque/pink/diagonal, /obj/effect/decal/cleanable/dirt, @@ -1372,10 +1372,10 @@ FG FG FG FG -hK -hK -hK -hK +rG +rG +rG +rG FG FG FG @@ -1412,15 +1412,15 @@ FG FG FG FG -hK -hK -hK -hK -hK -hK -hK -hK -hK +rG +rG +rG +rG +rG +rG +rG +rG +rG FG FG FG @@ -1452,18 +1452,18 @@ FG FG FG FG -hK -hK -hK -hK -hK -hK -hK -hK -hK -hK -AT -hK +rG +rG +rG +rG +rG +rG +rG +rG +rG +rG +PR +rG FG FG FG @@ -1491,22 +1491,22 @@ FG FG FG FG -hK -hK -hK -AT -hK -hK -DM -DM -DM -DM -DM -hK -hK -hK -hK -hK +rG +rG +rG +PR +rG +rG +Fr +Fr +Fr +Fr +Fr +rG +rG +rG +rG +rG FG FG FG @@ -1531,25 +1531,25 @@ FG FG FG FG -hK -hK -hK -hK -hK -hK -uC -DM -DM -DM -uC -DM -DM -DM -hK -hK -hK -hK -hK +rG +rG +rG +rG +rG +rG +Yf +Fr +Fr +Fr +Yf +Fr +Fr +Fr +rG +rG +rG +rG +rG FG FG FG @@ -1571,28 +1571,28 @@ FG FG FG FG -hK -hK -hK -hK -hK -DM -DM -DM -DM -DM -DM -DM -DM -DM -DM -In -mr -uD -hK -hK -hK -hK +rG +rG +rG +rG +rG +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +dp +SX +ny +rG +rG +rG +rG FG FG FG @@ -1612,29 +1612,29 @@ FG FG FG FG -hK -hK -hK -DM -DM -DM -SV -DM -DM -DM -DM -DM -DM -DM -DM -DM -uZ +rG +rG +rG +Fr +Fr +Fr +tr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +sG hd -vc -DM -hK -hK -hK +Fq +Fr +rG +rG +rG FG FG FG @@ -1654,30 +1654,30 @@ FG FG FG FG -hK -hK -hK -DM -DM -DM -In -mr -uD -DM -DM -DM -DM -DM -DM -DM -wH -KY -Ds -DM -hK -hK -hK -hK +rG +rG +rG +Fr +Fr +Fr +dp +SX +ny +Fr +Fr +Fr +Fr +Fr +Fr +Fr +wg +Hb +Eb +Fr +rG +rG +rG +rG FG FG FG @@ -1694,33 +1694,33 @@ FG FG FG FG -hK -hK -hK -hK -DM -DM -DM -DM -uZ +rG +rG +rG +rG +Fr +Fr +Fr +Fr +sG hd -vc -DM -fh -wu -Zq -DM -Eq -DM -DM -DM -DM -DM -DM -hK -hK -hK -hK +Fq +Fr +QQ +TM +lL +Fr +oI +Fr +Fr +Fr +Fr +Fr +Fr +rG +rG +rG +rG FG FG "} @@ -1734,21 +1734,21 @@ FG FG FG FG -hK -hK -hK -DM -DM -DM -DM -DM -DM -DM -wH -KY -Ds -fh -CJ +rG +rG +rG +Fr +Fr +Fr +Fr +Fr +Fr +Fr +wg +Hb +Eb +QQ +Vm ut bE bE @@ -1756,13 +1756,13 @@ ut bE bE ut -DO -DO -Sl -DM -hK -hK -hK +iN +iN +Lb +Fr +rG +rG +rG FG FG "} @@ -1774,23 +1774,23 @@ FG FG FG FG -hK -hK -hK -hK -DM -DM -DM -Nq -DO -DO -DO -DO -DO -DO -DO -gu -AY +rG +rG +rG +rG +Fr +Fr +Fr +kg +iN +iN +iN +iN +iN +iN +iN +zx +DL ut GP Ol @@ -1798,14 +1798,14 @@ hh ov Vt ut -oE -qQ -FK -DM -hK -hK -hK -hK +RR +xt +bN +Fr +rG +rG +rG +rG FG "} (12,1,1) = {" @@ -1813,26 +1813,26 @@ FG FG FG FG -hK -hK -hK -dB -DM -DM -DM -DM -DM -DM -Xp -GL -gT -gT -gT -gT -gT -gT -gT -Ut +rG +rG +rG +TP +Fr +Fr +Fr +Fr +Fr +Fr +nc +qh +yV +yV +yV +yV +yV +yV +yV +bG ut sN yo @@ -1840,41 +1840,41 @@ fo nn dd KW -gT -Xt -FK -DM -hK -hK -hK -hK +yV +Vh +bN +Fr +rG +rG +rG +rG FG "} (13,1,1) = {" FG FG FG -hK -hK -hK -DM -DM -DM -sV -DM -DM -Eq -DM -Xp -sA -gT -gT -gT -gT -gT -aa -gT -gT +rG +rG +rG +Fr +Fr +Fr +VZ +Fr +Fr +oI +Fr +nc +Oo +yV +yV +yV +yV +yV +BR +yV +yV ut Rh ae @@ -1882,38 +1882,38 @@ Ol kC Yu KW -gT -gT -FK -DM -hK -hK -hK -hK +yV +yV +bN +Fr +rG +rG +rG +rG FG "} (14,1,1) = {" FG FG FG -hK -DM -DM -DM -DM -sV -OO -DM -DM -uC -DM -GM -oH -dW -gT -gT -uY -oH +rG +Fr +Fr +Fr +Fr +VZ +Af +Fr +Fr +Yf +Fr +pg +Ga +dI +yV +yV +Hm +Ga ut ut pe @@ -1924,38 +1924,38 @@ BD yL zA ut -DB -gT -FK -DM -DM -gZ -tH -ep -hK +oY +yV +bN +Fr +Fr +Ow +hl +pb +rG "} (15,1,1) = {" FG FG -hK -hK -DM -DM -DM -DM -DM -OO -sV -DM -DM -uC -DM -DM -FI -gT -gT -ZG -DM +rG +rG +Fr +Fr +Fr +Fr +Fr +Af +VZ +Fr +Fr +Yf +Fr +Fr +ld +yV +yV +KL +Fr ut CV ZV @@ -1966,38 +1966,38 @@ dd WT kM ut -SC -oH -yD -DM -DM -uZ +Yk +Ga +Kf +Fr +Fr +sG hd -IN -hK +bs +rG "} (16,1,1) = {" FG -hK -hK -DM -DM -DM -Kq -DM -DM -sV -OO -sV -DM -DM -DM -DM -zB -gT -oP -tV -DM +rG +rG +Fr +Fr +Fr +fp +Fr +Fr +VZ +Af +VZ +Fr +Fr +Fr +Fr +Jl +yV +UZ +TU +Fr bE Gr Ok @@ -2010,36 +2010,36 @@ ut ut ut ut -bf -fO -DM -wH -vA -hW -nv +fv +Bz +Fr +wg +rP +SW +mE "} (17,1,1) = {" FG -hK -hK -DM -DM -DM -DM -fh -wu -Zq -DM -sV -DM -DM -DM -DM -FI -gT -gT -kw -DM +rG +rG +Fr +Fr +Fr +Fr +QQ +TM +lL +Fr +VZ +Fr +Fr +Fr +Fr +ld +yV +yV +yK +Fr ut rs Ok @@ -2052,36 +2052,36 @@ Yu Iv Ly ut -AF -sp -XA -qE -nv -pC -Vy +BW +Kv +om +Bo +mE +Sv +sM "} (18,1,1) = {" FG -ch -hK -DM -DM -DM -Eq -QO -QO -QO -DM -DM -DM -DM -DM -UX -zB -gT -cr -tV -fh +Fz +rG +Fr +Fr +Fr +oI +Mw +Mw +Mw +Fr +Fr +Fr +Fr +Fr +di +Jl +yV +Cr +TU +QQ bE QV Ok @@ -2094,36 +2094,36 @@ dd WT Em ut -zc -vL -hH -yy -WU -nv -TQ +uM +ns +rt +rV +WX +mE +Zf "} (19,1,1) = {" -hK -ch -DM -DM -DM -UE -QO -QO -QO -QO -QO -Zq -DM -DM -DM -DM -FI -gT -gT -kw -FW +rG +Fz +Fr +Fr +Fr +du +Mw +Mw +Mw +Mw +Mw +lL +Fr +Fr +Fr +Fr +ld +yV +yV +yK +tQ ut Uj Os @@ -2136,79 +2136,79 @@ mV eJ PM mP -UH -vL -hH -fG -Ap -Js -hK +dq +ns +rt +lX +RE +Oi +rG "} (20,1,1) = {" -hK -hK -DM -DM -DM -QO -QO -QO -pJ -CQ -QO -Mn -Zq -DM -DM -DM -IV -eO -eO -YJ -FW +rG +rG +Fr +Fr +Fr +Mw +Mw +Mw +MI +mh +Mw +Bu +lL +Fr +Fr +Fr +UC +KZ +KZ +Vn +tQ ut ut ut Hj ut ut -LE +mD ZJ oS oS oS ut -LP -vL -Wb -nG -pI -Qi -hK +hY +ns +Bb +NF +Sk +Ci +rG "} (21,1,1) = {" -hK -hK -DM -DM -DM -QO -QO -QO -Pe -CQ -tX -eS -Dz -Zq -DM -DM -DM -DM -DM -DM -OE -xl +rG +rG +Fr +Fr +Fr +Mw +Mw +Mw +nR +mh +xP +LK +my +lL +Fr +Fr +Fr +Fr +Fr +Fr +gm +PC ut vD Wk @@ -2216,41 +2216,41 @@ sz ut Ty oS -ZL +mq kj PB ut -AF -tA -aF -pC -AO -Vy +BW +BN +kr +Sv +SH +sM FG "} (22,1,1) = {" -hK -hK -DM -DM -uC -QO -QO -QO -pJ -JL -pJ -QO -pJ -Mn -Zq -DM -DM -DM -In -mr -uD -OE +rG +rG +Fr +Fr +Yf +Mw +Mw +Mw +MI +mj +MI +Mw +MI +Bu +lL +Fr +Fr +Fr +dp +SX +ny +gm ut vM Gt @@ -2262,178 +2262,178 @@ bE bE ut ut -Ue -aF -DM -hK -hK -hK +wR +kr +Fr +rG +rG +rG FG "} (23,1,1) = {" FG -hK -DM -DM -DM -fh -QO -QO -QO -pJ -CQ -QO -QO -QO -jD -DM -DM -DM -uZ +rG +Fr +Fr +Fr +QQ +Mw +Mw +Mw +MI +mh +Mw +Mw +Mw +AG +Fr +Fr +Fr +sG hd -vc -fh +Fq +QQ ut ly gz tj ut -VQ -vv -Ay -ra -DM -DM -DM -DM -DM -hK -hK -hK +HF +hq +Ez +ID +Fr +Fr +Fr +Fr +Fr +rG +rG +rG FG "} (24,1,1) = {" FG -hK -hK -DM -DM -FW -QO -QO -QO -QO -QO -QO -QO -QO -jD -DM -DM -DM -wH -KY -Ds -FW +rG +rG +Fr +Fr +tQ +Mw +Mw +Mw +Mw +Mw +Mw +Mw +Mw +AG +Fr +Fr +Fr +wg +Hb +Eb +tQ ut ut ut ut ut -Ta -Ay -ra -In -mr -uD -DM -DM -DM -hK -hK -hK +iH +Ez +ID +dp +SX +ny +Fr +Fr +Fr +rG +rG +rG FG "} (25,1,1) = {" FG -hK -hK -DM -DM -ro -ic -xl -QO -QO -QO -QO -QO -QO -ra -DM -DM -DM -DM -DM -DM -OE -ic -ra -DM -OE -ic -ic -ra -DM -uZ +rG +rG +Fr +Fr +Cp +YL +PC +Mw +Mw +Mw +Mw +Mw +Mw +ID +Fr +Fr +Fr +Fr +Fr +Fr +gm +YL +ID +Fr +gm +YL +YL +ID +Fr +sG hd -vc -DM -DM -hK -hK -hK +Fq +Fr +Fr +rG +rG +rG FG FG "} (26,1,1) = {" FG FG -hK -Kq -DM -DM -DM -OE -ic -QO -QO -QO -QO -DM -DM -DM -DM -Eq -DM -Eq -DM -DM -DM -DM -DM -DM -DM -DM -DM -DM -wH -KY -Ds -hK -hK -hK -hK +rG +fp +Fr +Fr +Fr +gm +YL +Mw +Mw +Mw +Mw +Fr +Fr +Fr +Fr +oI +Fr +oI +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +wg +Hb +Eb +rG +rG +rG +rG FG FG FG @@ -2441,39 +2441,39 @@ FG (27,1,1) = {" FG FG -hK -DM -DM -DM -DM -DM -DM -DM -DM -Eq -DM -DM -DM -DM -DM -Eq -AT -hK -AT -DM -DM -DM -DM -DM -DM -DM -hK -hK -hK -hK -AT -hK -hK +rG +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +oI +Fr +Fr +Fr +Fr +Fr +oI +PR +rG +PR +Fr +Fr +Fr +Fr +Fr +Fr +Fr +rG +rG +rG +rG +PR +rG +rG FG FG FG @@ -2483,38 +2483,38 @@ FG (28,1,1) = {" FG FG -hK -hK -DM -DM -DM -DM -DM -DM -DM -DM -DM -DM -DM -DM -hK -hK -hK -hK -hK -hK -hK -DM -DM -hK -hK -hK -ch -hK -hK -hK -hK -hK +rG +rG +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +Fr +rG +rG +rG +rG +rG +rG +rG +Fr +Fr +rG +rG +rG +Fz +rG +rG +rG +rG +rG FG FG FG @@ -2526,35 +2526,35 @@ FG FG FG FG -hK -hK -hK -hK -DM -DM -Kq -DM -DM -hK -hK -hK -hK -hK -hK +rG +rG +rG +rG +Fr +Fr +fp +Fr +Fr +rG +rG +rG +rG +rG +rG FG FG -hK -hK -hK -AT -hK -hK -ch -hK -ch -hK -hK -hK +rG +rG +rG +PR +rG +rG +Fz +rG +Fz +rG +rG +rG FG FG FG @@ -2570,15 +2570,15 @@ FG FG FG FG -hK -hK -hK -hK -hK -hK -hK -hK -hK +rG +rG +rG +rG +rG +rG +rG +rG +rG FG FG FG @@ -2587,14 +2587,14 @@ FG FG FG FG -hK -hK -hK -hK -hK -hK -hK -hK +rG +rG +rG +rG +rG +rG +rG +rG FG FG FG diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 5042f1c2c1d7..08967d4aa4d5 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -19,23 +19,19 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "ay" = ( -/obj/structure/barricade/wooden, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) -"aY" = ( -/obj/structure/flora/ausbushes/reedbush{ - pixel_x = -11; - pixel_y = 7 +/obj/structure/flora/tree/palm, +/turf/open/floor/plating/beach/sand{ + light_range = 2 }, +/area/ruin/unpowered) +"aY" = ( +/obj/structure/flora/ausbushes/reedbush, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "bB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, +/obj/structure/flora/rock/beach, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "bI" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/light/small/directional/north, @@ -43,20 +39,23 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "bN" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, +/obj/effect/turf_decal/weather/sand, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "bP" = ( /obj/item/chair/wood, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "bQ" = ( -/obj/structure/flora/junglebush, +/obj/structure/railing/wood{ + layer = 3.1; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/lootdrop/glowstick, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "cJ" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/ore_box, @@ -66,14 +65,22 @@ /turf/open/floor/plating/dirt/jungle/lit, /area/ruin/beach/treasure_cove) "cU" = ( -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + barefootstep = "woodbarefoot"; + color = "#A47449"; + dir = 4; + footstep = "wood" + }, +/area/ruin/unpowered) "db" = ( -/obj/effect/overlay/palmtree_l, -/turf/open/floor/plating/beach/sand{ - light_range = 2 +/obj/effect/turf_decal/weather/sand{ + dir = 5 }, -/area/overmap_encounter/planetoid/beachplanet/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "dE" = ( /obj/machinery/light/directional/east, /obj/structure/cable{ @@ -85,15 +92,15 @@ /turf/closed/mineral/random/beach, /area/ruin/beach/treasure_cove) "dO" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = -10; - pixel_y = 3 +/obj/structure/flora/rock{ + pixel_x = 13 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/spacevine, +/obj/structure/spacevine/dense, +/obj/structure/punji_sticks, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "dV" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -102,17 +109,9 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "el" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/structure/flora/ausbushes/stalkybush{ - pixel_y = 11; - pixel_x = 19 - }, -/obj/structure/spacevine, -/obj/structure/spacevine/dense, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "eI" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood{ @@ -135,10 +134,16 @@ }, /area/ruin/beach/treasure_cove) "fu" = ( -/turf/open/floor/plating/beach/sand{ - light_range = 2 +/obj/structure/flora/ausbushes/reedbush{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/structure/flora/ausbushes/reedbush{ + pixel_x = 10; + pixel_y = 16 }, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "fE" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -155,14 +160,12 @@ /turf/open/floor/concrete/slab_4, /area/ruin/beach/treasure_cove) "fR" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 +/obj/structure/flora/rock/pile/largejungle{ + pixel_x = -25; + pixel_y = -9 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/glowstick, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/turf/closed/mineral/random/beach, +/area/ruin/unpowered) "fU" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -172,11 +175,16 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "gh" = ( -/obj/structure/flora/tree/palm, -/turf/open/floor/plating/beach/sand{ - light_range = 2 +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/vehicle/ridden/lavaboat{ + dir = 8; + name = "boat"; + desc = "A boat used for traversing water. Thats right." }, -/area/overmap_encounter/planetoid/beachplanet/explored) +/turf/open/water/beach/deep, +/area/ruin/unpowered) "hm" = ( /turf/open/floor/plasteel/stairs{ barefootstep = "woodbarefoot"; @@ -185,18 +193,11 @@ }, /area/ruin/beach/treasure_cove) "ht" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 +/obj/effect/overlay/palmtree_r, +/turf/open/floor/plating/beach/sand{ + light_range = 2 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "hJ" = ( /obj/effect/turf_decal/industrial/traffic, /obj/effect/turf_decal/industrial/traffic{ @@ -206,34 +207,33 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "hS" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 +/turf/open/floor/plating/beach/sand{ + light_range = 2 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "ie" = ( -/obj/structure/flora/ausbushes/reedbush{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/structure/flora/ausbushes/reedbush{ - pixel_x = 10; - pixel_y = 16 +/obj/structure/closet/crate/grave/loot{ + desc = "Here lies our great brother and infamous pirate" }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "ii" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "il" = ( -/obj/structure/flora/ausbushes/sunnybush{ - pixel_x = -5 +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/rock/pile/largejungle{ + pixel_x = -25; + pixel_y = -9 + }, +/turf/open/water/beach, +/area/ruin/unpowered) "jb" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -255,12 +255,8 @@ /turf/open/floor/carpet/red, /area/ruin/beach/treasure_cove) "jf" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = -25; - pixel_y = -9 - }, -/turf/closed/mineral/random/beach, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "jq" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -285,11 +281,10 @@ }, /area/ruin/beach/treasure_cove) "jT" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/obj/structure/barricade/wooden, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "jV" = ( /obj/structure/flora/grass/jungle/b{ pixel_x = -8; @@ -298,21 +293,17 @@ /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "jZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/vehicle/ridden/lavaboat{ - dir = 8; - name = "boat"; - desc = "A boat used for traversing water. Thats right." +/obj/effect/turf_decal/weather/sand{ + dir = 10 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "kl" = ( +/obj/effect/overlay/palmtree_l, /turf/open/floor/plating/beach/sand{ light_range = 2 }, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "km" = ( /mob/living/simple_animal/hostile/cockroach, /turf/open/floor/wood{ @@ -328,37 +319,31 @@ /turf/open/floor/plating, /area/ruin/beach/treasure_cove) "kK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/structure/fluff/fokoff_sign{ + pixel_x = -13 }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "le" = ( /obj/effect/turf_decal/siding/wood, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "lt" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = -5; - pixel_y = 8 - }, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/turf/closed/mineral/random/beach, +/area/ruin/unpowered) "lL" = ( /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "mG" = ( -/obj/structure/flora/rock{ - pixel_x = 13 +/obj/effect/turf_decal/weather/dirt{ + dir = 4 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/spacevine, /obj/structure/spacevine/dense, -/obj/structure/punji_sticks, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "mK" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/closet/crate/secure/loot, @@ -389,12 +374,13 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "nR" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = -12 +/obj/structure/flora/junglebush, +/obj/structure/railing/wood{ + layer = 3.1; + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "on" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -422,13 +408,9 @@ /turf/open/floor/concrete/slab_3, /area/ruin/beach/treasure_cove) "oE" = ( -/obj/structure/destructible/tribal_torch/lit{ - pixel_x = 12 - }, -/obj/structure/spacevine, -/obj/structure/punji_sticks, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/rock/beach, +/turf/open/water/beach/deep, +/area/ruin/unpowered) "oO" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -439,9 +421,18 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "oR" = ( -/mob/living/simple_animal/beachcarp/bass, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/railing/wood{ + layer = 3.1; + dir = 8 + }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "oS" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -462,25 +453,16 @@ /turf/closed/wall/concrete, /area/ruin/beach/treasure_cove) "pT" = ( -/obj/structure/flora/ausbushes/grassybush, +/obj/effect/overlay/palmtree_r, /turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "pU" = ( -/obj/structure/flora/junglebush/large{ - pixel_x = -22; - pixel_y = -3 - }, /obj/structure/flora/grass/jungle{ - pixel_x = 2; - pixel_y = -15 - }, -/obj/structure/destructible/tribal_torch/lit{ - pixel_x = 16; - pixel_y = 6 + pixel_x = -12 }, -/mob/living/simple_animal/hostile/rat, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "qc" = ( /obj/effect/decal/cleanable/cobweb, /obj/machinery/power/apc/auto_name/directional/west, @@ -492,9 +474,12 @@ }, /area/ruin/beach/treasure_cove) "qf" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, /obj/structure/spacevine, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "qr" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -517,10 +502,10 @@ /area/ruin/beach/treasure_cove) "qw" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 5 + dir = 9 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "qN" = ( /obj/item/storage/box/zipties{ pixel_y = 7; @@ -562,12 +547,11 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "rA" = ( -/obj/structure/flora/ausbushes/fullgrass{ - pixel_x = 13; - pixel_y = 6 +/mob/living/simple_animal/beachcarp/trout{ + dir = 4 }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "rK" = ( /obj/structure/chair/wood{ dir = 8 @@ -628,23 +612,29 @@ /turf/open/floor/plating, /area/ruin/beach/treasure_cove) "td" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "tm" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "tx" = ( /obj/structure/flora/ausbushes/stalkybush{ - pixel_x = 10; - pixel_y = 1 + pixel_x = -12; + pixel_y = 10 }, /obj/structure/flora/ausbushes/stalkybush{ - pixel_y = -7; - pixel_x = -5 + pixel_y = -6 + }, +/obj/structure/flora/ausbushes/stalkybush{ + pixel_x = 10; + pixel_y = 1 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "tA" = ( /obj/structure/barricade/wooden, /obj/structure/barricade/wooden/crude, @@ -655,13 +645,11 @@ dir = 1 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "tH" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, +/mob/living/simple_animal/beachcarp/bass, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "tS" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -678,11 +666,11 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/item/ammo_box/c38_box/hunting{ +/obj/item/ammo_box/c38_box{ pixel_x = 10; pixel_y = 8 }, -/obj/item/ammo_box/c38_box/hunting{ +/obj/item/ammo_box/c38_box{ pixel_x = 10 }, /obj/structure/sign/poster/contraband/energy_swords{ @@ -702,11 +690,14 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "uC" = ( -/obj/effect/turf_decal/weather/sand{ +/obj/effect/turf_decal/weather/dirt{ dir = 9 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/plating/dirt/jungle/wasteland, +/area/ruin/unpowered) "uI" = ( /obj/structure/railing/wood{ layer = 3.1 @@ -730,14 +721,9 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "vo" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/plating/dirt/jungle/wasteland, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "vW" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -761,12 +747,11 @@ }, /area/ruin/beach/treasure_cove) "wS" = ( -/obj/structure/closet/crate/grave/loot{ - desc = "Here lies our great brother and infamous pirate" +/obj/effect/turf_decal/weather/dirt{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "xa" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -791,15 +776,15 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "xg" = ( -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) +/mob/living/simple_animal/beachcarp/perch, +/turf/open/water/beach, +/area/ruin/unpowered) "xm" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = 11; - pixel_y = -20 +/obj/structure/flora/ausbushes/sunnybush{ + pixel_x = -5 }, -/turf/closed/mineral/random/beach, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/floor/plating/grass/beach/lit, +/area/ruin/unpowered) "xU" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -849,22 +834,25 @@ }, /area/ruin/beach/treasure_cove) "yX" = ( -/obj/structure/closet/crate/goldcrate, +/obj/structure/flora/ausbushes/fullgrass{ + pixel_y = -7; + pixel_x = 1 + }, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "zh" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating{ icon_state = "panelscorched" }, /area/ruin/beach/treasure_cove) -"zy" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/dirt/jungle/dark/lit, -/area/overmap_encounter/planetoid/cave/explored) "zW" = ( -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/ausbushes/reedbush{ + pixel_x = -11; + pixel_y = 7 + }, +/turf/open/water/beach, +/area/ruin/unpowered) "Ab" = ( /obj/item/storage/bag/money/vault{ pixel_x = 4 @@ -883,24 +871,18 @@ /area/ruin/beach/treasure_cove) "Ad" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 4 + dir = 10 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "An" = ( -/obj/structure/flora/ausbushes/fullgrass{ - pixel_y = -7; - pixel_x = 1 - }, +/obj/structure/closet/crate/goldcrate, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "At" = ( -/obj/structure/destructible/tribal_torch/lit{ - pixel_x = -8; - pixel_y = 11 - }, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/ausbushes/grassybush, +/turf/open/floor/plating/grass/beach/lit, +/area/ruin/unpowered) "Au" = ( /turf/open/floor/wood/walnut, /area/ruin/beach/treasure_cove) @@ -910,15 +892,32 @@ /turf/open/floor/wood/walnut, /area/ruin/beach/treasure_cove) "BN" = ( -/turf/closed/mineral/random/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/destructible/tribal_torch/lit{ + pixel_x = 12 + }, +/turf/open/floor/plating/dirt/jungle/wasteland, +/area/ruin/unpowered) "BT" = ( /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "Cg" = ( -/obj/structure/flora/ausbushes/stalkybush, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/ausbushes/stalkybush{ + pixel_y = 11; + pixel_x = 19 + }, +/obj/structure/spacevine, +/obj/structure/spacevine/dense, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "Cz" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -927,14 +926,11 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "CB" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = 11; - pixel_y = -20 +/obj/effect/turf_decal/weather/sand{ + dir = 6 }, -/obj/structure/flora/ausbushes/ppflowers, -/mob/living/simple_animal/hostile/rat, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "CZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -943,13 +939,9 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/ruin/beach/treasure_cove) -"Dp" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) "Dz" = ( /turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "DC" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -957,28 +949,22 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "DY" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "Ez" = ( /turf/open/floor/carpet/red, /area/ruin/beach/treasure_cove) "EB" = ( -/obj/structure/flora/ausbushes/stalkybush{ - pixel_x = -12; - pixel_y = 10 - }, /obj/structure/flora/ausbushes/stalkybush, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "EE" = ( -/mob/living/simple_animal/crab, -/turf/open/floor/plating/beach/sand{ - light_range = 2 +/obj/effect/turf_decal/weather/sand{ + dir = 4 }, -/area/overmap_encounter/planetoid/beachplanet/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "EF" = ( /obj/structure/chair/wood{ dir = 8 @@ -992,14 +978,6 @@ /mob/living/simple_animal/hostile/pirate/melee, /turf/open/floor/plating/dirt/jungle/lit, /area/ruin/beach/treasure_cove) -"Fb" = ( -/obj/structure/flora/junglebush, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) "Gm" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/bed{ @@ -1009,13 +987,9 @@ /turf/open/floor/wood/walnut, /area/ruin/beach/treasure_cove) "GC" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, /obj/structure/spacevine, -/obj/structure/spacevine/dense, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "Hf" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -1026,11 +1000,11 @@ }, /area/ruin/beach/treasure_cove) "HP" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/water/beach/deep, +/area/ruin/unpowered) "Iv" = ( /turf/template_noop, /area/template_noop) @@ -1044,9 +1018,13 @@ }, /area/ruin/beach/treasure_cove) "Jd" = ( -/obj/effect/overlay/palmtree_r, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/grass/jungle, +/obj/structure/railing/wood{ + layer = 3.1; + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "Je" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/curtain/bounty, @@ -1054,28 +1032,32 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "Jh" = ( -/obj/structure/flora/rock/beach, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Jm" = ( /obj/structure/destructible/tribal_torch{ pixel_x = 9; pixel_y = 2 }, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JM" = ( +/area/ruin/unpowered) +"Jm" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 5 + dir = 4 }, +/turf/open/water/beach, +/area/ruin/unpowered) +"JM" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 6 + dir = 10 }, -/obj/structure/destructible/tribal_torch/lit{ - pixel_x = 12 +/obj/structure/flora/tree/jungle/small{ + pixel_x = -36 + }, +/obj/structure/flora/grass/jungle{ + pixel_x = 2; + pixel_y = -15 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/dirt/jungle/wasteland, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "JQ" = ( /obj/machinery/autolathe/hacked, /obj/item/stack/sheet/metal/twenty{ @@ -1099,30 +1081,25 @@ /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "Ku" = ( -/obj/structure/flora/ausbushes/fernybush, +/obj/structure/destructible/tribal_torch/lit{ + pixel_x = -8; + pixel_y = 11 + }, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "KO" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/structure/flora/tree/jungle/small{ - pixel_x = -36 - }, -/obj/structure/flora/grass/jungle{ - pixel_x = 2; - pixel_y = -15 - }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland, -/area/overmap_encounter/planetoid/cave/explored) +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "Le" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 +/obj/structure/destructible/tribal_torch/lit{ + pixel_x = 12 }, /obj/structure/spacevine, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/punji_sticks, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "Lt" = ( /obj/structure/table/wood/reinforced, /obj/item/flashlight/lantern{ @@ -1159,30 +1136,26 @@ }, /area/ruin/beach/treasure_cove) "MI" = ( -/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/flora/junglebush, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "Nk" = ( /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "Nu" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - dir = 4; - footstep = "wood" +/obj/structure/flora/ausbushes/fullgrass{ + pixel_x = 13; + pixel_y = 6 }, -/area/overmap_encounter/planetoid/cave/explored) +/turf/open/floor/plating/grass/beach/lit, +/area/ruin/unpowered) "NX" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "Oi" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -1230,19 +1203,22 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "Pt" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/rock/jungle{ + pixel_x = 11; + pixel_y = -20 + }, +/turf/closed/mineral/random/beach, +/area/ruin/unpowered) "Pw" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, /obj/structure/flora/rock/pile/largejungle{ - pixel_x = -25; - pixel_y = -9 + pixel_x = -10; + pixel_y = 3 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "Qh" = ( /obj/structure/bonfire/prelit, /obj/effect/decal/cleanable/dirt/dust, @@ -1250,16 +1226,14 @@ /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) "QJ" = ( -/mob/living/simple_animal/beachcarp/trout{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/obj/structure/barricade/wooden, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/ruin/unpowered) "Rn" = ( /obj/structure/spacevine, /obj/structure/spacevine/dense, /turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "Rv" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -1298,10 +1272,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/ruin/beach/treasure_cove) -"Sk" = ( -/obj/structure/flora/rock/beach, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) "Sm" = ( /obj/machinery/suit_storage_unit/inherit, /obj/effect/turf_decal/industrial/outline/yellow, @@ -1309,24 +1279,24 @@ /turf/open/floor/concrete/slab_2, /area/ruin/beach/treasure_cove) "St" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 +/obj/structure/flora/junglebush/large{ + pixel_x = -22; + pixel_y = -3 }, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) -"SD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/structure/flora/grass/jungle{ + pixel_x = 2; + pixel_y = -15 }, -/obj/vehicle/ridden/lavaboat{ - dir = 8; - name = "boat"; - desc = "A boat used for traversing water. Thats right." +/obj/structure/destructible/tribal_torch/lit{ + pixel_x = 16; + pixel_y = 6 }, +/mob/living/simple_animal/hostile/rat, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) +"SD" = ( /turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "SQ" = ( /obj/structure/chair/wood{ dir = 8 @@ -1343,21 +1313,20 @@ pixel_x = -12; pixel_y = 10 }, -/obj/structure/flora/ausbushes/stalkybush{ - pixel_y = -6 - }, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/water/beach, +/area/ruin/unpowered) +"Th" = ( /obj/structure/flora/ausbushes/stalkybush{ pixel_x = 10; pixel_y = 1 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) -"Th" = ( -/obj/structure/fluff/fokoff_sign{ - pixel_x = -13 +/obj/structure/flora/ausbushes/stalkybush{ + pixel_y = -7; + pixel_x = -5 }, -/turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "Ty" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/effect/decal/cleanable/dirt/dust, @@ -1388,11 +1357,10 @@ dir = 1 }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "TN" = ( -/obj/effect/turf_decal/weather/sand, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "TV" = ( /obj/effect/turf_decal/industrial/loading{ dir = 4 @@ -1406,8 +1374,11 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "UY" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 8 + }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "Vc" = ( /obj/structure/railing/wood{ layer = 3.1 @@ -1430,11 +1401,11 @@ /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "VF" = ( -/obj/effect/overlay/palmtree_r, -/turf/open/floor/plating/beach/sand{ - light_range = 2 +/obj/effect/turf_decal/weather/sand{ + dir = 9 }, -/area/overmap_encounter/planetoid/beachplanet/explored) +/turf/open/water/beach, +/area/ruin/unpowered) "VT" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/walnut{ @@ -1471,11 +1442,11 @@ /turf/open/floor/plating/rust, /area/ruin/beach/treasure_cove) "WX" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 +/mob/living/simple_animal/crab, +/turf/open/floor/plating/beach/sand{ + light_range = 2 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "Xp" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -1497,20 +1468,32 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "XO" = ( -/mob/living/simple_animal/beachcarp/perch, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/vehicle/ridden/lavaboat{ + dir = 8; + name = "boat"; + desc = "A boat used for traversing water. Thats right." + }, /turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) +/area/ruin/unpowered) "YH" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +/obj/structure/flora/rock/jungle{ + pixel_x = 11; + pixel_y = -20 }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/cave/explored) +/obj/structure/flora/ausbushes/ppflowers, +/mob/living/simple_animal/hostile/rat, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "YL" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/greenglow, +/obj/structure/flora/rock/jungle{ + pixel_x = -5; + pixel_y = 8 + }, /turf/open/floor/plating/dirt/jungle, -/area/overmap_encounter/planetoid/cave/explored) +/area/ruin/unpowered) "Zd" = ( /obj/effect/decal/cleanable/blood/old{ pixel_x = -12; @@ -1564,31 +1547,31 @@ Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -kl -kl -kl -kl -kl -kl -db -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv Iv Iv Iv @@ -1603,38 +1586,38 @@ Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl +Iv +Iv +Iv +Iv +Iv +Iv +lt +lt +lt +lt +lt +lt +hS +hS +hS +hS +hS +hS kl +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +Iv Iv Iv "} @@ -1645,41 +1628,41 @@ Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -WX -WX -WX -WX -WX -WX -WX -WX -WX -WX -WX +Iv +Iv +Iv +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS hS -kl -kl -kl -kl -db -kl -kl Iv Iv "} @@ -1690,23 +1673,22 @@ Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -UY +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt UY UY UY @@ -1718,14 +1700,15 @@ UY UY UY UY -WX -WX +jZ +hS +hS +hS hS kl -kl -kl -kl -kl +hS +hS +Iv Iv "} (5,1,1) = {" @@ -1734,44 +1717,44 @@ Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -UY -tH -tH -tH -tH -UY -UY -UY +Iv +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +TN +TN +TN +TN +TN +TN +TN +TN +TN +TN +TN +TN UY UY +jZ hS -kl -kl -kl -kl -kl +hS +hS +hS +hS +Iv "} (6,1,1) = {" Iv @@ -1779,60 +1762,105 @@ Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +TN +EE +EE +EE +EE +TN +TN +TN +TN +TN +jZ +hS +hS +hS +hS +hS +"} +(7,1,1) = {" +Iv +Iv +Iv +Iv +Iv +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt pz pz pz pz pz -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +WX +hS +db EE -kl -jT -tH -UY -UY -UY -UY +TN +TN +TN +TN +jZ +hS +hS +hS hS -kl -kl -kl -kl "} -(7,1,1) = {" +(8,1,1) = {" Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt pz pz Ry @@ -1840,42 +1868,42 @@ xb Ry pz pz -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -kl -kl -jT -UY -UY -UY +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS +hS +hS +db TN -kl -kl -kl -kl +TN +TN +bN +hS +hS +hS +hS "} -(8,1,1) = {" +(9,1,1) = {" Iv Iv Iv Iv -BN -BN -BN -BN -BN -BN -pz -pz +lt +lt +lt +lt +lt +lt +pz +pz pz pz pz @@ -1885,38 +1913,38 @@ mN hJ ac pz -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -db -kl +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS kl +hS +hS TJ -Sk -UY +bB TN -kl -kl -kl -kl +bN +hS +hS +hS +hS "} -(9,1,1) = {" +(10,1,1) = {" Iv Iv Iv Iv -BN -BN -BN -BN +lt +lt +lt +lt pz pz pz @@ -1930,37 +1958,37 @@ Zn Ry fg pz -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -EE -kl -kl +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS +WX +hS +hS TJ -UY -UY -UY +TN +TN +TN +jZ +hS +hS hS -kl -kl -kl "} -(10,1,1) = {" +(11,1,1) = {" Iv Iv Iv -BN -BN -BN -BN +lt +lt +lt +lt pz pz JQ @@ -1975,37 +2003,37 @@ Ty Ry XE pz -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -kl -uC -WX -UY -UY -UY +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS +hS +VF UY TN -kl -kl -kl +TN +TN +TN +bN +hS +hS +hS "} -(11,1,1) = {" +(12,1,1) = {" Iv Iv Iv -BN -BN -BN -BN +lt +lt +lt +lt pz qc zh @@ -2020,37 +2048,37 @@ TV vb TV dG -BN -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -uC -UY -UY -UY -UY -UY -oR +lt +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +VF TN -kl -kl -kl +TN +TN +TN +TN +tH +bN +hS +hS +hS "} -(12,1,1) = {" +(13,1,1) = {" Iv Iv Iv -BN -BN -BN -BN +lt +lt +lt +lt pz Wh ft @@ -2065,40 +2093,40 @@ oO ap DC DC -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -WX -UY -UY -BN -BN -UY -UY +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt UY TN -kl -kl -kl +TN +lt +lt +TN +TN +TN +bN +hS +hS +hS "} -(13,1,1) = {" +(14,1,1) = {" Iv Iv Iv -BN -BN -BN -BN -pz -yT -sQ +lt +lt +lt +lt +pz +yT +sQ Mv ww TF @@ -2110,37 +2138,37 @@ nD Nk oS Vx -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -UY -UY -UY -UY -BN -UY -UY -UY -UY +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +TN +TN +TN +TN +lt +TN +TN +TN +TN +jZ +hS hS -kl -kl "} -(14,1,1) = {" +(15,1,1) = {" Iv Iv Iv -BN -BN -BN -BN +lt +lt +lt +lt pz tb dE @@ -2153,39 +2181,39 @@ uz Cz nD nj -td -Dp -td +TN +aY +TN +Ad YH -CB -At -BN -BN -BN -BN -UY -UY -UY -UY -UY -UY -oR -UY +Ku +lt +lt +lt +lt +TN +TN +TN +TN +TN +TN tH -UY -UY TN -kl -kl +EE +TN +TN +bN +hS +hS "} -(15,1,1) = {" +(16,1,1) = {" Iv Iv Iv -BN -BN -BN -BN +lt +lt +lt +lt pz pz pz @@ -2198,41 +2226,41 @@ cR Hf Nk uU -td -aY +TN zW -td -YH -Ku -oE +SD +TN +Ad el -UY -UY -UY -UY -UY -UY -UY -UY -UY -bN -kl +Le +Cg +TN +TN +TN +TN +TN +TN +TN +TN +TN +CB +hS TJ -UY TN -kl -kl +bN +hS +hS "} -(16,1,1) = {" +(17,1,1) = {" Iv -BN -BN -BN -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt +lt +lt +lt pz qr jb @@ -2242,42 +2270,42 @@ sC Qh xX nj -td -td -zW -zW -zW -td -Le -Le -Cg -UY -UY -UY -xg -xg +TN +TN +SD +SD +SD +TN +qf +qf +EB +TN +TN +TN +SD +SD +SD xg -XO -UY TN -kl -BN -BN -UY +bN +hS +lt +lt TN -kl -kl +bN +hS +hS "} -(17,1,1) = {" -BN -BN +(18,1,1) = {" +lt +lt Dz -BN -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt +lt pz vW SQ @@ -2287,42 +2315,42 @@ jV EU xX nj -td -td -zW -zW -zW -zW -qf -qf -EB -UY -xg -xg -xg -xg -xg -xg -UY -UY -WX -BN -UY -UY TN -kl -kl -"} -(18,1,1) = {" -BN +TN +SD +SD +SD +SD +GC +GC +Te +TN +SD +SD +SD +SD +SD +SD +TN +TN +UY +lt +TN +TN +bN +hS +hS +"} +(19,1,1) = {" +lt Dz -rA -BN -BN -BN -BN -BN -BN +Nu +lt +lt +lt +lt +lt +lt pz on Ez @@ -2332,42 +2360,42 @@ DC DC IQ nj -td -td -zW +TN +TN SD -kK -jZ -td -qf -Te -UY -xg -xg -xg -xg -xg -xg -xg -UY -UY -UY -UY -UY +gh +HP +XO TN -kl -kl +GC +tx +TN +SD +SD +SD +SD +SD +SD +SD +TN +TN +TN +TN +TN +bN +hS +hS "} -(19,1,1) = {" -BN -Jd +(20,1,1) = {" +lt +pT Dz -BN -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt +lt pz Oi jF @@ -2377,42 +2405,42 @@ Kj Kj fU nj -qw -EB +wS +Te le ZO rp Uf tD Rn -tx -UY -UY -xg -Jh -xg -xg -xg -UY -UY -UY -UY -UY -UY +Th TN -kl -kl +TN +SD +oE +SD +SD +SD +TN +TN +TN +TN +TN +TN +bN +hS +hS "} -(20,1,1) = {" -BN -pT +(21,1,1) = {" +lt +At Dz Dz -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt pz OG TI @@ -2422,42 +2450,42 @@ Kn bP Rv RN -An -qw +yX +wS le Oq Zd nf tD Rn -qf -UY -UY -UY -UY -UY -xg -UY -UY -UY -UY -UY -UY -UY +GC TN -kl -kl +TN +TN +TN +TN +SD +TN +TN +TN +TN +TN +TN +TN +bN +hS +hS "} -(21,1,1) = {" -BN -BN -il +(22,1,1) = {" +lt +lt +xm Dz -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt pz pz Zz @@ -2468,42 +2496,42 @@ Lt xX dV yD -Ku -qw -bB +el +wS +NX Xw -bB -td +NX +TN Rn -GC -Ad -Ad -UY -UY -UY -UY -UY -QJ -UY -UY -UY -UY -oR +mG +Jm +Jm TN -kl -kl +TN +TN +TN +TN +rA +TN +TN +TN +TN +tH +bN +hS +hS "} -(22,1,1) = {" +(23,1,1) = {" Iv -BN -BN -fu -fu -BN -BN -BN -BN -BN +lt +lt +hS +hS +lt +lt +lt +lt +lt pz re Au @@ -2518,37 +2546,37 @@ DC OI jq Xp -BN -BN -mG -Jm -Th -NX -UY -UY -UY -UY -UY -UY -BN -BN -UY -UY +lt +lt +dO +Jh +kK +wS TN -kl -kl +TN +TN +TN +TN +TN +lt +lt +TN +TN +bN +hS +hS "} -(23,1,1) = {" +(24,1,1) = {" Iv -BN -BN -kl -kl -BN -BN -BN -BN -BN +lt +lt +hS +hS +lt +lt +lt +lt +lt pz sl VX @@ -2563,469 +2591,469 @@ RF RF Kj RF -BN -BN -BN -BN -BN -BN -UY -UY -UY -UY -UY -BN -BN -UY -UY -UY +lt +lt +lt +lt +lt +lt TN -kl -kl +TN +TN +TN +TN +lt +lt +TN +TN +TN +bN +hS +hS "} -(24,1,1) = {" +(25,1,1) = {" Iv -BN -kl -kl -kl -BN -BN -BN -BN -BN +lt +hS +hS +hS +lt +lt +lt +lt +lt pz pz pz pz -zy -BN -BN -BN -ht -St -Nu -Fb -fR -BN -BN -BN -BN -BN -BN -BN -BN -UY -UY -UY -UY -UY -UY -UY -UY -UY -bN -kl -kl -"} -(25,1,1) = {" -Iv -Iv -kl -kl -kl -EE -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -HP -td -YH +QJ +lt +lt +lt +oR +Jd cU nR bQ -BN -BN -BN -BN -BN -BN -BN -UY -UY -UY -UY -UY -UY -UY -UY -UY +lt +lt +lt +lt +lt +lt +lt +lt TN -kl -kl -kl +TN +TN +TN +TN +TN +TN +TN +TN +CB +hS +hS "} (26,1,1) = {" Iv Iv -kl -kl -uC -WX +hS +hS +hS WX -BN -BN -BN -BN -BN -BN -BN -BN -xm +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt lt qw -ie -td -YH +TN +Ad +jf pU MI -BN -BN -BN -BN -BN -BN -BN -UY -oR -UY -UY -UY -UY -UY -UY -UY +lt +lt +lt +lt +lt +lt +lt TN -EE -kl -kl +TN +TN +TN +TN +TN +TN +TN +TN +bN +hS +hS +hS "} (27,1,1) = {" Iv Iv -kl +hS +hS VF -TJ -UY UY UY -BN -BN -BN -BN -BN -BN -BN +lt +lt +lt +lt +lt +lt +lt +lt Pt YL wS -ii -td -td -DY +fu +TN +Ad +St DY -BN -yX -BN -BN -BN -BN -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY +lt +lt +lt +lt +lt +lt +lt +TN +tH +TN +TN +TN +TN +TN +TN +TN bN -kl -kl -Iv +WX +hS +hS "} (28,1,1) = {" Iv Iv -kl -kl -TJ -UY -UY -UY hS -kl -BN -BN -BN -BN -BN +ht +TJ +TN +TN +TN +lt +lt +lt +lt +lt +lt +lt vo KO -cU +ie ii +TN +TN td td -td -td -ay -cU -BN -BN -BN -BN -UY -UY -UY -UY -UY -Sk -UY -UY -UY -bN -kl -kl -kl +lt +An +lt +lt +lt +lt +TN +TN +TN +TN +TN +TN +TN +TN +TN +TN +CB +hS +hS Iv "} (29,1,1) = {" Iv Iv -kl -kl -jT -UY -UY -UY +hS +hS +TJ TN -EE -kl -BN -BN -BN -BN -BN +TN +TN +jZ +hS +lt +lt +lt +lt +lt +uC JM -cU +jf ii -td -td -td -td -BN -BN -BN -BN -BN -UY -UY -UY -UY -UY -UY -UY -UY -UY -bN -kl -kl -kl -kl +TN +TN +TN +TN +jT +jf +lt +lt +lt +lt +TN +TN +TN +TN +TN +bB +TN +TN +TN +CB +hS +hS +hS Iv "} (30,1,1) = {" Iv Iv -kl -kl -kl -jT -tH -UY -UY -WX +hS +hS +db +TN +TN +TN +bN WX -UY -BN -BN -BN -BN -BN -cU -dO -td -td -td -BN -BN -BN -BN +hS +lt +lt +lt +lt +lt BN -UY -UY -UY -UY -UY -UY -UY -UY -tH -bN -kl -kl -kl -Iv -Iv +jf +ii +TN +TN +TN +TN +lt +lt +lt +lt +lt +TN +TN +TN +TN +TN +TN +TN +TN +TN +CB +hS +hS +hS +hS Iv "} (31,1,1) = {" Iv Iv -BN -kl -kl -kl +hS +hS +hS +db EE -TJ -UY -UY -UY +TN +TN UY UY -BN -BN -BN -BN +TN +lt +lt +lt +lt +lt jf Pw -td -td -BN -BN -BN -BN -UY -UY -UY -UY -UY -tH -tH -tH -tH -bN -kl -kl -kl -kl +TN +TN +TN +lt +lt +lt +lt +lt +TN +TN +TN +TN +TN +TN +TN +TN +EE +CB +hS +hS +hS +Iv +Iv +Iv +"} +(32,1,1) = {" +Iv +Iv +lt +hS +hS +hS +WX +TJ +TN +TN +TN +TN +TN +lt +lt +lt +lt +fR +il +TN +TN +lt +lt +lt +lt +TN +TN +TN +TN +TN +EE +EE +EE +EE +CB +hS +hS +hS +hS Iv Iv Iv Iv "} -(32,1,1) = {" +(33,1,1) = {" Iv -BN -BN -BN -kl -kl -kl -jT -UY -UY -UY -UY -UY -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -tH -tH -tH -tH -bN -kl -kl -kl -kl -kl -kl -kl -kl +lt +lt +lt +hS +hS +hS +db +TN +TN +TN +TN +TN +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +EE +EE +EE +EE +CB +hS +hS +hS +hS +hS +hS +hS +hS Iv Iv Iv Iv Iv "} -(33,1,1) = {" +(34,1,1) = {" Iv Iv Iv Iv Iv -kl -kl -kl -jT -tH -UY -UY -UY -UY -BN -BN -BN -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -kl -kl -kl -gh -kl -kl -kl -kl -kl -kl +hS +hS +hS +db +EE +TN +TN +TN +TN +lt +lt +lt +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS +hS +hS +hS +ay +hS +hS +hS +hS +hS +hS Iv Iv Iv @@ -3033,40 +3061,40 @@ Iv Iv Iv "} -(34,1,1) = {" +(35,1,1) = {" Iv Iv Iv Iv -BN -BN -kl -kl -kl -kl -jT -tH -tH -bN -kl -BN -BN -BN -BN -BN -BN -BN -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl -kl +lt +lt +hS +hS +hS +hS +db +EE +EE +CB +hS +lt +lt +lt +lt +lt +lt +lt +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS +hS Iv Iv Iv @@ -3078,24 +3106,24 @@ Iv Iv Iv "} -(35,1,1) = {" +(36,1,1) = {" Iv Iv Iv -BN -BN -BN -BN -kl -kl -kl -db -kl -kl -kl -kl -kl +lt +lt +lt +lt +hS +hS +hS kl +hS +hS +hS +hS +hS +hS Iv Iv Iv @@ -3123,7 +3151,7 @@ Iv Iv Iv "} -(36,1,1) = {" +(37,1,1) = {" Iv Iv Iv @@ -3132,13 +3160,13 @@ Iv Iv Iv Iv -kl -kl -kl -kl -kl -kl -kl +hS +hS +hS +hS +hS +hS +hS Iv Iv Iv diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm index 467c423c3ae0..4c8ccc99dfcb 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm @@ -293,7 +293,7 @@ }, /area/ruin/powered) "wX" = ( -/turf/closed/indestructible/rock/snow/ice/ore, +/turf/closed/indestructible/rock/snow, /area/overmap_encounter/planetoid/cave/explored) "xo" = ( /obj/structure/stone_tile/slab, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_icecropolis.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_icecropolis.dmm deleted file mode 100644 index 6fc7a0a3016a..000000000000 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_icecropolis.dmm +++ /dev/null @@ -1,9481 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/structure/necropolis_gate, -/obj/structure/stone_tile/slab/cracked, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"ae" = ( -/obj/structure/fluff/fokoff_sign, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/overmap_encounter/planetoid/ice/explored) -"al" = ( -/obj/structure/stone_tile/slab, -/obj/structure/closet/crate/necropolis, -/obj/effect/spawner/lootdrop/snowdin/dungeonmisc, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"aw" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"az" = ( -/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"aE" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"aM" = ( -/obj/structure/table, -/obj/item/circular_saw, -/obj/item/scalpel, -/obj/item/cautery, -/obj/item/hemostat, -/obj/item/retractor, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"aU" = ( -/obj/structure/spawner/lavaland/goliath, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"aV" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"br" = ( -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"bs" = ( -/obj/item/rcd_ammo, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"bu" = ( -/obj/structure/closet/crate, -/obj/item/stack/marker_beacon/ten, -/obj/item/stack/sheet/mineral/wood, -/obj/item/stack/sheet/mineral/wood, -/obj/item/stack/sheet/mineral/wood, -/obj/item/stack/sheet/mineral/wood, -/obj/item/flashlight/flare, -/obj/item/flashlight/flare, -/obj/item/stack/sheet/bone, -/obj/item/stack/sheet/bone, -/obj/item/stack/sheet/animalhide/goliath_hide, -/obj/item/stack/sheet/animalhide/goliath_hide, -/obj/item/stack/sheet/sinew, -/obj/item/stack/sheet/sinew, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"bz" = ( -/obj/structure/fence/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"bC" = ( -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"bJ" = ( -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/surrounding, -/obj/effect/decal/remains/human, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"bO" = ( -/obj/structure/bed/roller, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"bR" = ( -/obj/structure/table/wood/reinforced, -/obj/item/trash/plate, -/obj/item/kitchen/fork, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"bT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/box/cups, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"bU" = ( -/obj/structure/stone_tile/slab/cracked, -/mob/living/simple_animal/hostile/asteroid/gutlunch, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"cE" = ( -/obj/effect/mob_spawn/human/clown/corpse, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"cF" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"cG" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 4 - }, -/obj/item/trash/can, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"df" = ( -/obj/item/trash/syndi_cakes, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"dg" = ( -/obj/item/reagent_containers/glass/bottle/diethylamine, -/obj/item/reagent_containers/glass/bottle/diethylamine, -/obj/item/reagent_containers/glass/bottle/mutagen, -/obj/item/reagent_containers/glass/bottle/mutagen, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"di" = ( -/obj/structure/stone_tile/slab, -/obj/effect/decal/cleanable/blood, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"dx" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"dG" = ( -/obj/structure/girder/bronze, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"dJ" = ( -/obj/item/seeds/tobacco, -/obj/item/seeds/tomato/blue, -/obj/item/seeds/cannabis, -/obj/item/seeds/wheat, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"dP" = ( -/obj/item/chair/wood/wings, -/obj/effect/decal/cleanable/dirt, -/obj/item/seeds/cotton/durathread, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"dU" = ( -/obj/machinery/door/airlock/public, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"dY" = ( -/obj/structure/fluff/broken_flooring, -/obj/structure/table/glass, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"ea" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"eB" = ( -/obj/structure/necropolis_gate, -/obj/structure/stone_tile/slab/cracked, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"eC" = ( -/obj/structure/stone_tile/block{ - dir = 1; - pixel_x = -16 - }, -/obj/structure/stone_tile/block{ - dir = 8; - pixel_y = 16 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"eD" = ( -/obj/item/melee/baseball_bat/homerun, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"eG" = ( -/mob/living/simple_animal/hostile/mining_drone/rockplanet{ - faction = list("mining") - }, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis) -"eH" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"eQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/glowshroom/single, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"eU" = ( -/obj/structure/fence/door, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"fg" = ( -/mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"fh" = ( -/mob/living/simple_animal/hostile/big_legion{ - desc = "Hidden away with his sect of heretical brethren, he festers and awaits judgement from The Priest."; - health = 300; - loot = list(/obj/item/organ/regenerative_core/legion=3,/obj/effect/mob_spawn/human/corpse/damaged/legioninfested=5,/obj/effect/mob_spawn/human/corpse/damaged/legioninfested=5,/obj/effect/mob_spawn/human/corpse/damaged/legioninfested=5,/obj/item/keycard/gatedrop/heathen); - maxHealth = 300; - name = "The Heathen" - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"fi" = ( -/obj/item/trash/candy, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"fl" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/box/donkpockets/donkpocketgondola, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"ft" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"fx" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"fz" = ( -/obj/item/storage/firstaid/fire, -/obj/structure/closet/crate, -/obj/item/storage/firstaid/regular, -/obj/effect/spawner/lootdrop/snowdin/dungeonmid, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"fB" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/pew/left{ - dir = 1 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"fE" = ( -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"fK" = ( -/obj/structure/cable/blue{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"fN" = ( -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered/icecropolis) -"fR" = ( -/obj/structure/table/wood, -/obj/item/clothing/under/costume/gladiator/ash_walker, -/obj/item/clothing/under/costume/gladiator/ash_walker, -/obj/item/clothing/under/costume/gladiator/ash_walker, -/obj/item/clothing/under/costume/gladiator/ash_walker, -/obj/item/clothing/head/helmet/gladiator, -/obj/item/clothing/head/helmet/gladiator, -/obj/item/clothing/head/helmet/gladiator, -/obj/item/clothing/head/helmet/gladiator, -/obj/item/storage/belt/utility, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"fT" = ( -/obj/structure/elite_tumor, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"ge" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"gh" = ( -/obj/structure/stone_tile/surrounding, -/obj/structure/stone_tile/center, -/mob/living/simple_animal/hostile/megafauna/dragon{ - crusher_loot = null; - desc = "High Priest of the Bloody Hallow. Fires burn in his name, crusades and holy word spread across the necropolis until it split and vanished. It was not meant to stay under the gaze of Legion, prospering in its own citadel of flesh and death."; - gps_name = "Holy Fire Signal"; - health = 2000; - loot = list(/obj/item/keycard/gatedrop/priest); - maxHealth = 2000; - name = "The Priest" - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"gn" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 4 - }, -/obj/structure/stone_tile/burnt{ - dir = 4 - }, -/obj/structure/stone_tile/burnt{ - dir = 8 - }, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"gr" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"gs" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"gA" = ( -/obj/item/trash/raisins, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"gF" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"gM" = ( -/obj/structure/girder/bronze, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"gV" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"gX" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/structure/closet/crate/necropolis/tendril, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"hb" = ( -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"hf" = ( -/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"hi" = ( -/obj/structure/table/optable, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"hs" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"hu" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/table/wood/fancy/red_gold, -/obj/item/fugu_gland, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"hw" = ( -/obj/item/trash/tray, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"hy" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/surrounding/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"hM" = ( -/obj/machinery/door/airlock/public, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"hT" = ( -/turf/closed/wall/mineral/wood/nonmetal/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"ie" = ( -/turf/closed/wall/mineral/wood/nonmetal/icecropolis, -/area/ruin/unpowered/icecropolis) -"in" = ( -/obj/structure/sign/warning/securearea, -/turf/closed/wall/mineral/iron/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"iq" = ( -/obj/structure/table, -/obj/item/gps, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"it" = ( -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/surrounding, -/obj/effect/decal/cleanable/blood/gibs/core, -/obj/effect/decal/remains/human, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"iy" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/obj/item/seeds/cotton, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"iH" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"iO" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/syndie, -/obj/effect/mob_spawn/human/corpse/charredskeleton, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"iQ" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"iR" = ( -/obj/item/toy/foamblade, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"iS" = ( -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis) -"iV" = ( -/turf/closed/indestructible/riveted/boss, -/area/ruin/unpowered/icecropolis/reach) -"je" = ( -/turf/closed/mineral/random/high_chance/volcanic/icecropolis, -/area/ruin/unpowered/icecropolis) -"jK" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/book/granter/spell/smoke/lesser, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"jN" = ( -/obj/item/seeds/apple, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"jR" = ( -/obj/machinery/door/keycard/gates/heathen, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"jV" = ( -/turf/closed/indestructible/riveted/boss, -/area/ruin/unpowered/icecropolis) -"kp" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"kC" = ( -/obj/structure/fluff/fokoff_sign, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"kD" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/pew{ - dir = 1 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"kK" = ( -/obj/structure/closet/crate/medical, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/lizard, -/obj/item/reagent_containers/blood/lizard, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/storage/firstaid/brute, -/obj/item/storage/firstaid/medical, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"kW" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"li" = ( -/turf/closed/wall/rust/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"ln" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/rainbow, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"lr" = ( -/obj/effect/decal/cleanable/blood/footprints, -/obj/effect/decal/cleanable/blood, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"lB" = ( -/obj/structure/table, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/buckshot, -/obj/item/ammo_casing/shotgun/buckshot, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"lH" = ( -/obj/structure/table/wood, -/obj/item/spear/bonespear, -/obj/item/spear/bonespear, -/obj/item/spear/bonespear, -/obj/item/melee/baseball_bat/bone, -/obj/item/melee/baseball_bat/bone, -/obj/item/melee/baseball_bat/bone, -/obj/item/kitchen/knife/combat/bone, -/obj/item/kitchen/knife/combat/bone, -/obj/item/kitchen/knife/combat/bone, -/obj/item/scythe, -/obj/item/scythe, -/obj/item/scythe, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"lZ" = ( -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"mj" = ( -/obj/item/trash/boritos, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"mk" = ( -/obj/item/stack/sheet/bone, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"ml" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"mo" = ( -/obj/structure/table/wood/reinforced, -/obj/item/clothing/head/collectable/tophat, -/obj/item/clothing/head/collectable/petehat, -/obj/item/clothing/head/lobsterhat, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"mp" = ( -/obj/effect/mob_spawn/human/corpse/charredskeleton, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"mu" = ( -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"mI" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/manuals/medical, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"mT" = ( -/obj/structure/windoor_assembly{ - dir = 4 - }, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"mU" = ( -/obj/structure/spawner/lavaland/legion, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"mX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/glowshroom/single, -/obj/item/seeds/bamboo, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"mZ" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/random/nonfiction, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"na" = ( -/obj/machinery/door/keycard/gates/heathen, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"ng" = ( -/obj/structure/stone_tile/block/burnt, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"nh" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 8 - }, -/obj/item/trash/plate, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"nr" = ( -/obj/item/clothing/head/festive{ - desc = "A festive party hat with the name 'timmy' scribbled on the front."; - name = "party hat" - }, -/obj/effect/decal/remains/human, -/obj/item/chair/wood/wings, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"nC" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"nE" = ( -/turf/closed/mineral/random/volcanic/icecropolis, -/area/ruin/unpowered/icecropolis) -"nS" = ( -/obj/item/melee/baton/cattleprod, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"ob" = ( -/obj/machinery/door/keycard/gates/gatekeeper, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"og" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 1 - }, -/obj/structure/stone_tile/burnt{ - dir = 8 - }, -/obj/structure/stone_tile/burnt, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"oj" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/pew, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"op" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"oJ" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/random/reference, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"oQ" = ( -/obj/item/circuitboard/machine/smartfridge, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"oS" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal{ - color = "#880808"; - desc = "Disfigured and distorted, this fallen deacon of The Priest attones by guarding some holy entrance."; - health = 100; - maxHealth = 100; - name = "The Deacon" - }, -/turf/open/indestructible/necropolis/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"oT" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"oZ" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"pa" = ( -/obj/structure/stone_tile/block/burnt, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"ph" = ( -/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"pm" = ( -/obj/structure/closet/crate, -/obj/item/gun/ballistic/shotgun/doublebarrel/improvised, -/obj/item/clothing/mask/russian_balaclava, -/obj/item/clothing/shoes/russian, -/obj/item/clothing/suit/armor/vest/russian, -/obj/item/clothing/head/helmet/rus_helmet, -/obj/item/clothing/under/pants/track, -/obj/item/clothing/under/color/black, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"pE" = ( -/obj/structure/stone_tile/slab, -/obj/projectile/bullet/reusable/arrow/bronze, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"pI" = ( -/turf/closed/mineral/volcanic/lava_land_surface, -/area/ruin/unpowered/icecropolis) -"pO" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"pT" = ( -/obj/structure/stone_tile/slab, -/obj/structure/necropolis_gate, -/obj/effect/decal/cleanable/blood/footprints, -/obj/effect/decal/cleanable/blood, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"pU" = ( -/obj/machinery/door/keycard/gates/gatekeeper, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"pV" = ( -/obj/structure/closet/crate/radiation, -/obj/machinery/the_singularitygen, -/obj/item/toy/plush/beeplushie, -/obj/item/clothing/suit/hooded/bee_costume, -/obj/item/clothing/mask/rat/bee, -/obj/item/clothing/head/beekeeper_head, -/obj/item/clothing/suit/beekeeper_suit, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"qe" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/machinery/door/keycard/gates/bishop, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"qh" = ( -/obj/structure/stone_tile/slab, -/obj/effect/decal/cleanable/blood/footprints, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"ql" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/wiz, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"qA" = ( -/obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/floor/mineral/gold, -/area/ruin/unpowered/icecropolis/gold) -"qC" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/statue/bone/rib{ - color = "#880808"; - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"qQ" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood/gibs/old, -/mob/living/simple_animal/hostile/mimic/copy/ranged{ - faction = list("mimic","mining") - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"qV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/water_cooler{ - name = "punch cooler"; - reagent_id = /datum/reagent/consumable/ethanol/bacchus_blessing - }, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"re" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/item/stack/sheet/mineral/gold/twenty, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"rh" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/destructible/tribal_torch, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"rq" = ( -/obj/structure/fluff/broken_flooring, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"rz" = ( -/obj/item/stack/tile/bronze, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"rE" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"rM" = ( -/obj/machinery/door/airlock/glass_large, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"rR" = ( -/obj/item/trash/semki, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"rT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/candy, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"sa" = ( -/turf/closed/wall/mineral/iron/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"sH" = ( -/obj/structure/stone_tile/center{ - pixel_y = -16 - }, -/obj/structure/stone_tile/surrounding{ - pixel_y = -16 - }, -/obj/structure/stone_tile/block, -/obj/structure/bed/dogbed{ - anchored = 1; - color = "#888c8d"; - desc = "A very holy place to rest a weary body."; - name = "Holy Resting Place"; - pixel_y = -8 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"sM" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/yellow, -/obj/item/storage/pill_bottle/trophazole, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"sO" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"sT" = ( -/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom{ - desc = "The Lost Prophet, destined to wander the Bloody Hallow in a death stained rut."; - health = 300; - maxHealth = 300; - name = "The Lost Prophet"; - ranged_ignores_vision = 0 - }, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis) -"sZ" = ( -/obj/structure/destructible/tribal_torch, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"tq" = ( -/obj/structure/stone_tile/block{ - dir = 4; - pixel_y = -16 - }, -/obj/structure/stone_tile/block{ - pixel_x = 16 - }, -/obj/structure/stone_tile, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"tv" = ( -/obj/structure/closet/crate/necropolis/tendril, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"tA" = ( -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"tB" = ( -/obj/item/cardboard_cutout/adaptive, -/obj/item/gun/magic/wand/nothing, -/obj/item/implanter/adrenalin, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/overmap_encounter/planetoid/ice/explored) -"tE" = ( -/obj/structure/mineral_door/wood, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"tO" = ( -/mob/living/simple_animal/hostile/asteroid/elite/broodmother{ - aggro_vision_range = 5; - desc = "The gatekeeper, a beast dedicated to guarding the wellbeing of its master."; - faction = list("mining"); - health = 300; - loot = list(/obj/item/crusher_trophy/broodmother_tongue,/obj/item/keycard/gatedrop/gatekeeper); - loot_drop = list(); - maxHealth = 200; - name = "The Gatekeeper" - }, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"tS" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"tW" = ( -/obj/structure/table/wood/fancy/red_gold, -/obj/item/reagent_containers/food/snacks/toastedsandwich, -/obj/item/reagent_containers/food/snacks/store/cake/birthday, -/obj/item/reagent_containers/food/snacks/store/bread/creamcheese, -/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"tX" = ( -/obj/item/kitchen/knife/butcher, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/clothing/suit/apron/chef, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/reagent_containers/food/snacks/meat/slab/goliath, -/obj/item/reagent_containers/food/snacks/meat/slab/goliath, -/obj/item/reagent_containers/food/snacks/meat/slab/goliath, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"um" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"uo" = ( -/obj/item/seeds/corn, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"ur" = ( -/obj/structure/legionpike, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"uC" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"uE" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/dragons_blood, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"uF" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"uL" = ( -/obj/item/radio/intercom/wideband/directional/east, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"uO" = ( -/obj/structure/table_frame, -/obj/item/table_bell/brass, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"uU" = ( -/mob/living/simple_animal/hostile/cult_demon{ - aggro_vision_range = 6; - desc = "A failed usurper of The Priest, too scared to match His might."; - faction = list("mining"); - name = "Ursurper"; - vision_range = 9 - }, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"va" = ( -/obj/structure/stone_tile/slab, -/obj/structure/closet/crate/necropolis, -/obj/effect/spawner/lootdrop/snowdin/dungeonlite, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"vh" = ( -/obj/item/storage/box/disks_plantgene, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"vk" = ( -/obj/item/trash/can/food/beans, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"vm" = ( -/obj/structure/table/glass, -/obj/item/stock_parts/cell/empty, -/obj/item/stock_parts/cell/empty, -/obj/item/stock_parts/cell/empty, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/capacitor, -/obj/item/stack/cable_coil/random/five, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"vp" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding/cracked{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"vv" = ( -/turf/closed/indestructible/riveted/boss, -/area/ruin/unpowered/icecropolis/outside) -"vz" = ( -/mob/living/simple_animal/hostile/asteroid/goliath/beast, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"vE" = ( -/obj/item/trash/candy, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"vP" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/fluff/drake_statue, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"wa" = ( -/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, -/obj/structure/toilet, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"wf" = ( -/mob/living/simple_animal/hostile/asteroid/goliath/beast, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"wq" = ( -/obj/structure/stone_tile/surrounding/cracked, -/obj/structure/stone_tile/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"ws" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"wt" = ( -/obj/structure/stone_tile/slab, -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"ww" = ( -/obj/effect/mob_spawn/human/corpse/charredskeleton, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/overmap_encounter/planetoid/ice/explored) -"wy" = ( -/obj/item/shield/riot/roman, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"wI" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/gun/magic/staff/spellblade, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"wO" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"wP" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/random/fiction, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"xf" = ( -/obj/structure/cable/blue{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"xx" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/table/wood/fancy/red_gold, -/obj/item/slapper, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"yg" = ( -/mob/living/simple_animal/hostile/cult_demon{ - aggro_vision_range = 6; - desc = "A failed usurper of The Priest, too scared to match His might."; - faction = list("mining"); - name = "Ursurper"; - vision_range = 9 - }, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"yj" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"yl" = ( -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"yn" = ( -/obj/structure/closet/crate/necropolis, -/obj/item/reagent_containers/food/snacks/canned/peaches, -/obj/item/reagent_containers/food/snacks/sosjerky, -/obj/item/reagent_containers/food/snacks/sosjerky, -/obj/item/reagent_containers/food/snacks/sosjerky, -/obj/item/reagent_containers/food/snacks/sosjerky, -/obj/item/reagent_containers/food/snacks/sosjerky, -/obj/item/reagent_containers/food/drinks/dry_ramen, -/obj/item/reagent_containers/food/drinks/dry_ramen, -/obj/item/reagent_containers/food/drinks/dry_ramen, -/obj/item/reagent_containers/food/drinks/dry_ramen, -/obj/item/reagent_containers/food/drinks/dry_ramen, -/obj/item/reagent_containers/food/snacks/popcorn, -/obj/item/reagent_containers/food/snacks/popcorn, -/obj/item/reagent_containers/food/snacks/popcorn, -/obj/item/reagent_containers/food/snacks/popcorn, -/obj/item/reagent_containers/food/snacks/popcorn, -/obj/item/reagent_containers/food/drinks/soda_cans/cola, -/obj/item/reagent_containers/food/drinks/soda_cans/cola, -/obj/item/reagent_containers/food/drinks/soda_cans/cola, -/obj/item/reagent_containers/food/drinks/soda_cans/cola, -/obj/item/reagent_containers/food/drinks/soda_cans/cola, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"yo" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"ys" = ( -/obj/structure/stone_tile/surrounding, -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/center, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"yy" = ( -/obj/structure/stone_tile/block{ - pixel_x = 16 - }, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"yF" = ( -/obj/item/chair/wood/wings, -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/candy, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"yN" = ( -/obj/structure/stone_tile/block{ - dir = 4; - pixel_y = -16 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"zb" = ( -/obj/structure/fence/door, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"zg" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood/old, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"zo" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"zp" = ( -/obj/structure/stone_tile/block/burnt, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"zr" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/table/wood/fancy/red_gold, -/obj/item/reagent_containers/syringe{ - desc = "A serum left behind by the fabled Goldwalkers."; - list_reagents = list(/datum/reagent/mutationtoxin/ash=15); - name = "GoldWalkers Blessing" - }, -/obj/item/reagent_containers/syringe{ - desc = "A serum left behind by the fabled Goldwalkers."; - list_reagents = list(/datum/reagent/mutationtoxin/ash=15); - name = "GoldWalkers Blessing" - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"zu" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"zy" = ( -/obj/structure/fence{ - dir = 8 - }, -/obj/structure/barricade/wooden/crude, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis/russia) -"zA" = ( -/obj/structure/stone_tile/slab, -/obj/item/circuitboard/machine/teleporter_station, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/circuitboard/machine/teleporter_hub, -/obj/item/circuitboard/computer/teleporter, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"zM" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"zN" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical/old, -/obj/item/storage/toolbox/electrical, -/obj/item/multitool, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"zO" = ( -/obj/item/clothing/head/syndicatefake, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"zR" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/pew/left, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Ag" = ( -/obj/structure/stone_tile/slab, -/obj/structure/destructible/tribal_torch, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Ao" = ( -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"AP" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 8; - pixel_y = -16 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/showcase/machinery/tv{ - desc = "How else is The Preist supposed to keep up on the news?"; - name = "Holy Television" - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"AX" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"Be" = ( -/obj/item/clothing/under/costume/roman, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Bi" = ( -/obj/structure/destructible/tribal_torch, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Bk" = ( -/turf/open/chasm/lavaland{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, -/area/ruin/unpowered/icecropolis/rusty) -"Bl" = ( -/obj/effect/sliding_puzzle/lavaland, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Bs" = ( -/obj/structure/mineral_door/iron, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Bw" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"BJ" = ( -/obj/structure/stone_tile/surrounding/cracked, -/obj/structure/stone_tile/surrounding_tile, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"BK" = ( -/obj/item/trash/candy, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"BR" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/overmap_encounter/planetoid/ice/explored) -"Ci" = ( -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Cl" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/statue/bone/rib{ - color = "#880808" - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Co" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/pew/right, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Cp" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/storage/book/bible, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"CA" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"CF" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"CN" = ( -/obj/structure/closet/crate/necropolis, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"CO" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 1 - }, -/obj/effect/mob_spawn/human/corpse/charredskeleton, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"CQ" = ( -/obj/effect/spawner/lootdrop/snowdin/dungeonmid, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"CY" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Dh" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Di" = ( -/obj/structure/stone_tile/slab, -/obj/item/statuebust, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Dk" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/cosmos, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Dq" = ( -/mob/living/simple_animal/hostile/netherworld/migo{ - desc = "The Missionary, carrying out the will of their bishop."; - faction = list("mining"); - name = "Missionary" - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Ds" = ( -/obj/machinery/iv_drip, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Dt" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"DJ" = ( -/obj/item/stack/sheet/bone, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"DN" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/gibs/core, -/obj/effect/decal/cleanable/blood, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"DR" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"DZ" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Ei" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Eu" = ( -/turf/open/indestructible/necropolis/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"EE" = ( -/obj/structure/sink/puddle, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"EK" = ( -/obj/item/kitchen/knife, -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/candy, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"EU" = ( -/obj/structure/barricade/wooden, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"EV" = ( -/obj/structure/cable/blue{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"EX" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/spawner/lootdrop/pizzaparty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"Ff" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"Fj" = ( -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis/reach) -"Fk" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"Fq" = ( -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"Fx" = ( -/obj/structure/stone_tile/slab, -/obj/machinery/door/keycard/gates/priest, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"FD" = ( -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"FI" = ( -/obj/structure/closet/crate, -/obj/item/gun/ballistic/automatic/zip_pistol, -/obj/item/clothing/mask/russian_balaclava, -/obj/item/clothing/shoes/russian, -/obj/item/clothing/suit/armor/vest/russian, -/obj/item/clothing/head/helmet/rus_helmet, -/obj/item/clothing/under/color/black, -/obj/item/grenade/chem_grenade/cleaner, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"FK" = ( -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/clothing/mask/fakemoustache/italian, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"FN" = ( -/obj/item/rcd_ammo, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"FQ" = ( -/obj/structure/necropolis_gate, -/obj/structure/necropolis_arch, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"FY" = ( -/obj/structure/stone_tile/slab, -/obj/effect/decal/remains/human, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Gc" = ( -/mob/living/simple_animal/hostile/asteroid/elite/herald{ - aggro_vision_range = 6; - desc = "This Bishop, twisted in its worship, brought holy word to some golden city of lore."; - faction = list("mining"); - health = 400; - loot = list(/obj/item/clothing/neck/cloak/herald_cloak,/obj/item/keycard/gatedrop/bishop); - loot_drop = list(); - maxHealth = 400; - name = "The Bishop"; - ranged_ignores_vision = 0 - }, -/turf/open/floor/mineral/gold, -/area/ruin/unpowered/icecropolis/gold) -"Gf" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z, -/obj/item/reagent_containers/glass/bottle/nutrient/rh, -/obj/item/reagent_containers/glass/bottle/nutrient/rh, -/obj/item/reagent_containers/glass/bottle/nutrient/rh, -/obj/item/reagent_containers/glass/bottle/nutrient/rh, -/obj/item/reagent_containers/spray/weedspray, -/obj/item/reagent_containers/spray/weedspray, -/obj/item/reagent_containers/spray/weedspray, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"Gr" = ( -/obj/item/implanter/sad_trombone, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Gt" = ( -/obj/structure/necropolis_gate, -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Gv" = ( -/obj/structure/curtain, -/obj/machinery/shower{ - dir = 1 - }, -/obj/item/soap/homemade, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"Gx" = ( -/obj/structure/closet/crate/necropolis, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"GF" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"GP" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/snacks/store/cake/birthday, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"Hd" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"He" = ( -/obj/structure/fluff/broken_flooring, -/obj/structure/mineral_door/wood, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Hk" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/block{ - dir = 4; - pixel_y = -16 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/item/newspaper, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/snacks/donut/chaos{ - pixel_x = 6; - pixel_y = -4 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Hq" = ( -/obj/item/stack/tile/bronze, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Hw" = ( -/obj/structure/fence, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Hz" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/pizzaparty, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"HB" = ( -/obj/item/rcd_ammo, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"HC" = ( -/obj/structure/stone_tile/block/burnt, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"HN" = ( -/obj/item/malf_upgrade, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"HO" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 18 - }, -/obj/machinery/light/floor, -/mob/living/simple_animal/hostile/zombie{ - aggro_vision_range = 6; - faction = list("mining") - }, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"HQ" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/manuals/engineering, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"HW" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Ie" = ( -/obj/structure/fluff/broken_flooring, -/obj/structure/table/reinforced, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Ik" = ( -/obj/structure/fluff/drake_statue, -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"Il" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Im" = ( -/obj/structure/table_frame, -/obj/item/reagent_containers/spray/cleaner, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"In" = ( -/obj/structure/stone_tile/slab, -/obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Iq" = ( -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"Ir" = ( -/obj/item/trash/plate, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"IC" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/overmap_encounter/planetoid/ice/explored) -"IE" = ( -/obj/item/trash/waffles, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"IX" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"Jz" = ( -/obj/structure/stone_tile/block/burnt, -/obj/structure/stone_tile/burnt{ - dir = 4 - }, -/obj/structure/stone_tile/burnt{ - dir = 1 - }, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"JB" = ( -/mob/living/simple_animal/hostile/asteroid/gutlunch, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"JF" = ( -/obj/structure/stone_tile/block{ - dir = 8; - pixel_y = 16 - }, -/obj/structure/stone_tile/block{ - dir = 4; - pixel_y = -16 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"JU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/pill_bottle/trophazole, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"JY" = ( -/obj/item/circuitboard/machine/autolathe, -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Ka" = ( -/obj/item/gun/magic/hook, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Kn" = ( -/obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Kq" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"KA" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/effect/decal/remains/human, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"KN" = ( -/obj/structure/table, -/obj/machinery/light/floor, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"KO" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/pew/right{ - dir = 1 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"KS" = ( -/obj/structure/stone_tile/slab, -/obj/structure/mirror{ - pixel_y = 26 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"KW" = ( -/obj/item/trash/can, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"KX" = ( -/obj/structure/girder/bronze, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"Le" = ( -/mob/living/simple_animal/hostile/zombie{ - aggro_vision_range = 6; - faction = list("mining") - }, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Lp" = ( -/obj/structure/fluff/fokoff_sign, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Ls" = ( -/mob/living/simple_animal/hostile/asteroid/goliath/pup{ - a_intent = "help"; - desc = "A small goliath pup. Its tendrils have not yet fully grown. Someone, somehow, has managed to fit a large dog collar around its neck."; - environment_smash = 0; - faction = list("neutral","mining","ashwalker"); - mob_size = 2; - move_force = 1000; - move_resist = 1000; - name = "Pillar"; - pull_force = 1000 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Lt" = ( -/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Lx" = ( -/turf/open/floor/mineral/gold, -/area/ruin/unpowered/icecropolis/gold) -"LA" = ( -/obj/structure/stone_tile/surrounding/cracked, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"LH" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/table/wood/fancy/red_gold, -/obj/item/shield/adamantineshield, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"LL" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 8 - }, -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"LM" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"LQ" = ( -/obj/structure/stone_tile/slab, -/obj/structure/chair/comfy/shuttle/bronze{ - dir = 8 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"LT" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/gold, -/area/ruin/unpowered/icecropolis/gold) -"LY" = ( -/obj/structure/fence{ - dir = 8 - }, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Mc" = ( -/obj/machinery/hydroponics/soil, -/obj/item/grown/cotton, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Mf" = ( -/obj/machinery/light/floor, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Mh" = ( -/obj/structure/stone_tile/block{ - dir = 8; - pixel_y = 16 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Mw" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/item/skub, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"MK" = ( -/obj/item/stack/sheet/mineral/gold/twenty, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"MR" = ( -/obj/structure/legionnaire_bonfire, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"MT" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"MU" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"MY" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"Ne" = ( -/obj/structure/stone_tile/slab, -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/stack/telecrystal/five - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"NK" = ( -/obj/structure/bed/dogbed, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"NN" = ( -/obj/structure/table/wood/reinforced, -/obj/item/a_gift, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"NS" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"NU" = ( -/obj/structure/destructible/tribal_torch, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"Od" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Ol" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/item/trash/sosjerky, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"Om" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/structure/table/wood/fancy/red_gold, -/obj/item/clothing/suit/armor/heavy/adamantine, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"Os" = ( -/obj/structure/chair/comfy/shuttle/bronze{ - dir = 8 - }, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"Ov" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/overmap_encounter/planetoid/ice/explored) -"OB" = ( -/obj/effect/decal/cleanable/blood/old, -/mob/living/simple_animal/hostile/netherworld/migo{ - desc = "The Missionary, carrying out the will of their bishop."; - faction = list("mining"); - name = "Missionary" - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"OG" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"OP" = ( -/obj/structure/stone_tile/slab, -/obj/structure/closet/crate/necropolis, -/obj/effect/spawner/lootdrop/snowdin/dungeonmid, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"OX" = ( -/obj/structure/statue/bone/rib{ - color = "#880808"; - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"OY" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Pa" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/mineral/gold, -/area/ruin/unpowered/icecropolis/gold) -"Ph" = ( -/obj/structure/stone_tile/surrounding/burnt, -/mob/living/simple_animal/hostile/asteroid/elite/legionnaire{ - desc = "Captain of the Holy Guard, a title few can hold without faulter."; - faction = list("mining"); - health = 300; - loot = list(/obj/item/crusher_trophy/legionnaire_spine,/obj/item/keycard/gatedrop/guard); - loot_drop = list(); - maxHealth = 300; - name = "Captain of the Holy Guard" - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Pl" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"Pm" = ( -/obj/structure/stone_tile/slab, -/obj/effect/decal/cleanable/blood/gibs/body, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Pn" = ( -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"Pw" = ( -/obj/structure/stone_tile/slab, -/obj/structure/showcase, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"PF" = ( -/obj/structure/stone_tile/block{ - dir = 4; - pixel_y = -16 - }, -/obj/structure/stone_tile/block{ - dir = 8; - pixel_y = 16 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"PI" = ( -/obj/item/chair/wood/wings, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/box/emptysandbags, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"PK" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"PP" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"PV" = ( -/obj/item/guardiancreator/choose, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"PW" = ( -/obj/structure/flora/tree/dead, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"PX" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/item/trash/sosjerky, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/ice/explored) -"PZ" = ( -/obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Qe" = ( -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/obj/item/reagent_containers/glass/bottle/nutrient/ez, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Qf" = ( -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Qi" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Qz" = ( -/obj/vehicle/ridden/atv{ - movedelay = 0; - name = "White Lightning" - }, -/obj/item/key, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"QK" = ( -/obj/structure/table, -/obj/item/stack/sheet/mineral/wood{ - amount = 20 - }, -/obj/item/stack/sheet/plasteel, -/obj/item/rcd_ammo, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"QN" = ( -/obj/structure/stone_tile/slab, -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"QQ" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/gavelhammer, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"QW" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/obj/item/gavelblock, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Ra" = ( -/obj/structure/fluff/drake_statue/falling, -/obj/structure/stone_tile/slab/cracked, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"Rn" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"Rp" = ( -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/surrounding, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Rs" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/purple, -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/item/rcd_ammo, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"RO" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 18 - }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"RQ" = ( -/obj/structure/table/wood/reinforced, -/obj/item/seeds/lavaland/fern, -/obj/item/seeds/lavaland/fireblossom, -/obj/item/seeds/lavaland/porcini, -/obj/item/seeds/lavaland/polypore, -/obj/item/seeds/lavaland/cactus, -/obj/item/seeds/lavaland/cactus, -/obj/item/seeds/lavaland/cactus, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"RT" = ( -/obj/structure/stone_tile/center{ - pixel_x = -16; - pixel_y = 16 - }, -/obj/structure/stone_tile/block{ - dir = 8; - pixel_y = 16 - }, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Sp" = ( -/obj/structure/mineral_door/iron, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"St" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 8 - }, -/obj/structure/stone_tile/burnt, -/obj/structure/stone_tile/burnt{ - dir = 1 - }, -/turf/open/lava{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/ice/explored) -"Sy" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"SG" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/statue/bone/rib{ - color = "#880808" - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"SH" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/closed/indestructible/riveted/boss, -/area/ruin/unpowered/icecropolis/gold) -"SN" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/glass/bucket/wooden, -/obj/item/reagent_containers/glass/bucket/wooden, -/obj/item/storage/bag/plants, -/obj/item/storage/bag/plants, -/obj/item/plant_analyzer, -/obj/item/plant_analyzer, -/obj/item/shovel/spade, -/obj/item/shovel/spade, -/obj/item/reagent_containers/spray/plantbgone, -/obj/item/reagent_containers/spray/plantbgone, -/obj/item/cultivator/rake, -/obj/item/cultivator/rake, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"SY" = ( -/obj/structure/fence{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Te" = ( -/obj/structure/stone_tile/slab, -/obj/structure/closet/cabinet{ - desc = "A wooden cabinet with an engraving stating, Things for Humanoids."; - name = "Things for Humanoids" - }, -/obj/item/stock_parts/cell/hyper/empty, -/obj/item/reagent_containers/food/drinks/bottle/cognac, -/obj/item/reagent_containers/food/condiment/mayonnaise, -/obj/item/reagent_containers/food/snacks/chocolatebar, -/obj/item/spacecash/bundle/c10, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/toy/plush/plushvar, -/obj/item/toy/plush/among, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Tf" = ( -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"Tn" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/cult, -/obj/item/trash/candy, -/obj/item/trash/cheesie, -/obj/item/trash/pistachios, -/obj/item/trash/semki, -/obj/item/trash/sosjerky, -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"To" = ( -/obj/structure/mineral_door/wood, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"TC" = ( -/obj/item/clothing/head/helmet/roman/legionnaire, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"TK" = ( -/obj/structure/closet/crate, -/obj/item/gun/ballistic/revolver/nagant, -/obj/item/clothing/mask/russian_balaclava, -/obj/item/clothing/shoes/russian, -/obj/item/clothing/suit/armor/vest/russian_coat, -/obj/item/clothing/head/helmet/rus_helmet, -/obj/item/clothing/under/color/black, -/obj/item/a_gift{ - desc = "A nicely wrapped present adressed to Yuri."; - name = "gift to Yuri" - }, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"TP" = ( -/obj/item/circuitboard/machine/hydroponics, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"Uj" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/blood/old, -/obj/item/stack/sheet/mineral/gold/twenty, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"Un" = ( -/obj/structure/table/wood, -/obj/item/pickaxe/improvised, -/obj/item/pickaxe/improvised, -/obj/item/pickaxe/improvised, -/obj/item/pickaxe, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/flashlight/lantern, -/obj/item/flashlight/lantern, -/obj/item/flashlight/lantern, -/obj/item/shovel, -/obj/item/shovel, -/obj/item/shovel/spoon, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Ur" = ( -/obj/structure/fluff/broken_flooring, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Ut" = ( -/obj/structure/cable/blue, -/obj/machinery/power/port_gen/pacman, -/obj/item/wrench/old, -/obj/item/stack/sheet/mineral/plasma/five, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Ux" = ( -/obj/structure/mineral_door/iron, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"UI" = ( -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"UJ" = ( -/obj/structure/stone_tile/surrounding{ - pixel_x = 16; - pixel_y = -16 - }, -/obj/structure/stone_tile/block{ - dir = 4; - pixel_y = -16 - }, -/obj/structure/stone_tile/block, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Vk" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"Vq" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/fluff/drake_statue/falling{ - color = "#880808"; - desc = "A towering basalt sculpture of a drake. It's old and decrepit, with THE PRIEST inscribed at its base."; - name = "Statue of The Priest"; - pixel_y = -16 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Vx" = ( -/mob/living/simple_animal/hostile/asteroid/gutlunch, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"VU" = ( -/obj/structure/stone_tile/slab, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"VV" = ( -/turf/closed/indestructible/necropolis, -/area/ruin/unpowered/icecropolis) -"VX" = ( -/obj/effect/mob_spawn/human/corpse/charredskeleton, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"We" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"Wi" = ( -/obj/structure/fans/tiny/invisible, -/obj/structure/necropolis_gate, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"Wo" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/manuals, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Wt" = ( -/obj/structure/legionpike, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"Wu" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/bag/plants/portaseeder, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"Wz" = ( -/obj/structure/statue/bone/rib{ - color = "#880808" - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"WN" = ( -/obj/structure/stone_tile/block, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"WO" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis, -/area/ruin/unpowered/icecropolis/outside) -"WS" = ( -/obj/structure/stone_tile/slab, -/obj/item/statuebust/hippocratic, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"WT" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/item/trash/popcorn, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"WV" = ( -/obj/structure/stone_tile/center, -/obj/structure/stone_tile/surrounding, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"WW" = ( -/obj/structure/table/wood/reinforced, -/obj/item/seeds/tower, -/obj/item/seeds/glowshroom/glowcap, -/obj/item/seeds/lavaland/ember, -/obj/item/seeds/lavaland/inocybe, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"Xb" = ( -/obj/structure/lavaland/ash_walker, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"Xh" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"Xi" = ( -/obj/item/chair/wood/wings, -/obj/effect/decal/cleanable/dirt, -/obj/item/seeds/coffee, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"Xm" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Xn" = ( -/obj/structure/stone_tile/slab, -/obj/structure/bookcase/manuals/research_and_development, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Xo" = ( -/obj/structure/stone_tile/surrounding, -/obj/structure/stone_tile/center, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/reach) -"Xp" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/surrounding{ - pixel_y = -16 - }, -/obj/structure/stone_tile/center{ - pixel_y = -16 - }, -/obj/structure/sacrificealtar{ - color = "#880808"; - desc = "An altar designed to perform blood sacrifice to The Priest."; - name = "Altar of the Priest"; - pixel_y = -16 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Xr" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"Xv" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/block/burnt, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"Xw" = ( -/mob/living/simple_animal/hostile/zombie{ - aggro_vision_range = 6; - faction = list("mining") - }, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"XA" = ( -/obj/structure/stone_tile/block/burnt{ - dir = 8 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/reach) -"XF" = ( -/obj/item/circuitboard/machine/plantgenes, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"XI" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/statue/bone/rib{ - color = "#880808"; - dir = 1 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"XN" = ( -/obj/structure/stone_tile/slab, -/obj/structure/table/wood/fancy/royalblue, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"XV" = ( -/obj/effect/spawner/lootdrop/snowdin/dungeonmid, -/turf/open/indestructible/necropolis/air, -/area/ruin/unpowered/icecropolis) -"XY" = ( -/obj/structure/stone_tile/block{ - dir = 1; - pixel_x = -16 - }, -/obj/structure/stone_tile/block, -/turf/open/lava, -/area/ruin/unpowered/icecropolis) -"Ym" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Ys" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/closet/crate/necropolis, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/borg/upgrade/modkit/cooldown, -/obj/item/borg/upgrade/modkit/damage, -/obj/item/borg/upgrade/modkit/indoors, -/obj/item/borg/upgrade/modkit/range, -/obj/item/borg/upgrade/modkit/trigger_guard, -/obj/item/rcd_ammo, -/obj/item/gps, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis) -"YD" = ( -/obj/structure/closet/crate, -/obj/item/storage/toolbox/syndicate, -/obj/item/weldingtool/experimental, -/obj/item/construction/rcd/loaded, -/obj/item/clothing/head/collectable/welding, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"YF" = ( -/obj/machinery/door/keycard/gates/guard, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis) -"YJ" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet/red, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"YV" = ( -/obj/structure/toilet, -/obj/item/clothing/head/collectable/welding, -/turf/open/floor/plasteel/icecropolis, -/area/ruin/unpowered/icecropolis/rusty) -"YW" = ( -/obj/item/chair/wood/wings, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/figure/clown, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis) -"YY" = ( -/obj/structure/stone_tile/slab, -/obj/structure/closet/crate/necropolis/dragon, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"Za" = ( -/turf/template_noop, -/area/template_noop) -"Zb" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis/gold) -"Zd" = ( -/obj/item/trash/sosjerky, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Zf" = ( -/obj/structure/closet/crate, -/obj/item/clothing/mask/russian_balaclava, -/obj/item/clothing/shoes/russian, -/obj/item/clothing/suit/armor/vest/russian, -/obj/item/clothing/head/helmet/rus_helmet, -/obj/item/clothing/under/pants/track, -/obj/item/clothing/under/color/black, -/obj/item/kitchen/knife/combat/survival, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/russia) -"Zh" = ( -/obj/item/circuitboard/machine/biogenerator, -/turf/open/floor/plating, -/area/ruin/unpowered/icecropolis/rusty) -"Zk" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/footprints, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion{ - color = "#880808"; - desc = "Disfigured and distorted, this disciple of The Priest fell to temptation before shutting themselves away with their idol."; - health = 200; - loot = list(/obj/item/organ/regenerative_core/legion,/obj/item/keycard/gatedrop/disciple); - maxHealth = 200; - melee_damage_lower = 20; - melee_damage_type = "burn"; - melee_damage_upper = 20; - name = "The Disciple" - }, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"Zm" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"Zw" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"Zz" = ( -/obj/structure/stone_tile/slab, -/obj/machinery/door/keycard/gates/disciple, -/turf/open/indestructible/boss/air, -/area/ruin/unpowered/icecropolis) -"ZA" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) -"ZE" = ( -/obj/structure/mineral_door/gold, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/gold) -"ZF" = ( -/obj/structure/stone_tile/block/burnt, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis/gold) -"ZG" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/block, -/turf/open/lava/smooth, -/area/ruin/unpowered/icecropolis) -"ZH" = ( -/obj/structure/table/rolling, -/obj/item/reagent_containers/food/snacks/store/bread/meat, -/turf/open/floor/wood/icecropolis, -/area/ruin/unpowered/icecropolis/reach) -"ZM" = ( -/turf/closed/indestructible/riveted/boss, -/area/ruin/unpowered/icecropolis/gold) -"ZU" = ( -/turf/open/chasm/lavaland{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, -/area/ruin/unpowered/icecropolis/gold) -"ZW" = ( -/obj/structure/table/optable, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface/icecropolis/inside, -/area/ruin/unpowered/icecropolis/reach) - -(1,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(2,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(3,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(4,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -CO -CA -cG -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(5,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -pa -PX -PP -Za -Za -Za -Za -Za -Za -Za -Ao -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(6,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -nh -LL -LA -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -fE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -fE -fE -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(7,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -fE -fE -fE -fE -fE -fE -jV -je -je -VV -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -Qf -jV -jV -fE -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(8,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -Ao -Ao -PW -Ao -fE -jV -jV -jV -jV -jV -jV -nE -nE -VV -Qf -VV -VV -VV -VV -Bi -Il -Il -Il -Il -Il -Il -Il -Bi -VV -VV -VV -VV -Qf -Qf -jV -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(9,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -ea -Ao -Ao -Ao -fE -jV -je -je -je -je -je -je -je -VV -Qf -VV -uE -YY -VV -VU -Il -Il -Il -Bi -Il -Il -Il -VU -VV -Hk -rh -VV -Qf -Qf -Qf -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(10,1,1) = {" -Za -Za -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -fE -jV -je -EU -Ys -EU -tA -tA -KX -VV -Qf -VV -wI -VU -Fx -VU -VU -VU -tq -PF -Mh -VU -VU -VU -VU -sH -uF -VV -Qf -Qf -Qf -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(11,1,1) = {" -Za -Za -Za -Za -Ao -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -jV -je -Qz -EU -iS -iS -iS -tA -VV -Qf -VV -zA -VU -VV -VU -Il -Il -yy -gh -XY -Il -Il -VU -VV -AP -OY -VV -Qf -jV -jV -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(12,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -je -EU -tA -iS -sT -iS -tA -VV -Qf -VV -VV -VV -VV -Bi -Il -Il -yN -JF -eC -Il -Il -Bi -VV -VV -VV -VV -fN -jV -fE -fE -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(13,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -Mw -bU -Zb -ZM -gM -PZ -Zw -Zw -ZM -je -je -tA -eG -iS -eG -tA -VV -Qf -Qf -Qf -Il -Il -Il -Il -Il -Il -VU -Il -Il -Il -Il -Il -Il -Il -Il -fN -jV -fE -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(14,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -MY -Zb -Ff -ZM -Zw -Zw -Zd -mp -ZM -nE -nE -je -iS -iS -tA -tA -VV -VV -VV -VV -Il -Il -Il -Il -Il -Il -VU -VU -VU -VU -VU -Di -Pw -Il -Bi -jV -jV -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(15,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZU -ZU -ZU -ZM -Zw -vk -Zw -gA -ZM -nE -je -je -iS -iS -iS -iS -tA -je -je -VV -Il -Il -Il -Il -Il -Il -VU -Bi -Il -Il -VU -VU -VU -Il -Il -jV -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(16,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZU -ZU -ZU -ab -Zw -Dq -Zw -Zw -ZM -nE -nE -je -tA -tA -iS -iS -iS -je -VV -VV -Il -Il -Il -Il -Il -Bi -VU -Il -Il -Il -WS -Ne -VU -Il -Il -jV -fE -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(17,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZU -ZU -ZU -ZM -Zw -Zw -Zw -KW -ZM -je -nE -nE -tA -tA -tA -tA -iS -je -VV -Bi -Il -Il -VU -VU -VU -VU -VU -Il -Il -Il -Il -Il -VU -Il -Il -jV -fE -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(18,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -Ff -zg -Zb -ZM -Zw -rR -Zw -Zw -ZM -je -nE -je -tA -iS -tA -tA -je -je -VV -Te -VU -VU -VU -Bi -Il -Il -Il -Il -Il -Il -Bi -VU -VU -VU -Bi -jV -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(19,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -re -Zb -bU -ZM -Zw -rR -MK -Qi -ZM -je -nE -je -tA -tA -iS -je -je -nE -VV -KS -UJ -uF -VU -VV -VV -VV -VV -VV -VV -wP -VU -VU -VU -VU -VU -wP -jV -fE -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(20,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZM -SH -ZM -ZM -Zw -rR -Zw -PZ -ZM -je -nE -je -je -tA -tA -je -je -nE -VV -VU -WN -RT -VU -VV -Il -Il -Il -Il -VV -mZ -VU -zR -jK -fB -VU -mZ -jV -fE -fE -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(21,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -MK -Zw -MU -Zw -MU -KW -mp -Zw -ZM -ZM -ZM -ZM -je -EU -EU -je -nE -nE -VV -LQ -XN -LQ -VU -Gt -Il -Il -Il -Il -VV -oJ -VU -oj -QW -kD -VU -Wo -jV -jV -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(22,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -Zw -Zw -mj -rR -Zw -Zw -Zw -Dq -BK -Zw -Hq -ZM -je -EU -je -je -nE -je -VV -VV -VV -VV -VV -VV -Il -Il -Il -Il -VV -mZ -VU -oj -QQ -kD -VU -HQ -VV -KX -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(23,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZM -ZM -ZM -ZM -Qi -df -Zw -vE -Zw -Zw -Zw -ZM -je -tA -tA -tA -nE -nE -je -jV -jV -nE -nE -VV -VV -Il -Il -VV -VV -mI -VU -Co -Cp -KO -VU -Xn -VV -nE -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(24,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -zr -re -qQ -ZM -Zw -Zw -PZ -Zw -Zw -hw -Zw -ZM -nE -nE -je -EU -je -je -je -je -jV -je -nE -nE -VV -Bw -Bw -VV -VV -VV -VV -VV -VV -VV -VV -VV -VV -nE -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(25,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -LH -WT -Uj -ZM -Zw -Lx -Gc -LT -Lx -Lx -MU -ZM -je -nE -je -EU -EU -tA -je -nE -jV -nE -nE -Lp -Bw -Bw -Bw -Bw -Bw -Lp -Il -tA -tA -tA -tA -tA -tA -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(26,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -Om -Ol -Zb -qe -MU -qA -nC -IX -CF -Lx -Zw -ZM -je -nE -nE -tA -tA -tA -je -nE -jV -nE -nE -Il -Il -Il -Il -Il -Il -Il -Il -tA -Xw -sa -FI -pm -sa -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(27,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -hu -re -Zb -ZM -Zw -Lx -ZF -IX -Rn -Lx -Zw -ZM -je -je -nE -tA -tA -tA -je -je -jV -je -nE -je -tA -tA -tA -tA -tA -tA -tA -tA -tA -Mf -ml -ml -fz -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(28,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -xx -gX -WT -ZM -Dq -Lx -IX -IX -IX -Lx -Zw -ZM -je -nE -nE -tA -tA -tA -tA -je -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -tA -mu -ml -ml -Mf -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(29,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZM -ZM -ZM -ZM -Zw -Lx -ZF -Ra -Rn -Lx -Zw -ZM -ZM -nE -je -je -tA -Fq -tA -EU -jV -EU -tA -tA -tA -tA -zy -tA -tA -tA -tA -tA -tA -sa -TK -Zf -sa -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(30,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -Tn -tW -Dk -ZM -Zw -Lx -IX -IX -IX -Pa -Zw -Zw -ZM -nE -je -je -tA -tA -tA -EU -Sp -EU -tA -in -mu -mu -LY -mu -ph -in -tA -tA -tA -tA -tA -tA -tA -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(31,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -YJ -Vx -Zw -ZM -Zw -Lx -ZF -IX -Rn -Lx -Zw -Zw -ZE -je -nE -je -tA -tA -tA -EU -Sp -EU -tA -Mf -Lt -mu -LY -mu -mu -Mf -tA -tA -tA -tA -tA -tA -tA -Xw -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(32,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -iO -PZ -Qi -ZE -PZ -Lx -GF -IX -LM -Lx -Zw -Ir -ZE -je -nE -je -tA -tA -tA -EU -jV -EU -tA -mu -uU -Dh -LY -Dh -Le -mu -tA -tA -sa -Mf -hi -sa -tA -tA -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(33,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -sM -vE -Zw -ZE -Zw -Lx -Lx -Lx -Lx -Lx -rR -Zw -ZE -je -nE -je -tA -tA -tA -je -jV -tA -tA -mu -mu -Dh -eU -Dh -mu -mu -tA -tA -QK -Le -mu -lB -tA -tA -jV -fE -Ao -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(34,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -Rs -MK -Zd -ZM -Zw -Zw -Zd -Qi -Zw -Zw -Zw -Zw -ZM -je -nE -je -tA -tA -je -je -jV -yg -tA -uU -mu -Dh -LY -Dh -mu -ph -tA -tA -zN -uL -mu -aM -tA -tA -jV -fE -Ao -Ao -PW -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -"} -(35,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ln -yn -ql -ZM -gM -IE -Zw -OB -ZM -ZM -ZM -ZM -ZM -je -nE -je -tA -tA -nE -nE -jV -tA -tA -Mf -mu -mu -LY -mu -mu -Mf -tA -Xw -sa -iq -KN -sa -tA -pI -jV -fE -Ao -Ao -Ao -Ao -aE -Ao -Ao -Za -Za -Za -Za -Za -Za -"} -(36,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -ZM -ZM -ZM -ZM -ZM -ZM -ZM -ZM -ZM -je -je -nE -nE -je -je -je -tA -tA -je -nE -jV -tA -tA -in -sa -Bs -sa -xf -Ut -in -tA -tA -tA -tA -tA -tA -tA -pI -jV -fE -Ao -ea -Ao -Ao -Ao -Ao -OG -Ao -Za -Za -Za -Za -Za -"} -(37,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -je -je -je -je -je -je -nE -nE -je -nE -nE -je -je -tA -tA -je -nE -jV -tA -tA -sa -wa -HO -sa -tA -tA -tA -tA -jV -jV -jV -jV -jV -jV -jV -jV -vv -vv -vv -Ov -Ov -Ov -Ao -Ao -Ao -Ao -Za -Za -Za -Za -"} -(38,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -je -je -tA -KX -je -je -nE -nE -je -je -je -nE -je -tA -tA -tA -je -nE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -ur -ur -ur -ur -ur -ur -ur -ur -ur -vv -ws -St -op -Ov -Ao -Ao -Ao -Ao -Za -Za -Za -"} -(39,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -je -tA -tA -tA -tA -nE -nE -nE -je -tA -tA -je -je -je -tA -tA -tA -je -nE -je -je -je -je -je -jV -KX -nE -nE -nE -nE -jV -WO -WO -WO -WO -WO -WO -WO -WO -WO -vv -og -vP -Jz -Ov -Ov -Ov -Ao -Ao -Ao -Ao -Za -"} -(40,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -je -tA -je -je -je -nE -je -je -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -je -je -nE -nE -nE -nE -jV -nE -nE -nE -nE -nE -jV -WO -OX -WO -WO -OX -WO -WO -OX -WO -vv -cF -gn -BJ -Ov -Ov -Ov -Ov -Ao -Ao -kC -Ao -"} -(41,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -je -tA -je -je -nE -nE -je -tA -tA -tA -tA -tA -tA -Fq -tA -tA -tA -tA -tA -tA -tA -je -je -nE -jV -nE -nE -tA -tA -tA -jV -WO -WO -WO -Eu -Eu -WO -WO -WO -yl -vv -BR -BR -Ov -Ov -Ov -ae -Ov -Ov -Ov -Ao -Ao -"} -(42,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -je -tA -je -nE -je -nE -je -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -nE -nE -je -tA -je -KX -je -jV -nE -nE -tA -EU -jV -jV -WO -WO -Eu -WO -WO -Eu -WO -WO -WO -vv -Ov -BR -Ov -Ov -Ov -Ov -Ov -IC -Ov -Ov -Ao -"} -(43,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -je -tA -tA -je -je -je -tA -tA -tA -je -je -je -tA -je -je -je -tA -nE -nE -je -je -nE -je -nE -jV -nE -nE -tA -EU -tA -Wi -WO -Eu -Eu -oS -Eu -Eu -Eu -WO -WO -FQ -Ov -BR -Ov -Ov -Ov -Ov -Ov -Ov -Ov -Ov -Ov -"} -(44,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -jV -jV -jV -ob -ob -jV -jV -jV -tA -je -nE -je -nE -nE -je -je -je -nE -nE -nE -je -je -je -je -jV -nE -nE -tA -EU -jV -jV -WO -WO -Eu -WO -WO -Eu -WO -WO -WO -vv -Ov -BR -Ov -IC -Ov -Ov -Ov -Ov -Ov -Ov -Ov -"} -(45,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -jV -tA -tA -tA -zM -tA -tA -jV -je -je -nE -nE -nE -nE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -nE -nE -tA -tA -tA -jV -WO -WO -WO -Eu -Eu -WO -WO -WO -yl -vv -BR -BR -Ov -ae -Ov -Ov -Ov -Ov -Ao -Ao -Ao -"} -(46,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -jV -DJ -Il -Il -VX -Il -mk -jV -je -je -nE -nE -nE -je -jV -nE -tA -tA -vz -tA -tA -tA -tA -nE -nE -nE -tA -nE -tA -tA -jV -WO -Wz -WO -WO -Wz -WO -WO -Wz -WO -vv -ws -St -op -Ov -Ov -Ov -Ao -kC -Ao -Ao -Ao -"} -(47,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -jV -jV -jV -Il -Il -jV -jV -jV -je -nE -nE -je -je -je -jV -nE -tA -tA -tA -tA -tA -tA -tA -tA -nE -tA -nE -nE -tA -nE -jV -WO -WO -WO -WO -WO -WO -WO -WO -WO -vv -og -vP -Jz -Ov -Ov -Ov -Ao -Ao -Ao -Za -Za -"} -(48,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -jV -jV -XV -pU -tO -tA -ob -tv -jV -jV -jV -jV -jV -jV -jV -jV -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -jV -ur -ur -ur -ur -ur -ur -ur -ur -ur -vv -cF -gn -BJ -Ov -Ov -Ov -ea -Ao -Za -Za -Za -"} -(49,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -jV -jV -jV -Il -tA -jV -jV -jV -nE -nE -nE -nE -nE -nE -jV -nE -tA -tA -nE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -vv -vv -vv -Ov -Ov -Ov -Ao -Ao -Ao -Ao -Za -Za -Za -Za -"} -(50,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -jV -tA -VX -Il -zM -tA -HW -jV -nE -nE -nE -nE -nE -nE -jV -nE -tA -tA -nE -jV -nE -nE -nE -nE -nE -nE -nE -jV -Wt -Il -Il -Il -Il -Il -Il -Il -Wt -jV -fE -Ao -Ao -Ao -Ao -Ao -OG -Ao -Ao -Za -Za -Za -Za -Za -"} -(51,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -jV -rz -tA -tA -Il -tA -DJ -jV -nE -nE -nE -nE -je -nE -nE -nE -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -jV -Il -oT -eH -rE -Il -rE -eH -Kq -Il -jV -fE -Ao -Ao -Ao -Ao -PW -Ao -Za -Za -Za -Za -Za -Za -Za -"} -(52,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -jV -jV -jV -nE -nE -jV -jV -jV -tA -tA -tA -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -tA -tA -bs -nE -jV -jV -jV -Il -zp -pO -rE -MR -rE -hs -aV -Il -jV -fE -Ao -aE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(53,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -KX -nE -nE -nE -nE -nE -tA -tA -iQ -tA -nE -nE -je -nE -tA -Fq -nE -nE -je -je -tA -aU -tA -nE -jV -PV -YF -Il -rE -rE -wq -Il -NS -rE -rE -FN -jV -fE -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(54,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -tA -nE -nE -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -nE -nE -je -nE -tA -tA -nE -nE -jV -dG -YF -Il -Il -Il -Il -Ph -Il -Il -Il -Il -jV -fE -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(55,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -tA -nE -je -je -nE -nE -nE -nE -nE -jV -CQ -YF -Il -rE -rE -CY -Il -Hd -rE -rE -Il -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(56,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -tA -tA -tA -tA -tA -nE -nE -je -nE -nE -nE -nE -nE -nE -jV -jV -jV -Il -zp -hs -rE -Il -rE -pO -aV -Il -jV -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} -(57,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -tA -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -nE -nE -je -je -nE -tA -nE -nE -nE -je -je -jV -Il -MT -oZ -rE -Il -rE -oZ -oT -Il -jV -fE -Ao -Ao -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -Za -Za -"} -(58,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -tA -nE -je -je -je -nE -tA -nE -nE -nE -je -nE -jV -Wt -Il -Il -Il -Il -Il -Il -Il -Wt -jV -fE -fE -fE -fE -fE -Ao -Za -Za -Za -Za -Za -Za -Za -Za -"} -(59,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -tA -tA -tA -tA -nE -nE -je -je -nE -tA -nE -nE -nE -nE -nE -jV -jV -jV -jV -Ux -Ux -Ux -jV -jV -jV -jV -jV -jV -jV -jV -fE -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -"} -(60,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -tA -tA -nE -nE -je -je -nE -tA -nE -nE -nE -nE -nE -nE -nE -nE -Bw -Bw -Bw -Bw -Bw -nE -nE -nE -nE -nE -nE -jV -fE -fE -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(61,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -je -nE -je -je -je -je -je -nE -nE -nE -nE -tA -iQ -tA -nE -nE -je -je -nE -tA -tA -tA -tA -tA -tA -nE -nE -Il -tA -Il -Il -Il -nE -nE -nE -nE -nE -nE -nE -jV -jV -jV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(62,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -je -je -je -je -je -je -nE -nE -nE -tA -tA -tA -tA -nE -nE -nE -nE -nE -nE -tA -vz -tA -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -je -je -je -je -nE -nE -nE -jV -fE -Ao -Ao -Ao -Za -Za -Za -Za -"} -(63,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -tA -jV -jV -jV -jV -tA -nE -nE -nE -nE -je -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -jV -fE -fE -fE -Ao -Za -Za -Za -Za -"} -(64,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -li -li -li -li -li -li -li -nE -nE -nE -nE -nE -nE -tA -nE -nE -nE -tA -jV -al -OP -jV -nE -nE -nE -nE -nE -je -je -nE -nE -nE -je -je -nE -nE -nE -ie -dP -mX -PI -ie -jV -jV -jV -fE -Ao -Za -Za -Za -Za -"} -(65,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -ft -Zh -vh -li -UI -nS -li -li -li -li -li -nE -tA -tA -nE -nE -nE -tA -jV -Zz -Zz -jV -jV -jV -nE -nE -nE -nE -nE -je -je -nE -nE -nE -je -nE -nE -rT -yF -jN -Fk -YW -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(66,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -TP -rq -dJ -li -UI -Ur -li -Od -Ie -Ur -li -li -tA -tA -nE -nE -nE -tA -jV -Pm -di -di -VU -jV -jV -nE -nE -nE -nE -nE -nE -nE -nE -nE -je -nE -nE -nE -nr -EX -GP -fi -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(67,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -dg -Ur -dx -hM -dx -Ur -dU -bC -Ie -Ur -UI -li -tA -tA -nE -nE -nE -nE -jV -XI -Ym -Dt -qC -Ag -jV -nE -nE -tA -tA -tA -tA -tA -nE -nE -nE -nE -nE -nE -iR -Hz -mo -uo -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(68,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -Qe -oQ -XF -li -bC -UI -li -Ur -yo -UI -bC -li -tA -tA -nE -nE -nE -nE -jV -ZG -Rp -bJ -KA -di -jV -tA -nE -nE -nE -nE -vz -tA -nE -tA -tA -nE -nE -bT -Iq -NN -bR -Iq -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(69,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -li -li -li -li -bC -Ur -li -bC -uO -Ur -UI -rM -tA -tA -nE -je -nE -nE -jV -Vq -Xp -DN -Zk -qh -pT -lr -tA -nE -nE -nE -tA -tA -nE -nE -fg -nE -nE -qV -Xi -iy -EK -yF -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(70,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -je -je -je -Bk -Bk -Ur -dx -li -mT -Im -UI -UI -Ci -tA -tA -nE -je -nE -nE -jV -ZG -Rp -it -PK -FY -jV -kp -tA -nE -je -nE -nE -tA -nE -nE -Il -nE -nE -ie -JU -nE -eQ -ie -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(71,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -je -je -KX -je -Bk -Bk -Ur -bC -li -UI -Ur -bC -Ur -li -tA -tA -nE -je -nE -nE -jV -Cl -fx -fx -SG -Ag -jV -tA -tA -nE -je -nE -nE -tA -nE -nE -Il -nE -nE -nE -nE -nE -nE -nE -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(72,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -li -li -li -li -bC -Ur -hM -UI -bC -UI -li -li -tA -tA -nE -nE -nE -nE -jV -di -In -VU -wt -jV -jV -tA -nE -nE -je -je -nE -tA -nE -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(73,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -fK -bC -bC -hM -UI -UI -li -aw -UI -dx -li -nE -hb -tA -nE -nE -nE -nE -jV -Zz -Zz -jV -jV -jV -nE -nE -nE -nE -nE -je -nE -tA -nE -nE -nE -tA -Il -Il -tA -tA -tA -Il -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(74,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -EV -Ur -Od -li -li -He -li -li -li -li -li -nE -tA -tA -nE -nE -nE -nE -jV -va -va -jV -tA -tA -tA -nE -nE -Fq -tA -tA -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -wf -Il -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(75,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -JY -UI -UI -li -YV -RO -Gv -li -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -jV -jV -jV -jV -tA -nE -nE -nE -nE -tA -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -Il -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(76,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -HB -vm -dY -li -li -li -li -li -nE -nE -nE -nE -tA -tA -nE -nE -nE -tA -nE -nE -nE -nE -tA -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(77,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -li -li -li -li -li -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -tA -tA -tA -nE -nE -tA -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -tA -tA -tA -tA -tA -tA -nE -nE -nE -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(78,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -tA -nE -nE -nE -tA -Fq -tA -tA -tA -tA -tA -tA -tA -nE -nE -nE -nE -nE -nE -nE -tA -tA -tA -tA -tA -tA -nE -nE -nE -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(79,1,1) = {" -Za -Za -Za -Za -Ao -fE -jV -jV -jV -nE -nE -je -je -je -nE -nE -nE -nE -tA -tA -hb -tA -tA -tA -tA -tA -tA -nE -nE -nE -nE -tA -nE -nE -tA -nE -nE -nE -nE -nE -nE -nE -tA -Il -Il -Bi -tA -tA -nE -nE -nE -je -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(80,1,1) = {" -Za -Za -Za -Za -Ao -fE -fE -fE -jV -nE -je -je -nE -je -je -nE -nE -nE -nE -tA -tA -tA -tA -nE -nE -nE -nE -je -je -je -nE -tA -nE -nE -tA -tA -tA -vz -nE -nE -nE -tA -tA -tA -Il -Il -Il -tA -tA -tA -nE -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(81,1,1) = {" -Za -Za -Za -Za -Ao -Ao -Ao -fE -jV -nE -KX -nE -nE -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -je -nE -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -tA -tA -tA -Wt -Il -tA -Il -Wt -tA -nE -nE -nE -jV -fE -Ao -Za -Za -Za -Za -"} -(82,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -tA -nE -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -nE -nE -je -je -nE -nE -nE -nE -nE -je -je -nE -iV -iV -iV -iV -iV -Zm -Fj -Xo -Zm -Fj -iV -iV -iV -iV -iV -fE -Ao -Za -Za -Za -Za -"} -(83,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -tA -Fq -tA -tA -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -je -je -je -nE -nE -iV -EE -Zm -gF -Zm -Zm -Zm -Xo -Zm -sZ -hT -Pn -SN -Wu -iV -fE -Ao -Za -Za -Za -Za -"} -(84,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -tA -fT -tA -nE -tA -tA -tA -tA -tA -tA -tA -nE -tA -tA -tA -tA -nE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -iV -Zm -Zm -Zm -Zm -Zm -Zm -Xo -Xo -Xo -tE -br -br -br -iV -fE -Ao -Za -Za -Za -Za -"} -(85,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -tA -tA -tA -nE -nE -tA -tA -tA -tA -nE -tA -nE -tA -mU -tA -nE -nE -jV -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -iV -Mc -Zm -ZA -Zm -Zm -Xo -Xo -Zm -Zm -hT -br -br -br -iV -fE -Ao -Za -Za -Za -Za -"} -(86,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -hb -tA -tA -nE -nE -nE -nE -tA -tA -nE -nE -nE -tA -tA -tA -nE -nE -jV -fE -iV -iV -iV -iV -iV -iV -iV -iV -ww -iV -ZA -Zm -ZA -Zm -Zm -Xo -Zm -Zm -Zm -iV -Gf -WW -RQ -iV -fE -Ao -Za -Za -Za -Za -"} -(87,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -tA -nE -nE -nE -je -nE -nE -nE -tA -tA -nE -nE -tA -tA -nE -je -nE -jV -fE -iV -YD -Zm -Zm -kK -Ds -ZW -iV -tB -iV -ZA -Zm -ZA -Zm -Xo -Xo -Zm -bz -Hw -iV -hT -iV -iV -iV -fE -Ao -Za -Za -Za -Za -"} -(88,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -je -je -nE -nE -tA -tA -tA -nE -nE -nE -je -je -nE -jV -fE -iV -Zm -cE -Zm -Zm -Zm -Zm -iV -iV -iV -ZA -Zm -ZA -Zm -DZ -Xo -Zm -SY -Zm -Zm -Zm -iV -fE -fE -fE -Ao -Za -Za -Za -Za -"} -(89,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -je -je -je -nE -nE -je -je -nE -tA -tA -nE -nE -je -je -je -nE -nE -jV -fE -iV -Zm -Gr -Zm -eD -Zm -Zm -hT -sZ -Zm -Zm -Zm -Zm -Zm -Zm -Xo -sZ -SY -Zm -Zm -Zm -iV -fE -Ao -Ao -Ao -Za -Za -Za -Za -"} -(90,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -nE -nE -nE -nE -nE -nE -nE -nE -je -nE -tA -iQ -nE -nE -je -je -nE -KX -nE -jV -fE -iV -Zm -Zm -Zm -TC -Zm -sZ -hT -Zm -Xo -Xo -Xo -Xo -Xo -Xo -Xo -Zm -SY -Zm -Zm -Zm -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(91,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -jV -jV -jV -jV -jV -nE -je -je -je -nE -tA -tA -nE -nE -nE -nE -nE -nE -nE -jV -fE -iV -bu -Zm -Be -wy -Zm -Zm -To -Xo -Xo -gs -DR -Tf -DR -zo -Xo -Zm -SY -Zm -JB -Zm -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(92,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -Ka -jR -tA -tA -jV -nE -nE -nE -nE -nE -tA -tA -nE -nE -Il -Il -FD -nE -nE -jV -fE -iV -Zm -Zm -zO -Zm -Zm -Zm -hT -Zm -Xo -HC -um -Tf -iH -gV -Xo -Xo -zb -Zm -Zm -Zm -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(93,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -jV -jV -Il -tA -jV -nE -nE -nE -nE -tA -tA -nE -nE -Il -Il -Il -Il -Il -nE -jV -fE -iV -Zm -Zm -pV -Zm -tX -Zm -hT -Zm -Xo -Tf -Tf -Ik -Tf -Tf -Xo -Zm -SY -Zm -JB -Zm -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(94,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -tA -Il -fh -tA -Ux -nE -nE -nE -tA -tA -tA -nE -nE -Il -tA -Il -Il -tA -nE -jV -fE -iV -Zm -iV -iV -iV -iV -iV -iV -Zm -Xo -HC -Pl -Tf -We -gV -Xo -Zm -SY -Zm -Zm -Zm -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(95,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -tA -tA -tA -tA -Ux -nE -nE -nE -nE -nE -tA -tA -nE -FD -Il -Bl -tA -Il -nE -jV -fE -iV -HN -iV -pE -Xh -QN -Tf -iV -sZ -Xo -tS -XA -Tf -XA -zu -Xo -Zm -hT -hT -iV -hT -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(96,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -jV -jV -tA -Il -jV -nE -nE -nE -nE -nE -nE -tA -tA -tA -tA -Il -tA -tA -nE -jV -fE -iV -Kn -iV -Sy -Sy -az -sO -iV -Zm -Xo -ys -Xo -Xo -Xo -Xo -Xo -Zm -hT -fl -Zm -bO -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(97,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -XV -na -tA -Il -jV -nE -nE -nE -nE -nE -nE -nE -nE -Il -tA -Il -Il -Il -nE -jV -fE -iV -FK -iV -Vk -ge -vp -AX -iV -Zm -Xo -Zm -DZ -WV -Zm -Ls -Xo -WV -To -Zm -Zm -NK -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(98,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -jV -jV -jV -jV -jV -jV -jV -nE -nE -je -nE -nE -nE -nE -nE -Il -Il -lZ -nE -nE -jV -fE -iV -iV -iV -Xv -Xb -ng -AX -eB -Zm -Xo -Zm -Zm -WV -Zm -Zm -sZ -Zm -iV -NU -br -wO -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(99,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -fE -fE -fE -fE -fE -fE -fE -jV -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -nE -jV -fE -fE -fE -iV -yj -Xr -hy -AX -iV -Zm -Zm -hT -hT -tE -hT -iV -iV -Zm -iV -Ei -Zm -br -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(100,1,1) = {" -Za -Za -Za -Za -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -Ao -fE -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -jV -fE -fE -fE -iV -uC -hf -uC -gr -iV -sZ -Zm -iV -Zm -br -Zm -Un -iV -Zm -hT -ZH -Zm -CN -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(101,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Ao -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -iV -kW -Xh -Tf -Tf -iV -Zm -Zm -hT -lH -fR -Xm -Xm -hT -Zm -iV -Os -Zm -Gx -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(102,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -fE -fE -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -iV -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(103,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -fE -Ao -Za -Za -Za -Za -Za -Za -"} -(104,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Ao -Za -Za -Za -Za -Za -Za -"} -(105,1,1) = {" -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -Za -"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_codelab.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_codelab.dmm new file mode 100644 index 000000000000..04ada2692122 --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_codelab.dmm @@ -0,0 +1,6293 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ai" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/structure/table/chem, +/obj/item/slime_extract/darkblue{ + pixel_x = -7 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"am" = ( +/obj/structure/window/plasma/reinforced, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/atmos/oxygen, +/turf/open/floor/engine/o2, +/area/ruin/unpowered/codelab/maintenance) +"ap" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"ar" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"aw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"az" = ( +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"aA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"aO" = ( +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/structure/window/plasma/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ruin/unpowered/codelab/maintenance) +"aP" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner/west, +/obj/item/modular_computer/laptop/preset, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"aR" = ( +/obj/item/trash/can, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"aY" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner, +/obj/structure/window/reinforced/spawner/east, +/obj/item/modular_computer/laptop/preset, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"bd" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/flushed, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"bl" = ( +/obj/structure/chair/office/light, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"bn" = ( +/obj/structure/table, +/obj/item/trash/plate, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"bo" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"bq" = ( +/obj/structure/table, +/obj/item/trash/semki, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"bv" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"bw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"by" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"bz" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"bE" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"bG" = ( +/obj/effect/decal/cleanable/molten_object/large, +/mob/living/simple_animal/slime, +/obj/effect/decal/cleanable/food/plant_smudge, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"bT" = ( +/obj/effect/decal/cleanable/food/pie_smudge{ + desc = "Some kind of strange white goo."; + name = "strange goo" + }, +/mob/living/simple_animal/slime, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"cc" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"cd" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"ck" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"cl" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"cv" = ( +/obj/structure/fence, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"cA" = ( +/obj/structure/closet/cardboard, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 8 + }, +/obj/item/disk/tech_disk/major, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"cH" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"cI" = ( +/obj/structure/fluff/paper/stack{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"cO" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"cR" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"cX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"cZ" = ( +/obj/effect/decal/cleanable/generic, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"dg" = ( +/obj/structure/table, +/obj/machinery/door/window/brigdoor, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"ds" = ( +/obj/effect/decal/remains/human, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"dx" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"dy" = ( +/obj/machinery/door/airlock/silver{ + name = "Bathroom" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"dD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"dF" = ( +/obj/structure/closet/crate/secure{ + anchored = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"dL" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"dQ" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"ec" = ( +/obj/structure/closet/crate/medical{ + anchored = 1 + }, +/obj/item/reagent_containers/syringe, +/obj/item/circular_saw, +/obj/effect/turf_decal/industrial/outline, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"ef" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 5 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"eg" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/snakeplushie, +/obj/item/toy/plush/snakeplushie, +/obj/item/toy/plush/snakeplushie, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"en" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"eq" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Nitrogen to Air" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"et" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/laboratory) +"ez" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"eE" = ( +/obj/effect/turf_decal/trimline/opaque/red/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"eH" = ( +/obj/structure/window/plasma/reinforced, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output, +/turf/open/floor/engine/n2, +/area/ruin/unpowered/codelab/maintenance) +"eI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"eY" = ( +/obj/effect/decal/cleanable/generic, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"fq" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/molten_object/large, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"fr" = ( +/obj/structure/closet/cardboard, +/obj/item/shard/plasma, +/obj/item/trash/energybar, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"fu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"fv" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"fG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"fU" = ( +/obj/machinery/camera{ + dir = 10 + }, +/obj/structure/closet/cardboard, +/obj/item/mop, +/obj/item/trash/plate, +/obj/item/shard, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"fW" = ( +/obj/effect/turf_decal/corner_techfloor_grid/full, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"fZ" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"gc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"ge" = ( +/obj/structure/closet/crate/science, +/obj/machinery/light/dim/directional/north, +/obj/item/storage/pill_bottle/mutadone, +/obj/item/clothing/glasses/science, +/obj/item/clothing/head/beret/sci, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"gq" = ( +/obj/machinery/turretid{ + pixel_x = 28; + req_access = null; + req_access_txt = "16"; + name = "interior turret control panel" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"gr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"gz" = ( +/obj/structure/bookcase/manuals/research_and_development, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"gC" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"gD" = ( +/obj/structure/bed, +/obj/item/bedsheet/rd, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"gE" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"gM" = ( +/obj/effect/turf_decal/corner_techfloor_grid/full, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"gY" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"hb" = ( +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"hc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"hu" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"hx" = ( +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"hz" = ( +/obj/structure/window/plasma/reinforced, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/atmos/nitrogen, +/turf/open/floor/engine/n2, +/area/ruin/unpowered/codelab/maintenance) +"hA" = ( +/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"hE" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/reception) +"hO" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/ruin/unpowered/codelab/reception) +"ie" = ( +/obj/effect/decal/cleanable/molten_object/large, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"ih" = ( +/obj/structure/closet/cardboard, +/obj/item/trash/cheesie, +/obj/item/trash/plate, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"ij" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/cardboard, +/obj/item/trash/can/food/peaches, +/obj/item/trash/can/food/peaches/maint, +/obj/item/shard, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"il" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"im" = ( +/obj/machinery/light/broken/directional/south, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"iq" = ( +/obj/structure/closet/crate/wooden{ + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/pickaxe/drill, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"ir" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"iw" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = -8; + pixel_y = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"iz" = ( +/obj/structure/closet/crate/secure{ + anchored = 1 + }, +/obj/item/grenade/firecracker, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"iB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"iE" = ( +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/industrial/outline, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"iI" = ( +/obj/structure/closet/crate{ + anchored = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"iN" = ( +/obj/structure/chair/sofa{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"je" = ( +/obj/machinery/door/airlock/public{ + name = "Subject Cryogenic Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"jk" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"jm" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"jn" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"jx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"jz" = ( +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"jB" = ( +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"jC" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"jG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"jH" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"jJ" = ( +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"jK" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"jV" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"kc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/chair/comfy{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"kh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"kj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered/codelab/reception) +"kl" = ( +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"kt" = ( +/obj/structure/flora/tree/dead_pine, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"kA" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/fluff/paper/stack, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"kF" = ( +/obj/structure/fence, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"kP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"kY" = ( +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/door/poddoor{ + id = "NTGen Door" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "NTGen Doorfield" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/codelab/storage) +"lc" = ( +/obj/structure/flora/ausbushes/fullgrass/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"ln" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"lo" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/structure/cable{ + icon_state = "8-9" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"ls" = ( +/obj/structure/rack, +/obj/item/paper/pamphlet, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"lt" = ( +/obj/structure/holosign/barrier/infinite, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"lH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"lJ" = ( +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/industrial/hatch/blue, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"lM" = ( +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"lU" = ( +/obj/structure/closet/cardboard, +/obj/item/clothing/under/pants/black, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"lW" = ( +/obj/structure/filingcabinet/double/grey, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"lY" = ( +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"lZ" = ( +/obj/effect/decal/cleanable/food/plant_smudge, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"ma" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"md" = ( +/obj/structure/flora/ausbushes/ywflowers/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"mw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"mA" = ( +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"mF" = ( +/obj/structure/toilet{ + pixel_y = 11 + }, +/obj/machinery/door/window/eastright{ + dir = 2; + req_access = list(11) + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"mO" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"mX" = ( +/obj/machinery/atmospherics/components/unary/portables_connector, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"mZ" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"nl" = ( +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"nm" = ( +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"ns" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"nu" = ( +/obj/structure/closet/crate/internals{ + anchored = 1 + }, +/obj/item/tank/internals/generic, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"nw" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"ny" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/exterior) +"nG" = ( +/obj/structure/fluff/paper/stack{ + dir = 6 + }, +/obj/effect/decal/cleanable/molten_object, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"nH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"nL" = ( +/obj/structure/sink/kitchen{ + dir = 4; + pixel_x = -12 + }, +/obj/structure/mirror{ + pixel_x = -24 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"nM" = ( +/obj/structure/closet/cardboard, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"nQ" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"nZ" = ( +/obj/machinery/door/airlock/public{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"ob" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"of" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"oj" = ( +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/power/rtg, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"ol" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"oo" = ( +/obj/machinery/computer/security/telescreen/research{ + pixel_y = 27 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"op" = ( +/obj/machinery/door/airlock/public{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "5-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"ow" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"ox" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"oK" = ( +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"oY" = ( +/obj/structure/table, +/obj/machinery/door/window/brigdoor, +/obj/item/paper/codelab/reception, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"pb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"pf" = ( +/obj/effect/decal/cleanable/wrapping, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"pk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"pp" = ( +/obj/structure/fluff/paper/stack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"pr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"pB" = ( +/obj/structure/flora/ausbushes/ywflowers/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"pE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"pF" = ( +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/structure/table, +/obj/item/slime_extract/green{ + pixel_x = -4; + pixel_y = 11 + }, +/obj/item/slime_extract/green{ + pixel_x = -11; + pixel_y = 11 + }, +/obj/item/slime_extract/green{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/paper/codelab/researchernote, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"pG" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"pO" = ( +/obj/effect/decal/cleanable/shreds, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"pQ" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/grown/citrus/orange{ + pixel_y = 8 + }, +/obj/machinery/light/broken/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"pS" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"pY" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"qb" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/rtg, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"qr" = ( +/obj/machinery/sleeper{ + pixel_y = 2; + state_open = 0 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"qs" = ( +/obj/structure/closet/cardboard, +/obj/item/reagent_containers/food/drinks/soda_cans/plasma, +/obj/item/trash/popcorn, +/obj/item/trash/energybar, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"qt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"qz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"qL" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"qQ" = ( +/obj/effect/decal/cleanable/generic, +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"qU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"qY" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/slimeplushie, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"rf" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"ri" = ( +/obj/machinery/door/airlock/public{ + name = "Testing Room A" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"rq" = ( +/obj/item/clipboard, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 8 + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"rw" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"rz" = ( +/obj/structure/flora/ausbushes/fullgrass/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"rA" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/pushbroom, +/obj/item/trash/can/food/peaches, +/obj/item/trash/candy, +/obj/item/trash/plate, +/obj/item/trash/tray, +/obj/effect/turf_decal/industrial/outline, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"rG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/food/plant_smudge, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"rH" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"rI" = ( +/obj/structure/fluff/paper/stack, +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"rL" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"rS" = ( +/obj/structure/closet/crate/secure{ + anchored = 1 + }, +/obj/item/pickaxe, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"rT" = ( +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"rV" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"rY" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/machinery/light/broken/directional/north, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"sc" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"sk" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"so" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/mop, +/obj/item/trash/boritos, +/obj/item/trash/can/food/peaches, +/obj/item/trash/can, +/obj/item/trash/waffles, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"sp" = ( +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"sr" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"sz" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/among, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"sA" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"sB" = ( +/obj/effect/decal/cleanable/food/pie_smudge{ + desc = "Some kind of strange white goo."; + name = "strange goo" + }, +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"sE" = ( +/obj/structure/fluff/paper/stack, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"sK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"sW" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"tp" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"tx" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"tA" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"tD" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"tH" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"tI" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"uc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"uf" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"uj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/generic, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"uk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"uy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"uA" = ( +/obj/machinery/light/dim/directional/north, +/obj/structure/table/chem, +/obj/item/slimecrossbeaker/autoinjector/slimestimulant{ + pixel_y = 11 + }, +/obj/item/slimecrossbeaker/omnizine, +/obj/item/reagent_containers/glass/beaker{ + pixel_y = 10; + pixel_x = -9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"uH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"uL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"uM" = ( +/obj/structure/table/wood, +/obj/item/trash/plate, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"uQ" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"uV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer4, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"uW" = ( +/obj/structure/ore_box, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"vb" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_y = 14 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_y = 14; + pixel_x = -9 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_y = 14; + pixel_x = 9 + }, +/obj/item/reagent_containers/glass/maunamug{ + pixel_x = -19 + }, +/obj/effect/turf_decal/corner/opaque/white/mono, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"vg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"vk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"vu" = ( +/obj/structure/flora/tree/dead/tall/grey, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"vz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"vD" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"vG" = ( +/obj/machinery/button/shieldwallgen{ + dir = 8; + id = "NTGen Doorfield"; + pixel_x = 24; + pixel_y = -5 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_y = 7; + pixel_x = 25; + id = "NTGen Door" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"vL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/maintenance) +"vQ" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"vU" = ( +/obj/machinery/light/dim/directional/south, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"wc" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell{ + icon_state = "pod-open" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"wd" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/machinery/camera{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"wu" = ( +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"wB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"wJ" = ( +/obj/structure/closet/cardboard, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"wM" = ( +/obj/effect/decal/cleanable/molten_object/large, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/ruin/unpowered/codelab/reception) +"wN" = ( +/obj/structure/closet/crate/medical{ + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/reagent_containers/syringe, +/obj/item/surgicaldrill, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"wP" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/beaker/large/epinephrine, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"wZ" = ( +/obj/effect/decal/cleanable/food/pie_smudge{ + desc = "Some kind of strange white goo."; + name = "strange goo" + }, +/mob/living/simple_animal/slime, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xi" = ( +/obj/machinery/camera{ + dir = 1 + }, +/obj/structure/table, +/obj/item/reagent_containers/syringe, +/obj/item/scalpel, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"xx" = ( +/obj/machinery/camera{ + dir = 10 + }, +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/corner/opaque/lime/border{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xz" = ( +/obj/effect/turf_decal/dept/science, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"xB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/password{ + dir = 8; + password = "71421"; + name = "Password Locked Door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xK" = ( +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xM" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xN" = ( +/obj/machinery/atmospherics/pipe/manifold/general/hidden, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xQ" = ( +/obj/machinery/door/airlock/public{ + name = "Testing Room B" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"xV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"xZ" = ( +/obj/structure/flora/rock/hell{ + pixel_y = -1 + }, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"ya" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner, +/obj/item/clipboard, +/obj/item/pen/fountain, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"yc" = ( +/obj/structure/fluff/paper/stack, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"yd" = ( +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/machinery/door/poddoor{ + id = "NTGen Door" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "NTGen Doorfield" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/codelab/storage) +"ye" = ( +/obj/structure/fluff/paper/stack{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"yo" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"yG" = ( +/obj/effect/turf_decal/box/white/corners, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"yJ" = ( +/obj/structure/closet/crate/internals{ + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/tank/internals/oxygen/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"yL" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/food/plant_smudge, +/mob/living/simple_animal/slime, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"yS" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ + dir = 8; + piping_layer = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ + dir = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"yT" = ( +/obj/machinery/camera, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"yY" = ( +/obj/structure/table, +/obj/item/modular_computer/laptop, +/obj/machinery/light/dim/directional/west, +/obj/item/pen/fountain, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"zb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"zj" = ( +/obj/structure/table, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"zu" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"zG" = ( +/obj/structure/closet/crate/medical{ + anchored = 1 + }, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/retractor, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"zH" = ( +/obj/structure/fluff/paper/stack{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"zI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"zJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"zK" = ( +/obj/structure/fluff/empty_sleeper/nanotrasen{ + pixel_y = 3 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"zM" = ( +/obj/machinery/camera{ + dir = 10 + }, +/obj/structure/fluff/paper/stack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"zN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/research/glass{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"zP" = ( +/obj/machinery/door/airlock{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"zY" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/beaker/slime, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"zZ" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Ab" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"Ai" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Am" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"Aq" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Ay" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"AA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"AB" = ( +/obj/machinery/door/airlock/external{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"AE" = ( +/obj/structure/table, +/obj/item/newspaper, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"AG" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"AI" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"AJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/sign/poster/contraband/ntos{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"AK" = ( +/obj/structure/flora/ausbushes/fullgrass/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"AL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/carpet/lone, +/area/ruin/unpowered/codelab/subjectrooms) +"AN" = ( +/obj/machinery/door/airlock/public{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"AO" = ( +/obj/structure/window/plasma/reinforced, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output, +/turf/open/floor/engine, +/area/ruin/unpowered/codelab/maintenance) +"AV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"Bc" = ( +/obj/structure/window/plasma/reinforced, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ruin/unpowered/codelab/maintenance) +"Bf" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Bj" = ( +/obj/machinery/computer/atmos_control/tank/oxygen_tank, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 5 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Bk" = ( +/obj/structure/bed, +/obj/item/bedsheet/purple, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"Bm" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Bp" = ( +/obj/structure/closet/crate/internals{ + anchored = 1 + }, +/obj/item/tank/jetpack/oxygen, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Br" = ( +/obj/structure/closet/cardboard, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Bs" = ( +/obj/structure/flora/rock/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"Bu" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"BF" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"BI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"BJ" = ( +/obj/item/newspaper, +/obj/structure/fluff/paper/stack, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"BK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"BN" = ( +/obj/effect/decal/cleanable/oil/streak{ + pixel_x = -12; + pixel_y = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"BO" = ( +/obj/structure/table/wood, +/obj/item/research_notes/loot/tiny{ + name = "Notes on Xenobiology" + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"BP" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Cd" = ( +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Cj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"Cw" = ( +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"CA" = ( +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"CC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/research/glass{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"CJ" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner/east, +/obj/item/clipboard, +/obj/item/pen/blue, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"CK" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"CV" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"CX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"CZ" = ( +/obj/machinery/atmospherics/pipe/manifold/general/hidden, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Db" = ( +/obj/structure/closet/crate/secure/plasma{ + anchored = 1 + }, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/tank/internals/plasma, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Dc" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Di" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/decal/cleanable/food/plant_smudge, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Dj" = ( +/obj/machinery/door/password{ + dir = 8; + password = "71421"; + name = "Password Locked Door" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Do" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"Du" = ( +/obj/effect/decal/cleanable/generic, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"DB" = ( +/obj/machinery/camera{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"DD" = ( +/obj/machinery/porta_turret/ai, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"DF" = ( +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"DH" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/neck/tie/rainbow, +/obj/item/spacecash/bundle/c20, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"DJ" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"DL" = ( +/obj/structure/closet/crate/medical{ + anchored = 1 + }, +/obj/item/reagent_containers/syringe/thializid, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"DU" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"DZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"Ef" = ( +/obj/structure/table, +/obj/item/paper/crumpled/codelab/subjectnote{ + pixel_y = 11; + pixel_x = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Eh" = ( +/obj/structure/closet/wardrobe/science_white, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Ej" = ( +/obj/machinery/computer/atmos_control/tank/air_tank, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Ep" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Et" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Ev" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Ex" = ( +/obj/machinery/camera, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"EF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"EM" = ( +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"EX" = ( +/obj/machinery/airalarm/directional/east, +/mob/living/simple_animal/slime, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"EY" = ( +/obj/structure/closet/crate/secure/engineering{ + anchored = 1 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Fd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"Ff" = ( +/obj/structure/closet/crate/secure{ + anchored = 1 + }, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate, +/obj/item/storage/fancy/cigarettes/cigpack_uplift, +/obj/item/storage/belt/fannypack/blue, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Fg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"Fw" = ( +/obj/item/trash/semki, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"Fx" = ( +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Fy" = ( +/obj/machinery/modular_computer/console/preset/research, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Fz" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/neck/tie/trans, +/obj/item/spacecash/bundle/c100, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"FF" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"FG" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"FH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"FJ" = ( +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/machinery/power/rtg, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"FT" = ( +/obj/machinery/power/rtg, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Gb" = ( +/obj/machinery/camera{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Gc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/lone, +/area/ruin/unpowered/codelab/subjectrooms) +"Gd" = ( +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Gq" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/food/plant_smudge, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Gu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Gv" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"GG" = ( +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"GH" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/pushbroom, +/obj/item/trash/popcorn, +/obj/item/trash/boritos, +/obj/item/trash/can, +/obj/item/trash/syndi_cakes, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"GK" = ( +/obj/structure/closet/crate{ + anchored = 1 + }, +/obj/item/storage/toolbox/mechanical/old, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"GN" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"GY" = ( +/obj/machinery/door/airlock/public{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Hc" = ( +/obj/effect/turf_decal/industrial/outline, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Hd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"He" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/subjectrooms) +"Hi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Hk" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Ho" = ( +/obj/machinery/camera{ + dir = 10 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 8 + }, +/obj/machinery/light/broken/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Hp" = ( +/obj/effect/decal/cleanable/molten_object/large, +/mob/living/simple_animal/slime, +/obj/effect/decal/cleanable/food/plant_smudge, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Hu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fluff/paper/stack{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"HA" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"HQ" = ( +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"HW" = ( +/obj/structure/flora/ausbushes/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"Ig" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"In" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"It" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Iu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Iv" = ( +/turf/template_noop, +/area/template_noop) +"IC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"IG" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"IL" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/machinery/light/dim/directional/south, +/obj/structure/fluff/paper/stack, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"IO" = ( +/obj/structure/fence/door{ + open = 1 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Jb" = ( +/obj/structure/flora/ausbushes/fernybush/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"Jd" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"Jk" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Jm" = ( +/obj/structure/window/plasma/reinforced, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output, +/turf/open/floor/engine/n2, +/area/ruin/unpowered/codelab/maintenance) +"Jn" = ( +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Js" = ( +/obj/effect/decal/cleanable/wrapping, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Jv" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"JE" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/ruin/unpowered/codelab/reception) +"JI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/components/trinary/mixer/airmix{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"JM" = ( +/obj/machinery/door/window/brigdoor/eastright, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"JR" = ( +/obj/item/trash/chips, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"JX" = ( +/obj/machinery/computer/atmos_control/tank/nitrogen_tank, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 5 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"JZ" = ( +/obj/effect/turf_decal/dept/cargo, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Ka" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 9 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Kj" = ( +/obj/machinery/computer/security/telescreen{ + pixel_y = 27 + }, +/obj/structure/closet/cardboard, +/obj/item/clothing/under/color/white, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Kl" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Kp" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/unpowered/codelab/laboratory) +"Kv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Kw" = ( +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/trash/plate{ + pixel_y = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Kx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"KO" = ( +/obj/structure/sign/poster/contraband/cybersun_med{ + pixel_y = 31 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"KQ" = ( +/obj/structure/fluff/empty_sleeper/nanotrasen{ + pixel_y = 3 + }, +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"KT" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Lg" = ( +/obj/structure/flora/rock/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"Lr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Lx" = ( +/obj/structure/flora/ausbushes/fernybush/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"Lz" = ( +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"LD" = ( +/obj/machinery/camera{ + dir = 10 + }, +/obj/structure/table, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"LG" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"LH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"LP" = ( +/obj/machinery/light/dim/directional/west, +/mob/living/simple_animal/slime, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"LU" = ( +/obj/machinery/door/airlock/public{ + name = "Testing Room C" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"LV" = ( +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ + dir = 4 + }, +/turf/open/floor/engine/n2, +/area/ruin/unpowered/codelab/maintenance) +"Ma" = ( +/obj/structure/closet/l3closet/scientist, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Mp" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Mv" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/neck/tie/purple, +/obj/item/spacecash/bundle/c1000, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"MB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"ME" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"MK" = ( +/obj/structure/table, +/obj/item/modular_computer/laptop, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"MN" = ( +/obj/structure/holosign/barrier/infinite, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Ni" = ( +/obj/structure/closet/crate/secure/plasma{ + anchored = 1 + }, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Nn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Nq" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"NA" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ + dir = 8; + piping_layer = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"NL" = ( +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"NW" = ( +/obj/item/cigbutt/cigarbutt, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"NX" = ( +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{ + dir = 4 + }, +/turf/open/floor/engine/o2, +/area/ruin/unpowered/codelab/maintenance) +"Ob" = ( +/obj/structure/chair/sofa{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Od" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Oj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"Op" = ( +/obj/machinery/door/airlock/public{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Oq" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"OE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"OM" = ( +/obj/machinery/door/poddoor{ + id = "NTGen Door" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/codelab/storage) +"OW" = ( +/obj/effect/decal/cleanable/ash, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"Pc" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/storage) +"Pu" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"PK" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner, +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 7 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"PL" = ( +/obj/effect/decal/cleanable/ash, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"PP" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"PU" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Qb" = ( +/obj/machinery/camera, +/obj/effect/turf_decal/techfloor/hole/right{ + dir = 4 + }, +/mob/living/simple_animal/slime, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Qc" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/carpplushie, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Qi" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell{ + icon_state = "pod-open"; + state_open = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Qm" = ( +/mob/living/simple_animal/slime, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Qn" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"Qv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"QC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"QD" = ( +/obj/machinery/light/dim/directional/north, +/obj/structure/holosign/barrier/infinite, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"QJ" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"QO" = ( +/obj/structure/fence/corner{ + dir = 9 + }, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"QQ" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/nukeplushie, +/obj/effect/turf_decal/industrial/outline, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"QU" = ( +/obj/item/newspaper, +/obj/effect/decal/cleanable/molten_object, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"QV" = ( +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/power/rtg, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Rf" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"Rg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Ri" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/lizardplushie, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Ro" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Rp" = ( +/obj/effect/decal/cleanable/food/plant_smudge, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Ru" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fluff/paper/stack, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"RI" = ( +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/knight, +/obj/effect/turf_decal/industrial/outline, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"RS" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Nitrogen to Air" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"RX" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"RY" = ( +/obj/structure/marker_beacon, +/obj/machinery/button{ + pixel_x = -5; + pixel_y = 26; + name = "broken door button"; + desc = "A remote control switch, rendered unusable due to harsh conditions and age." + }, +/obj/machinery/button/shieldwallgen{ + id = "NTGen Doorfield"; + pixel_x = 6; + pixel_y = 25 + }, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"RZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Sf" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Sn" = ( +/obj/structure/fence, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"Sq" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"St" = ( +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"SG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/molten_object/large, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"SQ" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"SY" = ( +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered/codelab/exterior) +"Tg" = ( +/obj/structure/filingcabinet/double, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/unpowered/codelab/reception) +"Tw" = ( +/obj/machinery/camera, +/obj/effect/turf_decal/techfloor/hole/right{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Ty" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Tz" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 14; + pixel_x = -8 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/codelab/laboratory) +"TG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"TJ" = ( +/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"TQ" = ( +/obj/machinery/shower{ + dir = 8; + pixel_y = 8 + }, +/obj/structure/curtain, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"TR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"TS" = ( +/obj/machinery/porta_turret/ship/weak/codelab, +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/exterior) +"Ue" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Uf" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner, +/obj/structure/window/reinforced/spawner/west, +/obj/item/clothing/mask/cigarette, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered/codelab/reception) +"Ui" = ( +/obj/structure/closet/crate/wooden{ + anchored = 1 + }, +/obj/effect/turf_decal/industrial/outline, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Uj" = ( +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Un" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/corner_techfloor_grid/full, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/codelab/reception) +"Ux" = ( +/obj/machinery/door/airlock/external{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Uy" = ( +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"UA" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/item/storage/box/cups, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"UM" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered/codelab/maintenance) +"UU" = ( +/obj/structure/fence/corner{ + dir = 5 + }, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"Vc" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Vd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Vi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"VQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/crate/large{ + anchored = 1 + }, +/obj/item/toy/plush/hornet/gay, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"VW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"VX" = ( +/obj/structure/closet/cardboard, +/obj/item/clothing/under/color/white, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"VY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"Wa" = ( +/obj/structure/table, +/obj/item/slime_extract/grey, +/obj/item/reagent_containers/glass/beaker{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/item/research_notes/loot/small{ + pixel_y = 6; + pixel_x = 10; + name = "Notes on Xenobiology" + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Wq" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/structure/window/plasma/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/atmos/air, +/turf/open/floor/engine, +/area/ruin/unpowered/codelab/maintenance) +"Ws" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/maintenance) +"Wt" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner, +/obj/item/paper_bin/carbon{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/ruin/unpowered/codelab/reception) +"Wv" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"WF" = ( +/obj/structure/table/chem, +/obj/item/reagent_containers/glass/beaker/plastic{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/item/reagent_containers/glass/beaker/plastic{ + pixel_y = 9; + pixel_x = 10 + }, +/obj/item/slime_extract/grey, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"WG" = ( +/obj/structure/closet/crate/medical{ + anchored = 1 + }, +/obj/item/stack/medical/gauze/twelve, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"WH" = ( +/obj/effect/decal/cleanable/food/pie_smudge{ + desc = "Some kind of strange white goo."; + name = "strange goo" + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"WQ" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"WV" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/structure/fluff/paper/stack{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"WX" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to Distro"; + target_pressure = 1000 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Xh" = ( +/obj/machinery/camera{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Xl" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/reception) +"Xo" = ( +/obj/machinery/camera, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Xq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = -32 + }, +/obj/machinery/blackbox_recorder, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"Xu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"Xx" = ( +/obj/effect/decal/cleanable/generic, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"XA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"XB" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"XS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"XZ" = ( +/obj/structure/closet/crate/secure/plasma{ + anchored = 1 + }, +/obj/machinery/light/dim/directional/north, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/tank/internals/plasma, +/obj/effect/turf_decal/industrial/outline, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) +"Ya" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Yk" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Yl" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/storage) +"Yo" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"Yq" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered/codelab/reception) +"Yr" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Ys" = ( +/obj/structure/flora/ausbushes/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"Yw" = ( +/obj/structure/table, +/obj/item/research_notes/loot/small{ + pixel_y = 6; + pixel_x = 10; + name = "Notes on Xenobiology" + }, +/obj/item/disk/design_disk/adv{ + pixel_x = -9; + pixel_y = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"YB" = ( +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"YH" = ( +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/reception) +"YO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"YV" = ( +/obj/structure/flora/ausbushes/genericbush/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"YW" = ( +/obj/structure/closet/cardboard, +/obj/item/clothing/under/color/white, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"Zb" = ( +/obj/structure/marker_beacon, +/obj/machinery/turretid{ + pixel_y = 26; + name = "exterior turret control panel"; + lethal = 1; + icon_state = "control_kill" + }, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered/codelab/exterior) +"Zd" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood, +/area/ruin/unpowered/codelab/laboratory) +"Ze" = ( +/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/laboratory) +"Zf" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating/rust, +/area/ruin/unpowered/codelab/maintenance) +"Zi" = ( +/obj/machinery/vending/cola/shamblers, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Zk" = ( +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating, +/area/ruin/unpowered/codelab/maintenance) +"Zl" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Zs" = ( +/obj/structure/flora/tree/dead/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/codelab/exterior) +"Zv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, +/obj/machinery/door/airlock/glass, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/unpowered/codelab/laboratory) +"Zx" = ( +/obj/structure/marker_beacon, +/turf/open/floor/concrete/pavement/lava, +/area/ruin/unpowered/codelab/exterior) +"Zy" = ( +/obj/machinery/vending/snack/teal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/reception) +"Zz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"ZC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/codelab/subjectrooms) +"ZG" = ( +/obj/structure/closet/crate/internals{ + anchored = 1 + }, +/obj/item/tank/internals/oxygen, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/codelab/storage) + +(1,1,1) = {" +Iv +Iv +Iv +SY +SY +SY +SY +SY +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +mA +mA +mA +mA +mA +mA +mA +Iv +Iv +Iv +Iv +Iv +Iv +Iv +Iv +"} +(2,1,1) = {" +Iv +SY +SY +lc +SY +SY +SY +md +SY +SY +SY +SY +SY +mA +AK +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +AK +mA +mA +mA +mA +mA +Iv +"} +(3,1,1) = {" +Iv +SY +QO +kF +kF +kF +kF +kF +kF +kF +kF +kF +cv +cv +cv +cv +cv +TS +cv +cv +cv +cv +cv +cv +cv +cv +cv +cv +cv +cv +cv +cv +WQ +mA +Iv +"} +(4,1,1) = {" +Iv +SY +rf +SY +SY +SY +md +SY +SY +SY +mA +mA +mA +mA +mA +pB +mA +YV +mA +mA +Zs +mA +mA +YV +gE +mA +mA +YV +mA +pB +mA +mA +gY +mA +Iv +"} +(5,1,1) = {" +SY +SY +rf +SY +SY +ny +SY +SY +mA +mA +YV +mA +pB +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +mA +pB +mA +mA +Jb +mA +ny +mA +gY +AK +mA +"} +(6,1,1) = {" +lc +SY +rf +SY +vu +SY +SY +SY +SY +jB +He +He +He +He +He +He +hE +hE +hE +hE +hE +hE +hE +hE +mA +mA +mA +mA +mA +mA +mA +mA +gY +mA +mA +"} +(7,1,1) = {" +SY +SY +rf +SY +SY +SY +SY +SY +jB +jB +He +Qb +KT +wu +iw +He +hE +jH +fZ +Qn +Un +il +jH +hE +hE +AK +mA +mA +mA +Zs +mA +mA +gY +mA +mA +"} +(8,1,1) = {" +Lx +SY +rf +SY +SY +SY +SY +SY +jB +jB +He +Qi +QJ +EM +vb +He +rV +Rp +GG +Gv +dQ +BI +tD +gM +hE +mA +YV +mA +mA +Ys +mA +pB +gY +mA +mA +"} +(9,1,1) = {" +SY +SY +rf +SY +SY +SY +SY +SY +Ws +vL +He +sr +xN +EM +Ef +He +cZ +jx +Hk +DB +Cj +Yr +lZ +Lz +hE +mA +mA +mA +pB +mA +mA +mA +gY +mA +mA +"} +(10,1,1) = {" +SY +SY +rf +SY +SY +SY +SY +UM +UM +Ux +He +mX +pG +BN +kh +He +He +GY +AN +He +hE +qU +nZ +hE +hE +hE +hE +hE +mA +mA +AK +mA +gY +mA +mA +"} +(11,1,1) = {" +Iv +SY +rf +vQ +SY +SY +SY +UM +Zf +YO +He +oo +sW +Ai +AL +je +WV +TR +TG +EM +hE +FH +Cd +Cd +PL +ls +gz +hE +mA +mA +mA +mA +gY +mA +mA +"} +(12,1,1) = {" +Iv +lc +TS +SY +SY +SY +SY +UM +Fx +MB +He +He +He +He +He +He +TJ +sE +ob +ye +hE +Nq +LH +kl +kl +NW +Cw +hE +gE +mA +pB +mA +TS +mA +Iv +"} +(13,1,1) = {" +Iv +SY +rf +SY +SY +SY +SY +UM +RZ +uV +He +zK +sB +Qm +Ho +He +Ay +uy +AG +wd +hE +yT +nl +ME +DZ +CX +Ob +hE +mA +mA +mA +mA +gY +mA +Iv +"} +(14,1,1) = {" +Iv +SY +rf +SY +SY +SY +SY +UM +ns +Vd +He +YB +sE +nH +YW +He +fq +sc +vD +lU +hE +Cd +Cd +zJ +lY +JR +iN +hE +mA +mA +mA +gE +gY +mA +Iv +"} +(15,1,1) = {" +Iv +SY +rf +SY +SY +SY +UM +UM +UM +AB +He +PP +xK +hx +AL +ri +xM +TR +eI +rI +hE +oK +aP +Uf +kl +VW +jz +hE +mA +gE +mA +mA +gY +mA +Iv +"} +(16,1,1) = {" +Iv +SY +rf +SY +SY +UM +UM +Ej +xV +Ka +He +He +He +He +He +He +mO +GN +cR +GN +hE +OW +JE +ya +LG +VW +hE +hE +hE +hE +Ys +mA +gY +mA +Iv +"} +(17,1,1) = {" +Iv +SY +rf +SY +SY +UM +Wq +AO +WX +Bm +He +qr +rq +BJ +zM +He +nM +EM +Hu +EM +hE +Yq +bl +oY +kl +VW +hE +lJ +Cd +hE +Kl +jB +rf +SY +Iv +"} +(18,1,1) = {" +Iv +SY +rf +Lx +SY +UM +aO +Bc +sK +nw +He +zH +lU +nH +kh +He +tx +GN +bE +Uj +hE +Wv +wM +PK +kl +Xl +Ya +Kv +Ue +ck +jB +jB +IO +SY +Iv +"} +(19,1,1) = {" +Iv +SY +rf +SY +SY +UM +RX +mZ +ol +pS +He +XB +WH +CA +AL +xQ +Du +Zz +bo +Gq +hE +Tg +YH +Rf +uk +uL +hE +hE +hE +hE +jB +jB +Zl +SY +Iv +"} +(20,1,1) = {" +Iv +SY +rf +SY +SY +UM +hz +JX +Kx +of +He +He +He +He +He +He +TJ +kA +cR +GN +hE +lW +JE +Wt +kl +Xl +Ya +Kv +Ue +ck +jB +jB +IO +SY +SY +"} +(21,1,1) = {" +Iv +Lx +rf +SY +SY +UM +LV +Jm +RS +JI +He +KQ +dx +bT +cA +He +hu +EM +Od +nM +hE +Do +bl +dg +kl +VW +hE +lJ +Cd +hE +Kl +jB +rf +SY +SY +"} +(22,1,1) = {" +Iv +SY +rf +SY +SY +UM +Vc +qL +yS +HA +He +QU +ie +VX +Gc +LU +Jk +TR +bo +GN +hE +kj +hO +PK +kl +VW +hE +hE +hE +hE +jB +jB +rf +SY +SY +"} +(23,1,1) = {" +Iv +SY +DU +SY +SY +UM +am +Bj +Hd +CK +He +nG +wZ +pp +xx +He +TJ +Uj +bE +IL +hE +JM +CJ +aY +LG +VW +pY +hE +lc +SY +jB +jB +rf +lc +SY +"} +(24,1,1) = {" +Iv +SY +DU +SY +SY +UM +NX +eH +eq +dL +He +He +He +He +He +He +wJ +GN +Od +GN +hE +Cd +Cd +aw +kl +aR +zj +hE +SY +SY +jB +jB +rf +SY +SY +"} +(25,1,1) = {" +Iv +nm +DU +vQ +SY +UM +nQ +AI +NA +cX +He +Tw +LP +ZC +Gc +je +dD +cI +SG +Gb +hE +Xo +Oj +Fw +DZ +Am +pQ +hE +SY +Lx +jB +jB +rf +SY +SY +"} +(26,1,1) = {" +Iv +nm +DU +nm +SY +UM +Pu +Uy +Qv +ef +He +mX +bv +ir +XS +He +rY +GN +Ru +GN +hE +eY +Jd +kl +kl +kl +DJ +hE +SY +SY +jB +jB +rf +SY +SY +"} +(27,1,1) = {" +Iv +rz +DU +nm +nm +UM +It +uH +Iu +Ev +He +sr +CZ +EM +Kw +He +yc +ln +Rg +Xx +hE +sk +ls +Zy +Zi +yo +ls +hE +SY +Zx +jB +jB +rf +SY +SY +"} +(28,1,1) = {" +Iv +nm +DU +nm +nm +UM +FJ +Uy +BF +Zk +He +wc +en +EM +zY +He +He +Dj +xB +He +hE +hE +hE +hE +hE +hE +hE +hE +SY +jB +jB +Zx +rf +SY +Iv +"} +(29,1,1) = {" +Iv +nm +DU +nm +nm +UM +qb +FF +SQ +mw +He +Kj +Br +EX +wP +He +hb +HQ +rG +ec +qs +iI +DF +Pc +SY +SY +SY +SY +SY +jB +jB +SY +rf +SY +Iv +"} +(30,1,1) = {" +Iv +nm +DU +nm +nm +UM +oj +FT +Sq +mw +et +et +et +et +et +et +QD +HQ +Lr +lt +HQ +HQ +Ro +Pc +SY +lc +SY +vQ +SY +jB +jB +SY +rf +SY +Iv +"} +(31,1,1) = {" +nm +nm +DU +nm +nm +UM +UM +QV +hA +qt +et +pF +ds +yY +FG +et +rS +DL +kP +qQ +pO +Ff +HQ +Pc +SY +SY +SY +SY +SY +jB +jB +HW +rf +SY +Iv +"} +(32,1,1) = {" +nm +nm +DU +nm +UM +UM +UM +UM +UM +Et +et +Fy +cH +Yw +bG +et +Qc +so +ij +QQ +nu +Db +vU +Pc +vQ +SY +SY +SY +Zx +jB +jB +Zx +rf +SY +SY +"} +(33,1,1) = {" +rz +nm +DU +nm +et +nL +Dc +dy +az +qz +et +eE +eE +eE +eE +et +Pc +Pc +Ex +gr +HQ +Di +HQ +Pc +SY +HW +vQ +SY +jB +jB +jB +jB +rf +SY +SY +"} +(34,1,1) = {" +nm +nm +DU +nm +et +mF +TQ +et +az +qz +et +WF +Gd +Hp +jV +et +Bf +HQ +BK +jn +pb +HQ +HQ +Pc +SY +SY +jB +jB +jB +jB +jB +jB +rf +SY +SY +"} +(35,1,1) = {" +nm +nm +DU +nm +et +et +et +et +az +Vi +et +ai +rH +Gd +xi +et +DD +HQ +zb +Bp +Ui +HQ +HQ +Pc +SY +Zx +jB +jB +jB +jB +Zx +jB +rf +SY +SY +"} +(36,1,1) = {" +nm +Lg +DU +nm +et +Bk +DH +et +az +vz +et +uA +Gd +Gd +Wa +et +ge +HQ +OE +eg +GK +hb +Ro +Pc +SY +Sf +BP +jB +jB +BP +CV +jB +rf +SY +SY +"} +(37,1,1) = {" +nm +nm +DU +nm +et +KO +uM +et +Xu +gc +et +Ma +yL +Yk +Ig +et +Aq +HQ +vk +fr +iz +MN +HQ +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +SY +"} +(38,1,1) = {" +nm +nm +DU +tH +et +Zd +XA +et +az +vz +et +IG +Gd +Ep +Oq +et +Pc +Pc +vk +rA +qY +HQ +sp +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +SY +"} +(39,1,1) = {" +nm +nm +DU +nm +et +In +pE +zP +uc +Fd +et +Eh +PU +EF +Ze +et +HQ +HQ +AA +gr +Ro +jJ +HQ +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +Iv +"} +(40,1,1) = {" +nm +nm +DU +nm +et +et +et +et +Yo +ez +et +et +CC +zN +et +et +Aq +bd +iq +ih +Ni +dF +RI +Pc +SY +Zx +jB +jB +jB +jB +Zx +jB +rf +SY +Iv +"} +(41,1,1) = {" +Iv +nm +TS +nm +et +AJ +Fg +zP +uc +Fd +et +Jn +fG +Gu +rw +et +HQ +iE +wN +ZG +fU +Pc +Pc +Pc +SY +jB +jB +jB +jB +jB +jB +jB +TS +SY +Iv +"} +(42,1,1) = {" +Iv +nm +DU +nm +et +Zd +kc +et +az +vz +et +UA +iB +pk +Gd +et +HQ +HQ +ap +Yl +Js +Ro +DD +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +Iv +"} +(43,1,1) = {" +Iv +nm +DU +nm +et +rT +BO +et +ar +AV +et +rL +bz +Ab +bn +et +XZ +zG +kP +by +sz +HQ +HQ +Pc +SY +Zx +jB +jB +jB +jB +Zx +jB +rf +SY +Iv +"} +(44,1,1) = {" +Iv +nm +DU +nm +et +Bk +Fz +et +az +pr +Zv +tp +wB +Tz +LD +et +Ty +GH +yJ +EY +Ni +Ri +HQ +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +Iv +"} +(45,1,1) = {" +Iv +nm +DU +nm +et +et +et +et +et +tA +et +uQ +jm +fv +bq +et +Pc +Pc +VQ +WG +Hc +HQ +sp +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +Iv +"} +(46,1,1) = {" +Iv +nm +DU +nm +et +gD +NL +NL +zI +VY +et +AE +tI +Jv +im +et +Mp +Hi +fu +Nn +hb +HQ +HQ +Pc +SY +jB +jB +jB +jB +jB +jB +jB +rf +SY +Iv +"} +(47,1,1) = {" +Iv +nm +DU +nm +et +Kp +Mv +jK +sA +Xq +et +MK +ma +QC +ow +et +HQ +gr +gC +HQ +Ro +HQ +Pc +Pc +SY +cl +cc +jB +jB +cc +yG +jB +rf +SY +Iv +"} +(48,1,1) = {" +Iv +nm +DU +nm +nm +et +et +et +et +et +et +et +et +zN +CC +et +Op +op +Pc +Pc +Pc +Pc +Pc +RY +SY +Zx +jB +jB +jB +jB +Zx +jB +rf +SY +SY +"} +(49,1,1) = {" +Iv +nm +DU +nm +nm +nm +nm +nm +nm +nm +nm +nm +Pc +gr +zu +Xh +St +aA +vg +zZ +cO +fW +yd +JZ +jB +jB +jB +jB +jB +jB +SY +Lx +rf +SY +SY +"} +(50,1,1) = {" +Iv +nm +DU +nm +nm +Lg +nm +nm +nm +nm +rz +nm +Pc +cd +jG +ox +uj +IC +hc +lH +bw +jk +OM +Bu +jB +jB +jB +jB +jB +SY +SY +SY +rf +SY +SY +"} +(51,1,1) = {" +nm +nm +DU +nm +nm +nm +nm +nm +tH +nm +nm +nm +Pc +Pc +jC +gq +lo +HQ +uW +pf +vG +lM +kY +xz +jB +jB +jB +jB +SY +Lx +SY +SY +rf +Lx +SY +"} +(52,1,1) = {" +rz +nm +DU +nm +nm +ny +nm +kt +nm +nm +nm +nm +nm +Pc +Pc +Pc +Pc +Pc +Pc +Pc +Pc +Pc +Pc +Zb +nm +nm +SY +SY +SY +SY +ny +SY +rf +SY +SY +"} +(53,1,1) = {" +nm +nm +DU +nm +nm +nm +nm +nm +xZ +nm +nm +nm +nm +nm +nm +tH +nm +nm +nm +nm +nm +tH +nm +nm +Lg +nm +SY +Bs +SY +SY +SY +SY +rf +SY +SY +"} +(54,1,1) = {" +nm +nm +UU +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +TS +Sn +Sn +Sn +Sn +Sn +Sn +Sn +Sn +kF +kF +kF +kF +kF +kF +uf +SY +SY +"} +(55,1,1) = {" +nm +rz +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +nm +tH +nm +nm +nm +nm +nm +nm +SY +SY +SY +HW +SY +SY +SY +SY +HW +SY +"} +(56,1,1) = {" +nm +nm +nm +nm +nm +nm +rz +nm +nm +Iv +Iv +Iv +Iv +Iv +nm +Lg +nm +nm +nm +nm +nm +Iv +Iv +Iv +Iv +Iv +Iv +SY +SY +SY +SY +SY +SY +SY +SY +"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index 980b4b3e6da9..9cf2b5a40bae 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -1550,7 +1550,7 @@ /turf/open/floor/plasteel/showroomfloor, /area/ruin/powered) "zo" = ( -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/overmap_encounter/planetoid/rockplanet/explored) "zp" = ( /obj/effect/decal/cleanable/ash{ @@ -2069,7 +2069,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "HL" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/overmap_encounter/planetoid/rockplanet/explored) "Ia" = ( /obj/effect/decal/cleanable/garbage{ @@ -2139,7 +2139,7 @@ pixel_x = -6; pixel_y = -9 }, -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/overmap_encounter/planetoid/rockplanet/explored) "Jm" = ( /obj/machinery/door/airlock/maintenance_hatch{ @@ -2591,7 +2591,7 @@ /turf/open/floor/plasteel, /area/ruin/powered) "Ta" = ( -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/ruin/powered) "Tj" = ( /obj/structure/table, diff --git a/_maps/RandomRuins/RockRuins/rockplanet_crash_cult.dmm b/_maps/RandomRuins/RockRuins/rockplanet_crash_cult.dmm index 453728232f7a..b663f0ad2bd1 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_crash_cult.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_crash_cult.dmm @@ -480,11 +480,6 @@ }, /turf/open/floor/plating, /area/ruin/unpowered) -"sA" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plasteel, -/area/ruin/unpowered) "sN" = ( /obj/machinery/processor, /obj/effect/decal/cleanable/dirt/dust, @@ -1358,6 +1353,11 @@ }, /turf/open/floor/plating, /area/ruin/unpowered) +"WS" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel, +/area/ruin/unpowered) "Xh" = ( /obj/structure/table, /obj/item/storage/bag/plants/portaseeder, @@ -1374,9 +1374,6 @@ }, /turf/open/floor/plasteel/cult, /area/ruin/unpowered) -"XI" = ( -/turf/closed/mineral/random/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) "XN" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood, @@ -1397,6 +1394,9 @@ }, /turf/open/floor/plasteel/cult, /area/ruin/unpowered) +"Zf" = ( +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/rockplanet/explored) "Zg" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 9 @@ -1717,7 +1717,7 @@ RY nv "} (16,1,1) = {" -sA +WS Bz hw ul @@ -1814,10 +1814,10 @@ li Es Es Es -XI +Zf "} (21,1,1) = {" -XI +Zf Es Us Es @@ -1832,12 +1832,12 @@ xD Us eK ou -XI -XI -XI +Zf +Zf +Zf "} (22,1,1) = {" -XI +Zf Es Es jU @@ -1851,14 +1851,14 @@ fg xD xD eK -XI -XI -XI -XI +Zf +Zf +Zf +Zf "} (23,1,1) = {" -XI -XI +Zf +Zf Es SP Es @@ -1877,8 +1877,8 @@ SP Es "} (24,1,1) = {" -XI -XI +Zf +Zf Es ou Es @@ -1892,14 +1892,14 @@ ct xD Es jU -XI -XI +Zf +Zf Es "} (25,1,1) = {" -XI -XI -XI +Zf +Zf +Zf Es Es Nt @@ -1911,16 +1911,16 @@ GW xD xD Es -XI -XI -XI -XI +Zf +Zf +Zf +Zf "} (26,1,1) = {" -XI -XI -XI -XI +Zf +Zf +Zf +Zf Es Es Nt @@ -1933,6 +1933,6 @@ Es Es Es Es -XI -XI +Zf +Zf "} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_cult.dmm b/_maps/RandomRuins/RockRuins/rockplanet_cult.dmm index 347fe39c47ab..c1ed6773992d 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_cult.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_cult.dmm @@ -70,7 +70,7 @@ /turf/open/floor/plasteel/dark, /area/overmap_encounter/planetoid/rockplanet/explored) "u" = ( -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/overmap_encounter/planetoid/rockplanet/explored) "v" = ( /obj/structure/trap/cult, diff --git a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm index 73cb5bbb6fb7..5ba299eb454c 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm @@ -7,7 +7,7 @@ /turf/open/floor/plasteel/patterned, /area/ruin/powered) "aB" = ( -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/overmap_encounter/planetoid/cave/explored) "aG" = ( /turf/open/floor/plating/asteroid/rockplanet/cracked, diff --git a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm index 57a8422ba3b0..7586ab699883 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm @@ -152,7 +152,7 @@ /turf/open/floor/plasteel/rockvault, /area/ruin/unpowered) "yZ" = ( -/turf/closed/mineral/random/asteroid/rockplanet, +/turf/closed/mineral/random/rockplanet, /area/overmap_encounter/planetoid/rockplanet/explored) "BR" = ( /obj/effect/decal/cleanable/oil, diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm index 07f23cae71c8..73c7dd734c00 100644 --- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm +++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm @@ -963,7 +963,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav) "Bg" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/template_noop) "Bz" = ( /obj/effect/decal/cleanable/blood/tracks{ diff --git a/_maps/RandomRuins/SpaceRuins/lab4071.dmm b/_maps/RandomRuins/SpaceRuins/lab4071.dmm index 5546b4a940da..2f4c94d3c939 100644 --- a/_maps/RandomRuins/SpaceRuins/lab4071.dmm +++ b/_maps/RandomRuins/SpaceRuins/lab4071.dmm @@ -8,7 +8,7 @@ /turf/open/space, /area/ruin/space/has_grav/crazylab/outside) "at" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/crazylab/outside) "au" = ( /obj/effect/decal/cleanable/dirt, @@ -3409,7 +3409,7 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/space/has_grav/crazylab/bomb) "TM" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/crazylab/bomb) "TW" = ( /obj/structure/sign/poster/contraband/rip_badger, diff --git a/_maps/RandomRuins/SpaceRuins/oretruck.dmm b/_maps/RandomRuins/SpaceRuins/oretruck.dmm index 8d466f7b9f8e..33ad6be2b4fe 100644 --- a/_maps/RandomRuins/SpaceRuins/oretruck.dmm +++ b/_maps/RandomRuins/SpaceRuins/oretruck.dmm @@ -16,7 +16,7 @@ /obj/structure/sign/warning/radiation{ pixel_y = 32 }, -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/template_noop) "ao" = ( /obj/effect/turf_decal/industrial/warning/corner, @@ -253,7 +253,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/radship/Hallway) "fG" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/radship/Cargo1) "fN" = ( /obj/structure/cable{ @@ -564,7 +564,7 @@ /area/ruin/space/has_grav/radship/EngineRoom) "nk" = ( /obj/effect/turf_decal/industrial/warning/fulltile, -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/radship/Cargo1) "nt" = ( /turf/closed/wall/mineral/plastitanium, @@ -1385,7 +1385,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/radship/Cargo1) "KK" = ( /obj/effect/turf_decal/industrial/warning/fulltile, @@ -1484,7 +1484,7 @@ /turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/radship/Cargo3) "NR" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/template_noop) "NS" = ( /obj/structure/closet/crate/large, @@ -1929,11 +1929,11 @@ /obj/structure/sign/warning/securearea{ pixel_y = 32 }, -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/template_noop) "YV" = ( /obj/item/trash/boritos, -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/template_noop) "Zb" = ( /obj/effect/turf_decal/industrial/warning/corner{ diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm index 8f100d4ac0b2..6972f466bb5b 100644 --- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm +++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm @@ -21,7 +21,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/powerpuzzle) "ah" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav) "ai" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -1158,7 +1158,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/powerpuzzle) "hp" = ( -/turf/closed/mineral/random/asteroid{ +/turf/closed/mineral/random{ light_range = 2 }, /area/ruin/space/has_grav) diff --git a/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm b/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm index 737669621f89..521b2beac456 100644 --- a/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm +++ b/_maps/RandomRuins/SpaceRuins/provinggrounds.dmm @@ -17,7 +17,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/syndicircle/halls) "aW" = ( -/turf/closed/indestructible/rock/snow/ice/ore, +/turf/closed/indestructible/rock/snow, /area/ruin/space/has_grav/syndicircle/winter) "ba" = ( /obj/structure/filingcabinet/chestdrawer, @@ -994,7 +994,7 @@ /area/ruin/space/has_grav/syndicircle/halls) "Bc" = ( /obj/machinery/light/directional/west, -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/syndicircle/spacewalk) "Bj" = ( /obj/structure/cable{ @@ -1556,7 +1556,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicircle/halls) "OH" = ( -/turf/closed/mineral/random/asteroid, +/turf/closed/mineral/random, /area/ruin/space/has_grav/syndicircle/spacewalk) "OW" = ( /turf/closed/wall/mineral/titanium, diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index f777f34a2841..67fb3c35f127 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -1,4 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "ac" = ( /obj/structure/cable{ icon_state = "5-9" @@ -60,21 +68,23 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"ap" = ( -/obj/machinery/conveyor{ - id = "singlabcarg" +"ao" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/railing{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 }, -/area/ruin/space/has_grav/singularitylab) +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/decal/cleanable/blood{ + dir = 4; + icon_state = "gib3" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/cargo) "aq" = ( /obj/structure/chair/office{ dir = 1 @@ -109,55 +119,18 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) -"ax" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/effect/turf_decal/atmos/oxygen, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 1 +"az" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 }, -/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/spacevine/dense, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab) -"ay" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters"; - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/singularitylab/civvie) -"aA" = ( -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"aC" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 1 - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/ruin/space/has_grav/singularitylab) "aD" = ( /obj/structure/cable{ icon_state = "5-9" @@ -169,14 +142,18 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"aI" = ( +"aJ" = ( /obj/structure/spacevine/dense, -/obj/machinery/atmospherics/components/unary/vent_scrubber{ - dir = 8 +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/structure/spacevine/dense{ + pixel_y = -32 }, +/mob/living/simple_animal/hostile/venus_human_trap, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -224,15 +201,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"aP" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "aQ" = ( /obj/structure/transit_tube/diagonal{ dir = 4 @@ -249,23 +217,6 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab) -"aR" = ( -/obj/structure/table, -/obj/machinery/button/shieldwallgen{ - dir = 8; - pixel_x = -5; - id = "singlabhang" - }, -/obj/machinery/button/door{ - dir = 8; - pixel_x = 8; - id = "singlabhangar" - }, -/obj/structure/sign/warning/incident{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "aT" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 1 @@ -276,28 +227,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"aU" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/item/paper_bin{ - pixel_y = 4; - pixel_x = -3 - }, -/obj/item/pen{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) -"aY" = ( -/turf/closed/wall{ - name = "structural support"; - desc = "A huge chunk of metal holding the roof of the asteroid at bay" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "aZ" = ( /obj/structure/cable{ icon_state = "6-8" @@ -314,6 +243,22 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"ba" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "bb" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating/dirt{ @@ -438,6 +383,13 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav) +"bx" = ( +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "by" = ( /obj/structure/chair/office{ dir = 4 @@ -453,18 +405,25 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) -"bD" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 4 +"bC" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Private Quarters" }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/area/ruin/space/has_grav/singularitylab) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) "bH" = ( /obj/structure/railing/corner{ dir = 4 @@ -500,12 +459,6 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) -"bO" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/engine/hull, -/area/ruin/space/has_grav/singularitylab/reactor) "bV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -523,14 +476,18 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"bZ" = ( -/obj/structure/spacevine/dense, +"ca" = ( +/obj/structure/spacevine, +/obj/item/gun/energy/floragun, +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/gibspawner, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab/engineering) +/area/ruin/space/has_grav/singularitylab/civvie) "cb" = ( /obj/effect/turf_decal/siding/thinplating, /obj/effect/turf_decal/siding/thinplating/corner{ @@ -570,18 +527,6 @@ /obj/structure/closet/cardboard/metal, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) -"ci" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "cj" = ( /obj/structure/closet/firecloset{ anchored = 1 @@ -592,16 +537,6 @@ /obj/effect/turf_decal/box/corners, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab/civvie) -"cl" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "cm" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -615,17 +550,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"cr" = ( -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_x = 32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "cu" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate/medical, @@ -634,6 +558,18 @@ /obj/item/storage/backpack/duffelbag/med/surgery, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) +"cv" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "cw" = ( /obj/structure/cable{ icon_state = "2-8" @@ -654,31 +590,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"cz" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Control"; - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/engineering) "cB" = ( /obj/structure/cable{ icon_state = "1-2" @@ -694,6 +605,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) +"cC" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters" + }, +/turf/closed/mineral/random, +/area/ruin/space/has_grav) "cD" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -729,6 +646,15 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav) +"cI" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "cK" = ( /obj/machinery/power/apc/auto_name/directional/west{ start_charge = 0 @@ -757,18 +683,6 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"cP" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Assistant" - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "cQ" = ( /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) @@ -790,6 +704,17 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"cT" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "cU" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 5 @@ -803,6 +728,16 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"cV" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/space/basic, +/area/space/nearstation) "cW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 6 @@ -816,6 +751,16 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"cZ" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + name = "picnic stool"; + pixel_y = 16 + }, +/obj/effect/turf_decal/siding/wood/end, +/obj/structure/spacevine, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "da" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/grille, @@ -829,31 +774,6 @@ /obj/structure/ore_box, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) -"dc" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Control"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/engineering) "dd" = ( /obj/structure/bed, /obj/item/bedsheet/nanotrasen, @@ -868,6 +788,21 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) +"dh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "dk" = ( /obj/machinery/door/airlock/vault{ name = "Vault" @@ -896,6 +831,48 @@ dir = 1 }, /area/ruin/space/has_grav/singularitylab) +"dr" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Assistant" + }, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"dt" = ( +/obj/structure/transit_tube/station/dispenser{ + dir = 4 + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/spacevine, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) "du" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -915,6 +892,17 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"dx" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Assistant" + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "dz" = ( /obj/structure/railing{ dir = 4 @@ -924,30 +912,30 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/reactor) -"dG" = ( +"dH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/reactor) +"dI" = ( /obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = -31 - }, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/effect/decal/cleanable/insectguts, /obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) -"dH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/reactor) +"dK" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "dL" = ( /obj/structure/cable{ icon_state = "4-8" @@ -960,21 +948,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) -"dM" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer4{ - dir = 6 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "dP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 @@ -1043,26 +1016,6 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"ed" = ( -/obj/machinery/door/airlock{ - name = "Barracks"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/civvie) "eh" = ( /obj/structure/spacevine, /obj/machinery/atmospherics/components/unary/outlet_injector/on, @@ -1081,35 +1034,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"em" = ( -/obj/machinery/mineral/processing_unit_console{ - pixel_x = -32; - pixel_y = -4; - machinedir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/cargo) -"eo" = ( -/obj/structure/cable{ - icon_state = "1-6" +"en" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Barracks" }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/structure/flippedtable{ - icon_state = ""; +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) "eq" = ( /obj/structure/chair{ dir = 4 @@ -1120,23 +1057,6 @@ /obj/effect/turf_decal/corner/opaque/white/full, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"er" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood/fancy/green, -/obj/structure/fluff/beach_umbrella{ - pixel_y = 16; - pixel_x = -5 - }, -/obj/structure/spacevine, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) "es" = ( /obj/structure/transit_tube/curved/flipped{ dir = 4 @@ -1156,28 +1076,13 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"et" = ( -/obj/item/gun/energy/e_gun/smg{ - pixel_y = 6; - pixel_x = 5; - name = "\improper Modified E-TAR SMG"; - dry_fire_sound = 'sound/items/ding.ogg'; - dry_fire_text = "ding" - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/item/stack/telecrystal{ - pixel_y = -4; - pixel_x = -9 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, -/obj/structure/sign/poster/official/mini_energy_gun{ - pixel_y = -32 +"eu" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) +/turf/open/floor/plating, +/area/space/nearstation) "ev" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 10 @@ -1187,6 +1092,17 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"ew" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 6; + pixel_y = 5 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/singularitylab/civvie) "ez" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/west, @@ -1309,18 +1225,7 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab) -"eY" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/effect/decal/cleanable/insectguts, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"fa" = ( +"fa" = ( /obj/structure/spacevine/dense, /turf/open/floor/plating/dirt{ baseturfs = /turf/open/floor/plating/asteroid @@ -1348,15 +1253,29 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab/engineering) -"fg" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "1-2" +"fh" = ( +/obj/machinery/power/floodlight{ + anchored = 1 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"fk" = ( +/obj/structure/spacevine, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "fn" = ( /obj/structure/spacevine, /obj/structure/spacevine{ @@ -1381,18 +1300,6 @@ }, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab) -"fq" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "fr" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 1 @@ -1409,16 +1316,6 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) -"ft" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt{ - baseturfs = /turf/open/floor/plating/asteroid - }, -/area/ruin/space/has_grav/singularitylab) "fu" = ( /obj/structure/cable{ icon_state = "5-10" @@ -1440,14 +1337,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"fv" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "fw" = ( /obj/effect/turf_decal/industrial/warning/corner, /obj/effect/turf_decal/siding/thinplating{ @@ -1462,6 +1351,15 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) +"fD" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "fF" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ @@ -1495,6 +1393,17 @@ "fK" = ( /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab/civvie) +"fP" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -14; + pixel_y = 4 + }, +/obj/structure/mirror{ + pixel_x = -29 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/singularitylab/civvie) "fQ" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/west, @@ -1526,20 +1435,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/holofloor/wood, /area/ruin/space/has_grav/singularitylab/lab) -"fT" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"fU" = ( -/obj/structure/table, -/turf/closed/mineral/random/asteroid, -/area/ruin/space/has_grav) "fW" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 6 @@ -1679,24 +1574,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"gB" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32; - pixel_x = 32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "gC" = ( /obj/effect/turf_decal/industrial/warning, /obj/structure/railing/corner{ @@ -1766,31 +1643,6 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"gM" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/structure/table, -/obj/item/lighter{ - pixel_y = 3; - pixel_x = -6 - }, -/obj/item/clothing/mask/cigarette, -/obj/item/clothing/mask/cigarette{ - pixel_y = 11; - pixel_x = 3 - }, -/obj/item/clothing/mask/cigarette{ - pixel_y = 4; - pixel_x = 6 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "gN" = ( /obj/structure/cable{ icon_state = "4-10" @@ -1812,48 +1664,18 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/carpet/nanoweave/beige, /area/ruin/space/has_grav/singularitylab/cargo) -"gQ" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"gS" = ( -/obj/structure/cable{ - icon_state = "6-9" - }, +"gR" = ( /obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/structure/spacevine{ + pixel_y = 32 }, -/area/ruin/space/has_grav/singularitylab) -"gU" = ( -/obj/structure/spacevine/dense, /obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab/civvie) -"gZ" = ( -/obj/effect/decal/remains/human, -/obj/item/clothing/under/rank/rnd/scientist, -/obj/item/clothing/shoes/sneakers/white, -/obj/effect/gibspawner, -/obj/item/gun/energy/lasercannon/unrestricted{ - name = "NT-LS-1013"; - icon_state = "pulse"; - desc = "An advanced laser cannon, a laser etched inscription in the handle states 'NT-LS-1013'. The casing is made of a lightweight alloy." - }, -/turf/open/floor/plating/asteroid, -/area/ruin/space/has_grav/singularitylab) "ha" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -1873,16 +1695,34 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"hh" = ( +"hf" = ( /obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = -32 +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 8 }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, /turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"hg" = ( +/obj/item/flamethrower/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -1913,13 +1753,6 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/cargo) -"hn" = ( -/obj/machinery/door/poddoor{ - id = "singlabhanger"; - dir = 4 - }, -/turf/open/floor/plating/asteroid, -/area/ruin/space/has_grav/singularitylab) "ho" = ( /obj/machinery/door/airlock/highsecurity{ name = "Testing Lab" @@ -1948,6 +1781,44 @@ }, /turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/singularitylab/lab) +"ht" = ( +/obj/structure/spacevine/dense, +/obj/machinery/power/apc/auto_name/directional/north{ + start_charge = 0 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"hu" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/space/nearstation) +"hv" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "hy" = ( /obj/structure/cable{ icon_state = "4-10" @@ -1964,6 +1835,23 @@ }, /turf/open/floor/vault, /area/ruin/space/has_grav/singularitylab/cargo) +"hA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/table/wood/fancy/green, +/obj/structure/fluff/beach_umbrella{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/structure/spacevine, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "hB" = ( /obj/machinery/door/airlock/security{ name = "Hangar Control" @@ -1977,45 +1865,31 @@ /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"hE" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = 32 +"hJ" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 }, -/obj/structure/spacevine{ - pixel_y = 32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/cargo) +"hK" = ( +/obj/machinery/camera/xray{ + dir = 1; + network = list("sl12") }, +/turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"hF" = ( +"hN" = ( /obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 8 }, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab/civvie) -"hJ" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/corner/transparent/orange{ - dir = 6 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) -"hK" = ( -/obj/machinery/camera/xray{ - dir = 1; - network = list("sl12") - }, -/turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) "hP" = ( /obj/structure/filingcabinet, @@ -2102,6 +1976,9 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"id" = ( +/turf/closed/mineral/random, +/area/ruin/space/has_grav) "ie" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2123,6 +2000,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"ig" = ( +/obj/machinery/power/emitter/welded, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/space/nearstation) +"ih" = ( +/obj/structure/table/reinforced, +/obj/item/paper{ + default_raw_text = "They're outside now. I don't know what happened, but I've managed to secure the firing range. I can't get out. Maybe someone will stumble by and we'll be saved. God damn those engineers for insisting on not including communications equipment on station."; + pixel_y = 8 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/space/has_grav/singularitylab/lab) "ii" = ( /obj/structure/cable{ icon_state = "0-2" @@ -2159,38 +2049,36 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"io" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_y = -32 +"ir" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/area/ruin/space/has_grav/singularitylab/civvie) -"ip" = ( -/obj/machinery/power/floodlight{ - anchored = 1 +/turf/open/floor/engine/hull, +/area/space/nearstation) +"iv" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable/yellow{ + icon_state = "4-10" }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) +"iw" = ( /obj/structure/cable{ - icon_state = "0-6" + icon_state = "2-5" }, /obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab/civvie) -"iv" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable/yellow{ - icon_state = "4-10" - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) "iy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, @@ -2224,21 +2112,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"iC" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/mob/living/simple_animal/hostile/venus_human_trap, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "iD" = ( /obj/effect/turf_decal/siding/white, /obj/effect/turf_decal/siding/white{ @@ -2272,31 +2145,24 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"iJ" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "iK" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 4 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"iL" = ( -/obj/machinery/door/airlock/external{ - name = "Engine Access"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/reactor) "iN" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -2317,13 +2183,29 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"iX" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-8" +"iV" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +/area/ruin/space/has_grav/singularitylab) +"iW" = ( +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/spacevine, +/obj/machinery/light/directional/north, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "iZ" = ( /obj/structure/cable, /obj/structure/poddoor_assembly, @@ -2345,32 +2227,20 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"jd" = ( -/obj/effect/turf_decal/siding/yellow, -/obj/machinery/button/door{ - id = "singlabcargo2"; - name = "Blast Door Control"; - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) -"jg" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = 32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "jj" = ( /obj/structure/spacevine, /obj/machinery/air_sensor/atmos/nitrogen_tank, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) +"jk" = ( +/obj/machinery/turretid, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = -14 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/space/has_grav/singularitylab/cargo) "jl" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -2408,15 +2278,6 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"jr" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "jt" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -2449,6 +2310,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"jx" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/structure/chair/stool/bar{ + dir = 8; + name = "picnic stool"; + pixel_x = -10; + pixel_y = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "jy" = ( /obj/structure/cable{ icon_state = "5-9" @@ -2475,33 +2349,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"jB" = ( -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = -31 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) -"jC" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 4 - }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "jE" = ( /obj/structure/cable/yellow{ icon_state = "2-9" @@ -2531,41 +2378,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"jI" = ( -/obj/structure/railing/corner{ - pixel_y = 2; - pixel_x = -3 - }, -/obj/structure/railing/corner{ - pixel_y = 23; - pixel_x = -3 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/structure/transit_tube/station/dispenser/flipped{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab/cargo) "jK" = ( /obj/structure/spacevine{ pixel_y = 32 @@ -2616,63 +2428,66 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"jR" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 +"jS" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Bathroom" }, -/obj/structure/spacevine/dense{ - pixel_x = 32 +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) +"jV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 }, -/area/ruin/space/has_grav/singularitylab/civvie) -"jT" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"jV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ +/obj/effect/turf_decal/siding/thinplating{ dir = 4 }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/cargo) +"jY" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Private Quarters" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) "kb" = ( /obj/effect/turf_decal/atmos/carbon_dioxide, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"ke" = ( -/obj/machinery/door/airlock/freezer{ - name = "Freezer"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/civvie) -"ki" = ( -/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ - id = "singlabhang" +"kd" = ( +/obj/item/clothing/suit/space/hardsuit/engine, +/obj/item/tank/internals/oxygen, +/obj/effect/decal/remains/human, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = -32 }, -/obj/machinery/door/poddoor{ - id = "singlabhanger"; - dir = 4 +/obj/effect/decal/cleanable/blood/old, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) "kk" = ( /obj/effect/turf_decal/industrial/warning{ @@ -2688,22 +2503,6 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"km" = ( -/obj/machinery/door/airlock/hatch{ - name = "Server Room"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/lab) "kn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2714,16 +2513,6 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"ko" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 1 - }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt{ - baseturfs = /turf/open/floor/plating/asteroid - }, -/area/ruin/space/has_grav/singularitylab) "kp" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/red{ @@ -2735,35 +2524,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"kq" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/engine/hull, -/area/ruin/space/has_grav/singularitylab/reactor) -"kr" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "kt" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -2774,17 +2534,47 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"kx" = ( -/obj/machinery/conveyor{ - id = "singlabfurn"; - dir = 8 +"ku" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32; + pixel_y = 32 }, -/obj/structure/railing, -/obj/structure/railing{ +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/structure/spacevine/dense{ pixel_y = 32 }, -/turf/open/floor/plating, +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"kv" = ( +/obj/structure/railing, +/obj/machinery/conveyor_switch{ + id = "singlabfurn"; + pixel_x = -11; + pixel_y = 13 + }, +/obj/machinery/mineral/processing_unit_console{ + machinedir = 9; + pixel_x = -32; + pixel_y = -4 + }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) +"kw" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/space/nearstation) "ky" = ( /obj/machinery/shower{ dir = 8 @@ -2830,19 +2620,6 @@ /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"kI" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/machinery/button/door{ - id = "singlabcargo1"; - name = "Blast Door Control"; - dir = 1; - pixel_y = -25 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "kK" = ( /obj/structure/cable{ icon_state = "4-10" @@ -2860,6 +2637,12 @@ /obj/structure/closet/crate/freezer, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) +"kM" = ( +/turf/closed/wall{ + desc = "A huge chunk of metal holding the roof of the asteroid at bay"; + name = "structural support" + }, +/area/ruin/space/has_grav/singularitylab/cargo) "kP" = ( /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav) @@ -2931,25 +2714,6 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"lb" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32; - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "lc" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -2995,14 +2759,6 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) -"lj" = ( -/obj/machinery/conveyor{ - id = "singlabfurn"; - dir = 8 - }, -/obj/structure/railing, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/cargo) "lk" = ( /obj/machinery/power/terminal, /obj/structure/cable, @@ -3055,35 +2811,24 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"lu" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/civvie) -"lv" = ( -/obj/structure/cable{ - icon_state = "6-10" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/science{ - name = "High Energy Applications Research Facility"; - dir = 4 +"lt" = ( +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" }, +/obj/structure/spacevine, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/lab) +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) +"lu" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/ruin/space/has_grav/singularitylab/civvie) "lw" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -3101,6 +2846,15 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"lx" = ( +/obj/structure/spacevine, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "ly" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable{ @@ -3133,6 +2887,43 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/reactor) +"lF" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/science{ + dir = 4; + name = "High Energy Applications Research Facility" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/lab) +"lH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/table/wood/fancy/purple, +/obj/structure/fluff/beach_umbrella{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/machinery/jukebox/boombox, +/obj/structure/spacevine, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "lJ" = ( /obj/structure/transit_tube/crossing/horizontal, /obj/structure/cable{ @@ -3154,6 +2945,18 @@ "lK" = ( /turf/closed/wall/r_wall, /area/ruin/space/has_grav/singularitylab/lab) +"lL" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Assistant" + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "lM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3184,18 +2987,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) -"lQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/structure/table, -/obj/item/paper, -/obj/item/pen{ - pixel_y = -3; - pixel_x = 2 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ruin/space/has_grav/singularitylab/cargo) "lS" = ( /obj/machinery/conveyor{ id = "singlabcarg" @@ -3206,6 +2997,25 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) +"lU" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 5 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater{ + pixel_x = 8; + pixel_y = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "lV" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 10 @@ -3216,18 +3026,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/ruin/space/has_grav/singularitylab/civvie) -"lZ" = ( -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "mc" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -3254,6 +3052,18 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"mj" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Assistant" + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "mk" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -3310,6 +3120,22 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) +"mu" = ( +/obj/machinery/door/airlock/engineering{ + dir = 8; + name = "Power Control" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/engineering) "mv" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3381,6 +3207,23 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) +"mD" = ( +/obj/structure/table, +/obj/machinery/button/shieldwallgen{ + dir = 8; + id = "singlabhang"; + pixel_x = -5 + }, +/obj/machinery/button/door{ + dir = 8; + id = "singlabhangar"; + pixel_x = 8 + }, +/obj/structure/sign/warning/incident{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "mE" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/white/full, @@ -3403,36 +3246,16 @@ /obj/machinery/vending/tool, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) -"mJ" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/structure/flippedtable, -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 9 +"mL" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"mK" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/engine/hull, -/area/ruin/space/has_grav/singularitylab/reactor) "mP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3453,26 +3276,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"mU" = ( -/obj/structure/table, -/obj/machinery/button/door{ - dir = 8; - pixel_y = 7; - pixel_x = -4; - id = "singlablast2"; - name = "Testing Chamber Control" - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) -"mW" = ( -/obj/machinery/conveyor_switch{ - id = "singlabcarg"; - pixel_y = -5; - pixel_x = 9 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab) "mY" = ( /obj/structure/railing{ dir = 4; @@ -3484,19 +3287,6 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"na" = ( -/obj/structure/sink{ - dir = 4; - pixel_y = 4; - pixel_x = -14 - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Scientist" - }, -/obj/effect/turf_decal/siding/thinplating/light/corner, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "nc" = ( /obj/structure/particle_accelerator/particle_emitter/left{ dir = 4 @@ -3592,20 +3382,21 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"no" = ( -/obj/structure/railing, -/obj/machinery/conveyor_switch{ - pixel_y = 13; - pixel_x = -11; - id = "singlabfurn" +"nn" = ( +/obj/machinery/conveyor{ + id = "singlabcarg" }, -/obj/machinery/mineral/processing_unit_console{ - pixel_x = -32; - pixel_y = -4; - machinedir = 9 +/obj/structure/railing{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/cargo) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "np" = ( /obj/structure/spacevine, /obj/structure/spacevine{ @@ -3613,19 +3404,6 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"nq" = ( -/obj/item/clothing/suit/space/hardsuit/engine, -/obj/item/flamethrower/full, -/obj/effect/decal/remains/human, -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/engineering) "nr" = ( /obj/structure/spacevine, /turf/open/floor/plating/asteroid, @@ -3653,25 +3431,6 @@ /obj/structure/closet/crate/bin, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"nw" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters"; - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/civvie) "nx" = ( /obj/effect/turf_decal/corner/opaque/beige{ dir = 4 @@ -3679,31 +3438,15 @@ /obj/machinery/light/directional/east, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"nA" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Assistant" - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"nB" = ( +"nz" = ( /obj/structure/cable{ - icon_state = "6-9" - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 + icon_state = "4-9" }, /obj/structure/spacevine/dense, /obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -3729,115 +3472,48 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab) +"nG" = ( +/obj/structure/spacevine/dense, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"nI" = ( +/turf/open/space/basic, +/area/space/nearstation) "nJ" = ( /obj/machinery/rnd/server, /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab/lab) -"nK" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) -"nM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, +"nS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 + dir = 9 }, -/turf/open/floor/plasteel/tech, +/obj/machinery/computer/cargo/express, +/turf/open/floor/carpet/nanoweave/beige, /area/ruin/space/has_grav/singularitylab/cargo) -"nN" = ( +"nT" = ( /obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/sparsegrass, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) -"nO" = ( -/obj/structure/sign/warning/biohazard{ - pixel_y = 5; - pixel_x = 32 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/machinery/power/shieldwallgen/anchored{ - req_access = null - }, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-10" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) -"nR" = ( -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"nS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 9 - }, -/obj/machinery/computer/cargo/express, -/turf/open/floor/carpet/nanoweave/beige, -/area/ruin/space/has_grav/singularitylab/cargo) -"nV" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"nW" = ( -/obj/structure/spacevine, -/obj/structure/closet/crate/bin, -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer4{ - dir = 8 +"nW" = ( +/obj/structure/spacevine, +/obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer4{ + dir = 8 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) @@ -3863,6 +3539,31 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"ob" = ( +/obj/machinery/door/airlock/engineering{ + dir = 8; + name = "Engine Control" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/engineering) "oc" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 5 @@ -3934,13 +3635,6 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) -"op" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "oq" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -3963,21 +3657,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"ou" = ( -/obj/effect/decal/remains/human, -/obj/item/clothing/shoes/sneakers/white, -/obj/item/clothing/under/rank/rnd/scientist, -/obj/item/gun/energy/e_gun/iot, -/obj/item/flashlight/seclite, -/obj/effect/gibspawner, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "ov" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -4013,6 +3692,20 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/lab) +"oz" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 2 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/space/has_grav/singularitylab/cargo) "oA" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/industrial/warning{ @@ -4031,6 +3724,42 @@ /obj/machinery/ore_silo, /turf/open/floor/pod, /area/ruin/space/has_grav/singularitylab/cargo) +"oF" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"oG" = ( +/obj/structure/flippedtable, +/obj/structure/spacevine/dense{ + pixel_x = -31; + pixel_y = 32 + }, +/obj/structure/spacevine, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/singularitylab) +"oH" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "oJ" = ( /obj/structure/bed, /obj/item/bedsheet/cosmos, @@ -4054,31 +3783,13 @@ }, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab/civvie) -"oN" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/closet/emcloset, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"oP" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"oR" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-9" }, -/area/ruin/space/has_grav/singularitylab) +/turf/open/floor/plating, +/area/space/nearstation) "oS" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/industrial/warning/corner{ @@ -4101,23 +3812,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"oV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood/fancy/blue, -/obj/structure/fluff/beach_umbrella{ - pixel_y = 16; - pixel_x = -5 - }, -/obj/structure/spacevine, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) "oW" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable{ @@ -4125,20 +3819,40 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"oY" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/machinery/recharger{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "oZ" = ( /obj/machinery/camera/xray{ network = list("sl12") }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"pc" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "1-2" +"pd" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 }, -/obj/item/book/manual/wiki/engineering_singulo_tesla, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "pe" = ( /obj/machinery/light/directional/north, /turf/open/floor/engine, @@ -4205,41 +3919,11 @@ /obj/item/pen, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/reactor) -"pv" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"pw" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/engine/hull, -/area/ruin/space/has_grav/singularitylab/reactor) "px" = ( /obj/item/tank/internals/oxygen, /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"pB" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/tracker, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) "pC" = ( /obj/structure/rack, /obj/effect/turf_decal/box, @@ -4249,6 +3933,25 @@ "pE" = ( /turf/closed/wall/r_wall, /area/ruin/space/has_grav/singularitylab/reactor) +"pF" = ( +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engine Access" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/reactor) "pG" = ( /obj/structure/cable{ icon_state = "5-10" @@ -4279,12 +3982,38 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"pL" = ( +"pK" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/effect/turf_decal/atmos/oxygen, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 1 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"pL" = ( /obj/machinery/computer/rdconsole/experiment{ dir = 8 }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) +"pM" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/space/basic, +/area/space/nearstation) "pN" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/spacevine, @@ -4320,6 +4049,23 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"pT" = ( +/obj/item/banner/engineering{ + anchored = 1 + }, +/turf/open/floor/engine/hull, +/area/space/nearstation) +"pU" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "singlabfurn" + }, +/obj/structure/railing, +/obj/structure/railing{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/singularitylab/cargo) "pY" = ( /obj/structure/cable{ icon_state = "5-10" @@ -4382,33 +4128,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/lab) -"qg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood/fancy/cyan, -/obj/structure/fluff/beach_umbrella{ - pixel_y = 16; - pixel_x = -5 - }, -/obj/structure/spacevine, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) -"qj" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "qk" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ @@ -4426,18 +4145,18 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"qm" = ( +"qn" = ( /obj/structure/spacevine/dense, /obj/structure/spacevine/dense{ - pixel_x = -32 + pixel_y = 32 }, -/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/area/ruin/space/has_grav/singularitylab) "qo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 @@ -4475,6 +4194,18 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) +"qu" = ( +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/spacevine, +/obj/machinery/vending/wardrobe/chef_wardrobe, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "qy" = ( /obj/structure/cable{ icon_state = "5-9" @@ -4497,6 +4228,18 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"qC" = ( +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/spacevine, +/obj/machinery/vending/dinnerware, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "qF" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -4504,6 +4247,27 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) +"qG" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/obj/structure/spacevine/dense{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "qK" = ( /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) @@ -4519,18 +4283,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"qN" = ( -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "qQ" = ( /obj/structure/transit_tube/curved/flipped, /obj/structure/cable{ @@ -4566,13 +4318,26 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"qU" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +"qV" = ( +/obj/structure/table, +/obj/structure/sign/poster/official/moth/hardhats{ + pixel_x = -32 }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) +/obj/structure/spacevine, +/obj/item/assembly/igniter{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/assembly/igniter{ + pixel_x = 2; + pixel_y = -6 + }, +/obj/item/assembly/igniter{ + pixel_x = -7; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/singularitylab/engineering) "qZ" = ( /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/techfloor{ @@ -4585,33 +4350,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab) -"ra" = ( -/obj/structure/transit_tube/station/dispenser{ - dir = 4 - }, -/obj/structure/railing/corner{ - pixel_y = 2; - pixel_x = -3 - }, -/obj/structure/railing/corner{ - pixel_y = 23; - pixel_x = -3 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) "rc" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/structure/cable{ @@ -4625,43 +4363,22 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"rf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "rg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab) -"rh" = ( -/obj/item/seeds/kudzu, -/obj/structure/sign/poster/contraband/kudzu{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense, -/obj/structure/closet/firecloset{ - anchored = 1 +"ri" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/turf/open/space/basic, +/area/space/nearstation) "rj" = ( /obj/structure/chair, /turf/open/floor/plasteel, @@ -4673,6 +4390,15 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"rn" = ( +/obj/machinery/mineral/processing_unit_console{ + machinedir = 9; + pixel_x = -32; + pixel_y = -4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/singularitylab/cargo) "rp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4687,13 +4413,13 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"rs" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 2; - pixel_x = 2 +"rt" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "ru" = ( /obj/effect/turf_decal/box, /obj/item/clothing/shoes/magboots, @@ -4710,17 +4436,41 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"rA" = ( +"rw" = ( /obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/machinery/atmospherics/components/unary/outlet_injector/on, -/obj/structure/flora/ausbushes/fullgrass, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + piping_layer = 4 + }, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) +"ry" = ( +/obj/structure/sign/warning/biohazard{ + pixel_x = 32; + pixel_y = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/machinery/power/shieldwallgen/anchored{ + req_access = null + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "rB" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/grille, @@ -4731,15 +4481,6 @@ /obj/effect/turf_decal/corner/opaque/green/border, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"rE" = ( -/obj/machinery/power/emitter/welded{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) "rG" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/vending/cola/pwr_game, @@ -4811,25 +4552,6 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"sa" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "sc" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/industrial/warning, @@ -4838,38 +4560,9 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"sd" = ( -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_x = 32 - }, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "se" = ( /turf/open/space/basic, /area/ruin/space/has_grav) -"sf" = ( -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine, -/obj/machinery/vending/wardrobe/chef_wardrobe, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "sh" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/item/weldingtool/empty, @@ -4877,16 +4570,22 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"sk" = ( -/obj/structure/cable{ - icon_state = "6-10" +"si" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engine Control" }, -/obj/structure/flippedtable{ - icon_state = ""; +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -4894,7 +4593,31 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/engineering) +"sl" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/engine/hull, +/area/space/nearstation) +"sp" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, /area/ruin/space/has_grav/singularitylab) "sr" = ( /obj/structure/closet/wall{ @@ -4914,26 +4637,25 @@ /obj/effect/turf_decal/box/corners, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab/civvie) -"sv" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/nanoweave/purple, -/area/ruin/space/has_grav/singularitylab/lab) -"sw" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 +"st" = ( +/obj/structure/cable{ + icon_state = "1-6" }, +/obj/structure/spacevine/dense, /obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = 32 + pixel_x = -32 }, -/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) +"sv" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/space/has_grav/singularitylab/lab) "sA" = ( /obj/machinery/conveyor{ id = "singlabfurn" @@ -4950,15 +4672,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab/engineering) -"sF" = ( -/obj/structure/spacevine, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "sG" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -4974,20 +4687,6 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"sI" = ( -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_x = -32 - }, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "sJ" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/purple{ @@ -5017,18 +4716,6 @@ /obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"sU" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "sV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5041,6 +4728,15 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) +"sW" = ( +/obj/structure/spacevine/dense, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "sX" = ( /obj/machinery/door/poddoor{ id = "singlabcargo1" @@ -5051,6 +4747,28 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/singularitylab) +"sZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/cargo) "tb" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ @@ -5073,6 +4791,27 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"tk" = ( +/obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"tl" = ( +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/space/has_grav/singularitylab) "tq" = ( /turf/template_noop, /area/template_noop) @@ -5083,6 +4822,19 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) +"ts" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "tv" = ( /obj/structure/spacevine/dense, /obj/structure/spacevine{ @@ -5101,17 +4853,6 @@ "ty" = ( /turf/closed/wall, /area/ruin/space/has_grav/singularitylab/civvie) -"tz" = ( -/obj/structure/cable{ - icon_state = "5-9" - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "tA" = ( /obj/structure/cable{ icon_state = "6-8" @@ -5122,21 +4863,6 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"tB" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "tE" = ( /obj/structure/spacevine, /obj/structure/spacevine{ @@ -5153,13 +4879,20 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"tF" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-9" +"tI" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "tL" = ( /obj/structure/cable{ icon_state = "5-9" @@ -5183,15 +4916,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"tQ" = ( -/obj/structure/table, -/obj/item/paper, -/obj/item/pen{ - pixel_y = 2; - pixel_x = -4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ruin/space/has_grav/singularitylab/cargo) "tR" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable{ @@ -5199,6 +4923,14 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"tV" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 9; + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/singularitylab/engineering) "ua" = ( /obj/structure/spacevine, /turf/open/floor/plating/dirt{ @@ -5209,13 +4941,6 @@ /obj/machinery/rnd/experimentor, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) -"uk" = ( -/obj/machinery/door/poddoor{ - id = "singlabhanger"; - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) "ul" = ( /obj/structure/sign/warning/testchamber{ pixel_y = 32 @@ -5255,19 +4980,24 @@ "un" = ( /turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/singularitylab/civvie) -"ur" = ( +"up" = ( /obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = 32 +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32; + pixel_y = -32 }, -/mob/living/simple_animal/hostile/venus_human_trap, /obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/area/ruin/space/has_grav/singularitylab) "us" = ( /obj/structure/transit_tube, /obj/structure/cable{ @@ -5355,6 +5085,24 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"uI" = ( +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/structure/flippedtable, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/structure/spacevine, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "uJ" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/red{ @@ -5396,21 +5144,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"uQ" = ( -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = 32 - }, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) "uS" = ( /obj/effect/turf_decal/corner/transparent/orange{ dir = 1 @@ -5418,6 +5151,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) +"uU" = ( +/turf/open/floor/engine/hull, +/area/space/nearstation) "uV" = ( /obj/structure/tank_dispenser/plasma, /turf/open/floor/plasteel, @@ -5429,44 +5165,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"uX" = ( -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/north, -/obj/item/gun/energy/lasercannon/unrestricted{ - name = "NT-LS-1013"; - icon_state = "pulse"; - desc = "An advanced laser cannon, a laser etched inscription in the handle states 'NT-LS-1013'. The casing is made of a lightweight alloy." - }, -/obj/item/gun/energy/laser/iot, -/obj/item/gun/energy/laser/iot{ - dry_fire_sound = 'sound/items/ding.ogg'; - dry_fire_text = "ding" - }, -/obj/structure/safe{ - name = "Prototype Storage" - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab/lab) -"uY" = ( -/obj/item/flamethrower/full, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "uZ" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -5499,17 +5197,16 @@ /obj/structure/cable, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab/engineering) -"ve" = ( -/obj/structure/cable{ - icon_state = "6-9" +"vd" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/area/ruin/space/has_grav/singularitylab) +/turf/open/space/basic, +/area/space/nearstation) "vg" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -5521,6 +5218,32 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"vh" = ( +/obj/machinery/door/airlock/freezer{ + dir = 4; + name = "Freezer" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) +"vi" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "vk" = ( /obj/effect/turf_decal/techfloor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ @@ -5544,6 +5267,25 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/cargo) +"vr" = ( +/obj/machinery/door/airlock/security{ + dir = 8; + name = "Front Office" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/lab) "vu" = ( /obj/structure/cable{ icon_state = "1-10" @@ -5573,25 +5315,31 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"vy" = ( -/obj/machinery/door/airlock/security{ - name = "Front Office"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 +"vz" = ( +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/area/ruin/space/has_grav/singularitylab/civvie) +"vD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/lab) +/obj/structure/table/wood/fancy/cyan, +/obj/structure/fluff/beach_umbrella{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/structure/spacevine, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "vE" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5612,25 +5360,25 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"vO" = ( -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 1 +"vL" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 }, -/obj/effect/turf_decal/corner/transparent/orange/three_quarters, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) -"vT" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 4 +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/obj/effect/turf_decal/siding/thinplating, -/obj/structure/cable{ - icon_state = "4-8" +/area/ruin/space/has_grav/singularitylab) +"vO" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 1 }, -/obj/structure/spacevine, +/obj/effect/turf_decal/corner/transparent/orange/three_quarters, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) +/area/ruin/space/has_grav/singularitylab/cargo) "vU" = ( /obj/effect/turf_decal/siding/yellow/corner{ dir = 4 @@ -5640,22 +5388,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"vV" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32; - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "vW" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -5666,16 +5398,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/vault, /area/ruin/space/has_grav/singularitylab/cargo) -"vX" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 2 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ruin/space/has_grav/singularitylab/lab) "vY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 @@ -5683,18 +5405,6 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"vZ" = ( -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine, -/obj/machinery/vending/dinnerware, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "wa" = ( /obj/structure/spacevine, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ @@ -5784,43 +5494,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"wu" = ( -/obj/machinery/door/airlock/external{ - name = "Engine Access"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/reactor) -"wv" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"ww" = ( -/obj/machinery/field/generator/anchored, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) "wx" = ( /obj/structure/transit_tube/curved{ dir = 1 @@ -5863,22 +5536,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"wH" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 6 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "wM" = ( /obj/structure/spacevine, /mob/living/simple_animal/hostile/venus_human_trap, @@ -5896,20 +5553,6 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) -"wP" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "wR" = ( /obj/structure/cable{ icon_state = "0-4" @@ -5920,16 +5563,17 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"wU" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "4-8" +"wV" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Assistant" }, -/obj/structure/cable/yellow{ - icon_state = "1-8" +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) +/area/ruin/space/has_grav/singularitylab/civvie) "wW" = ( /obj/structure/railing{ dir = 4; @@ -5962,19 +5606,6 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"xa" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - name = "picnic stool"; - dir = 8; - pixel_y = 4; - pixel_x = -10 - }, -/obj/structure/spacevine, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) "xe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -6018,45 +5649,39 @@ /obj/item/paper_bin, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"xm" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"xn" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"xo" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"xr" = ( -/obj/machinery/door/airlock{ - name = "Bathroom"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "xu" = ( /obj/effect/turf_decal/corner/transparent/orange{ dir = 5 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) +"xv" = ( +/obj/structure/transit_tube/station/dispenser{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 23 + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/spacevine, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) "xw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6141,20 +5766,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"xF" = ( -/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ - dir = 1; - id = "singlabhang" - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor{ - id = "singlabhanger"; - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) "xG" = ( /obj/effect/turf_decal/siding/thinplating/end, /turf/open/floor/plasteel, @@ -6196,16 +5807,6 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"xM" = ( -/obj/structure/spacevine/dense, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "xO" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -6216,25 +5817,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"xR" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "xS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -6284,6 +5866,26 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) +"ya" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 9 + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "yc" = ( /obj/structure/chair{ dir = 4 @@ -6333,15 +5935,6 @@ "yi" = ( /turf/closed/wall/r_wall, /area/ruin/space/has_grav/singularitylab/engineering) -"ym" = ( -/obj/machinery/turretid, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_y = -14; - pixel_x = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ruin/space/has_grav/singularitylab/cargo) "yn" = ( /obj/machinery/light/directional/south, /turf/open/floor/engine/hull/reinforced, @@ -6349,27 +5942,13 @@ "yo" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) -"yp" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" + dir = 4 }, -/area/ruin/space/has_grav/singularitylab) +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "yr" = ( /obj/structure/railing{ dir = 4; @@ -6409,6 +5988,25 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"yw" = ( +/obj/machinery/door/airlock{ + dir = 8; + name = "Private Quarters" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) "yy" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel, @@ -6462,6 +6060,24 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"yI" = ( +/obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "To Environment" + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "yL" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable{ @@ -6506,16 +6122,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"yW" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "yZ" = ( /obj/structure/cable{ icon_state = "6-9" @@ -6531,22 +6137,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"za" = ( -/obj/item/pickaxe/rusted, -/obj/structure/spacevine, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "zb" = ( /obj/structure/sign/poster/retro/science{ pixel_y = -32 @@ -6580,6 +6170,10 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab/lab) +"zf" = ( +/obj/item/stack/cable_coil/cut/yellow, +/turf/open/space/basic, +/area/space/nearstation) "zg" = ( /obj/structure/transit_tube/curved{ dir = 4 @@ -6622,18 +6216,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet/nanoweave/purple, /area/ruin/space/has_grav/singularitylab/lab) -"zl" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "zm" = ( /obj/structure/sign/poster/official/high_class_martini{ pixel_x = -32 @@ -6660,6 +6242,17 @@ /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) +"zs" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/button/door{ + dir = 8; + id = "singlabcargo2"; + name = "Blast Door Control"; + pixel_x = 24 + }, +/obj/structure/spacevine, +/turf/open/floor/plating, +/area/ruin/space/has_grav/singularitylab) "zt" = ( /obj/machinery/conveyor{ id = "singlabcarg" @@ -6685,6 +6278,13 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/reactor) +"zv" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-10" + }, +/turf/open/floor/plating, +/area/space/nearstation) "zw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, @@ -6713,38 +6313,15 @@ /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"zz" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Assistant" - }, +"zA" = ( +/obj/machinery/hydroponics/constructable, +/obj/structure/spacevine, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"zB" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32; - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; name = "grass" }, -/area/ruin/space/has_grav/singularitylab) +/area/ruin/space/has_grav/singularitylab/civvie) "zC" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/white/full, @@ -6811,6 +6388,21 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"zK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"zL" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "zM" = ( /obj/structure/cable{ icon_state = "6-10" @@ -6831,9 +6423,6 @@ /obj/effect/turf_decal/corner/transparent/orange/border, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"zP" = ( -/turf/open/floor/engine/hull, -/area/ruin/space/has_grav/singularitylab/reactor) "zR" = ( /obj/structure/spacevine/dense, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, @@ -6880,20 +6469,6 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav) -"Ae" = ( -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "Ah" = ( /obj/structure/table, /obj/structure/sign/poster/contraband/power{ @@ -6948,6 +6523,26 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"Ar" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/space/nearstation) +"As" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "At" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6983,13 +6578,6 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) -"Ay" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 3; - pixel_x = 5 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "AA" = ( /obj/structure/cable{ icon_state = "0-8" @@ -7003,6 +6591,22 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) +"AB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "AC" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, @@ -7014,13 +6618,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"AD" = ( -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "AE" = ( /obj/structure/chair{ dir = 1 @@ -7060,15 +6657,6 @@ /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"AM" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "AN" = ( /obj/structure/closet/emcloset{ anchored = 1 @@ -7102,12 +6690,36 @@ }, /turf/closed/wall, /area/ruin/space/has_grav/singularitylab) +"AS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "AT" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, /turf/closed/wall, /area/ruin/space/has_grav/singularitylab) +"AV" = ( +/obj/structure/table, +/obj/machinery/button/door{ + dir = 8; + id = "singlablast2"; + name = "Testing Chamber Control"; + pixel_x = -4; + pixel_y = 7 + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "AW" = ( /obj/structure/cable{ icon_state = "0-2" @@ -7130,6 +6742,22 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"Ba" = ( +/obj/item/pickaxe/rusted, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "Bb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 5 @@ -7142,16 +6770,6 @@ "Bc" = ( /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab/civvie) -"Be" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Bf" = ( /obj/machinery/conveyor{ id = "singlabcarg" @@ -7175,12 +6793,24 @@ /obj/effect/decal/cleanable/blood{ icon_state = "floor3" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) -"Bh" = ( -/obj/structure/spacevine, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab) +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/cargo) +"Bh" = ( +/obj/structure/spacevine, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) +"Bi" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "Bk" = ( /obj/machinery/door/airlock/highsecurity{ name = "Secure Weapon Storage" @@ -7209,56 +6839,46 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"Bp" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 +"Bq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer4{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "To Environment" +/obj/structure/cable/yellow{ + icon_state = "2-5" }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/structure/cable/yellow{ + icon_state = "1-6" }, -/area/ruin/space/has_grav/singularitylab) +/turf/open/space/basic, +/area/space/nearstation) "Bw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"Bz" = ( -/obj/structure/spacevine/dense, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) +"Bx" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/space/nearstation) "BB" = ( /obj/effect/turf_decal/industrial/warning, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"BH" = ( -/obj/structure/chair/office{ - dir = 8; - name = "tinkering chair" +"BE" = ( +/obj/structure/cable{ + icon_state = "6-10" }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 5 +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) -"BI" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -7266,13 +6886,23 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/blood{ - icon_state = "gib3"; - dir = 4 +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) +"BG" = ( +/obj/machinery/field/generator/anchored, +/turf/open/floor/plating, +/area/space/nearstation) +"BH" = ( +/obj/structure/chair/office{ + dir = 8; + name = "tinkering chair" + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) +/area/ruin/space/has_grav/singularitylab/lab) "BK" = ( /obj/structure/window/reinforced{ dir = 1 @@ -7290,13 +6920,6 @@ /obj/item/pickaxe/rusted, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab/civvie) -"BP" = ( -/obj/machinery/door/poddoor{ - id = "singlablas1"; - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab/lab) "BR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7506,23 +7129,6 @@ /obj/effect/turf_decal/siding/thinplating/corner, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"Cu" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"CB" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "CC" = ( /obj/structure/transit_tube/curved/flipped, /obj/structure/cable{ @@ -7540,15 +7146,6 @@ /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"CE" = ( -/obj/structure/flippedtable, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = -31 - }, -/obj/structure/spacevine, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/space/has_grav/singularitylab) "CF" = ( /obj/structure/lattice/catwalk, /obj/machinery/airalarm/directional/east, @@ -7567,48 +7164,17 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"CK" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, -/obj/structure/cable/yellow{ - icon_state = "1-6" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"CL" = ( -/obj/structure/transit_tube/station/dispenser{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/railing/corner{ - pixel_y = 23; - pixel_x = -3 - }, -/obj/structure/railing/corner{ - pixel_y = 2; - pixel_x = -3 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 8 +"CJ" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ - dir = 8 +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) "CN" = ( /obj/effect/turf_decal/siding/yellow{ @@ -7623,23 +7189,31 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"CR" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, +"CP" = ( +/obj/effect/decal/remains/human, +/obj/item/clothing/shoes/sneakers/white, +/obj/item/clothing/under/rank/rnd/scientist, +/obj/item/gun/energy/e_gun/iot, +/obj/item/flashlight/seclite, +/obj/effect/gibspawner, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/area/ruin/space/has_grav/singularitylab) +"CT" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/button/door{ + dir = 8; + id = "singlabcargo2"; + name = "Blast Door Control"; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/cargo) "CU" = ( /obj/structure/spacevine/dense, /obj/structure/spacevine{ @@ -7724,45 +7298,35 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Dh" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "2-4" +"Dg" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/spacevine/dense{ + pixel_x = -32 }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"Di" = ( -/obj/structure/spacevine, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/engineering) -"Dl" = ( -/obj/structure/cable{ - icon_state = "4-9" +/obj/structure/spacevine/dense{ + pixel_x = -31; + pixel_y = 32 }, -/obj/structure/spacevine/dense, /obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) -"Dn" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 1 - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, +"Di" = ( +/obj/structure/spacevine, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/engineering) +"Dj" = ( /obj/structure/spacevine/dense, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -7805,6 +7369,14 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"Du" = ( +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/engineering) "Dw" = ( /obj/structure/particle_accelerator/particle_emitter/center{ dir = 4 @@ -7824,25 +7396,18 @@ /obj/effect/turf_decal/box, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) +"Dy" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "singlablas2" + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab/lab) "Dz" = ( /obj/structure/reagent_dispensers/beerkeg, /obj/effect/turf_decal/box, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) -"DB" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "DC" = ( /obj/structure/transit_tube, /obj/structure/plasticflaps/opaque{ @@ -7921,26 +7486,7 @@ pixel_x = 32 }, /turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) -"DL" = ( -/obj/structure/cable{ - icon_state = "5-9" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/airlock/science{ - name = "High Energy Applications Research Facility"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/lab) +/area/ruin/space/has_grav/singularitylab) "DM" = ( /obj/machinery/conveyor{ id = "singlabcarg" @@ -7970,18 +7516,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"DV" = ( -/obj/structure/table, -/obj/item/paper{ - default_raw_text = "Whatever happens. Happens." - }, -/obj/item/pen, -/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ - pixel_y = 4; - pixel_x = 10 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "DW" = ( /obj/effect/turf_decal/techfloor/corner, /turf/open/floor/plasteel, @@ -7996,6 +7530,31 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"DZ" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/airlock/science{ + dir = 4; + name = "High Energy Applications Research Facility" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/lab) "Ed" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -8016,6 +7575,14 @@ /obj/structure/spacevine, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab/civvie) +"Eh" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/tracker, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/space/nearstation) "Ei" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8087,12 +7654,14 @@ /obj/machinery/air_sensor/atmos/oxygen_tank, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"Ew" = ( +"Eu" = ( /obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -8143,18 +7712,6 @@ /obj/structure/spacevine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"EF" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "EG" = ( /obj/structure/transit_tube, /obj/structure/cable{ @@ -8212,18 +7769,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"EO" = ( -/obj/structure/table, -/obj/machinery/button/door{ - dir = 8; - pixel_y = 7; - pixel_x = -4; - id = "singlablast1"; - name = "Testing Chamber Control" - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "EP" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -8281,22 +7826,6 @@ /obj/effect/turf_decal/corner/transparent/orange, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"EY" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32; - pixel_x = 32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "EZ" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/white/full, @@ -8454,10 +7983,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"FA" = ( -/obj/item/wrench, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "FB" = ( /obj/machinery/door/airlock/highsecurity{ name = "Testing Lab" @@ -8483,6 +8008,13 @@ }, /turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/singularitylab/lab) +"FD" = ( +/obj/structure/sign/poster/official/moth/boh{ + pixel_x = -32 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "FE" = ( /obj/structure/window/plasma/reinforced{ dir = 1 @@ -8493,17 +8025,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"FF" = ( -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/structure/spacevine, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/space/has_grav/singularitylab) "FH" = ( /obj/effect/turf_decal/box, /obj/item/clothing/shoes/magboots, @@ -8511,12 +8032,13 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab/engineering) -"FI" = ( -/turf/closed/wall{ - name = "structural support"; - desc = "A huge chunk of metal holding the roof of the asteroid at bay" +"FJ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/area/ruin/space/has_grav/singularitylab) +/turf/open/space/basic, +/area/space/nearstation) "FL" = ( /obj/effect/turf_decal/techfloor{ dir = 1 @@ -8578,6 +8100,18 @@ }, /turf/open/floor/wood, /area/ruin/space/has_grav/singularitylab/civvie) +"FV" = ( +/obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "FW" = ( /obj/structure/cable/yellow{ icon_state = "4-9" @@ -8598,20 +8132,6 @@ /obj/structure/railing, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) -"Ge" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "Gf" = ( /obj/structure/table, /turf/open/floor/wood, @@ -8626,6 +8146,42 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab) +"Gh" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Gi" = ( +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engine Access" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/reactor) "Gm" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 5 @@ -8638,12 +8194,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab/civvie) -"Gq" = ( -/obj/machinery/the_singularitygen{ - anchored = 1 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) "Gr" = ( /obj/structure/cable{ icon_state = "1-10" @@ -8659,46 +8209,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"Gs" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = 32 - }, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/machinery/portable_atmospherics/scrubber/huge, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"Gv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "Gw" = ( /obj/machinery/door/airlock/public/glass{ name = "Kitchen" @@ -8712,16 +8222,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"GA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - name = "Interior Mine"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/cargo) "GC" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -8776,20 +8276,33 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"GH" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "GJ" = ( /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"GK" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "GL" = ( /obj/machinery/particle_accelerator/control_box, /turf/open/floor/engine, @@ -8820,6 +8333,13 @@ /obj/effect/turf_decal/box, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"GP" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/space/basic, +/area/space/nearstation) "GQ" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -8847,23 +8367,11 @@ }, /obj/effect/turf_decal/siding/thinplating/corner, /obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/structure/spacevine, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/civvie) -"GV" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = 32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" + dir = 1 }, -/area/ruin/space/has_grav/singularitylab) +/obj/structure/spacevine, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/civvie) "GW" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -8901,6 +8409,27 @@ /obj/effect/turf_decal/box, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"Hc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull, +/area/space/nearstation) +"He" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/stalkybush, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "Hg" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 4 @@ -8917,6 +8446,15 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/reactor) +"Hi" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "Hj" = ( /obj/machinery/conveyor{ id = "singlabcarg" @@ -8932,6 +8470,25 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab/cargo) +"Hk" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "singlabhanger" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/space/has_grav/singularitylab) +"Hm" = ( +/obj/structure/table, +/obj/machinery/button/door{ + dir = 8; + id = "singlablast1"; + name = "Testing Chamber Control"; + pixel_x = -4; + pixel_y = 7 + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "Hn" = ( /obj/effect/turf_decal/siding/yellow/corner{ dir = 8 @@ -8944,37 +8501,26 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"Hx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space/has_grav/singularitylab/civvie) -"Hy" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"Hz" = ( +"Hr" = ( /obj/structure/spacevine/dense, /obj/structure/spacevine/dense{ - pixel_y = 32 + pixel_x = -32 }, /obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = -31 + pixel_x = -32; + pixel_y = -32 }, +/obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) +"Hx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/space/has_grav/singularitylab/civvie) "HA" = ( /obj/structure/cable{ icon_state = "2-10" @@ -8984,16 +8530,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"HC" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "HD" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 @@ -9003,6 +8539,13 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"HE" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 5; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "HF" = ( /obj/structure/chair/office, /obj/effect/mob_spawn/human/corpse/charredskeleton, @@ -9022,6 +8565,22 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"HK" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "HL" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/spacevine/dense, @@ -9033,6 +8592,28 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"HN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/cargo) "HO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9060,17 +8641,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /turf/open/floor/plasteel/grimy, /area/ruin/space/has_grav/singularitylab/lab) -"HT" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = 32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "HU" = ( /obj/structure/fireaxecabinet{ pixel_y = 32 @@ -9081,17 +8651,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) -"HV" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "HW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 5 @@ -9101,6 +8660,22 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"HX" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "HY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 5 @@ -9117,18 +8692,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/cargo) -"Ib" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Ic" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 1 @@ -9138,6 +8701,18 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"Id" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "If" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, @@ -9155,19 +8730,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Ih" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"Ii" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters" - }, -/turf/closed/mineral/random/asteroid, -/area/ruin/space/has_grav) "Ij" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 @@ -9214,12 +8776,18 @@ /obj/machinery/power/shieldwallgen/atmos, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"Is" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +"Iq" = ( +/obj/structure/flippedtable{ + dir = 4; + icon_state = "" + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spacevine, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "Iu" = ( /obj/structure/transit_tube/diagonal{ dir = 4 @@ -9295,17 +8863,10 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"IM" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +"IK" = ( +/obj/item/wrench, +/turf/open/space/basic, +/area/space/nearstation) "IO" = ( /obj/structure/railing{ dir = 8; @@ -9343,11 +8904,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/engine/hull/reinforced, /area/ruin/space/has_grav/singularitylab/reactor) -"IV" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) "IW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9453,6 +9009,28 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/singularitylab/engineering) +"Jr" = ( +/obj/item/gun/energy/ionrifle/carbine{ + desc = "The Ion Projector is contained within a sleek metal case. Engraved on the handle are the letters S.H. The stock is warm to the touch"; + dry_fire_text = "RECHARGING"; + name = "ion projector"; + pixel_x = 2; + pixel_y = 5; + selfcharge = 1 + }, +/obj/item/screwdriver{ + pixel_y = -6 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 9 + }, +/obj/structure/sign/poster/official/ion_carbine{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "Ju" = ( /obj/structure/chair/office{ dir = 8 @@ -9525,7 +9103,41 @@ /turf/open/floor/plating/dirt{ baseturfs = /turf/open/floor/plating/asteroid }, -/area/ruin/space/has_grav/singularitylab/civvie) +/area/ruin/space/has_grav/singularitylab/civvie) +"JJ" = ( +/obj/item/gun/energy/e_gun/smg{ + dry_fire_sound = 'sound/items/ding.ogg'; + dry_fire_text = "ding"; + name = "\improper Modified E-TAR SMG"; + pixel_x = 5; + pixel_y = 6 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/item/stack/telecrystal{ + pixel_x = -9; + pixel_y = -4 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 10 + }, +/obj/structure/sign/poster/official/mini_energy_gun{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) +"JK" = ( +/obj/effect/decal/remains/human, +/obj/item/clothing/under/rank/rnd/scientist, +/obj/item/clothing/shoes/sneakers/white, +/obj/effect/gibspawner, +/obj/item/gun/energy/lasercannon/unrestricted{ + desc = "An advanced laser cannon, a laser etched inscription in the handle states 'NT-LS-1013'. The casing is made of a lightweight alloy."; + icon_state = "pulse"; + name = "NT-LS-1013" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/space/has_grav/singularitylab) "JL" = ( /obj/structure/spacevine, /obj/effect/decal/cleanable/insectguts, @@ -9549,6 +9161,13 @@ /obj/item/stack/sheet/glass/fifty, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) +"JO" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "singlablas1" + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab/lab) "JP" = ( /obj/structure/closet/emcloset{ anchored = 1 @@ -9561,17 +9180,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"JQ" = ( -/obj/structure/sign/poster/retro/science{ - pixel_y = 32 - }, -/obj/structure/chair/office{ - dir = 8; - name = "science chair"; - desc = "Technologically enhanced for the optimal research position." - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ruin/space/has_grav/singularitylab/lab) "JS" = ( /obj/structure/sign/warning/radiation{ pixel_x = 32 @@ -9583,17 +9191,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"JT" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Assistant" - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "JU" = ( /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) @@ -9643,23 +9240,100 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab) -"Kc" = ( -/obj/structure/spacevine, -/turf/closed/wall{ - name = "structural support"; - desc = "A huge chunk of metal holding the roof of the asteroid at bay" +"Kb" = ( +/obj/structure/chair/stool/bar{ + dir = 4; + name = "picnic stool"; + pixel_x = 9; + pixel_y = 7 }, -/area/ruin/space/has_grav/singularitylab) +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/structure/spacevine, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "Ke" = ( /turf/closed/indestructible/rock{ base_icon_state = "smoothrocks" }, /area/ruin/space/has_grav) +"Kf" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"Kg" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Kh" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = -31; + pixel_y = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Ki" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/box, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) +"Kj" = ( +/obj/item/seeds/kudzu, +/obj/structure/sign/poster/contraband/kudzu{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense, +/obj/structure/closet/firecloset{ + anchored = 1 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Kk" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Kn" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 4 @@ -9680,28 +9354,14 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"Kr" = ( -/obj/item/gun/energy/ionrifle/carbine{ - pixel_y = 5; - pixel_x = 2; - name = "ion projector"; - desc = "The Ion Projector is contained within a sleek metal case. Engraved on the handle are the letters S.H. The stock is warm to the touch"; - selfcharge = 1; - dry_fire_text = "RECHARGING" - }, -/obj/item/screwdriver{ - pixel_y = -6 - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/obj/structure/sign/poster/official/ion_carbine{ - pixel_x = -32 +"Kq" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "singlabfurn" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) +/obj/structure/railing, +/turf/open/floor/plating, +/area/ruin/space/has_grav/singularitylab/cargo) "Ks" = ( /obj/structure/cable{ icon_state = "6-8" @@ -9748,22 +9408,12 @@ /obj/machinery/computer/atmos_control/tank/nitrogen_tank, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Ky" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = -32 - }, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"KB" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/turf/open/floor/engine/hull, +/area/space/nearstation) "KC" = ( /obj/machinery/hydroponics/constructable, /obj/structure/spacevine, @@ -9771,6 +9421,13 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) +"KE" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/space/basic, +/area/space/nearstation) "KF" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -9791,6 +9448,27 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"KI" = ( +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/item/flashlight/seclite, +/turf/open/floor/plating/asteroid, +/area/ruin/space/has_grav/singularitylab) +"KK" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -14; + pixel_y = 4 + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Scientist" + }, +/obj/effect/turf_decal/siding/thinplating/light/corner, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "KL" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel/tech/techmaint, @@ -9842,6 +9520,17 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"KU" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "KW" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -9864,6 +9553,21 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"KY" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "KZ" = ( /obj/structure/cable{ icon_state = "2-5" @@ -9882,6 +9586,17 @@ dir = 1 }, /area/ruin/space/has_grav/singularitylab) +"Ld" = ( +/obj/structure/flippedtable{ + dir = 1; + icon_state = "" + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/space/has_grav/singularitylab) "Le" = ( /obj/structure/cable{ icon_state = "6-9" @@ -9902,17 +9617,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"Ln" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"Ll" = ( +/obj/machinery/conveyor_switch{ + id = "singlabcarg"; + pixel_x = 9; + pixel_y = -5 }, -/area/ruin/space/has_grav/singularitylab/civvie) +/turf/open/floor/plating, +/area/ruin/space/has_grav/singularitylab) "Lq" = ( /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) @@ -9991,6 +9703,17 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) +"LH" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/structure/spacevine, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/singularitylab) "LM" = ( /obj/structure/cable{ icon_state = "0-4" @@ -10033,6 +9756,12 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab) +"LQ" = ( +/turf/closed/wall{ + desc = "A huge chunk of metal holding the roof of the asteroid at bay"; + name = "structural support" + }, +/area/ruin/space/has_grav/singularitylab/hangar) "LY" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 6 @@ -10126,20 +9855,39 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"Mk" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"Mm" = ( +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 1 }, -/area/ruin/space/has_grav/singularitylab/civvie) +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "Mo" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, /turf/open/floor/wood, /area/ruin/space/has_grav/singularitylab/civvie) +"Mq" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + name = "picnic stool"; + pixel_x = -10; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "Ms" = ( /obj/structure/spacevine{ pixel_y = -32 @@ -10165,15 +9913,18 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"My" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" +"Mx" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = -32 }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/engine/hull, -/area/ruin/space/has_grav/singularitylab/reactor) +/area/ruin/space/has_grav/singularitylab/civvie) "MA" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -10195,11 +9946,13 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"MF" = ( -/obj/machinery/power/emitter/welded, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +"MD" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "MG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -10221,14 +9974,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"MJ" = ( -/obj/structure/table/reinforced, -/obj/item/paper{ - default_raw_text = "They're outside now. I don't know what happened, but I've managed to secure the firing range. I can't get out. Maybe someone will stumble by and we'll be saved. God damn those engineers for insisting on not including communications equipment on station."; - pixel_y = 8 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ruin/space/has_grav/singularitylab/lab) "ML" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10253,28 +9998,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"MO" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) -"MQ" = ( -/obj/structure/spacevine/dense, -/obj/machinery/power/apc/auto_name/directional/north{ - start_charge = 0 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "MS" = ( /obj/structure/dresser, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -10313,25 +10036,6 @@ /obj/item/stack/cable_coil/cut/yellow, /turf/open/floor/engine/hull/reinforced, /area/ruin/space/has_grav/singularitylab/reactor) -"MW" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters"; - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/civvie) "MX" = ( /obj/structure/transit_tube/curved{ dir = 1 @@ -10376,6 +10080,18 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"Nd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/table, +/obj/item/paper, +/obj/item/pen{ + pixel_x = 2; + pixel_y = -3 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/space/has_grav/singularitylab/cargo) "Ni" = ( /obj/structure/spacevine, /obj/structure/spacevine{ @@ -10397,15 +10113,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"Nk" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "Nm" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -10449,10 +10156,6 @@ }, /turf/open/floor/wood, /area/ruin/space/has_grav/singularitylab/civvie) -"Nu" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "Nw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -10463,14 +10166,57 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"NG" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable/yellow{ - icon_state = "0-2" +"Nx" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) +/area/ruin/space/has_grav/singularitylab/civvie) +"Ny" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"NB" = ( +/turf/closed/wall{ + desc = "A huge chunk of metal holding the roof of the asteroid at bay"; + name = "structural support" + }, +/area/ruin/space/has_grav/singularitylab) +"NC" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/obj/structure/spacevine{ + pixel_y = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"NE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Interior Mine" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/cargo) "NH" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/industrial/warning{ @@ -10494,17 +10240,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"NJ" = ( -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ - dir = 8 - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "NK" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -10532,19 +10267,6 @@ }, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab/civvie) -"NN" = ( -/obj/structure/chair/stool/bar{ - name = "picnic stool"; - dir = 4; - pixel_y = 7; - pixel_x = 9 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/structure/spacevine, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) "NP" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ @@ -10552,18 +10274,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"NR" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "NS" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/purple{ @@ -10571,26 +10281,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"NU" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32 +"NT" = ( +/obj/structure/flippedtable{ + dir = 1; + icon_state = "" }, -/obj/structure/spacevine/dense{ - pixel_y = 32; - pixel_x = 32 +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/spacevine/dense, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -10650,17 +10353,6 @@ /obj/structure/tank_dispenser/plasma, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"Oe" = ( -/obj/structure/sink{ - dir = 4; - pixel_y = 4; - pixel_x = -14 - }, -/obj/structure/mirror{ - pixel_x = -29 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/civvie) "Oh" = ( /obj/structure/spacevine, /obj/machinery/atmospherics/components/binary/valve/digital/layer4{ @@ -10681,14 +10373,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"Ol" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Om" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10710,6 +10394,13 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"Op" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Hydroponics" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) "Oq" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/corner/opaque/purple{ @@ -10737,6 +10428,17 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"Ov" = ( +/obj/structure/sign/poster/retro/science{ + pixel_y = 32 + }, +/obj/structure/chair/office{ + desc = "Technologically enhanced for the optimal research position."; + dir = 8; + name = "science chair" + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/space/has_grav/singularitylab/lab) "Ox" = ( /obj/structure/transit_tube/curved/flipped{ dir = 8 @@ -10752,12 +10454,6 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"Oy" = ( -/turf/closed/wall{ - name = "structural support"; - desc = "A huge chunk of metal holding the roof of the asteroid at bay" - }, -/area/ruin/space/has_grav/singularitylab/hangar) "Oz" = ( /obj/structure/particle_accelerator/fuel_chamber{ dir = 4 @@ -10787,6 +10483,16 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"OC" = ( +/obj/structure/flippedtable{ + dir = 1; + icon_state = "" + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt{ + baseturfs = /turf/open/floor/plating/asteroid + }, +/area/ruin/space/has_grav/singularitylab) "OE" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, @@ -10825,22 +10531,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"OK" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/machinery/recharger{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb{ - pixel_y = 2; - pixel_x = -4 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) "OL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 9 @@ -10906,26 +10596,15 @@ /area/ruin/space/has_grav/singularitylab/lab) "OT" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/cargo) -"OU" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" + icon_state = "4-8" }, -/area/ruin/space/has_grav/singularitylab) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/cargo) "OV" = ( /obj/structure/lattice/catwalk, /turf/open/floor/plating, @@ -10937,24 +10616,20 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"OZ" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 +"OX" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/obj/item/flashlight/seclite, -/turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) "Pa" = ( /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"Pb" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) "Pd" = ( /obj/structure/bed, /obj/item/bedsheet/nanotrasen, @@ -11006,15 +10681,6 @@ }, /turf/open/floor/holofloor/wood, /area/ruin/space/has_grav/singularitylab/lab) -"Pk" = ( -/obj/structure/spacevine, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Pl" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11095,24 +10761,21 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"Pv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"Px" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +/obj/structure/spacevine{ + pixel_x = -32 }, -/obj/structure/table/wood/fancy/purple, -/obj/structure/fluff/beach_umbrella{ - pixel_y = 16; - pixel_x = -5 +/obj/structure/spacevine/dense{ + pixel_x = -31; + pixel_y = 32 }, -/obj/machinery/jukebox/boombox, -/obj/structure/spacevine, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) "Pz" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate, @@ -11192,6 +10855,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"PL" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/closet/emcloset, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "PM" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -11217,6 +10893,15 @@ /obj/machinery/computer/atmos_alert, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"PS" = ( +/obj/structure/spacevine, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "PT" = ( /obj/structure/table/reinforced, /obj/item/binoculars, @@ -11242,37 +10927,50 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Qc" = ( -/obj/structure/spacevine, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"PY" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/area/ruin/space/has_grav/singularitylab/civvie) -"Qd" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/turf/open/floor/engine/hull, +/area/space/nearstation) +"PZ" = ( +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/north, +/obj/item/gun/energy/lasercannon/unrestricted{ + desc = "An advanced laser cannon, a laser etched inscription in the handle states 'NT-LS-1013'. The casing is made of a lightweight alloy."; + icon_state = "pulse"; + name = "NT-LS-1013" }, -/area/ruin/space/has_grav/singularitylab) -"Qg" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "1-8" +/obj/item/gun/energy/laser/iot, +/obj/item/gun/energy/laser/iot{ + dry_fire_sound = 'sound/items/ding.ogg'; + dry_fire_text = "ding" + }, +/obj/structure/safe{ + name = "Prototype Storage" + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab/lab) +"Qe" = ( +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt{ + baseturfs = /turf/open/floor/plating/asteroid }, +/area/ruin/space/has_grav/singularitylab) +"Qh" = ( +/obj/machinery/power/rad_collector/anchored, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "0-2" }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) +/turf/open/floor/plating, +/area/space/nearstation) "Qi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 @@ -11282,63 +10980,37 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Qj" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"Qm" = ( +"Ql" = ( /obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense{ - pixel_y = 32; +/obj/structure/spacevine{ pixel_x = -32 }, -/obj/structure/spacevine/dense{ - pixel_x = -32 +/obj/structure/spacevine{ + pixel_y = -32 }, /obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/lavendergrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab) +/area/ruin/space/has_grav/singularitylab/civvie) "Qo" = ( /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav) -"Qr" = ( -/obj/structure/spacevine, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"Qs" = ( -/obj/structure/cable{ - icon_state = "1-2" +"Qq" = ( +/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ + id = "singlabhang" }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/machinery/door/poddoor{ + dir = 4; + id = "singlabhanger" }, +/turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) "Qt" = ( /obj/effect/turf_decal/corner/transparent/orange{ @@ -11349,14 +11021,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"Qw" = ( -/obj/structure/table, -/obj/item/clipboard{ - pixel_y = 7; - pixel_x = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/engineering) "Qx" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/west, @@ -11400,9 +11064,6 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"QB" = ( -/turf/closed/mineral/random/asteroid, -/area/ruin/space/has_grav) "QC" = ( /obj/structure/cable{ icon_state = "1-6" @@ -11414,19 +11075,6 @@ /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"QD" = ( -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/spacevine, -/obj/machinery/light/directional/north, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "QE" = ( /obj/effect/turf_decal/corner/transparent/orange{ dir = 10 @@ -11438,25 +11086,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"QH" = ( -/obj/item/clothing/suit/space/hardsuit/engine, -/obj/item/tank/internals/oxygen, -/obj/effect/decal/remains/human, -/obj/structure/cable{ - icon_state = "4-8" - }, +"QF" = ( /obj/structure/spacevine/dense, /obj/structure/spacevine/dense{ - pixel_y = -32 + pixel_x = 32 }, -/obj/effect/decal/cleanable/blood/old, /obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab) +/area/ruin/space/has_grav/singularitylab/civvie) "QI" = ( /obj/structure/spacevine, /obj/machinery/light/directional/north, @@ -11474,29 +11116,43 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"QO" = ( +/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ + dir = 1; + id = "singlabhang" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "singlabhanger" + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) "QQ" = ( /obj/effect/decal/remains/human, /obj/item/clothing/shoes/sneakers/white, /obj/item/clothing/under/rank/rnd/scientist, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) -"QT" = ( -/obj/structure/spacevine, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Assistant" - }, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "QV" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"QW" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "QX" = ( /obj/structure/cable/yellow{ icon_state = "1-6" @@ -11508,14 +11164,37 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 10 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/engineering) +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/engineering) +"QY" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "QZ" = ( /obj/structure/railing{ dir = 8 }, /turf/open/floor/plasteel/stairs, /area/ruin/space/has_grav/singularitylab/engineering) +"Rb" = ( +/obj/machinery/power/emitter/welded{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/space/nearstation) "Rc" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/industrial/warning/corner, @@ -11531,6 +11210,16 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) +"Rf" = ( +/obj/structure/spacevine/dense, +/mob/living/simple_animal/hostile/venus_human_trap, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "Rh" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 5 @@ -11557,15 +11246,14 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/engineering) -"Ro" = ( -/obj/structure/spacevine, -/mob/living/simple_animal/hostile/venus_human_trap, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"Rl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/turf/open/space/basic, +/area/space/nearstation) "Rp" = ( /obj/structure/transit_tube/horizontal, /obj/structure/plasticflaps/opaque{ @@ -11582,6 +11270,26 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) +"Rq" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "Rr" = ( /obj/structure/cable{ icon_state = "6-8" @@ -11604,6 +11312,19 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/reactor) +"Rw" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Rx" = ( /obj/structure/dresser, /obj/item/radio/intercom/directional/west, @@ -11695,15 +11416,23 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"RN" = ( -/obj/structure/toilet{ - dir = 4; - pixel_y = 6; - pixel_x = -6 +"RP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/table/wood/fancy/blue, +/obj/structure/fluff/beach_umbrella{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/structure/spacevine, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/singularitylab/civvie) "RR" = ( /obj/effect/turf_decal/corner/transparent/orange{ dir = 5 @@ -11738,33 +11467,6 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"RX" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 - }, -/obj/machinery/portable_atmospherics/scrubber/huge, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) -"RZ" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = -32 - }, -/obj/structure/spacevine{ - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Sa" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11799,23 +11501,16 @@ /obj/structure/spacevine, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) -"Sh" = ( -/obj/item/stack/cable_coil/cut/yellow, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) -"Si" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_y = -32 +"Sj" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/turf/open/space/basic, +/area/space/nearstation) "Sk" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -11824,17 +11519,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Sm" = ( -/obj/structure/toilet{ - dir = 8; - pixel_y = 5; - pixel_x = 6 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/civvie) "Sn" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, @@ -11896,23 +11580,29 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) -"SF" = ( +"Sv" = ( +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 23 + }, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" }, /obj/effect/turf_decal/siding/thinplating{ dir = 4 }, -/obj/structure/railing/corner{ - pixel_y = 23; - pixel_x = -3 - }, -/obj/structure/railing/corner{ - pixel_y = 2; - pixel_x = -3 +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 }, /obj/structure/transit_tube/station/dispenser/flipped{ dir = 8 @@ -11924,17 +11614,36 @@ dir = 8 }, /turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab/cargo) +"SC" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, /area/ruin/space/has_grav/singularitylab) -"SH" = ( -/obj/structure/chair/stool/bar{ - name = "picnic stool"; - dir = 1; - pixel_y = 16 +"SE" = ( +/obj/structure/toilet{ + dir = 4; + pixel_x = -6; + pixel_y = 6 }, -/obj/effect/turf_decal/siding/wood/end, -/obj/structure/spacevine, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) +"SJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/flippedtable{ + dir = 2; + icon_state = "" + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/space/has_grav/singularitylab/lab) "SK" = ( /obj/structure/closet/emcloset{ anchored = 1 @@ -11951,11 +11660,49 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"SM" = ( +/obj/structure/spacevine, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "SQ" = ( /obj/machinery/rnd/production/protolathe/department/engineering, /obj/structure/spacevine, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) +"SR" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"SS" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "singlabhanger" + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) +"ST" = ( +/obj/structure/flippedtable{ + dir = 4; + icon_state = "" + }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "SW" = ( /obj/structure/chair/office{ dir = 4 @@ -11973,6 +11720,18 @@ /obj/machinery/atmospherics/pipe/simple/supply/visible/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"SY" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "SZ" = ( /obj/effect/spawner/structure/window, /obj/structure/curtain/cloth/fancy, @@ -11988,6 +11747,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) +"Tb" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Td" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -11999,6 +11770,35 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) +"Th" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 23 + }, +/obj/structure/railing/corner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/transit_tube/station/dispenser/flipped{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) "Ti" = ( /obj/structure/transit_tube/curved, /obj/structure/cable{ @@ -12008,18 +11808,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"To" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_y = 32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Tq" = ( /obj/effect/turf_decal/siding/yellow/corner{ dir = 8 @@ -12042,15 +11830,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"Tu" = ( -/obj/structure/spacevine, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) "Tv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 5 @@ -12096,22 +11875,6 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab/civvie) -"TC" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_y = 32 - }, -/obj/structure/spacevine/dense{ - pixel_y = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "TD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12143,6 +11906,20 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"TG" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/item/gun/energy/e_gun/smg{ + dry_fire_sound = 'sound/items/ding.ogg'; + dry_fire_text = "ding"; + name = "\improper Modified E-TAR SMG"; + pixel_x = 5; + pixel_y = 6 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "TH" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/corner/opaque/white/full, @@ -12163,6 +11940,26 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/cargo) +"TK" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/flippedtable{ + dir = 8; + icon_state = "" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "TL" = ( /obj/machinery/rnd/production/circuit_imprinter/department/engi, /turf/open/floor/plasteel/dark, @@ -12211,13 +12008,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"TQ" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-10" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab/reactor) "TR" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12301,19 +12091,25 @@ }, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab) -"Uf" = ( -/obj/structure/chair/stool/bar{ - name = "picnic stool"; - dir = 8; - pixel_y = 4; - pixel_x = -10 +"Ue" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 +/obj/structure/spacevine/dense{ + pixel_y = 32 }, -/obj/structure/spacevine, -/turf/open/floor/wood, -/area/ruin/space/has_grav/singularitylab/civvie) +/obj/structure/spacevine/dense{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Ui" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable{ @@ -12376,6 +12172,50 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) +"Up" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Ur" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"Ut" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Ux" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Uy" = ( /obj/machinery/door/airlock{ name = "Bedroom" @@ -12398,6 +12238,45 @@ "UD" = ( /turf/open/floor/engine/hull/reinforced, /area/ruin/space/has_grav/singularitylab/reactor) +"UF" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/space/nearstation) +"UG" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/spacevine/dense{ + pixel_y = -32 + }, +/obj/structure/spacevine/dense{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"UH" = ( +/obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "UI" = ( /obj/structure/spacevine, /obj/structure/spacevine/dense{ @@ -12426,6 +12305,33 @@ baseturfs = /turf/open/floor/plating/asteroid }, /area/ruin/space/has_grav/singularitylab) +"UL" = ( +/obj/structure/sign/poster/retro/lasergun{ + pixel_x = -32 + }, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/north, +/obj/item/gun/energy/e_gun/smg{ + dry_fire_sound = 'sound/items/ding.ogg'; + dry_fire_text = "ding"; + name = "\improper Modified E-TAR SMG"; + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/gun/energy/e_gun/smg{ + dry_fire_sound = 'sound/items/ding.ogg'; + dry_fire_text = "ding"; + name = "\improper Modified E-TAR SMG"; + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/structure/safe{ + name = "Prototype Storage" + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab/lab) "UM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer4{ dir = 8 @@ -12438,18 +12344,13 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"UR" = ( -/obj/structure/spacevine, -/obj/item/gun/energy/floragun, -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/gibspawner, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +"UP" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/turf/open/space/basic, +/area/space/nearstation) "UU" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 9 @@ -12467,15 +12368,65 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plating/asteroid, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plating/asteroid, +/area/ruin/space/has_grav/singularitylab) +"UW" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) +"UY" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) +"Vb" = ( +/obj/structure/spacevine/dense{ + pixel_x = -32 + }, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Vc" = ( +/obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer4{ + dir = 6 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, /area/ruin/space/has_grav/singularitylab) -"UY" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 +"Ve" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 5; + pixel_y = 11 }, -/turf/open/floor/engine, +/turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) "Vg" = ( /obj/structure/sign/warning/radiation/rad_area{ @@ -12531,6 +12482,12 @@ /obj/item/gun/energy/floragun, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"Vn" = ( +/obj/machinery/the_singularitygen{ + anchored = 1 + }, +/turf/open/floor/plating, +/area/space/nearstation) "Vo" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 6 @@ -12540,18 +12497,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Vp" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine{ - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "Vq" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/effect/turf_decal/industrial/warning/corner, @@ -12599,6 +12544,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"Vv" = ( +/obj/item/clothing/suit/space/hardsuit/engine, +/obj/item/flamethrower/full, +/obj/effect/decal/remains/human, +/obj/structure/spacevine/dense, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/engineering) "Vw" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 10 @@ -12614,47 +12572,23 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/singularitylab/engineering) -"VA" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"VD" = ( -/obj/structure/table, -/obj/structure/sign/poster/official/moth/hardhats{ - pixel_x = -32 - }, -/obj/structure/spacevine, -/obj/item/assembly/igniter{ - pixel_y = 3; - pixel_x = 7 - }, -/obj/item/assembly/igniter{ - pixel_y = -6; - pixel_x = 2 - }, -/obj/item/assembly/igniter{ - pixel_y = 3; - pixel_x = -7 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/engineering) "VE" = ( /obj/machinery/light/directional/west, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) -"VF" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Hydroponics"; - dir = 4 +"VG" = ( +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" }, -/turf/open/floor/plasteel/tech, /area/ruin/space/has_grav/singularitylab/civvie) +"VH" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "VI" = ( /obj/structure/curtain/cloth, /obj/machinery/light/small/directional/north, @@ -12707,6 +12641,37 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"VT" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"VU" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) "VV" = ( /obj/structure/transit_tube/curved/flipped{ dir = 4 @@ -12808,13 +12773,6 @@ }, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav/singularitylab/civvie) -"Wg" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 11; - pixel_x = 5 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) "Wh" = ( /obj/structure/spacevine, /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -12841,20 +12799,27 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) -"Wl" = ( -/obj/structure/cable{ - icon_state = "5-9" +"Wm" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/siding/thinplating, -/obj/item/gun/energy/e_gun/smg{ - pixel_y = 6; - pixel_x = 5; - name = "\improper Modified E-TAR SMG"; - dry_fire_sound = 'sound/items/ding.ogg'; - dry_fire_text = "ding" +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab) +/turf/open/floor/plating, +/area/space/nearstation) +"Wo" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/space/basic, +/area/space/nearstation) "Wp" = ( /obj/structure/railing/corner{ dir = 4 @@ -12886,25 +12851,26 @@ /obj/effect/decal/cleanable/ash, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Wy" = ( -/obj/structure/window/reinforced{ - dir = 1 +"Ww" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Barracks" }, -/obj/effect/turf_decal/corner/opaque/white/full, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 5 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry{ - pixel_y = -3; - pixel_x = -6 +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 }, -/obj/item/reagent_containers/food/drinks/soda_cans/sodawater{ - pixel_y = 8; - pixel_x = 8 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/singularitylab/lab) +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/singularitylab/civvie) "Wz" = ( /obj/machinery/door/airlock/vault{ name = "Vault Access" @@ -12939,6 +12905,17 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"WE" = ( +/obj/structure/spacevine, +/mob/living/simple_animal/hostile/zombie/kudzu{ + zombiejob = "Assistant" + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "WG" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/machinery/light/directional/east, @@ -12962,6 +12939,10 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/singularitylab) +"WJ" = ( +/obj/structure/table, +/turf/closed/mineral/random, +/area/ruin/space/has_grav) "WK" = ( /obj/structure/rack, /obj/item/gun/energy/e_gun/rdgun{ @@ -13039,43 +13020,18 @@ }, /turf/open/floor/holofloor/wood, /area/ruin/space/has_grav/singularitylab/lab) -"WU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/cargo) -"WV" = ( +"WT" = ( /obj/structure/spacevine/dense, /obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/mob/living/simple_animal/hostile/zombie/kudzu{ - zombiejob = "Assistant" + pixel_y = -32 }, -/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, -/area/ruin/space/has_grav/singularitylab/civvie) +/area/ruin/space/has_grav/singularitylab) "WW" = ( /obj/structure/transit_tube/curved/flipped{ dir = 1 @@ -13092,22 +13048,6 @@ /obj/structure/spacevine, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"Xa" = ( -/obj/machinery/door/airlock/engineering{ - name = "Power Control"; - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/engineering) "Xc" = ( /obj/structure/chair/office, /obj/structure/sign/poster/official/wtf_is_co2{ @@ -13118,6 +13058,21 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/reactor) +"Xe" = ( +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/engine, +/area/ruin/space/has_grav/singularitylab) "Xf" = ( /obj/structure/filingcabinet, /obj/item/pen/fountain, @@ -13138,6 +13093,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab) +"Xh" = ( +/obj/structure/table, +/obj/item/paper, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 2 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/space/has_grav/singularitylab/cargo) "Xk" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer4{ @@ -13155,44 +13119,26 @@ }, /turf/open/floor/carpet/nanoweave/beige, /area/ruin/space/has_grav/singularitylab/cargo) -"Xn" = ( -/obj/machinery/door/airlock{ - name = "Barracks"; - dir = 4 +"Xp" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/singularitylab/engineering) +"Xt" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Server Room" }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/singularitylab/civvie) -"Xo" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/spacevine, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab/civvie) -"Xp" = ( -/obj/structure/table, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/singularitylab/engineering) -"Xs" = ( -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = 32 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/area/ruin/space/has_grav/singularitylab/civvie) +/turf/open/floor/plating, +/area/ruin/space/has_grav/singularitylab/lab) "Xv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 @@ -13202,13 +13148,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"Xw" = ( -/obj/structure/flippedtable{ - icon_state = ""; - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/ruin/space/has_grav/singularitylab) "Xx" = ( /obj/effect/turf_decal/corner/opaque/white/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -13222,6 +13161,16 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/lab) +"XB" = ( +/obj/structure/spacevine, +/obj/structure/spacevine/dense, +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "XD" = ( /obj/effect/turf_decal/industrial/warning/corner{ dir = 4 @@ -13260,21 +13209,6 @@ }, /turf/closed/wall/r_wall, /area/ruin/space/has_grav/singularitylab/reactor) -"XG" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine/dense{ - pixel_x = -32 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "XJ" = ( /obj/structure/lattice/catwalk, /obj/structure/spacevine, @@ -13304,6 +13238,18 @@ /obj/structure/filingcabinet, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"Ya" = ( +/obj/structure/table, +/obj/item/paper{ + default_raw_text = "Whatever happens. Happens." + }, +/obj/item/pen, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = 10; + pixel_y = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "Yc" = ( /obj/structure/cable{ icon_state = "1-2" @@ -13323,6 +13269,46 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) +"Yh" = ( +/obj/structure/spacevine, +/mob/living/simple_animal/hostile/venus_human_trap, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"Yi" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/effect/turf_decal/corner/opaque/white/full, +/obj/structure/table, +/obj/item/lighter{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/clothing/mask/cigarette, +/obj/item/clothing/mask/cigarette{ + pixel_x = 3; + pixel_y = 11 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 6; + pixel_y = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab/lab) +"Yj" = ( +/turf/closed/wall{ + desc = "A huge chunk of metal holding the roof of the asteroid at bay"; + name = "structural support" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "Yk" = ( /obj/machinery/conveyor{ id = "singlabcarg" @@ -13356,13 +13342,6 @@ /obj/structure/chair, /turf/open/floor/carpet/nanoweave/purple, /area/ruin/space/has_grav/singularitylab/lab) -"Yo" = ( -/obj/machinery/door/poddoor{ - id = "singlablas2"; - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab/lab) "Yp" = ( /obj/structure/transit_tube/curved/flipped{ dir = 8 @@ -13382,17 +13361,22 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"Ys" = ( +"Yt" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, /obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 10 +/obj/structure/spacevine/dense{ + pixel_x = -32 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 10 +/obj/structure/spacevine/dense{ + pixel_x = -32; + pixel_y = 32 }, +/obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; name = "grass" }, /area/ruin/space/has_grav/singularitylab) @@ -13476,17 +13460,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/reactor) -"YG" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/button/door{ - id = "singlabcargo2"; - name = "Blast Door Control"; - dir = 8; - pixel_x = 24 - }, -/obj/structure/spacevine, -/turf/open/floor/plating, -/area/ruin/space/has_grav/singularitylab) "YH" = ( /obj/structure/transit_tube, /obj/structure/cable{ @@ -13503,13 +13476,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plating/asteroid, /area/ruin/space/has_grav/singularitylab) -"YJ" = ( -/obj/structure/sign/poster/official/moth/boh{ - pixel_x = -32 +"YK" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/ruin/space/has_grav/singularitylab/reactor) +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"YL" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "YN" = ( /obj/structure/table, /obj/item/paper_bin, @@ -13539,45 +13524,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/cargo) -"YV" = ( -/obj/structure/sign/poster/retro/lasergun{ - pixel_x = -32 - }, -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/north, -/obj/item/gun/energy/e_gun/smg{ - pixel_y = 6; - pixel_x = 5; - name = "\improper Modified E-TAR SMG"; - dry_fire_sound = 'sound/items/ding.ogg'; - dry_fire_text = "ding" - }, -/obj/item/gun/energy/e_gun/smg{ - pixel_y = 6; - pixel_x = 5; - name = "\improper Modified E-TAR SMG"; - dry_fire_sound = 'sound/items/ding.ogg'; - dry_fire_text = "ding" - }, -/obj/item/gun/energy/laser, -/obj/item/gun/energy/laser, -/obj/structure/safe{ - name = "Prototype Storage" - }, -/turf/open/floor/engine, -/area/ruin/space/has_grav/singularitylab/lab) -"YW" = ( -/obj/structure/cable{ - icon_state = "6-9" - }, -/obj/structure/spacevine/dense, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/jungle{ - desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; - baseturfs = /turf/open/floor/plasteel; - name = "grass" - }, -/area/ruin/space/has_grav/singularitylab) "YX" = ( /obj/effect/turf_decal/corner/opaque/white/full, /turf/open/floor/plasteel, @@ -13594,23 +13540,51 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/space/has_grav/singularitylab/engineering) +"Za" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense{ + pixel_x = 32 + }, +/obj/machinery/portable_atmospherics/scrubber/huge, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab) "Zc" = ( /turf/closed/wall, /area/ruin/space/has_grav/singularitylab) -"Zh" = ( -/obj/structure/cable{ - icon_state = "6-9" +"Ze" = ( +/obj/structure/spacevine, +/turf/closed/wall{ + desc = "A huge chunk of metal holding the roof of the asteroid at bay"; + name = "structural support" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen{ - pixel_y = 2; - pixel_x = -4 +/area/ruin/space/has_grav/singularitylab) +"Zg" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ruin/space/has_grav/singularitylab/cargo) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/space/basic, +/area/space/nearstation) +"Zj" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/machinery/button/door{ + dir = 1; + id = "singlabcargo1"; + name = "Blast Door Control"; + pixel_y = -25 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/singularitylab) "Zk" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, @@ -13693,12 +13667,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab) -"Zx" = ( -/turf/closed/wall{ - name = "structural support"; - desc = "A huge chunk of metal holding the roof of the asteroid at bay" - }, -/area/ruin/space/has_grav/singularitylab/cargo) "Zy" = ( /obj/structure/cable{ icon_state = "6-10" @@ -13788,6 +13756,16 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"ZO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/space/basic, +/area/space/nearstation) "ZR" = ( /obj/structure/cable{ icon_state = "4-8" @@ -13800,6 +13778,34 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/singularitylab/civvie) +"ZS" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/spacevine, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) +"ZU" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/grass/jungle{ + baseturfs = /turf/open/floor/plasteel; + desc = "A patch of overgrown grass. Hints of plasteel plating lay under it."; + name = "grass" + }, +/area/ruin/space/has_grav/singularitylab/civvie) "ZV" = ( /obj/structure/transit_tube/horizontal, /obj/structure/cable{ @@ -13864,7 +13870,7 @@ tq tq tq tq -QB +id tq tq tq @@ -13910,17 +13916,17 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id tq -QB -QB +id +id tq tq "} @@ -13936,7 +13942,7 @@ tq tq tq tq -QB +id tq tq tq @@ -13985,19 +13991,19 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id tq tq "} @@ -14007,18 +14013,18 @@ tq tq tq tq -QB -QB +id +id tq tq tq -QB -QB +id +id tq Ke Ke Ke -QB +id Ke tq tq @@ -14030,8 +14036,8 @@ tq tq tq tq -QB -QB +id +id tq tq tq @@ -14040,7 +14046,7 @@ tq tq tq tq -QB +id tq tq tq @@ -14061,20 +14067,20 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id tq tq "} @@ -14083,7 +14089,7 @@ tq tq tq tq -QB +id Ke Ke Ke @@ -14093,22 +14099,22 @@ Ke Ke Ke Ke -QB -QB -QB +id +id +id Ke Ke -QB +id tq tq tq -QB +id tq tq tq -QB -QB -QB +id +id +id tq tq tq @@ -14116,8 +14122,8 @@ tq tq tq tq -QB -QB +id +id tq tq tq @@ -14125,10 +14131,10 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id tq tq tq @@ -14137,14 +14143,14 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id tq tq tq @@ -14162,29 +14168,29 @@ tq tq tq Ke -QB +id Ke tq Ke -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Ke tq tq Ke Ke Ke -QB +id tq -QB -QB -QB +id +id +id tq tq tq @@ -14192,35 +14198,35 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id tq tq tq tq -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id tq tq tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id tq tq tq @@ -14239,28 +14245,28 @@ tq Ke Ke Ke -QB +id Ke Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Ke Ke Ke Ke -QB +id Ke -QB +id tq tq -QB +id tq tq tq @@ -14269,18 +14275,18 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id tq tq tq tq tq tq -QB -QB +id +id tq tq tq @@ -14288,15 +14294,15 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id tq tq tq @@ -14314,25 +14320,25 @@ tq tq Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke tq tq @@ -14345,10 +14351,10 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id tq tq tq @@ -14356,23 +14362,23 @@ tq tq tq tq -QB -QB -QB +id +id +id tq tq tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id kP tq tq @@ -14390,26 +14396,26 @@ tq tq Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke tq tq @@ -14422,8 +14428,8 @@ tq tq tq tq -QB -QB +id +id tq tq tq @@ -14433,23 +14439,23 @@ tq tq tq tq -QB -QB +id +id tq tq tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id kP tq tq @@ -14464,29 +14470,29 @@ tq tq "} (9,1,1) = {" -QB +id Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -14499,8 +14505,8 @@ tq tq tq tq -QB -QB +id +id tq tq tq @@ -14517,14 +14523,14 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id kP kP kP @@ -14545,26 +14551,26 @@ tq Ke Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -14583,9 +14589,9 @@ tq tq tq tq -QB -QB -QB +id +id +id tq tq tq @@ -14593,14 +14599,14 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id kP kP kP @@ -14622,27 +14628,27 @@ tq tq tq Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -14659,9 +14665,9 @@ tq tq tq tq -QB -QB -QB +id +id +id tq tq tq @@ -14670,14 +14676,14 @@ tq tq tq tq -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id kP kP kP @@ -14699,28 +14705,28 @@ tq tq Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -14736,24 +14742,24 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id tq tq tq tq tq tq -QB -QB -QB -QB +id +id +id +id kP kP -QB -QB +id +id kP kP kP @@ -14775,30 +14781,30 @@ tq tq Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -sa -Qs -rf -XG -vV -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +Yt +AB +dh +st +Hr +id +id +id +id +id +id Ke Ke tq @@ -14813,24 +14819,24 @@ tq tq tq tq -QB +id tq -QB +id tq tq tq tq tq tq -QB -QB -QB -QB +id +id +id +id kP kP kP -QB -QB +id +id kP kP kP @@ -14849,40 +14855,40 @@ tq tq "} (14,1,1) = {" -QB +id Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -xR -zl -Ew -fq -fq -YW -sU -lb -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +Ue +AS +fD +pd +pd +SY +Tb +UG +id +id +id +id +id Ke Ke Ke Ke Ke -QB +id Ke Ke Ke @@ -14899,14 +14905,14 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id kP kP kP -QB +id kP kP kP @@ -14926,42 +14932,42 @@ tq tq "} (15,1,1) = {" -QB +id Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -ci -Qd -nN -QB -QB -sw -Dl -EY -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +qn +Id +WT +id +id +UW +nz +HX +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -14975,15 +14981,15 @@ tq tq tq tq -QB -QB -QB -QB +id +id +id +id kP kP kP kP -QB +id kP kP kP @@ -15006,14 +15012,14 @@ tq tq Ke Ke -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Zc Zc Zc @@ -15022,45 +15028,45 @@ ii Iz iZ Zc -QB -QB +id +id mo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke tq tq tq tq tq -QB -QB +id +id tq tq tq -QB -QB -QB -QB +id +id +id +id kP kP kP kP kP -QB +id kP kP kP @@ -15083,16 +15089,16 @@ tq tq tq Ke -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Zc -jB +Px zx zx Bh @@ -15104,19 +15110,19 @@ Zc Or Zc Zc -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -15128,10 +15134,10 @@ Ke tq tq tq -QB -QB -QB -QB +id +id +id +id kP kP kP @@ -15139,8 +15145,8 @@ kP kP kP kP -QB -QB +id +id kP kP tq @@ -15160,18 +15166,18 @@ tq tq tq Ke -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Zc tr -OU -fT +KU +SC jj Re eh @@ -15179,28 +15185,28 @@ FE wR th jN -bD +rw Zc -QB -QB -QB -dG -zB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +Dg +qG +id +id +id +id +id +id +id +id +id Ke Ke Ke Ke Ke -QB +id Ke Ke tq @@ -15216,8 +15222,8 @@ kP kP kP kP -QB -QB +id +id kP kP tq @@ -15244,11 +15250,11 @@ Ke Ke Ke Ke -QB +id Zc tr -fT -OU +SC +KU VW vb xK @@ -15256,34 +15262,34 @@ zJ KH Es Fx -bD +rw Zc -QB -QB -Hz -xo -gB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -Ke -Ke -Ke -QB -QB +id +id +Kh +mL +up +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +Ke +Ke +Ke +id +id Ke Ke kP @@ -15294,8 +15300,8 @@ kP kP kP kP -QB -QB +id +id kP tq tq @@ -15321,9 +15327,9 @@ Qo Qo Qo Ke -QB +id Zc -uQ +Xe UY wX Bh @@ -15331,37 +15337,37 @@ OP fG Kx Wh -Ew +fD Oh ac Zc Zc -CE +oG UU fw -FI -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +NB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke Ke @@ -15371,8 +15377,8 @@ kP kP kP kP -QB -QB +id +id kP tq tq @@ -15395,10 +15401,10 @@ Ke Qo Qo Qo -QB +id Qo Ke -QB +id Zc Zc Zc @@ -15407,8 +15413,8 @@ Jb WI Zc PR -NJ -Ew +hN +fD De TX wk @@ -15418,31 +15424,31 @@ jQ Ot Kt iQ -ra +dt ut kT -QB -FI -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -FI -QB -QB -QB -QB -QB -QB +id +NB +id +id +id +id +id +id +id +id +id +id +id +id +id +NB +id +id +id +id +id +id Ke Ke Ke @@ -15469,10 +15475,10 @@ tq tq tq Ke -QB -QB -QB -QB +id +id +id +id Qo Ke Ke @@ -15481,11 +15487,11 @@ Ni Bh Bh Bh -HV -ax +Eu +pK aj -oP -Ew +UH +fD Gy VP kA @@ -15520,12 +15526,12 @@ us us Jc HW -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id Ke Ke kP @@ -15546,10 +15552,10 @@ tq tq tq Ke -QB -QB -QB -QB +id +id +id +id Qo Qo Ke @@ -15558,10 +15564,10 @@ XE OW OW Et -aI -rA +hf +nT FE -dM +Vc SX MN jM @@ -15576,7 +15582,7 @@ iB iN wm Zw -FI +NB BX BX BX @@ -15589,21 +15595,21 @@ BX BX BX BX -QB -FI -QB -QB -QB -QB +id +NB +id +id +id +id kU oa -QB -FI -QB -QB -QB -QB -QB +id +NB +id +id +id +id +id Ke kP kP @@ -15620,11 +15626,11 @@ tq "} (24,1,1) = {" tq -QB -QB +id +id Ke -QB -QB +id +id Qo Qo Qo @@ -15637,14 +15643,14 @@ Zc Zc CD CD -HV -Bp +Eu +yI Ou kb kD Zc -QB -QB +id +id cU cX zE @@ -15661,26 +15667,26 @@ Eo EX zq Di -VD +qV OH Uo ce BX -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id Ci CC my UV yS -QB -QB -QB +id +id +id Ke Ke kP @@ -15698,31 +15704,31 @@ tq (25,1,1) = {" tq tq -QB +id Ke -QB -QB +id +id Qo -QB -QB -QB -QB -QB +id +id +id +id +id Qo Qo Ad AR -Gs -RX -yp +ku +Za +tI nZ iF sH Ss Zc -QB -Qm -Ew +id +vi +fD wW lJ mY @@ -15733,32 +15739,32 @@ BX BX hP by -Qw +tV RR MH QZ In Di -bZ -bZ +Du +Du TZ BX rg jL kU -QB -QB -QB -QB -QB -QB -FI +id +id +id +id +id +id +NB os KT la -QB -QB -QB +id +id +id Ke kP kP @@ -15777,17 +15783,17 @@ tq tq tq Ke -QB -QB +id +id Qo -QB -QB -QB -QB -QB +id +id +id +id +id Qo -QB -QB +id +id AT om om @@ -15797,14 +15803,14 @@ Zc Zc Zc Zc -QB -TC -QB -FI +id +HK +id +NB OM -FI -Ge -FF +NB +lt +LH BX BX BX @@ -15817,7 +15823,7 @@ dX CI CY Cb -nq +Vv QE KQ EV @@ -15825,17 +15831,17 @@ jL kU kU kU -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id HP EN yS -QB -QB +id +id Ke Ke kP @@ -15854,33 +15860,33 @@ tq tq tq Ke -QB -QB +id +id Qo -QB +id Qo Qo Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -NU -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +GK +id +id eF -QB -Ys +id +tk Xg Jq cB @@ -15903,17 +15909,17 @@ Fy kU kU jp -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id os KT la -FI -QB +NB +id Ke Ke kP @@ -15931,34 +15937,34 @@ tq tq Ke Ke -QB -QB +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id eF -QB -pv -QH +id +iV +kd BX bo JU @@ -15982,16 +15988,16 @@ nr ua uN uN -Vp -hh -QB -QB -QB +vL +Kk +id +id +id HP Nj vY -QB -QB +id +id Ke Ke kP @@ -16007,35 +16013,35 @@ tq tq tq Ke -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -FI +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +NB bl -FI -MQ -uY +NB +ht +hg BX EK rB @@ -16043,7 +16049,7 @@ rB EK rB BX -Xa +mu yi JS FW @@ -16059,17 +16065,17 @@ JD ua ua ua -jT -cP -Cu -QB -QB -FI +Dj +lL +Ux +id +id +NB os Nc Bb zY -QB +id Ke Ke kP @@ -16082,37 +16088,37 @@ tq "} (30,1,1) = {" tq -QB -Ke -QB -QB -QB -QB -QB -QB -QB -FI -QB -QB -QB -FI -QB -QB -QB -FI -QB -QB -QB -QB -QB -QB -QB -FI +id +Ke +id +id +id +id +id +id +id +NB +id +id +id +NB +id +id +id +NB +id +id +id +id +id +id +id +NB rZ Na -QB -jC -vT +id +ST +Iq BX Ei xZ @@ -16123,7 +16129,7 @@ YZ vE yi yi -cz +ob yi yi BX @@ -16137,17 +16143,17 @@ ET JD ua ua -jT -Ew -Ew -QB -QB -QB +Dj +fD +fD +id +id +id pI aQ LP qc -QB +id Ke Ke kP @@ -16159,13 +16165,13 @@ tq "} (31,1,1) = {" tq -QB +id Ke -QB -QB -QB -QB -QB +id +id +id +id +id rZ VZ DC @@ -16174,7 +16180,7 @@ YH YH DC Ph -CL +xv Ph NV YH @@ -16187,7 +16193,7 @@ YH DC wx tE -QB +id vg gI BX @@ -16205,11 +16211,11 @@ ru yi ok ua -jT -jT -jT -jT -jT +Dj +Dj +Dj +Dj +Dj Ly ha JD @@ -16218,14 +16224,14 @@ ua ua Mi xG -QB -QB -QB +id +id +id WQ GX TN bY -QB +id Ke Ke kP @@ -16238,33 +16244,33 @@ tq tq tq Ke -QB -QB -QB -QB +id +id +id +id Ck ys wY -FI -QB -QB -QB -FI +NB +id +id +id +NB Yu Pu kk -Kc -QB -QB -QB -QB -QB -QB -QB -FI +Ze +id +id +id +id +id +id +id +NB ec -QB -QB +id +id vg ly BX @@ -16281,12 +16287,12 @@ HO mB yi Fw -jT -jT -zz -jT -pv -Ew +Dj +Dj +dx +Dj +iV +fD ua BT ha @@ -16296,13 +16302,13 @@ Mi Vo kU kU -QB -QB -QB -QB +id +id +id +id pI zg -QB +id Ke Ke Ke @@ -16316,31 +16322,31 @@ tq tq Ke Ke -QB -QB -QB +id +id +id DG uE -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id ql gK Yy -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id hW xH Wv @@ -16358,13 +16364,13 @@ Rk Md yi Fw -jT -jT -jT +Dj +Dj +Dj ua ua -Ew -Cu +fD +Ux ua oc ha @@ -16374,13 +16380,13 @@ kU kU kU jp -QB -QB -QB -QB +id +id +id +id QA vY -QB +id Ke Ke Ke @@ -16393,34 +16399,34 @@ tq tq tq Ke -QB -QB -QB +id +id +id pS -QB -QB -QB -QB +id +id +id +id BM Bc WH -Ln -Ib -fv -tB +YK +FV +aa +KY WH Bc Bc -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id ZC OJ -QB +id BX fe ea @@ -16439,10 +16445,10 @@ AQ AQ ua ua -jT -cP -Cu -Cu +Dj +lL +Ux +Ux ua oc EM @@ -16452,14 +16458,14 @@ GJ kU ua UK -QB -QB -QB +id +id +id os og -QB -QB -QB +id +id +id Ke Ke tq @@ -16470,13 +16476,13 @@ tq Ke Ke Ke -QB -QB -FI +id +id +NB bl -FI -QB -QB +NB +id +id ty ty ty @@ -16490,14 +16496,14 @@ ty ty ty EU -QB -QB -QB -QB -QB +id +id +id +id +id ZC Ui -QB +id BX BX BX @@ -16508,7 +16514,7 @@ pE pE pE pE -dc +si pE pE pE @@ -16516,10 +16522,10 @@ pE pE AQ AQ -jT -HT -Ew -GV +Dj +OX +fD +sp AQ ua kn @@ -16532,11 +16538,11 @@ ua uN kU as -FI +NB Rp -FI -QB -QB +NB +id +id Ke se tq @@ -16545,14 +16551,14 @@ tq (36,1,1) = {" tq Ke -QB -QB -QB -QB -QB +id +id +id +id +id RL -QB -QB +id +id Bc ty MS @@ -16567,19 +16573,19 @@ dd Qx ty EU -WV -qm +dr +iJ fa Zu Zu jQ JC -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id pE Xc pt @@ -16591,13 +16597,13 @@ KO Yv cE pE -QB -QB -hE -QB +id +id +NC +id cf -QB -QB +id +id Wc Cl kH @@ -16611,9 +16617,9 @@ Vs zV Am Ud -QB -QB -QB +id +id +id Ke Qo tq @@ -16624,12 +16630,12 @@ tq Ke Ke Ke -QB -QB -QB +id +id +id RL -QB -QB +id +id Bc ty qo @@ -16644,8 +16650,8 @@ Ns Mo ty fn -xn -ip +dK +fh Zu Zu lg @@ -16653,10 +16659,10 @@ pG DK uN uN -QB -QB -QB -QB +id +id +id +id pE oT JX @@ -16668,13 +16674,13 @@ Fu rv Wb pE -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id kU Rh EC @@ -16688,9 +16694,9 @@ QV uW xW Ud -QB -QB -QB +id +id +id Ke Qo tq @@ -16701,22 +16707,22 @@ tq tq tq Ke -QB -QB -QB +id +id +id RL -QB -QB +id +id Bc ty -ay +jY ty SZ ty tx Bc ty -MW +yw ty SZ ty @@ -16727,13 +16733,13 @@ PF kt GU fW -QB +id ua -jT -wP -QB -QB -QB +Dj +QY +id +id +id pE Qt YC @@ -16745,18 +16751,18 @@ RV xS yQ pE -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id kU kU Rh -ve -jT +Kf +Dj ua ua ua @@ -16765,9 +16771,9 @@ jQ aT KZ lM -QB -QB -QB +id +id +id Ke Ke tq @@ -16778,12 +16784,12 @@ tq tq tq Ke -QB -QB -QB +id +id +id RL -QB -QB +id +id Bc NX rX @@ -16803,14 +16809,14 @@ ae hQ bj fW -QB -QB -QB -wv -iC -QB -QB -QB +id +id +id +Ur +aJ +id +id +id pE KM zi @@ -16822,19 +16828,19 @@ gi Od uV pE -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id kU ua -jT -ve -jT +Dj +Kf +Dj ua ua nr @@ -16842,10 +16848,10 @@ Vi nk qk Ud -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -16855,12 +16861,12 @@ tq tq tq Ke -QB -QB -QB +id +id +id RL -QB -QB +id +id Bc Bc Bc @@ -16878,16 +16884,16 @@ WH Nn dQ fW -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id pE UC oT @@ -16895,32 +16901,32 @@ Ed Ed uD pE -iL +Gi pE pE pE -QB -QB -QB -fU -QB -QB -QB -QB -QB +id +id +id +WJ +id +id +id +id +id LO ua -Dn -nB -eY +NT +ba +dI ua nr lc bi jO Ud -QB -QB +id +id Ke Ke Ke @@ -16928,16 +16934,16 @@ tq tq "} (41,1,1) = {" -QB -QB +id +id Ke Ke -QB -QB -QB +id +id +id RL -QB -QB +id +id Bc Bc ty @@ -16954,17 +16960,17 @@ ty WH Nn AK -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id pE Rc zu @@ -16974,30 +16980,30 @@ bH pE wF pE -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id LO -ko -ou -gS +OC +CP +Rw ET ET pY HG -FI +NB Rp -FI -QB +NB +id Ke Qo Qo @@ -17005,16 +17011,16 @@ tq tq "} (42,1,1) = {" -QB -QB +id +id Ke -QB -QB -QB -QB +id +id +id +id RL -QB -QB +id +id Bc Bc ty @@ -17031,7 +17037,7 @@ ty WH Nm tR -QB +id pE pE pE @@ -17049,7 +17055,7 @@ GY cG dp pE -wu +pF pE pE pE @@ -17059,22 +17065,22 @@ pE pE pE pE -QB -QB -QB -QB -QB +id +id +id +id +id Fw ua -jT +Dj JZ OQ -mJ +uI kU -QB +id ZV -QB -QB +id +id Ke Qo tq @@ -17085,14 +17091,14 @@ tq tq tq Ke -QB -QB -QB -FI +id +id +id +NB bl -FI -QB -QB +NB +id +id Bc ty Pd @@ -17108,17 +17114,17 @@ ty Bc Nn tR -QB +id pE -Nu -Nu +VH +VH UD IU UD -Nu -YJ -Nu -Nu +VH +FD +VH +VH pE Ix cG @@ -17127,31 +17133,31 @@ GL Wp pE Er -Nu -Nu -Nu +VH +VH +VH UD IU UD -Nu -Nu +VH +VH pE -QB -QB -QB -QB -QB +id +id +id +id +id Fw -ft -ft +Qe +Qe dY aD kU -QB -QB +id +id ZV -QB -QB +id +id Ke Qo tq @@ -17162,14 +17168,14 @@ tq tq tq Ke -QB -QB -QB +id +id +id JA Yp -QB -QB -QB +id +id +id Bc ty Zq @@ -17178,24 +17184,24 @@ SZ tx Bc ty -nw +bC ty SZ ty Bc hS tR -QB +id pE -Nu -aA -aA -zP -aA -aA -aA -aA -aA +VH +nI +nI +uU +nI +nI +nI +nI +nI pE Ix cG @@ -17204,31 +17210,31 @@ cG dp pE Dp -aA -aA -aA -aA -zP -aA -aA -Nu +nI +nI +nI +nI +uU +nI +nI +VH pE -QB -QB -QB -QB -QB +id +id +id +id +id kU ua ua qT aD kU -QB -QB +id +id ZV -QB -QB +id +id Ke Ke Ke @@ -17239,13 +17245,13 @@ tq tq tq Ke -QB -QB +id +id jq Ta El -QB -QB +id +id Zu Zu ty @@ -17262,17 +17268,17 @@ Bc Bc hS oW -QB +id pE -Nu -aA -pB -My -fg -fg -fg -Is -aA +VH +nI +Eh +ir +hu +hu +hu +Ar +nI pE Ix ye @@ -17281,33 +17287,33 @@ nc Ao pE Dp -aA -NG -IM -IM -kq -Is -aA -Nu +nI +UF +Wm +Wm +PY +Ar +nI +VH pE -QB -QB -QB -QB -QB +id +id +id +id +id kU -aC -Xw -sk -tz -OZ -QB -QB +Ld +tl +BE +QW +KI +id +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -17316,13 +17322,13 @@ tq tq tq Ke -QB -QB +id +id DG IY -QB -QB -QB +id +id +id wh Zu Zu @@ -17339,17 +17345,17 @@ qa Aq WC Mu -QB +id pE -Nu -aA -aA -bO -aA -aA -aA -aA -aA +VH +nI +nI +KB +nI +nI +nI +nI +nI pE gC ag @@ -17358,33 +17364,33 @@ ag lD pE xV -Sh -aA -aA -aA -bO -aA -aA -Nu +zf +nI +nI +nI +KB +nI +nI +VH pE -QB -QB -QB -QB -QB -QB -gZ +id +id +id +id +id +id +JK kU qT -Wl +TG kU -QB +id kU ZV kU -QB -QB -QB +id +id +id Ke tq tq @@ -17393,14 +17399,14 @@ tq tq Ke Ke -QB -FI +id +NB bl -FI -QB -QB -lZ -Pk +NB +id +id +az +SM Zu Zu WH @@ -17415,18 +17421,18 @@ Hg Tw vw Mu -QB -QB +id +id pE -Nu -aA -NG -pw -fg -fg -fg -Is -aA +VH +nI +UF +sl +hu +hu +hu +Ar +nI pE da da @@ -17435,33 +17441,33 @@ da da pE PC -aA -NG -IM -IM -mK -Is -aA -Nu +nI +UF +Wm +Wm +Hc +Ar +nI +VH pE -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id fb VX qT aD kX -QB -QB +id +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -17469,14 +17475,14 @@ tq (48,1,1) = {" tq Ke -QB -QB -QB +id +id +id eF -QB -QB -nR -Qr +id +id +As +XB lg ae ae @@ -17493,52 +17499,52 @@ Hg zH Bc Bc -QB +id pE -Nu -aA -aA -bO -aA -aA -aA -aA -aA +VH +nI +nI +KB +nI +nI +nI +nI +nI UD -aA -aA -aA -aA -aA +nI +nI +nI +nI +nI MV -xm -aA -aA -aA -aA -bO -aA -aA -Nu +KE +nI +nI +nI +nI +KB +nI +nI +VH pE -QB -QB -QB -QB -QB +id +id +id +id +id lK lK lK -lv -DL +DZ +lF lK lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -17546,15 +17552,15 @@ tq (49,1,1) = {" tq Ke -QB -QB -QB +id +id +id eF -QB -lZ -Qr -wH -DB +id +az +XB +Kg +iw xU xU xU @@ -17562,47 +17568,47 @@ ls Mh PN Zu -gU -nA +Up +mj Zu Zu KF mh -QB -QB -QB +id +id +id pE UD -aA -aA -bO -aA -aA -aA -aA -aA +nI +nI +KB +nI +nI +nI +nI +nI HR -aA -aA -aA -aA -aA +nI +nI +nI +nI +nI HR -xm -aA -aA -aA -aA -bO -aA -aA +KE +nI +nI +nI +nI +KB +nI +nI UD pE -QB -QB -QB -QB -QB +id +id +id +id +id lK Pj pi @@ -17610,12 +17616,12 @@ vu Cm AE lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -17623,63 +17629,63 @@ tq (50,1,1) = {" tq Ke -QB -QB -QB +id +id +id eF -QB +id wh Pp -CR -gU -Ol +ZS +Up +vz Zu JI JI JI bt JI -Xs -nV -ur +cv +QF +ts Zu hS yL -QB -Ii -QB +id +cC +id pE Rs -zP -zP -Dh -Ih -Ih -Ih -Ih -pc -Pb -Ih -Ih -CK -Ih -Ih -Pb -cl -Ih -Ih -Ih -Ih -Qj -zP -zP +uU +uU +cV +FJ +FJ +FJ +FJ +Rl +rt +FJ +FJ +Bq +FJ +FJ +rt +pM +FJ +FJ +FJ +FJ +Zg +uU +uU yn pE -QB -QB -QB -QB -QB +id +id +id +id +id lK kK fS @@ -17687,12 +17693,12 @@ Kn jG WS lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -17701,20 +17707,20 @@ tq tq Ke Ke -QB -QB +id +id eF -QB +id fa Nn tL Zu -fv -io +aa +Ut ty ty ty -ed +Ww ty ty ty @@ -17722,41 +17728,41 @@ ty Zu EP ps -QB -QB -QB +id +id +id pE UD -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -TQ -iX -tF -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +zv +kw +oR +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI UD pE -QB -QB -QB -QB -QB +id +id +id +id +id lK ho lK @@ -17764,12 +17770,12 @@ Vl BU lK lK -FI +NB Rp -FI -QB -QB -QB +NB +id +id +id Ke tq tq @@ -17778,16 +17784,16 @@ tq tq tq Ke -QB -QB +id +id eF -QB +id Zu Zy nm Zu -fv -Hy +aa +Mx Aw Jk mn @@ -17799,41 +17805,41 @@ Aw Bc hS Pg -QB -QB -QB +id +id +id pE -Nu -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -aA -aA -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA -Nu +VH +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +nI +nI +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI +VH pE -QB -QB -QB -QB -QB +id +id +id +id +id lK Lz lK @@ -17841,12 +17847,12 @@ xA Ju YB lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -17855,16 +17861,16 @@ tq tq tq Ke -QB -QB +id +id eF -QB +id Zu Nn tL Zu -JT -Si +wV +oF ty gO ty @@ -17876,41 +17882,41 @@ ty Bc EP FM -QB -QB -QB +id +id +id pE -Nu -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -aA -aA -aA -aA -aA -Nu -aA -aA -aA -FA -xm -aA -aA -Nu +VH +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +nI +nI +nI +nI +nI +VH +nI +nI +nI +IK +KE +nI +nI +VH pE -QB -QB -QB -QB -QB +id +id +id +id +id lK mv lK @@ -17918,13 +17924,13 @@ fF HS fI lK -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} @@ -17932,16 +17938,16 @@ tq tq tq Ke -QB -FI +id +NB bl -FI +NB QI Au nm Zu -fv -Hy +aa +Mx ty ty ty @@ -17953,37 +17959,37 @@ ty Bc hS bn -QB -QB -QB +id +id +id pE -Nu -aA -aA -yW -MF -Nu -Nu -Nu -ww -Nu -Nu -Nu -Nu -Nu -Nu -Nu -ww -Nu -Nu -Nu -rE -GH -aA -aA -Nu +VH +nI +nI +Sj +ig +VH +VH +VH +BG +VH +VH +VH +VH +VH +VH +VH +BG +VH +VH +VH +Rb +Wo +nI +nI +VH pE -QB +id lK lK lK @@ -17991,33 +17997,33 @@ lK lK FB lK -vy +vr lK lK lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke Ke tq "} (55,1,1) = {" tq -QB +id Ke -QB -QB +id +id wp Rj NI GE HL Zu -fv +aa Ms Aw Jk @@ -18031,36 +18037,36 @@ Bc EP FM AN -QB -QB +id +id pE -Nu -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA -Nu +VH +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI +VH pE -QB +id lK nJ KL @@ -18070,13 +18076,13 @@ Om uJ nh lK -RN +SE lK -QB +id ZV -QB -QB -QB +id +id +id Ke Ke tq @@ -18084,17 +18090,17 @@ tq "} (56,1,1) = {" tq -QB +id Ke Ke -QB +id BS yr TM zR pN Zu -fv +aa Ms ty gO @@ -18108,36 +18114,36 @@ Bc hS bn cj -QB -QB +id +id pE -Nu -aA -aA -qj -IV -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -MO -wU -aA -aA -Nu +VH +nI +nI +ZO +Bx +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +Qh +ri +nI +nI +VH pE -QB +id lK qf oy @@ -18147,24 +18153,24 @@ mP RD MA lK -xr +jS lK -QB +id ZV -QB -QB -QB +id +id +id Ke Qo tq tq "} (57,1,1) = {" -QB -QB +id +id tq Ke -QB +id wp GQ KX @@ -18184,53 +18190,53 @@ ty Bc EP FM -QB -QB -QB +id +id +id pE UD -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI UD pE -QB +id lK Zk ze -km +Xt lK eW nd pj -na +KK rk lK -QB +id ZV -QB -QB -QB +id +id +id Ke Qo tq @@ -18241,9 +18247,9 @@ tq tq tq Ke -FI +NB bl -FI +NB LB tA kZ @@ -18261,37 +18267,37 @@ Aw Bc hS bn -QB -QB -QB +id +id +id pE Rs -zP -HR -qU -aA -aA -aA -aA -Nu -Nu -Nu -Nu -Gq -Nu -Nu -Nu -Nu -aA -aA -aA -aA -qU -HR -zP +uU +pT +zK +nI +nI +nI +nI +VH +VH +VH +VH +Vn +VH +VH +VH +VH +nI +nI +nI +nI +zK +pT +uU yn pE -QB +id lK PI RE @@ -18303,11 +18309,11 @@ Ex Tt fJ lK -QB +id ZV -QB -QB -QB +id +id +id Ke Qo tq @@ -18318,9 +18324,9 @@ tq tq tq Ke -QB +id RL -QB +id WH Nn BW @@ -18338,39 +18344,39 @@ ty Bc EP FM -QB -QB -QB +id +id +id pE UD -aA -aA -qU -aA -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA +nI +nI +zK +nI +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI UD pE -QB +id lK -JQ +Ov Rr LM lK @@ -18380,11 +18386,11 @@ EZ Ym oK lK -QB +id ZV -QB -QB -QB +id +id +id Ke Qo tq @@ -18395,9 +18401,9 @@ tq tq tq Ke -QB +id RL -QB +id WH Zy kZ @@ -18415,53 +18421,53 @@ ty Bc hS yL -QB -QB -QB +id +id +id pE -Nu -aA -aA -yW -IV -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -MO -GH -aA -aA -Nu +VH +nI +nI +Sj +Bx +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +Qh +Wo +nI +nI +VH pE -QB +id lK mE CX cw Pl -gM +Yi GF zC Ym zk lK -QB +id ZV -QB -QB -QB +id +id +id Ke Ke tq @@ -18472,9 +18478,9 @@ tq tq tq Ke -QB +id RL -QB +id WH Nn Fz @@ -18482,7 +18488,7 @@ Bc Bc ty VI -Oe +fP bg Pa bV @@ -18492,37 +18498,37 @@ Aw Bc EP ps -QB -QB -QB +id +id +id pE -Nu -aA -aA -xm -FA -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA -Nu +VH +nI +nI +KE +IK +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI +VH pE -QB +id lK co Sn @@ -18534,12 +18540,12 @@ pf ZD Cr lK -FI +NB Rp -FI -QB -QB -QB +NB +id +id +id Ke tq tq @@ -18549,9 +18555,9 @@ tq tq tq Ke -QB +id RL -QB +id WH HA qb @@ -18559,7 +18565,7 @@ Ey Bc ty ky -Sm +ew ty Pa WG @@ -18569,37 +18575,37 @@ ty Bc hS ZY -QB -QB -QB +id +id +id pE -Nu -aA -aA -qj -MF -Nu -Nu -Nu -ww -Nu -Nu -Nu -Nu -Nu -Nu -Nu -ww -Nu -Nu -Nu -rE -wU -aA -aA -Nu +VH +nI +nI +ZO +ig +VH +VH +VH +BG +VH +VH +VH +VH +VH +VH +VH +BG +VH +VH +VH +Rb +ri +nI +nI +VH pE -QB +id lK xC ei @@ -18611,24 +18617,24 @@ rI OS kp lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke Ke tq "} (63,1,1) = {" tq -QB +id Ke Ke -QB +id RL -QB +id Bc Bc TO @@ -18638,7 +18644,7 @@ ty ty ty ty -Xn +en ty ty ty @@ -18646,37 +18652,37 @@ ty Bc CV Mu -QB -QB -QB +id +id +id pE -Nu -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -aA -aA -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA -Nu +VH +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +nI +nI +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI +VH pE -QB +id lK FX LN @@ -18688,13 +18694,13 @@ lK Bk lK lK -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} @@ -18702,11 +18708,11 @@ tq tq tq Ke -QB -QB +id +id RL -QB -QB +id +id Bc Bc af @@ -18716,44 +18722,44 @@ Bc Bc WH xL -qN -EF -EF +Vb +Bi +Bi uv Bc jt -QB -QB -QB -QB +id +id +id +id pE -Nu -aA -aA -xm -aA -aA -aA -aA -Nu -aA -aA -aA -aA -aA -aA -aA -Nu -aA -aA -aA -aA -xm -aA -aA -Nu +VH +nI +nI +KE +nI +nI +nI +nI +VH +nI +nI +nI +nI +nI +nI +nI +VH +nI +nI +nI +nI +KE +nI +nI +VH pE -QB +id lK dP pL @@ -18765,13 +18771,13 @@ lK Lw zb lK -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} @@ -18779,12 +18785,12 @@ tq tq tq Ke -QB -QB +id +id RL -QB -QB -QB +id +id +id in Ic aZ @@ -18799,38 +18805,38 @@ WH WH lg aL -QB -QB -QB -QB +id +id +id +id pE UD -aA -aA -xm -aA -aA -aA -aA -Nu -aA -nK -aA -aA -aA -nK -aA -Nu -aA -aA -aA -aA -xm -aA -aA +nI +nI +KE +nI +nI +nI +nI +VH +nI +eu +nI +nI +nI +eu +nI +VH +nI +nI +nI +nI +KE +nI +nI UD pE -QB +id lK dP uc @@ -18838,17 +18844,17 @@ dP kE xw lK -YV +UL Lw WK lK -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} @@ -18856,11 +18862,11 @@ tq tq tq Ke -QB -QB +id +id RL -QB -QB +id +id Bc JP bV @@ -18876,56 +18882,56 @@ gF gF fX Sd -QB -QB -QB -QB +id +id +id +id pE Rs -zP -zP -op -Ih -Ih -Ih -Ih -Ih -Ih -Qg -Ih -Pb -Ih -HC -Ih -Ih -Ih -Ih -Ih -Ih -CB -zP -zP +uU +uU +UP +FJ +FJ +FJ +FJ +FJ +FJ +vd +FJ +rt +FJ +SR +FJ +FJ +FJ +FJ +FJ +FJ +GP +uU +uU yn pE -QB +id lK dP Lw dP -Wy +lU xw lK Dx Lw Su lK -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} @@ -18933,11 +18939,11 @@ tq tq tq Ke -QB -FI +id +NB bl -FI -QB +NB +id Bc iA gN @@ -18952,39 +18958,39 @@ Tw Tw Vj WP -QB -QB -QB -QB -QB +id +id +id +id +id pE UD -aA -aA -zP -aA -aA -aA -aA -aA -aA -aA -aA -HR -aA -aA -aA -aA -aA -aA -aA -aA -zP -aA -aA +nI +nI +uU +nI +nI +nI +nI +nI +nI +nI +nI +pT +nI +nI +nI +nI +nI +nI +nI +nI +uU +nI +nI UD pE -QB +id lK fy ga @@ -18992,16 +18998,16 @@ fy gm TR lK -uX +PZ QQ pC lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -19010,11 +19016,11 @@ tq tq Ke Ke -QB +id kU fo -QB -QB +id +id Bc DT Vt @@ -19023,45 +19029,45 @@ Zu Zu Zu FP -fv -xM -jr -jr +aa +nG +VG +VG Zu bN -QB -QB -QB -QB -QB +id +id +id +id +id pE -Nu -aA -aA -zP -aA -aA -aA -aA -aA -aA -aA -aA -zP -aA -aA -aA -aA -aA -aA -aA -aA -zP -aA -aA -Nu +VH +nI +nI +uU +nI +nI +nI +nI +nI +nI +nI +nI +uU +nI +nI +nI +nI +nI +nI +nI +nI +uU +nI +nI +VH pE -QB +id lK lK lK @@ -19073,12 +19079,12 @@ lK lK lK lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -19086,108 +19092,108 @@ tq (69,1,1) = {" Ke Ke -QB +id yg wg pH -QB -QB +id +id Bc Bc Vr VR Zu -fv -fv -Ol +aa +aa +vz yh -fv -fv -fv +aa +aa +aa Zu Zu IP -QB -QB -QB -QB +id +id +id +id pE -Nu -Nu +VH +VH UD ll UD -Nu -Nu -Nu -Nu -Nu -Nu +VH +VH +VH +VH +VH +VH UD ll UD -Nu -Nu -Nu -Nu -Nu -Nu +VH +VH +VH +VH +VH +VH UD ll UD -Nu -Nu +VH +VH pE -QB +id lK sv cK -vX -eo -Gv -Ae -OK -Kr +SJ +Rq +ya +Mm +oY +Jr GR lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq "} (70,1,1) = {" Ke -QB -QB +id +id xx kU -QB -QB +id +id Bc Bc Bc ZR ps -fv +aa Zu Zu -NN +Kb yh Zu Zu Zu -NN +Kb xJ Zu -sI -QB -QB -QB +oH +id +id +id pE XF pE @@ -19215,7 +19221,7 @@ pE pE pE pE -QB +id lK Xf HF @@ -19225,24 +19231,24 @@ RG sh Lk BH -et +JJ lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq "} (71,1,1) = {" Ke -QB -FI +id +NB gD -aY +Yj ty ty ty @@ -19250,74 +19256,74 @@ ty ph TW ps -jr +VG Zu Zu -qg -SH +vD +cZ Zu Zu Zu -Pv -SH +lH +cZ wM -Qc -Ky -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +lx +Ql +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id lK PT Td -MJ +ih mp -kr +TK YX Ty NP -aU +VU lK -FI +NB Rp -FI -QB -QB -QB +NB +id +id +id Ke tq tq "} (72,1,1) = {" Ke -QB -QB +id +id ZV ty yH @@ -19327,49 +19333,49 @@ PB ZE Bo ps -gU -VA +Up +Nx Zu -xa +jx Zu Zu FP Zu -Uf +Mq Zu Zu -Ol -nA -RZ -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +vz +mj +VT +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id lK nl Vq @@ -19381,20 +19387,20 @@ oA oS TH lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq "} (73,1,1) = {" Ke -QB -QB +id +id ZV ty Iv @@ -19404,13 +19410,13 @@ lu Bc Jl XR -jr -xM +VG +nG Zu Zu fa -VA -nA +Nx +mj Zu Zu fa @@ -19422,30 +19428,30 @@ ty ty yh wr -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id lK lK VJ @@ -19458,20 +19464,20 @@ yd VS Oq lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq "} (74,1,1) = {" Ke -QB -QB +id +id ZV ty FS @@ -19481,13 +19487,13 @@ lu Bc hS RK -Ol +vz Zu Zu -Ol -Be -gU -jr +vz +Rf +Up +VG fa fa fa @@ -19499,48 +19505,48 @@ PM ty ty jK -AD -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +bx +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id lK Fq sc GZ -EO +Hm tg AL GO -mU +AV NZ sJ lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -19548,7 +19554,7 @@ tq (75,1,1) = {" Ke Ke -QB +id ZV ty gJ @@ -19558,48 +19564,48 @@ eP du zM yh -Ol +vz Zu -NN +Kb Zu Zu fa -fv -NN +aa +Kb Zu Zu -fv -fv +aa +aa Ft pq Gf AI ty -vZ -Mk -QB -QB -QB -QB -QB -QB +qC +YL +id +id +id +id +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id Qo Qo Qo -QB +id lK qR Cp @@ -19612,20 +19618,20 @@ DX gw ne lK -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} (76,1,1) = {" tq Ke -QB +id ZV ty ty @@ -19635,66 +19641,66 @@ ty Gn Zu jy -Ol +vz Zu -er -SH +hA +cZ fa fa -Ol -oV -SH +vz +RP +cZ Zu -fv -fv +aa +aa Ft pq pq vI ty -sf -Mk -QB -QB -QB -QB -QB +qu +YL +id +id +id +id +id Qo -QB +id Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id Qo Qo Qo -QB -QB +id +id lK ul NH xO KR -nO +ry KR KR Wj XD lK lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -19702,27 +19708,27 @@ tq (77,1,1) = {" tq Ke -FI +NB Rp -FI -QB +NB +id Bc WH WH WH wO -fv -fv +aa +aa Zu -Uf +Mq Zu fa -fv -Tu -Uf +aa +PS +Mq Zu Zu -Bz +sW EL ty sN @@ -19731,47 +19737,47 @@ pq zS Eg fK -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id Qo Qo -QB +id lK lK -BP -BP -BP +JO +JO +JO lK -Yo -Yo -Yo +Dy +Dy +Dy lK lK lK -QB +id ZV -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -19779,27 +19785,27 @@ tq (78,1,1) = {" tq Ke -QB +id nj la -QB +id Bc WH WH hy Zu -fv -aP +aa +He Zu -Ol -Ol -Ol +vz +vz +vz Zu -sF -Ol +fk +vz Zu -Ol -AD +vz +bx yh Gw pq @@ -19807,31 +19813,31 @@ Gf ty ty AG -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id lK Lw Lw @@ -19841,13 +19847,13 @@ Lw Lw Lw lK -QB -QB -QB +id +id +id ZV -QB -QB -QB +id +id +id Ke Ke tq @@ -19859,56 +19865,56 @@ Ke Ke HP cL -QB +id Bc WH WH Tz Zu -gU -nA -Ol +Up +mj +vz Zu Zu -Ol -Ol -QT +vz +vz +WE Zu fa yh yh yh ty -ke +vh IQ ty -rh -gU -QB -QB -QB -QB +Kj +Up +id +id +id +id Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id lK pe pl @@ -19918,13 +19924,13 @@ pe Ax rO lK -QB -QB -QB +id +id +id ZV -QB -QB -QB +id +id +id Ke Qo tq @@ -19934,58 +19940,58 @@ tq tq tq Ke -QB +id ZV -QB +id Bc Bc WH Zu Zu -fv -VA -VA -Qc +aa +Nx +Nx +lx bb Zu -Ol -fv +vz +aa fa fa -VA -fv +Nx +aa yh ty un TT ty -oN -UR -QB -QB +PL +ca +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id lK Lw Lw @@ -19995,13 +20001,13 @@ Lw Lw Lw lK -QB -QB -FI +id +id +NB Rp -FI -QB -QB +NB +id +id Ke Qo tq @@ -20013,56 +20019,56 @@ tq Ke Ke ZV -QB +id Bc Bc Bc Zu Zu JI -jg +ZU xz -Ro -Ol -Ol +Yh +vz +vz yh fa -fv +aa rY fa -fv -Mk +aa +YL ty un bk ty -To -Qc -QB -QB +gR +lx +id +id Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id lK lK lK @@ -20073,12 +20079,12 @@ lK lK lK lK -QB -QB +id +id ZV -QB -QB -QB +id +id +id Ke Ke tq @@ -20090,8 +20096,8 @@ tq tq Ke ZV -QB -QB +id +id Bc WH WH @@ -20099,64 +20105,64 @@ bN ty ty ty -VF +Op ty -QD +iW KC KC Ik Ik Ik -gU -AM +Up +cI ty un IX ty Mg WH -QB -QB +id +id Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Qo Qo Qo Qo -QB -QB -QB -QB -QB +id +id +id +id +id cW Fc -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -20167,8 +20173,8 @@ tq Ke Ke ZV -QB -QB +id +id WH WH WH @@ -20178,7 +20184,7 @@ ai Vm gH rD -AD +bx yh Zu Zu @@ -20192,49 +20198,49 @@ Fg ty CU WH -QB -QB +id +id Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Qo Qo bv Qo Qo -QB -QB -QB -QB -QB +id +id +id +id +id VV OL -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq "} @@ -20242,10 +20248,10 @@ tq tq tq Ke -QB +id ZV -QB -QB +id +id Ek WH Zu @@ -20268,49 +20274,49 @@ ty ty ty CU -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id EI Qo cH Qo Qo Qo -QB -QB -QB -QB +id +id +id +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke Ke tq @@ -20319,11 +20325,11 @@ tq tq tq Ke -QB +id ZV -QB -QB -QB +id +id +id fn Zu Ms @@ -20334,10 +20340,10 @@ lV rD yh WO -Xo -gQ -gQ -Xo +zA +zL +zL +zA Zu fa fa @@ -20345,64 +20351,64 @@ NM qs We zX -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id IB -GA +NE IB IB Qo Qo Qo Qo -QB +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq "} (86,1,1) = {" tq -QB +id Ke -QB +id ZV -QB -QB -QB -jR -fv +id +id +id +hv +aa Ms ty sM @@ -20411,75 +20417,75 @@ Jv rD yh Zu -Ol -Qc -Qc +vz +lx +lx fs Zu fa tv -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id Qo Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Cg sV dg IB Qo -QB -QB -QB -QB +id +id +id +id ZV -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq "} (87,1,1) = {" tq -QB +id Ke -QB +id ZV -QB -QB -QB -QB -hF +id +id +id +id +Ny Ms ty ty @@ -20488,60 +20494,60 @@ ty ty xB Zu -QT -Qc +WE +lx Zu Zu -Qc +lx Jx -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id lh TI lh -QB -QB -QB -QB -QB -FI +id +id +id +id +id +NB Rp -FI -QB -QB -QB -QB +NB +id +id +id +id Ke tq tq @@ -20550,12 +20556,12 @@ tq tq tq Ke -FI +NB Rp -FI -QB -QB -QB +NB +id +id +id UJ fa Zu @@ -20568,57 +20574,57 @@ KC KC KC WO -Xo -za -QB -QB -QB -QB -QB -QB +zA +Ba +id +id +id +id +id +id Qo Qo -QB -QB -QB -QB +id +id +id +id Qo -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id Qo -QB -QB -QB +id +id +id kU -QB -QB -FI +id +id +NB kU kU -QB -QB -Zx +id +id +kM ES hl zc -Zx -QB -QB -QB -FI +kM +id +id +id +NB kU Ox -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq @@ -20627,51 +20633,51 @@ tq tq tq Ke -QB +id eB kU -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id yh yh JI JI -cr -sd -QB -QB -QB -QB -QB -QB +cT +Gh +id +id +id +id +id +id Qo Qo -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id Qo -QB -QB -QB +id +id +id yg Bw Ti @@ -20682,7 +20688,7 @@ od od Zp eH -jI +Sv eH Zp od @@ -20691,11 +20697,11 @@ od my MX pH -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq @@ -20704,75 +20710,75 @@ tq tq Ke Ke -QB +id Ci Iu HW -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Qo Qo -QB -QB -QB +id +id +id mq bM kU -FI -QB -QB -QB -QB -Zx +NB +id +id +id +id +kM vm ij Jy -Zx -QB -QB -QB -FI -QB -QB -QB -QB -QB -QB -QB +kM +id +id +id +NB +id +id +id +id +id +id +id Ke Ke tq @@ -20780,77 +20786,77 @@ tq (91,1,1) = {" tq Ke -QB -QB -QB +id +id +id kU oa kU -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Qo Qo -QB -QB -QB -QB +id +id +id +id xx kU kU -QB -QB -QB -QB -Zx +id +id +id +id +kM Te ev YU Tx -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id Ke tq "} @@ -20860,57 +20866,57 @@ Ke Ke Ke Ke -QB +id Ci Iu HW -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id ZV kU kU -QB -QB -QB -QB -QB +id +id +id +id +id rj qK GD @@ -20921,73 +20927,73 @@ IB IB IB IB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id Ke Ke tq "} (93,1,1) = {" tq -QB -QB +id +id tq Ke Ke -QB +id kU oa kU -FI -QB -QB -QB -QB -FI -QB -QB -QB -Oy -QB -QB -QB -QB -QB -QB -FI -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +NB +id +id +id +id +NB +id +id +id +LQ +id +id +id +id +id +id +NB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id ZV kU kU -QB -QB -QB -QB -Zx +id +id +id +id +kM wB qK Uk @@ -20995,28 +21001,28 @@ Mj IB Ez Ma -ym +jk gP IB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id Ke tq tq "} (94,1,1) = {" tq -QB +id tq tq tq Ke Ke -QB +id Ci CC my @@ -21026,7 +21032,7 @@ od od my EG -SF +Th EG my od @@ -21038,48 +21044,48 @@ od my WW HW -QB -QB -QB -QB -FI -QB -QB -QB -QB -QB -QB -FI -QB -QB -QB -QB -QB -FI +id +id +id +id +NB +id +id +id +id +id +id +NB +id +id +id +id +id +NB kU Ox kU -QB -QB -QB -QB -QB -QB -Zx -QB +id +id +id +id +id +id +kM +id IB -WU +HN IB OO SW qy pp IB -QB -QB -QB -QB -QB +id +id +id +id +id Ke Ke tq @@ -21087,32 +21093,32 @@ tq "} (95,1,1) = {" tq -QB +id tq tq tq tq Ke Ke -QB -QB -FI -QB -QB -QB -QB -FI +id +id +NB +id +id +id +id +NB Xk GM ox -FI -QB -QB -QB -QB -QB -QB -FI +NB +id +id +id +id +id +id +NB kU qQ od @@ -21135,15 +21141,15 @@ od my MX pH -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id IB Zv nv @@ -21152,11 +21158,11 @@ Xl KW DH IB -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq @@ -21164,55 +21170,55 @@ tq "} (96,1,1) = {" tq -QB +id tq tq tq tq tq Ke -QB -QB -QB -QB -QB -FI -QB +id +id +id +id +id +NB +id Zc Ig xg vk Zc -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -FI -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +NB +id +id +id +id +id kU -FI -QB -QB -QB -QB -QB -FI +NB +id +id +id +id +id +NB kU -QB -QB +id +id lr lr lr @@ -21229,10 +21235,10 @@ jl wt mi IB -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -21241,18 +21247,18 @@ tq "} (97,1,1) = {" tq -QB +id tq tq tq tq tq Ke -QB -QB -QB -QB -FI +id +id +id +id +NB qq ZW GG @@ -21267,29 +21273,29 @@ lk VQ cQ cQ -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id lr vW hz @@ -21306,10 +21312,10 @@ JY Xv if IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -21323,18 +21329,18 @@ tq tq tq tq -QB +id Ke -QB -QB -QB -QB -QB +id +id +id +id +id FL nu If If -Nk +Hi WB DE DE @@ -21344,29 +21350,29 @@ DE aK DE cQ -FI -QB -QB -QB +NB +id +id +id mx -QB -Oy +id +LQ ws ws ws -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id lr rK oE @@ -21380,13 +21386,13 @@ jV RU IE cb -lQ +Nd Me IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -21400,13 +21406,13 @@ tq tq tq tq -QB +id Ke Ke Ke Ke -QB -QB +id +id FL xe GW @@ -21432,18 +21438,18 @@ cS cS yA EJ -FI +NB Zc Zc Zc Zc Zc Zc -QB -QB -QB -QB -QB +id +id +id +id +id lr vW hz @@ -21455,15 +21461,15 @@ bu IB Ef lp -Zh +oz Tv nS pp IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -21476,14 +21482,14 @@ tq tq tq tq -QB -QB -QB +id +id +id tq tq Ke -QB -QB +id +id FL wq Fa @@ -21513,14 +21519,14 @@ ZX Zc Sk bX -DV +Ya xk Zc -QB -QB -QB -QB -QB +id +id +id +id +id lr lr lr @@ -21537,10 +21543,10 @@ Un sG sG IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -21551,16 +21557,16 @@ tq tq tq tq -QB -QB -QB -QB -QB +id +id +id +id +id tq Ke Ke -QB -QB +id +id FL wq yC @@ -21593,15 +21599,15 @@ dq rQ Dr Zc -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id IB gs sA @@ -21614,13 +21620,13 @@ OT uO IH IB -QB -QB -QB -QB +id +id +id +id Ke Ke -QB +id tq tq "} @@ -21629,15 +21635,15 @@ tq tq tq tq -QB -QB +id +id tq tq tq Ke -QB -QB -QB +id +id +id FL wq yC @@ -21662,23 +21668,23 @@ Ss Ss BB wq -Wg +Ve ZX Zc UM bX -aR +mD XZ Zc -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id IB Oa IB @@ -21687,15 +21693,15 @@ IB IB SK hJ -BI -tQ +ao +Xh Ul IB -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq @@ -21705,16 +21711,16 @@ tq tq tq tq -QB -QB -QB +id +id +id tq tq tq Ke -QB -QB -QB +id +id +id FL PJ yC @@ -21739,7 +21745,7 @@ Ss Ss BB MG -Ay +HE cQ Zc Zc @@ -21747,32 +21753,32 @@ Zc Zc Zc Zc -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id IB -kx -no -lj -em +pU +kv +Kq +rn IB IB IB -nM +sZ IB IB IB -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq @@ -21781,8 +21787,8 @@ tq (104,1,1) = {" tq tq -QB -QB +id +id tq tq tq @@ -21790,8 +21796,8 @@ tq tq Ke Ke -QB -FI +id +NB mQ Qi yC @@ -21816,27 +21822,27 @@ Ss Ss BB Qi -rs +MD DE -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id IB -kx +pU FZ -lj +Kq IC IB lw @@ -21845,11 +21851,11 @@ rN CN vU IB -QB -QB -QB -QB -QB +id +id +id +id +id Ke tq tq @@ -21858,7 +21864,7 @@ tq (105,1,1) = {" tq tq -QB +id tq tq tq @@ -21867,8 +21873,8 @@ tq tq tq Ke -QB -QB +id +id FL Qi yC @@ -21895,21 +21901,21 @@ BB Qi DE DE -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id IB nE ol @@ -21922,10 +21928,10 @@ OB pk tM IB -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -21944,8 +21950,8 @@ tq tq tq Ke -QB -QB +id +id FL kY yC @@ -21971,22 +21977,22 @@ Ss BB Qi DE -mW -FI +Ll +NB aH kU kU kU MB -FI +NB Ko uN -NR -NR +CJ +CJ uN eX -FI -QB +NB +id IB db UA @@ -21999,10 +22005,10 @@ dw cu tM IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -22021,7 +22027,7 @@ tq tq tq Ke -QB +id ZA TE Qi @@ -22058,8 +22064,8 @@ JV JV DM Bf -ap -ap +nn +nn Bf Yk zt @@ -22076,10 +22082,10 @@ dw Ki YO IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -22096,10 +22102,10 @@ tq tq tq tq -QB +id Ke -QB -QB +id +id FL Qi yC @@ -22153,10 +22159,10 @@ zn Dz tM IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -22171,12 +22177,12 @@ tq tq tq tq -QB -QB -QB +id +id +id Ke Ke -QB +id FL Qi yC @@ -22216,10 +22222,10 @@ Se XJ XJ XJ -YG +zs OV Mc -jd +CT kS ch mz @@ -22230,10 +22236,10 @@ Hn kR vO IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -22248,12 +22254,12 @@ tq tq tq tq -QB -QB -QB +id +id +id tq Ke -FI +NB WR Co yC @@ -22279,22 +22285,22 @@ Ss BB Qi an -kI -FI +Zj +NB BV -QB -QB -QB -QB -FI +id +id +id +id +NB WX np AA np nr MB -FI -QB +NB +id IB IB IB @@ -22307,10 +22313,10 @@ IB IB IB IB -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -22330,8 +22336,8 @@ tq tq tq Ke -QB -QB +id +id oU yC Ss @@ -22357,37 +22363,37 @@ BB Qi DE sS -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke Ke @@ -22407,8 +22413,8 @@ tq tq tq Ke -QB -QB +id +id Zs mk Ss @@ -22434,59 +22440,59 @@ BB Qi Yg sS -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -Ke -Ke -Ke -Ke -Ke -QB -QB -QB -QB -QB -QB -QB -Ke -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +Ke +Ke +Ke +Ke +Ke +id +id +id +id +id +id +id +Ke +id tq "} (113,1,1) = {" tq tq tq -QB -QB +id +id tq tq tq tq tq -QB +id Ke -QB -QB -FI +id +id +NB hb Ss Ss @@ -22511,38 +22517,38 @@ BB eA DW uw -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq tq tq Ke -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id Ke Ke tq @@ -22551,19 +22557,19 @@ tq (114,1,1) = {" tq tq -QB -QB -QB -QB +id +id +id +id tq tq tq tq -QB +id Ke -QB -QB -QB +id +id +id OR Ss Ss @@ -22587,26 +22593,26 @@ Ss iv Wu of -FI -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB -QB +NB +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id +id Ke Ke tq @@ -22615,10 +22621,10 @@ tq tq Ke Ke -QB -QB -QB -QB +id +id +id +id Ke Ke tq @@ -22627,12 +22633,12 @@ tq "} (115,1,1) = {" tq -QB -QB -QB -QB -QB -QB +id +id +id +id +id +id tq tq tq @@ -22640,41 +22646,41 @@ tq Ke Ke Ke -QB -ki -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -uk -xF -QB -QB -QB -QB +id +Qq +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +SS +QO +id +id +id +id Ke Ke Ke Ke Ke -QB -QB -QB -QB +id +id +id +id Ke Ke Ke @@ -22682,7 +22688,7 @@ Ke Ke Ke Ke -QB +id Ke Ke tq @@ -22692,10 +22698,10 @@ tq tq tq Ke -QB -QB -QB -QB +id +id +id +id Ke tq tq @@ -22704,11 +22710,11 @@ tq "} (116,1,1) = {" tq -QB -QB -QB -QB -QB +id +id +id +id +id tq tq tq @@ -22739,7 +22745,7 @@ kU kU kU hK -QB +id Ke Ke Ke @@ -22767,11 +22773,11 @@ tq tq tq tq -QB +id Ke -QB -QB -QB +id +id +id Ke Ke tq @@ -22783,7 +22789,7 @@ tq tq tq tq -QB +id tq tq tq @@ -22795,40 +22801,40 @@ tq tq tq Ke -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn -hn +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk +Hk Ke Ke tq tq tq tq -QB -QB -QB -QB +id +id +id +id tq -QB -QB +id +id tq tq tq @@ -22848,7 +22854,7 @@ tq Ke Ke Ke -QB +id Ke tq tq @@ -22899,12 +22905,12 @@ tq tq tq tq -QB -QB -QB +id +id +id tq tq -QB +id tq tq tq diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm index ab0f27805174..5b3bedb82a7d 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm @@ -18,6 +18,16 @@ "au" = ( /turf/closed/wall, /area/ruin/wasteplanet/abandoned_mechbay) +"aw" = ( +/obj/machinery/camera/autoname{ + dir = 8; + network = list("cricket") + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/overmap_encounter/planetoid/cave/explored) "aE" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -38,6 +48,13 @@ }, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"aQ" = ( +/obj/structure/railing{ + max_integrity = 70; + dir = 6 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "aX" = ( /turf/closed/wall/concrete/reinforced, /area/ruin/wasteplanet/abandoned_mechbay/commandcontrol) @@ -67,6 +84,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) +"bL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "bP" = ( /obj/effect/turf_decal/industrial/stand_clear/white{ dir = 1 @@ -119,6 +144,11 @@ /obj/structure/curtain, /turf/open/floor/plasteel/patterned/grid, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) +"cq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "cu" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -206,6 +236,13 @@ /obj/machinery/light/broken/directional/north, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) +"dk" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "ds" = ( /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/arrows{ @@ -268,19 +305,15 @@ "dR" = ( /turf/closed/wall/concrete/reinforced, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"dY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "ea" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, /turf/open/floor/plasteel/tech, /area/ruin/wasteplanet/abandoned_mechbay/engineering) +"eb" = ( +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "ec" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/tech/techmaint, @@ -402,12 +435,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"eT" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "eU" = ( /obj/effect/turf_decal/industrial/stand_clear/white, /obj/effect/turf_decal/industrial/warning{ @@ -624,20 +651,11 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/mech_bay_recharge_floor, /area/ruin/wasteplanet/abandoned_mechbay/bay1) -"gp" = ( -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/box, +"gu" = ( +/obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/concrete/slab_1, /area/overmap_encounter/planetoid/cave/explored) -"gv" = ( -/obj/structure/railing/corner{ - max_integrity = 70 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "gy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -658,6 +676,12 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"gE" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "gJ" = ( /turf/closed/wall/concrete, /area/ruin/wasteplanet/abandoned_mechbay/engineering) @@ -785,11 +809,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"hG" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "hN" = ( /obj/machinery/door/poddoor{ id = "baseinternal" @@ -804,6 +823,18 @@ }, /turf/open/floor/concrete/reinforced, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"hU" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ib" = ( +/obj/structure/railing/corner{ + max_integrity = 70 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "ir" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 4 @@ -837,13 +868,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/plasteel/tech, /area/ruin/wasteplanet/abandoned_mechbay/engineering) -"iG" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/camera/autoname, -/turf/open/floor/concrete/slab_4, -/area/ruin/wasteplanet/abandoned_mechbay/mainhall) "iR" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 8 @@ -955,8 +979,8 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"kF" = ( -/obj/effect/mine/shrapnel/human_only, +"kJ" = ( +/obj/structure/flora/rock/pile, /turf/open/floor/plating/asteroid/wasteplanet, /area/overmap_encounter/planetoid/cave/explored) "kU" = ( @@ -1163,9 +1187,13 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"ms" = ( -/turf/closed/mineral/random/asteroid/wasteplanet, -/area/ruin/wasteplanet/abandoned_mechbay) +"mx" = ( +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/wasteplanet/explored) "mE" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/shreds, @@ -1199,15 +1227,6 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"nb" = ( -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) -"nc" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "nd" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1218,13 +1237,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) -"ng" = ( -/obj/structure/railing/corner{ - max_integrity = 70; - dir = 8 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "np" = ( /obj/structure/rack, /obj/item/mecha_ammo/lmg, @@ -1276,12 +1288,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"nS" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "oa" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 8 @@ -1289,6 +1295,12 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) +"ok" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "om" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 8 @@ -1335,6 +1347,9 @@ }, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"oI" = ( +/turf/closed/mineral/random/wasteplanet, +/area/ruin/wasteplanet/abandoned_mechbay) "oL" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 4 @@ -1342,10 +1357,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"oO" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "pa" = ( /obj/structure/rack, /obj/machinery/light/directional/south, @@ -1353,10 +1364,6 @@ /obj/item/shard, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"pd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "po" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/turf_decal/spline/fancy/opaque/grey{ @@ -1381,17 +1388,11 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"pI" = ( -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"pJ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/arrows{ - pixel_y = -8; - dir = 1 - }, +"pG" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/wasteplanet/explored) +/area/overmap_encounter/planetoid/cave/explored) "pT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -1412,6 +1413,16 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"qb" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + max_integrity = 70; + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "qf" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt/dust, @@ -1438,6 +1449,10 @@ /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) +"qJ" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "qN" = ( /obj/machinery/computer/rdconsole{ dir = 1 @@ -1570,8 +1585,11 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"sk" = ( -/turf/closed/mineral/random/asteroid/wasteplanet, +"sj" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, /area/overmap_encounter/planetoid/cave/explored) "ss" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, @@ -1710,6 +1728,9 @@ }, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"tM" = ( +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "tT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -1726,12 +1747,9 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"um" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt/dust, +"tZ" = ( /turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) +/area/overmap_encounter/planetoid/wasteplanet/explored) "un" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 @@ -1820,11 +1838,13 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"va" = ( -/obj/structure/railing{ - max_integrity = 70 +"uT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/turf/open/floor/plating/asteroid/wasteplanet, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/concrete/slab_1, /area/overmap_encounter/planetoid/cave/explored) "vd" = ( /turf/template_noop, @@ -2035,6 +2055,9 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) +"xz" = ( +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) "xD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -2106,6 +2129,13 @@ /obj/machinery/power/smes, /turf/open/floor/plasteel/tech/grid, /area/ruin/wasteplanet/abandoned_mechbay/engineering) +"yy" = ( +/obj/structure/railing{ + max_integrity = 70; + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "yB" = ( /obj/effect/turf_decal/trimline/opaque/neutral/line{ pixel_y = 8 @@ -2209,13 +2239,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"zZ" = ( -/obj/structure/railing{ - max_integrity = 70; - dir = 6 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "Ad" = ( /obj/machinery/power/smes/magical, /obj/structure/cable{ @@ -2232,12 +2255,6 @@ }, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"As" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "At" = ( /obj/machinery/power/terminal, /obj/structure/cable, @@ -2364,12 +2381,10 @@ "BJ" = ( /turf/closed/wall/concrete/reinforced, /area/ruin/wasteplanet/abandoned_mechbay/bay1) -"BL" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/overmap_encounter/planetoid/cave/explored) +"BN" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/wasteplanet/explored) "BT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -2506,6 +2521,13 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay1) +"DJ" = ( +/obj/structure/railing/corner{ + max_integrity = 70; + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "DM" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2540,6 +2562,12 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) +"DR" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "DT" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 8 @@ -2552,14 +2580,6 @@ "DU" = ( /turf/closed/wall/concrete, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"DX" = ( -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "DY" = ( /obj/machinery/door/airlock/engineering{ name = "Mech Lab"; @@ -2583,11 +2603,6 @@ }, /turf/open/floor/plasteel/tech, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"Eb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "Ec" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/corner{ dir = 1 @@ -2657,9 +2672,6 @@ }, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"Fp" = ( -/turf/closed/wall, -/area/overmap_encounter/planetoid/cave/explored) "Fs" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 4 @@ -2692,9 +2704,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"FH" = ( -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "FZ" = ( /obj/effect/turf_decal/trimline/opaque/neutral/line{ dir = 4 @@ -2725,10 +2734,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) -"Gz" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "GE" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning, /obj/item/shard, @@ -2766,22 +2771,9 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/commandcontrol) -"GS" = ( -/obj/machinery/camera/autoname{ - dir = 8; - network = list("cricket") - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/overmap_encounter/planetoid/cave/explored) -"GY" = ( -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, +"Hh" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/wasteplanet, /area/overmap_encounter/planetoid/cave/explored) "Hj" = ( /obj/machinery/light/dim/directional/south, @@ -2811,10 +2803,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/tech/grid, /area/ruin/wasteplanet/abandoned_mechbay/engineering) -"Ho" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/wasteplanet/explored) "Hp" = ( /obj/effect/decal/cleanable/vomit/old, /obj/effect/turf_decal/arrows{ @@ -2926,16 +2914,6 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/plasteel/tech/grid, /area/ruin/wasteplanet/abandoned_mechbay/engineering) -"Iw" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - max_integrity = 70; - dir = 4 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "Ix" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mecha_wreckage/gygax, @@ -3165,19 +3143,6 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"KZ" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"Lj" = ( -/obj/machinery/atmospherics/components/unary/passive_vent/layer4, -/obj/effect/turf_decal/box, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "Lo" = ( /obj/machinery/door/poddoor{ id = "baseinternal" @@ -3290,6 +3255,10 @@ /obj/effect/turf_decal/box, /turf/open/floor/plasteel/tech/grid, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) +"Mx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "ME" = ( /obj/effect/turf_decal/trimline/opaque/neutral/line{ pixel_y = 8 @@ -3355,6 +3324,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"MT" = ( +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "MX" = ( /obj/machinery/mech_bay_recharge_port, /obj/effect/decal/cleanable/dirt/dust, @@ -3368,9 +3344,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"Nj" = ( -/turf/open/floor/plating/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "Nq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3454,6 +3427,10 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/bay1) +"Og" = ( +/obj/effect/mine/shrapnel/human_only, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "Oj" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/minor/pirate_or_bandana, @@ -3501,6 +3478,27 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"Pi" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/arrows{ + pixel_y = -8; + dir = 1 + }, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Pj" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) +"Pl" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/camera/autoname, +/turf/open/floor/concrete/slab_4, +/area/ruin/wasteplanet/abandoned_mechbay/mainhall) "PF" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/warning{ dir = 4 @@ -3509,6 +3507,9 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay1) +"PK" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/cave/explored) "PN" = ( /obj/effect/turf_decal/trimline/transparent/neutral/filled/corner{ dir = 8 @@ -3568,10 +3569,6 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/commandcontrol) -"QA" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "QD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 @@ -3618,9 +3615,6 @@ }, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"Rf" = ( -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) "Rg" = ( /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/industrial/stand_clear/white{ @@ -3753,6 +3747,12 @@ }, /turf/open/floor/concrete/reinforced, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"Sr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/overmap_encounter/planetoid/cave/explored) "Su" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -3781,12 +3781,6 @@ /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"SI" = ( -/obj/structure/railing{ - max_integrity = 70 - }, -/turf/open/floor/plating/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "SN" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3809,6 +3803,12 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/bay1) +"Tb" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "Tc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 @@ -3847,6 +3847,14 @@ }, /turf/open/floor/plasteel, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) +"Tw" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) "TH" = ( /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 8 @@ -3859,14 +3867,6 @@ }, /turf/open/floor/concrete/slab_4, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) -"TK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "TL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -3881,19 +3881,19 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) -"Uh" = ( -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/wasteplanet/explored) "Un" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/stairs{ dir = 1 }, /area/ruin/wasteplanet/abandoned_mechbay/bay2) +"Ur" = ( +/turf/closed/mineral/random/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"UH" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "UK" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/highsecurity{ @@ -3986,10 +3986,31 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) +"Wo" = ( +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/cave/explored) +"Wr" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/wasteplanet/explored) "Wt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/concrete/slab_1, /area/ruin/wasteplanet/abandoned_mechbay/mainhall) +"Ww" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) "WR" = ( /obj/structure/chair/sofa/corner, /obj/effect/decal/cleanable/blood, @@ -4044,14 +4065,6 @@ }, /turf/open/floor/plasteel/tech, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"Xm" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "Xp" = ( /obj/effect/turf_decal/trimline/opaque/neutral/line{ pixel_y = 8 @@ -4147,12 +4160,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/white, /area/ruin/wasteplanet/abandoned_mechbay/mechlab) -"Yy" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/overmap_encounter/planetoid/cave/explored) "YC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 @@ -4260,13 +4267,6 @@ /obj/effect/decal/cleanable/ash/large, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay1) -"ZA" = ( -/obj/structure/railing{ - max_integrity = 70; - dir = 4 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/cave/explored) "ZD" = ( /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/arrows{ @@ -4315,12 +4315,12 @@ vd vd vd vd -sk +Ur vd -sk -Fp -sk -sk +Ur +PK +Ur +Ur vd vd vd @@ -4358,19 +4358,19 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur vd vd vd @@ -4406,21 +4406,21 @@ vd vd vd vd -sk -sk -sk -sk -Fp -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur vd vd vd @@ -4454,22 +4454,22 @@ vd vd vd vd -sk -sk -Fp -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk -Fp -Fp -sk +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +PK +PK +Ur vd vd vd @@ -4502,27 +4502,27 @@ vd vd vd vd -sk -sk -sk -sk -sk -Fp -sk -sk -sk -sk -FH -sk -sk -sk -sk -Fp -sk -sk +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +eb +Ur +Ur +Ur +Ur +PK +Ur +Ur vd vd -Fp +PK vd vd vd @@ -4550,30 +4550,30 @@ vd vd vd vd -sk -sk -Fp -sk -sk -sk -sk -sk -FH -FH -Nj -oO -FH -sk -sk -sk -sk -Fp -sk -sk +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur +eb +eb +tM +Hh +eb +Ur +Ur +Ur +Ur +PK +Ur +Ur vd -sk -sk -sk +Ur +Ur +Ur vd vd vd @@ -4598,35 +4598,35 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -sk -FH -Nj -FH -FH -gv -ZA -ZA -ZA -Iw -sk -sk -sk -sk -sk -sk -sk -sk -Fp -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur +Ur +Ur +eb +tM +eb +eb +ib +yy +yy +yy +qb +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur vd vd vd @@ -4646,37 +4646,37 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -sk -FH -nc -FH -Nj -FH -va -nb -GS -nb -eT -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk -Fp -sk -Fp -sk +Ur +Ur +Ur +Ur +Ur +Ur +Ur +eb +kJ +eb +tM +eb +Ww +pG +aw +pG +Tb +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +PK +Ur +PK +Ur vd vd vd @@ -4693,22 +4693,22 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -sk -sk -FH -FH -Nj -FH -FH -Nj -va -BL +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +eb +eb +tM +eb +eb +tM +Ww +Sr KH LX dR @@ -4720,16 +4720,16 @@ dR dR dR dR -FH -FH -sk -sk -sk -sk +eb +eb +Ur +Ur +Ur +Ur vd vd au -ms +oI vd vd vd @@ -4742,22 +4742,22 @@ vd vd vd vd -sk -sk -sk -Fp -sk -sk -sk -Nj -FH -gv -ZA -ZA -ZA -ZA -zZ -pd +Ur +Ur +Ur +PK +Ur +Ur +Ur +tM +eb +ib +yy +yy +yy +yy +aQ +Mx dR ks dR @@ -4770,14 +4770,14 @@ DU DU dR dR -FH -sk -sk -sk -sk -Fp +eb +Ur +Ur +Ur +Ur +PK vd -ms +oI vd vd vd @@ -4791,22 +4791,22 @@ vd vd vd vd -sk -sk -sk -sk -sk -FH -oO -Nj -FH -SI -Yy -dY -Xm -dY -TK -Xm +Ur +Ur +Ur +Ur +Ur +eb +Hh +tM +eb +hU +gE +dk +uT +dk +bL +uT eG Iy DU @@ -4820,15 +4820,15 @@ DU DU dR dR -sk -sk -Fp -sk -sk -sk -sk +Ur +Ur +PK +Ur +Ur +Ur +Ur vd -ms +oI vd vd "} @@ -4839,23 +4839,23 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -Nj -FH -Nj -FH -va -nS -pd -Eb -gp -gp -GY +Ur +Ur +Ur +Ur +Ur +Ur +tM +eb +tM +eb +Ww +DR +Mx +cq +Tw +Tw +MT Ib gZ DU @@ -4870,14 +4870,14 @@ DU TL dR dR -Fp -sk -sk -sk -sk -sk -sk -Fp +PK +Ur +Ur +Ur +Ur +Ur +Ur +PK vd vd "} @@ -4887,20 +4887,20 @@ vd vd vd vd -sk -sk -sk -Fp -sk -sk -Nj -FH -nc -FH -FH -SI -hG -Eb +Ur +Ur +Ur +PK +Ur +Ur +tM +eb +kJ +eb +eb +hU +gu +cq KH Yt Yt @@ -4920,13 +4920,13 @@ uO Hm dR dR -sk -sk -sk -Fp -sk -sk -sk +Ur +Ur +Ur +PK +Ur +Ur +Ur vd vd "} @@ -4936,20 +4936,20 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -FH -FH -kF -Nj -Nj -va -As -DX +Ur +Ur +Ur +Ur +Ur +Ur +eb +eb +Og +tM +tM +Ww +ok +Wo dR gU qR @@ -4970,35 +4970,35 @@ qq NW dR dR -Fp -sk -sk -sk -sk -sk -ms -ms +PK +Ur +Ur +Ur +Ur +Ur +oI +oI "} (15,1,1) = {" vd vd vd vd -sk -sk -sk -Fp -sk -sk -sk -FH -FH -FH -Nj -FH -va -um -Lj +Ur +Ur +Ur +PK +Ur +Ur +Ur +eb +eb +eb +tM +eb +Ww +Pj +sj ZL bC ru @@ -5020,11 +5020,11 @@ Kj Lv dR dR -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur vd vd "} @@ -5033,19 +5033,19 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -sk -Nj -FH -FH -FH -FH -ng +Ur +Ur +Ur +Ur +Ur +Ur +Ur +tM +eb +eb +eb +eb +DJ KG KG KG @@ -5069,12 +5069,12 @@ wq wq wq wq -sk -sk -sk -sk -sk -Fp +Ur +Ur +Ur +Ur +Ur +PK vd "} (17,1,1) = {" @@ -5082,19 +5082,19 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -sk -FH -FH -FH -FH -FH -FH +Ur +Ur +Ur +Ur +Ur +Ur +Ur +eb +eb +eb +eb +eb +eb KG wD xp @@ -5118,32 +5118,32 @@ QM lt wq wq -sk -Fp -sk -sk -sk -sk +Ur +PK +Ur +Ur +Ur +Ur vd "} (18,1,1) = {" vd vd vd -sk -sk -sk -sk -sk -sk -Fp -sk -FH -FH -FH -FH -FH -Nj +Ur +Ur +Ur +Ur +Ur +Ur +PK +Ur +eb +eb +eb +eb +eb +tM KG ht Xy @@ -5167,32 +5167,32 @@ kD fY wq wq -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur vd vd "} (19,1,1) = {" vd vd -sk -sk -sk -sk -sk -sk -sk -sk -sk -Nj -oO -Nj -FH -kF -nc +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +tM +Hh +tM +eb +Og +kJ KG lA tC @@ -5216,9 +5216,9 @@ DN IY wq wq -sk -sk -sk +Ur +Ur +Ur vd vd vd @@ -5227,21 +5227,21 @@ vd (20,1,1) = {" vd vd -sk -sk -sk -sk -sk -sk -sk -sk -Nj -FH -FH -FH -FH -FH -FH +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +tM +eb +eb +eb +eb +eb +eb KG BF sX @@ -5265,9 +5265,9 @@ DN Jf wq wq -sk -sk -sk +Ur +Ur +Ur vd vd vd @@ -5276,21 +5276,21 @@ vd (21,1,1) = {" vd vd -sk -Fp -sk -sk -sk -sk -sk -Nj -FH -FH -kF -FH -FH -FH -Gz +Ur +PK +Ur +Ur +Ur +Ur +Ur +tM +eb +eb +Og +eb +eb +eb +UH KG bQ cP @@ -5314,8 +5314,8 @@ BA pa wq wq -sk -sk +Ur +Ur vd vd vd @@ -5323,22 +5323,22 @@ vd vd "} (22,1,1) = {" -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk -FH -FH -nc -FH -FH -QA +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +eb +eb +kJ +eb +eb +qJ KH KG VG @@ -5363,8 +5363,8 @@ UK wq wq wq -sk -sk +Ur +Ur vd vd vd @@ -5372,22 +5372,22 @@ vd vd "} (23,1,1) = {" -sk -sk -sk -sk -sk -Fp -sk -sk -sk -sk -FH -FH -FH -FH -FH -oO +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +eb +eb +eb +eb +eb +Hh KG nA uD @@ -5412,9 +5412,9 @@ HK sG Hj wq -sk -sk -Fp +Ur +Ur +PK vd vd vd @@ -5422,20 +5422,20 @@ vd "} (24,1,1) = {" vd -sk -sk -sk -sk -sk -sk -sk -sk -kF -FH -FH -FH -FH -Nj +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Og +eb +eb +eb +eb +tM KG KG YJ @@ -5461,30 +5461,30 @@ eR vj ec wq -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur vd vd "} (25,1,1) = {" vd vd -sk +Ur vd vd -sk -sk -sk -FH -FH -oO -FH -kF -sk -sk +Ur +Ur +Ur +eb +eb +Hh +eb +Og +Ur +Ur KG VG VG @@ -5510,11 +5510,11 @@ WT wq wq wq -sk -sk -sk -sk -Fp +Ur +Ur +Ur +Ur +PK vd vd "} @@ -5526,13 +5526,13 @@ vd vd vd vd -sk -Rf -Rf -FH -FH -sk -sk +Ur +xz +xz +eb +eb +Ur +Ur KG KG eA @@ -5547,7 +5547,7 @@ ir DC fd zE -iG +Pl aM iU YX @@ -5559,11 +5559,11 @@ Bw fX wq wq -sk -Fp -sk -sk -sk +Ur +PK +Ur +Ur +Ur vd vd "} @@ -5576,11 +5576,11 @@ vd vd vd vd -Rf -sk -sk -sk -sk +xz +Ur +Ur +Ur +Ur KG KG VG @@ -5608,10 +5608,10 @@ zR Vx wq wq -sk -sk -sk -sk +Ur +Ur +Ur +Ur vd vd vd @@ -5626,9 +5626,9 @@ vd vd vd vd -Fp -sk -sk +PK +Ur +Ur KG KG Dk @@ -5657,9 +5657,9 @@ Yf qH wq wq -sk -sk -Fp +Ur +Ur +PK vd vd vd @@ -5676,8 +5676,8 @@ vd vd vd vd -sk -sk +Ur +Ur KG VG Om @@ -5706,10 +5706,10 @@ hv tW wq wq -sk -sk +Ur +Ur vd -sk +Ur vd vd vd @@ -5726,7 +5726,7 @@ vd vd vd vd -sk +Ur KG VG VG @@ -5755,8 +5755,8 @@ Ec YP wq wq -sk -sk +Ur +Ur vd vd vd @@ -5775,7 +5775,7 @@ vd vd vd vd -sk +Ur aX nF nF @@ -5804,12 +5804,12 @@ wq wq wq wq -sk -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur +Ur vd "} (32,1,1) = {" @@ -5823,8 +5823,8 @@ vd vd vd vd -sk -Fp +Ur +PK aX nF XL @@ -5853,10 +5853,10 @@ ET gJ Im Im -sk -Fp -sk -sk +Ur +PK +Ur +Ur vd vd vd @@ -5870,10 +5870,10 @@ vd vd vd vd -sk -sk -Fp -sk +Ur +Ur +PK +Ur aX nF JY @@ -5901,11 +5901,11 @@ uQ Vk gJ Im -sk -sk -sk -sk -Fp +Ur +Ur +Ur +Ur +PK vd vd vd @@ -5919,10 +5919,10 @@ vd vd vd vd -Rf -sk -sk -sk +xz +Ur +Ur +Ur aX nF ey @@ -5950,11 +5950,11 @@ uQ Iq gJ Im -sk -Fp -sk -sk -sk +Ur +PK +Ur +Ur +Ur vd vd vd @@ -5968,10 +5968,10 @@ vd vd vd vd -Rf -Rf -Rf -Uh +xz +xz +xz +mx Qe aX ss @@ -5999,10 +5999,10 @@ uQ Iq gJ Im -sk -sk -sk -sk +Ur +Ur +Ur +Ur vd vd vd @@ -6017,11 +6017,11 @@ vd vd vd vd -Rf -Rf -Rf -pI -pJ +xz +xz +xz +tZ +Pi Sm fT DM @@ -6048,9 +6048,9 @@ uQ Hn gJ Im -sk -sk -sk +Ur +Ur +Ur vd vd vd @@ -6066,11 +6066,11 @@ vd vd vd vd -Rf -Rf -Rf -pI -Ho +xz +xz +xz +tZ +BN VC dz Ym @@ -6097,10 +6097,10 @@ Js CM gJ Im -sk -sk -Fp -sk +Ur +Ur +PK +Ur vd vd vd @@ -6115,11 +6115,11 @@ vd vd vd vd -Rf -Rf -Rf -pI -pJ +xz +xz +xz +tZ +Pi hj ma wp @@ -6146,11 +6146,11 @@ iB CM gJ Im -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur vd vd vd @@ -6164,10 +6164,10 @@ vd vd vd vd -Rf -Rf -Rf -KZ +xz +xz +xz +Wr AT uu uu @@ -6195,10 +6195,10 @@ Im Im Im Im -sk -sk -sk -sk +Ur +Ur +Ur +Ur vd vd vd @@ -6214,39 +6214,39 @@ vd vd vd vd -sk -sk -sk +Ur +Ur +Ur uu -sk -sk -Fp -sk -sk -sk -sk -sk -Fp -sk -sk -sk -sk -sk -sk -sk -sk -sk -sk +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur Im Ad Im -sk -sk -sk -sk -sk -Fp -sk +Ur +Ur +Ur +Ur +Ur +PK +Ur vd vd vd @@ -6263,38 +6263,38 @@ vd vd vd vd -sk -sk -sk +Ur +Ur +Ur uu -sk -sk -sk -sk -sk -Fp -sk -sk -sk -sk -sk -Fp -sk -vd -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur +PK +Ur +vd +Ur +Ur +Ur +Ur +Ur Im Im Im -Fp -sk -sk -sk -sk -sk +PK +Ur +Ur +Ur +Ur +Ur vd vd vd @@ -6311,38 +6311,38 @@ vd vd vd vd -sk -sk -sk -sk -sk -sk -Fp -sk -sk -sk -sk -Fp -sk -sk -sk -sk -sk +Ur +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +PK +Ur +Ur +Ur +Ur +Ur vd vd -Fp -sk -sk -sk -sk -sk -sk -sk -sk -sk -Fp -sk -sk +PK +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +PK +Ur +Ur vd vd vd @@ -6366,30 +6366,30 @@ vd vd vd vd -sk +Ur vd -sk -sk +Ur +Ur vd -sk -sk -sk -Fp +Ur +Ur +Ur +PK vd -sk -sk +Ur +Ur vd vd vd -Fp -sk +PK +Ur vd vd -sk +Ur vd -sk -sk -sk +Ur +Ur +Ur vd vd vd @@ -6416,28 +6416,28 @@ vd vd vd vd -sk +Ur vd vd -sk +Ur vd vd -Fp -sk +PK +Ur vd vd -sk +Ur vd vd vd vd vd -Fp -sk +PK +Ur vd vd -Fp -sk +PK +Ur vd vd vd @@ -6468,7 +6468,7 @@ vd vd vd vd -sk +Ur vd vd vd @@ -6487,7 +6487,7 @@ vd vd vd vd -Fp +PK vd vd vd diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm index b4492dbaef4c..ae2434a3ca45 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm @@ -69,7 +69,7 @@ /turf/open/floor/plating/asteroid/wasteplanet, /area/overmap_encounter/planetoid/cave/explored) "k" = ( -/turf/closed/mineral/random/asteroid/wasteplanet, +/turf/closed/mineral/random/wasteplanet, /area/overmap_encounter/planetoid/cave/explored) "l" = ( /obj/item/grown/bananapeel, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm index 37b6d1321dd1..e7e459f7f670 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm @@ -1,397 +1,2256 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"c" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/ruin) -"d" = ( -/obj/structure/radioactive, +"aF" = ( +/obj/item/clothing/head/radiation, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"aP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"bc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/road/line/edge/transparent/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"bX" = ( +/obj/effect/decal/cleanable/greenglow/filled, +/obj/effect/dummy/lighting_obj{ + light_color = "#80B425"; + light_power = 2 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"bZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs/old, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"cd" = ( +/obj/structure/fence/corner{ + dir = 1 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"e" = ( -/obj/structure/reagent_dispensers/fueltank, +/area/ruin/wasteplanet/wasteplanet_radiation) +"cn" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_x = 32 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"dC" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"dU" = ( +/obj/structure/salvageable/circuit_imprinter, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"g" = ( +/area/ruin/wasteplanet/wasteplanet_radiation) +"eD" = ( +/obj/item/clothing/suit/radiation, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"eO" = ( +/turf/closed/wall/r_wall/rust/yesdiag, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"eW" = ( +/obj/machinery/portable_atmospherics/canister/tritium, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"fb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/miskilamo_big/one{ + color = "#580818" + }, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"fK" = ( +/obj/effect/decal/remains/xeno/larva, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"gn" = ( +/obj/item/clothing/suit/radiation, +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"i" = ( -/obj/effect/gibspawner, +/area/ruin/wasteplanet/wasteplanet_radiation) +"gr" = ( +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_radiation) +"gx" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"j" = ( -/obj/item/grenade/syndieminibomb, -/obj/item/ammo_box/magazine/aknt, +/area/ruin/wasteplanet/wasteplanet_radiation) +"gM" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"gX" = ( +/obj/effect/decal/cleanable/shreds, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"k" = ( -/obj/structure/radioactive/stack, +/area/ruin/wasteplanet/wasteplanet_radiation) +"ig" = ( +/obj/item/reagent_containers/pill/potassiodide{ + pixel_x = 4; + pixel_y = -6 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"iA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"iQ" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"iS" = ( +/obj/item/circuitboard/machine/rad_collector, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"iT" = ( +/obj/structure/spawner/wasteplanet/hivebot/low_threat, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"l" = ( -/obj/structure/table/reinforced, -/obj/item/ammo_box/magazine/aknt{ - pixel_x = -15; - pixel_y = -9 +/area/ruin/wasteplanet/wasteplanet_radiation) +"jh" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_y = 31 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_radiation) +"kd" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"kq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/fullysynthetic, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"kS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/isf_big/seven{ + color = "#580818" + }, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"lJ" = ( +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"lL" = ( +/obj/structure/fence/cut/large, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"m" = ( -/obj/effect/radiation, +/area/ruin/wasteplanet/wasteplanet_radiation) +"lS" = ( +/obj/structure/sign/warning/longtermwaste{ + pixel_y = 32 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"n" = ( -/obj/item/ammo_box/magazine/aknt, +/area/ruin/wasteplanet/wasteplanet_radiation) +"mi" = ( +/obj/item/clothing/head/radiation, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"o" = ( -/obj/structure/fence/door, +/area/ruin/wasteplanet/wasteplanet_radiation) +"my" = ( +/obj/structure/fence, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"p" = ( -/obj/item/stack/sheet/mineral/uranium/five, -/obj/effect/mine/shrapnel, +/area/ruin/wasteplanet/wasteplanet_radiation) +"mF" = ( +/obj/machinery/door/airlock/maintenance/external{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"mQ" = ( +/obj/machinery/power/rad_collector, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"mV" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"mZ" = ( +/mob/living/simple_animal/bot/secbot{ + hacked = 1 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"q" = ( -/obj/structure/table/reinforced, -/obj/item/gun/ballistic/automatic/assualt/ak47/nt, +/area/ruin/wasteplanet/wasteplanet_radiation) +"no" = ( +/obj/machinery/vending/sovietsoda, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"nN" = ( +/obj/structure/radioactive{ + pixel_x = 7 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"oA" = ( +/obj/machinery/light/dim{ + dir = 1; + pixel_y = 20 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"oF" = ( +/obj/effect/decal/cleanable/oil/slippery, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"r" = ( -/obj/item/stack/sheet/mineral/uranium/five, +/area/ruin/wasteplanet/wasteplanet_radiation) +"oY" = ( +/obj/machinery/door/airlock/maintenance/glass{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"ph" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4; + piping_layer = 2 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"pp" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"pr" = ( +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"s" = ( -/obj/structure/fence/corner{ - dir = 10 +/area/ruin/wasteplanet/wasteplanet_radiation) +"pZ" = ( +/obj/structure/fence/cut/medium{ + dir = 8 }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"t" = ( -/obj/item/stack/sheet/mineral/uranium/five, -/obj/structure/radioactive/stack, +/area/ruin/wasteplanet/wasteplanet_radiation) +"qy" = ( +/obj/structure/closet/radiation{ + anchored = 1 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"qF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"rI" = ( +/mob/living/simple_animal/bot/cleanbot{ + hacked = 1 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"v" = ( -/obj/machinery/door/airlock/vault, -/obj/effect/mapping_helpers/airlock/locked, +/area/ruin/wasteplanet/wasteplanet_radiation) +"sh" = ( +/obj/structure/radioactive/stack{ + pixel_y = -12 + }, +/obj/structure/radioactive{ + pixel_y = 6 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"sw" = ( +/obj/structure/table/greyscale, +/obj/item/reagent_containers/food/drinks/bottle/vodka{ + pixel_x = 6; + pixel_y = 17 + }, +/obj/item/storage/fancy/cigarettes/dromedaryco, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/powered) -"x" = ( -/obj/item/stack/sheet/mineral/uranium/five, -/obj/structure/radioactive, +/area/ruin/wasteplanet/wasteplanet_radiation) +"sR" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"tl" = ( +/obj/item/stack/ore/uranium, +/obj/effect/turf_decal/industrial/warning/dust/corner, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"ty" = ( +/turf/template_noop, +/area/template_noop) +"tA" = ( +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"tN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"uf" = ( +/obj/structure/girder, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"uF" = ( +/obj/machinery/light/broken{ + dir = 1; + pixel_y = 20 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"uZ" = ( +/obj/structure/salvageable/autolathe, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"y" = ( -/obj/structure/table/reinforced, -/obj/item/gun/energy/e_gun/nuclear, +/area/ruin/wasteplanet/wasteplanet_radiation) +"vL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/spawner/structure/window/hollow/reinforced, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"vV" = ( +/obj/item/clothing/head/helmet/r_trapper{ + pixel_x = 1; + pixel_y = 7 + }, +/obj/item/clothing/under/syndicate/soviet, +/obj/structure/closet/radiation/empty{ + anchored = 1 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"wn" = ( +/obj/structure/flora/ash/glowshroom, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"z" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall/rust, -/area/ruin) -"A" = ( -/obj/item/grenade/frag, -/obj/structure/reagent_dispensers/fueltank, +/area/ruin/wasteplanet/wasteplanet_radiation) +"wG" = ( +/obj/machinery/power/rad_collector, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"wI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + pixel_y = -24 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"xj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"xt" = ( +/turf/closed/wall/r_wall/rust/yesdiag, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"yj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"yu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"yW" = ( +/obj/effect/spawner/structure/window/hollow, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"zv" = ( +/obj/structure/mecha_wreckage/ripley/firefighter, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"B" = ( +/area/ruin/wasteplanet/wasteplanet_radiation) +"zC" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_radiation) +"zH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/vault, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"zL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/sheet/mineral/uranium/five, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Aa" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/port_gen/pacman/super/not_very{ + anchored = 1; + sheet_left = 1; + sheets = 10 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/poster/contraband/cybersun{ + pixel_y = 31 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"AV" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"BH" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north{ + emergency_lights = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"BI" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Dd" = ( +/obj/effect/turf_decal/road/line/edge/transparent/yellow, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"DJ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer4{ + dir = 1 + }, +/obj/machinery/light/small/broken{ + dir = 1; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Er" = ( +/obj/structure/railing/modern{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/road/line/transparent/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/road/line/transparent/yellow, +/obj/effect/turf_decal/road/line/transparent/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/road/line/edge/transparent/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/road/line/edge/transparent/yellow, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"EF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Gc" = ( /turf/closed/wall/r_wall/rust, -/area/ruin) -"C" = ( -/obj/item/ammo_box/magazine/aknt, -/obj/structure/reagent_dispensers/fueltank, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"Gl" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Gn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Hf" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Hm" = ( +/obj/machinery/door/airlock/maintenance/external{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Hn" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_y = -32 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"D" = ( +/area/ruin/wasteplanet/wasteplanet_radiation) +"HJ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"HR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/isf_big/three{ + color = "#580818" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Im" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"IE" = ( +/obj/item/stack/ore/uranium, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Jq" = ( +/obj/item/stack/ore/uranium, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Jw" = ( +/obj/structure/girder, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Jy" = ( +/obj/item/chair/stool/bar{ + pixel_x = 10; + pixel_y = -6 + }, +/obj/item/reagent_containers/pill/potassiodide{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Kl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/broken{ + dir = 8; + pixel_x = -23 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Kp" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/syndicake{ + pixel_x = 4; + pixel_y = 13 + }, +/obj/item/reagent_containers/food/snacks/syndicake{ + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1; + pixel_y = 17 + }, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Ku" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"KA" = ( /obj/structure/fence, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Ld" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Lh" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Ln" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"E" = ( -/obj/effect/radiation, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"F" = ( -/turf/closed/wall/r_wall, -/area/ruin) -"G" = ( -/obj/item/stack/sheet/mineral/uranium/five, -/obj/effect/gibspawner, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"H" = ( -/obj/item/grenade/stingbang, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Lp" = ( +/mob/living/simple_animal/bot/hygienebot{ + hacked = 1 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"I" = ( -/obj/item/flashlight/lantern, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Mh" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"K" = ( -/obj/effect/mine/shrapnel, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Mq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"MV" = ( +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"L" = ( -/obj/structure/sign/warning/radiation, +/area/ruin/wasteplanet/wasteplanet_radiation) +"MX" = ( +/obj/item/stack/cable_coil/cut/red, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"M" = ( +/area/ruin/wasteplanet/wasteplanet_radiation) +"Na" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Nj" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Nx" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"Ny" = ( +/obj/item/stack/ore/uranium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"NG" = ( +/obj/structure/closet/crate/radiation{ + anchored = 1 + }, +/obj/item/nuke_core, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"NO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/road/line/transparent/yellow, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"OK" = ( +/obj/structure/fence/corner{ + dir = 10 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"O" = ( -/obj/structure/marker_beacon, +/area/ruin/wasteplanet/wasteplanet_radiation) +"PB" = ( +/obj/structure/reagent_dispensers/watertank/high, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"P" = ( -/obj/effect/gibspawner, +/area/ruin/wasteplanet/wasteplanet_radiation) +"PV" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Qp" = ( +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Qz" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"QB" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"QU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/radiation/waste, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Rg" = ( +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/item/storage/pill_bottle/potassiodide{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Rv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Rz" = ( /obj/structure/radioactive/waste, +/obj/effect/decal/cleanable/greenglow/filled, +/obj/effect/dummy/lighting_obj{ + light_color = "#80B425"; + light_power = 2 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"RU" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Sf" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Sg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_radiation) +"SQ" = ( +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_x = -27 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Tf" = ( +/obj/structure/radioactive{ + pixel_x = -1; + pixel_y = 7 + }, +/obj/structure/radioactive{ + pixel_x = 8 + }, +/obj/structure/radioactive{ + pixel_x = 8; + pixel_y = 19 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Th" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"Tm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/advanced_airlock_controller/internal{ + dir = 4; + pixel_x = 26 + }, +/obj/structure/sign/warning/radiation{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"TE" = ( +/obj/structure/fence, +/obj/machinery/atmospherics/pipe/simple/scrubbers, /turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) -"Q" = ( -/obj/structure/fence/corner, +/area/ruin/wasteplanet/wasteplanet_radiation) +"UR" = ( /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"R" = ( -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/blood/old, -/obj/item/clothing/suit/radiation, -/obj/item/clothing/head/radiation{ - pixel_y = 8 +/area/ruin/wasteplanet/wasteplanet_radiation) +"Va" = ( +/obj/structure/radioactive/stack, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Vg" = ( +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Vn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/vault, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"VA" = ( +/obj/structure/radioactive{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/structure/radioactive{ + pixel_x = 3; + pixel_y = 4 }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"VE" = ( +/turf/closed/wall/r_wall/rust/yesdiag, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"VP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/miskilamo_big/five{ + color = "#580818" + }, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"VY" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"S" = ( -/obj/structure/sign/warning/longtermwaste{ - pixel_y = 32 +/area/ruin/wasteplanet/wasteplanet_radiation) +"Wa" = ( +/obj/structure/table, +/obj/machinery/microwave, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"WB" = ( +/obj/structure/radioactive{ + pixel_x = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Xc" = ( +/obj/item/geiger_counter{ + pixel_y = 1 }, -/obj/structure/radioactive, +/obj/item/trash/syndi_cakes{ + pixel_y = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"Xi" = ( +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Xl" = ( +/turf/closed/mineral/random/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_radiation) +"XC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/terminal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/maint) +"XO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"XU" = ( +/obj/structure/fence/door, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"U" = ( -/obj/structure/radioactive, +/area/ruin/wasteplanet/wasteplanet_radiation) +"Yd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Yk" = ( +/obj/item/trash/can, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Yl" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"Yp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/dust, +/turf/open/floor/plating/rust, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) +"YO" = ( +/obj/structure/fence/post{ + dir = 4 + }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"W" = ( +/area/ruin/wasteplanet/wasteplanet_radiation) +"Zd" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"Zg" = ( +/obj/structure/railing/modern{ + dir = 6 + }, +/obj/effect/turf_decal/road/line/transparent/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/road/line/transparent/yellow, +/obj/effect/turf_decal/road/line/transparent/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/road/line/edge/transparent/yellow, +/obj/effect/turf_decal/road/line/edge/transparent/yellow{ + dir = 4 + }, +/obj/effect/decal/cleanable/molten_object/large, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"ZC" = ( /obj/structure/fence{ dir = 8 }, /turf/open/floor/plating/asteroid/wasteplanet, -/area/overmap_encounter/planetoid/wasteplanet/explored) -"Z" = ( -/obj/effect/mine/shrapnel, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin) +/area/ruin/wasteplanet/wasteplanet_radiation) +"ZJ" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_radiation/main) +"ZP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_radiation/containment) (1,1,1) = {" -c -B -F -B -F -F -F -F -z -a -a -a -a -a -a -a -a +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty "} (2,1,1) = {" -B -F -B -F -B -F -B -F -F -D -D -D -D -D -D -s -a +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +UR +UR +UR +UR +ty +ty +UR +UR +Gl +UR +Gl +Gl +ty +ty +ty "} (3,1,1) = {" -B -B -x -d -e -i -t -B -F -M -k -M -M -U -M -W -a +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +UR +UR +UR +Gl +UR +Gl +Gl +UR +UR +UR +Xl +Xl +MV +Xl +ty +ty "} (4,1,1) = {" -B -B -d -G -g -j -g -F -B -S -M -M -M -M -M -W -a +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +UR +wn +UR +OK +KA +my +my +lL +cd +Xl +Xl +Xl +Xl +Xl +Xl +UR +ty "} (5,1,1) = {" -F -F -y -n -p -e -r -B -F -M -M -M -K -M -M -W -a +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +UR +UR +UR +ZC +UR +UR +UR +gX +ZC +UR +Xl +Xl +Xl +Xl +UR +UR +ty "} (6,1,1) = {" -F -B -q -A -E -g -I -B -O -M -m -M -M -M -k -L -O +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +UR +Gl +UR +pZ +UR +UR +UR +UR +ZC +UR +Xl +Xl +Xl +Xl +UR +UR +ty "} (7,1,1) = {" -B -B -l -n -i -C -Z -v -M -M -U -M -M -M -M -o -M +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +UR +UR +UR +UR +mV +UR +wn +UR +Gl +ZC +UR +Xl +Gl +UR +UR +UR +UR +ty "} (8,1,1) = {" -B -F -r -p -H -g -i -B -O -M -M -M -U -M -M -W -O +ty +ty +ty +UR +ty +ty +ty +ty +ty +UR +UR +ty +ty +ty +ty +ty +UR +Xl +UR +UR +mV +RU +UR +UR +Gl +YO +UR +Gl +UR +UR +UR +wn +UR +ty "} (9,1,1) = {" -F -F -P -g -e -r -d -B -F -M -M -M -M -M -M -W -a +ty +UR +UR +UR +UR +ty +ty +ty +UR +UR +UR +Lp +ty +ty +ty +UR +UR +Xl +UR +UR +mV +UR +UR +UR +Sg +XU +UR +Gl +UR +MX +UR +UR +UR +ty "} (10,1,1) = {" -F -F -F -F -B -B -F -F -F -D -D -D -D -D -D -Q -a +ty +UR +Xl +Xl +Xl +Xl +Xl +UR +UR +MX +UR +UR +UR +UR +UR +UR +UR +UR +UR +Gl +Hf +lS +gx +UR +UR +YO +Gl +gr +UR +UR +gr +UR +UR +ty "} (11,1,1) = {" -z -F -F -B -B -B -B -B -c -a -a -a -a -a -R -a -a +ty +UR +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +UR +UR +UR +UR +Gl +Gl +UR +UR +UR +Gl +zC +UR +UR +UR +UR +ZC +Gl +Gl +Mh +UR +Gl +UR +UR +ty +"} +(12,1,1) = {" +ty +Xl +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +UR +UR +Gl +Gl +Gl +UR +UR +UR +UR +Xl +ZJ +xt +Gn +cn +Na +Ku +UR +UR +UR +uZ +Xl +Xl +UR +ty +"} +(13,1,1) = {" +ty +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +eO +Yl +Sf +Sf +Yl +Yl +Yl +Yl +xt +Gl +Xl +Xl +Ku +Ku +gM +Hm +Ku +sw +Ln +Xl +Xl +Xl +Xl +UR +ty +"} +(14,1,1) = {" +ty +Xl +Gl +UR +UR +UR +UR +UR +eO +Yl +Yl +Yl +Sf +Sf +Sf +Yl +Yl +Ku +xt +Xl +Xl +ZJ +Ku +Lh +Nj +ZJ +TE +Xl +Xl +Xl +Xl +Xl +UR +ty +"} +(15,1,1) = {" +ty +UR +gr +UR +UR +UR +BI +UR +Sf +Sf +Yl +VA +iS +EF +eD +NG +Sf +ZJ +Xl +Xl +Xl +Xl +Ku +DJ +iA +ZJ +mi +Gl +Xl +Xl +Xl +Xl +UR +ty +"} +(16,1,1) = {" +ty +ty +UR +UR +wn +UR +uf +UR +Sf +Yl +sh +bX +Xi +Jq +lJ +WB +Yl +Ku +Ku +ZJ +ZJ +Ku +Ku +mF +Ku +Ku +gn +Xl +Xl +Xl +Xl +Xl +UR +ty +"} +(17,1,1) = {" +ty +ty +ty +UR +UR +UR +UR +UR +Sf +Yl +wG +zL +Ld +nN +Rz +eO +Yl +Ku +oA +PV +pp +SQ +Kl +Im +XO +ZJ +Xl +Xl +Xl +Xl +Xl +UR +UR +ty +"} +(18,1,1) = {" +ty +ty +ty +UR +UR +UR +UR +rI +Yl +Yl +Qp +Ld +tl +Yl +Yl +Sf +xt +Dd +Er +Vg +fb +VP +Rv +tN +Yk +ZJ +Xl +Xl +Xl +UR +UR +UR +UR +ty +"} +(19,1,1) = {" +ty +ty +ty +UR +gr +MX +UR +Hn +Yl +Sf +BH +ZP +Yp +Vn +Tm +zH +QU +NO +bZ +Yd +HR +kS +Yd +qF +Rv +Ku +jh +Gl +Gl +UR +wn +UR +ty +ty +"} +(20,1,1) = {" +ty +ty +UR +UR +UR +MV +UR +UR +Yl +Sf +vV +fK +AV +Yl +Sf +Sf +xt +bc +Zg +Rv +Rv +yj +yj +yu +kq +ZJ +Gl +gr +gr +UR +UR +ty +ty +ty +"} +(21,1,1) = {" +ty +UR +Xl +UR +UR +UR +wn +UR +Sf +Yl +IE +Xi +aF +tA +Ny +eO +Yl +ZJ +uF +yj +XO +Gc +iQ +oY +Gc +Gc +uZ +Xl +Xl +Xl +UR +ty +ty +ty +"} +(22,1,1) = {" +ty +UR +Xl +UR +UR +UR +UR +UR +Sf +Yl +Va +tA +Xi +Qp +Ld +eW +Yl +ZJ +yW +kd +yW +Gc +ph +Mq +Xc +Gc +Xl +Xl +Xl +Xl +UR +UR +ty +ty +"} +(23,1,1) = {" +ty +Xl +Xl +Xl +Xl +Xl +Xl +UR +Yl +Yl +Yl +Rz +mQ +Tf +qy +Rz +Sf +ZJ +no +dC +Zd +Gc +Nx +HJ +Th +iQ +UR +Xl +Xl +pr +UR +UR +UR +ty +"} +(24,1,1) = {" +ty +Xl +Xl +Xl +Xl +Xl +Xl +UR +eO +Yl +Yl +Sf +Sf +Yl +Yl +Sf +Sf +Ku +Kp +Qz +Jy +iQ +xj +aP +wI +Gc +UR +Xl +Xl +Xl +UR +UR +UR +ty +"} +(25,1,1) = {" +ty +Xl +Xl +UR +Xl +Xl +Xl +UR +UR +eO +Yl +Yl +Sf +Sf +Yl +Yl +Yl +Ku +Wa +ig +Rg +iQ +Aa +XC +sR +iQ +UR +dU +UR +UR +mZ +UR +UR +ty +"} +(26,1,1) = {" +ty +Xl +Xl +Xl +Xl +UR +UR +UR +dU +UR +UR +UR +Xl +Xl +Xl +UR +UR +xt +ZJ +Ku +Ku +Gc +Gc +vL +Gc +VE +UR +wn +UR +MX +UR +wn +UR +ty +"} +(27,1,1) = {" +ty +UR +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +UR +Xl +Xl +Xl +UR +wn +UR +UR +UR +Xl +Xl +Xl +Xl +QB +Xl +UR +UR +UR +UR +UR +UR +UR +UR +ty +"} +(28,1,1) = {" +ty +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Gl +Jw +UR +UR +UR +UR +MX +UR +UR +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +UR +UR +BI +UR +UR +ty +"} +(29,1,1) = {" +ty +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Gl +UR +UR +UR +UR +Gl +Gl +UR +UR +Xl +Xl +Xl +VY +Xl +Xl +UR +UR +gr +Gl +Xl +Xl +Xl +ty +ty +"} +(30,1,1) = {" +ty +ty +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +UR +Xl +UR +iT +UR +UR +oF +UR +UR +Xl +UR +UR +UR +UR +UR +Gl +Jw +Xl +Xl +Xl +ty +ty +"} +(31,1,1) = {" +ty +ty +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +UR +UR +UR +UR +UR +uf +UR +UR +UR +UR +UR +UR +UR +Xl +Xl +Xl +ty +ty +"} +(32,1,1) = {" +ty +ty +ty +ty +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +UR +UR +Gl +Xl +ty +Xl +UR +wn +UR +gr +Gl +UR +UR +UR +zv +Xl +Xl +ty +ty +ty +"} +(33,1,1) = {" +ty +ty +ty +ty +gr +PB +UR +Gl +Xl +ty +ty +Xl +Xl +UR +UR +UR +ty +ty +ty +ty +UR +UR +UR +UR +UR +UR +UR +UR +UR +UR +ty +ty +ty +ty +"} +(34,1,1) = {" +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty +ty "} diff --git a/_maps/configs/independent_beluga.json b/_maps/configs/independent_beluga.json index dcbcba91b54d..8c4a50db50d6 100644 --- a/_maps/configs/independent_beluga.json +++ b/_maps/configs/independent_beluga.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Beluga-Class Transport", + "map_name": "Beluga-class Transport", "prefix": "ISV", "namelists": ["CRUISE", "NATURAL"], "map_short_name": "Beluga-class", diff --git a/_maps/configs/independent_halftrack.json b/_maps/configs/independent_halftrack.json index 65d63f6df6cc..8dcb1f4cba25 100644 --- a/_maps/configs/independent_halftrack.json +++ b/_maps/configs/independent_halftrack.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Halftrack-Class Merchant Vessel", + "map_name": "Halftrack-class Merchant Vessel", "prefix": "ISV", "namelists": [ "MERCANTILE", diff --git a/_maps/configs/independent_masinyane.json b/_maps/configs/independent_masinyane.json index 4c4cdd330ecb..0d5a6a26e984 100644 --- a/_maps/configs/independent_masinyane.json +++ b/_maps/configs/independent_masinyane.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Masinyane-Class Personal Shuttle", - "map_short_name": "Masinyane-Class", + "map_name": "Masinyane-class Personal Shuttle", + "map_short_name": "Masinyane-class", "description": "The Masinyane is the sports car of space, with the price tag to match. Staggeringly fast and equipped with top of the line gear, Masinyanes are generally found in the hands of lone pilots with far more money than sense. The Masinyane was only ever produced in very limited numbers, and a series of fraud investigations involving a complex web of production contractors and shell companies have effectively put a halt to any further production. As such, they are exceedingly rare even in the core worlds – on the Frontier, they are practically non-existent.", "tags": [ "Generalist" diff --git a/_maps/configs/independent_mudskipper.json b/_maps/configs/independent_mudskipper.json new file mode 100644 index 000000000000..b7aff1138267 --- /dev/null +++ b/_maps/configs/independent_mudskipper.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Mudskipper-class Salvage Clipper", + "map_short_name": "Mudskipper-class", + "prefix": "ISV", + "description": "One of the cheapest (and yet, inexplicably popular) offerings from Miskilamo Spacefaring, the Mudskipper-class is a vessel purpose-built for enterprising scrappers and looters looking to salvage bombed-out ruins and harvest boatloads of materials. Featuring a diverse set of multipurpose rooms, a charitable supply of EVA/ruin raiding equipment, and a set of anti-radiation gear for dealing with industrial accidents, the Mudskipper-class just keeps on chuggin’!", + "tags": [ + "Combat", + "Engineering", + "Specialist" + ], + "namelists": [ + "GENERAL", + "SPACE" + ], + "map_path": "_maps/shuttles/shiptest/independent_mudskipper.dmm", + "roundstart": true, + "limit": 2, + "starting_funds": 1500, + "job_slots": { + "Salvage Leader": { + "outfit": "/datum/outfit/job/captain", + "officer": true, + "slots": 1 + }, + "Salvagee": { + "outfit": "/datum/outfit/job/engineer/independent/ship_engineer/salvage", + "slots": 2 + }, + "Salvage Technician": { + "outfit": "/datum/outfit/job/engineer/gloved", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/configs/independent_scav.json b/_maps/configs/independent_scav.json deleted file mode 100644 index f716752e6bcf..000000000000 --- a/_maps/configs/independent_scav.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Scav-class Drifter", - "map_short_name": "Scav-class", - "prefix": "ISV", - "description": "One of the cheapest (and yet, inexplicably popular) offerings from Miskilamo Spacefaring, the Scav-class is a compact, speedy vessel purpose-built for enterprising scrappers and looters looking to salvage bombed-out ruins and harvest boatloads of ore. Featuring an ‘innovative’ open-floor plan, a charitable supply of EVA/ruin raiding equipment, and some exotic implements of healing or death-dealing, the Scav-class just keeps on chuggin’!", - "tags": [ - "Generalist" - ], - "namelists": [ - "NATURAL", - "SPACE" - ], - "map_path": "_maps/shuttles/shiptest/independent_scav.dmm", - "roundstart": true, - "job_slots": { - "Salvage Leader": { - "outfit": "/datum/outfit/job/captain", - "officer": true, - "slots": 1 - }, - "Salvage Technician": { - "outfit": "/datum/outfit/job/engineer", - "slots": 1 - }, - "Salvage Doctor": { - "outfit": "/datum/outfit/job/doctor/juniordoctor", - "slots": 1 - }, - "Salvagee": { - "outfit": "/datum/outfit/job/assistant/engineeringspecialist", - "slots": 1 - } - }, - "enabled": true -} diff --git a/_maps/configs/independent_shepherd.json b/_maps/configs/independent_shepherd.json index 69c44f33341b..39249ac48314 100644 --- a/_maps/configs/independent_shepherd.json +++ b/_maps/configs/independent_shepherd.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Shepherd-Class Space Monastery", + "map_name": "Shepherd-class Space Monastery", "map_short_name": "Shepherd-class", "description": "Best suited to the vast array of the galaxy’s pilgrims, proselytizers and prophets, the Shephard-class is, in essence, a massive mobile monastery. With a great grassy grove dominating the center of the ship, a torturously tempered temple and a brutalist, yet bountiful botany set-up, the Shepherd is well suited to a large crew eager to preach, purify and pull in new followers.", "tags": [ diff --git a/_maps/configs/inteq_colossus.json b/_maps/configs/inteq_colossus.json index 3447d5c54034..b88ae1b0a76b 100644 --- a/_maps/configs/inteq_colossus.json +++ b/_maps/configs/inteq_colossus.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Colossus-Class Armored Frigate", + "map_name": "Colossus-class Armored Frigate", "prefix": "IRMV", "description": "The mainstay of Inteq’s mercenary fleet, the Colossus is a professionally-militarized freighter like most of Inteq’s ships, and is designed to operate independently for some time, serving IRMG’s interests and providing vital mercenary services wherever they are needed. Key features include a secure and well-stocked armory and ample crew space, as well as a spacious cargo bay, which crews often refurbish into additional recreational or training space.", "tags": [ diff --git a/_maps/configs/inteq_hound.json b/_maps/configs/inteq_hound.json index 1f3782d6fe30..d31c8b3f2588 100644 --- a/_maps/configs/inteq_hound.json +++ b/_maps/configs/inteq_hound.json @@ -1,5 +1,5 @@ { - "map_name": "Hound-Class Corvette", + "map_name": "Hound-class Corvette", "prefix": "IRMV", "namelists": [ "MYTHOLOGICAL", diff --git a/_maps/configs/inteq_talos.json b/_maps/configs/inteq_talos.json index 4ec40fe76812..42b254885685 100644 --- a/_maps/configs/inteq_talos.json +++ b/_maps/configs/inteq_talos.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Talos-Class Command Clipper", + "map_name": "Talos-class Command Clipper", "prefix": "IRMV", "description": "The Talos is a command and support ship, and a rare example of a purpose-built Inteq ship. Outfitted with an abundance of construction and engineering equipment and a private bluespace communications suite capable of networking IRMG ships across any given system, Taloses are often the lynchpin of coordinated IRMG operations in a system, and offer construction and repair services as part of IRMG’s mercenary offerings. As Talos crews place a larger emphasis on support personnel, they tend to be less well-armed than other Inteq crews. One unusual feature of the Talos is its depressurized “wings” filled with redundant baffles, intended to provide extra durability in the case of impacts or weapons fire. They also double as auxiliary storage space and potential room for modification by their enterprising Artificer crews.", "tags": [ diff --git a/_maps/configs/inteq_vaquero.json b/_maps/configs/inteq_vaquero.json new file mode 100644 index 000000000000..8cd4224faa16 --- /dev/null +++ b/_maps/configs/inteq_vaquero.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Vaquero-class Light Frigate", + "prefix": "IRMV", + "description": "The Vaquero is a flexible and cheap military conversion of a light commercial freighter, widely used by Inteq Risk Management Group for picket, reconnaissance, and light escort duty, or for contracts that don't warrant a larger, more specialized ship. Unlike most Inteq ships, the Vaquero features basic medical, engineering, and military equipment all in one package, and its minimal crew requirements are an excellent fit for Vanguards with a smaller command and for training missions. Like its peers, it features a large cargo bay, which can be reconfigured as needed.", + "tags": [ + "Generalist" + ], + "namelists": [ + "BEASTS", + "INTEQ" + ], + "map_short_name": "Vaquero-class", + "map_path": "_maps/shuttles/shiptest/inteq_vaquero.dmm", + "limit": 1, + "job_slots": { + "Vanguard": { + "outfit": "/datum/outfit/job/captain/inteq/naked", + "officer": true, + "slots": 1 + }, + "Master At Arms": { + "outfit": "/datum/outfit/job/warden/inteq", + "officer": true, + "slots": 1 + }, + "Artificer": { + "outfit": "/datum/outfit/job/engineer/inteq", + "slots": 1 + }, + "Corpsman": { + "outfit": "/datum/outfit/job/paramedic/inteq", + "slots": 1 + }, + "Enforcer": { + "outfit": "/datum/outfit/job/security/inteq", + "slots": 1 + }, + "Recruit": { + "outfit": "/datum/outfit/job/assistant/inteq", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/minutemen_asclepius.json b/_maps/configs/minutemen_asclepius.json index 26a145841792..e2f80e40dc11 100644 --- a/_maps/configs/minutemen_asclepius.json +++ b/_maps/configs/minutemen_asclepius.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Asclepius-Class Hospital Ship", + "map_name": "Asclepius-class Hospital Ship", "prefix": "CMSV", "description": "The Asclepius is a medical vessel employed by the CMM. Much in CMM fashion it features tight hallways and moderately sized personal quarters. Well stocked in medical supplies, this vessel is known for its capability of fulfilling extensive treatment for patients in sectors where such treatment is otherwise scarce. Stocked with a cryo lab, a morgue, a chemlab, and surgery room, the Asclepius rarely finds difficulty when provided all measures both preventative and restorative.", "tags": [ diff --git a/_maps/configs/minutemen_cepheus.json b/_maps/configs/minutemen_cepheus.json index 8712a34b127a..ee275e7e5d10 100644 --- a/_maps/configs/minutemen_cepheus.json +++ b/_maps/configs/minutemen_cepheus.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Cepheus-Class Mech Carrier", + "map_name": "Cepheus-class Mech Carrier", "prefix": "CMSV", "description": "The Cepheus is the go-to for the CMM whenever it wishes to deploy vessels capable of creating anything in the realm robotica. These vessels are deployed to sectors full of scrap and salvageable material, stocked with armament for their salvagers and a mechanical laboratory for their mechanical engineers. Crews on Cepheus ships are typically treated to somewhat crammed together quarters and tight schedules of collection and production.", "tags": [ diff --git a/_maps/configs/minutemen_vela.json b/_maps/configs/minutemen_vela.json index 4829166a56d6..86b7818ba1f8 100644 --- a/_maps/configs/minutemen_vela.json +++ b/_maps/configs/minutemen_vela.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Vela-Class Industrial Cruiser", + "map_name": "Vela-class Industrial Cruiser", "prefix": "CMGSV", "namelists": ["GENERAL", "MYTHOLOGICAL", "BEASTS"], "description": "The Vela-Class is the designation for a series of semi-modular industrial cruisers created by the Colonial Minutemen in the early 440s. While the original design was created almost exclusively for extracting minerals from asteroid belts, modern examples tend to take on a multi-mission role, with the most common configuration being a mech hanger, and research pod. The ship itself often sees long deployments that encourage modification, leading to Velas taking on a personality as their crews leave their mark.", @@ -9,7 +9,7 @@ "Construction", "Science" ], - "map_short_name": "Vela-Class", + "map_short_name": "Vela-class", "starting_funds": 1000, "map_path": "_maps/shuttles/shiptest/minutemen_vela.dmm", "limit": 1, diff --git a/_maps/configs/nanotrasen_mimir.json b/_maps/configs/nanotrasen_mimir.json index 310b9962b63d..a0ba21e4df19 100644 --- a/_maps/configs/nanotrasen_mimir.json +++ b/_maps/configs/nanotrasen_mimir.json @@ -6,7 +6,7 @@ "NATURAL_AGGRESSIVE", "BEASTS" ], - "map_name": "Mimir-Class Rehabillitation Vessel", + "map_name": "Mimir-class Rehabillitation Vessel", "map_short_name": "Mimir-class", "description": "The Mimir-class are Nanotrasen “patient” transfer and holding ships. Nanotrasen deploys Mimirs to hold those they’ve interned, often in ruined or otherwise out-of-the-way sectors. This both minimizes the chances of the “patients” escaping and drastically lowers the incentive to do so in the first place, as it keeps them stuck in the middle of nowhere until Central Command is ready to pick them up and process them. While “patients” are largely kept in cryogenic storage, regulations and medical necessity both require occasional thawing. As such, the Mimir comes with a host of “rehabilitative” activities for the “patients” as well as a light security detail to manage them.", "tags": [ diff --git a/_maps/configs/nanotrasen_powerrangers.json b/_maps/configs/nanotrasen_ranger.json similarity index 62% rename from _maps/configs/nanotrasen_powerrangers.json rename to _maps/configs/nanotrasen_ranger.json index 4549e153a81b..e71839db2893 100644 --- a/_maps/configs/nanotrasen_powerrangers.json +++ b/_maps/configs/nanotrasen_ranger.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "prefix": "NTSV", - "map_name": "Nanotrasen Ranger-class Aid Vessel", + "map_name": "Ranger-class Aid Vessel", "namelists": [ "NANOTRASEN", "NATURAL_AGGRESSIVE", @@ -18,45 +18,29 @@ "Generalist" ], "starting_funds": 4000, - "map_path": "_maps/shuttles/shiptest/nanotrasen_powerrangers.dmm", + "map_path": "_maps/shuttles/shiptest/nanotrasen_ranger.dmm", "limit": 1, "job_slots": { "LP Lieutenant": { - "outfit": "/datum/outfit/job/lp/lieutenant", + "outfit": "/datum/outfit/job/captain/nt/lp_lieutenant", "officer": true, "slots": 1 }, - "Commissioner": { - "outfit": "/datum/outfit/job/lp/commissioner", - "slots": 1 - }, "LP Engineering Specialist": { - "outfit": "/datum/outfit/job/lp/engineer", + "outfit": "/datum/outfit/job/engineer/lp", "slots": 1 }, "LP Security Specialist": { - "outfit": "/datum/outfit/job/lp/security", + "outfit": "/datum/outfit/job/security/lp", "slots": 1 }, "LP Medical Specialist": { - "outfit": "/datum/outfit/job/lp/medic", - "slots": 1 - }, - "Medical Doctor": { "outfit": "/datum/outfit/job/doctor/lp", "slots": 1 }, - "Bartender": { - "outfit": "/datum/outfit/job/bartender/lp", + "Intern": { + "outfit": "/datum/outfit/job/assistant", "slots": 1 - }, - "Researcher": { - "outfit": "/datum/outfit/job/scientist/lp", - "slots": 2 - }, - "Miner": { - "outfit": "/datum/outfit/job/miner/lp", - "slots": 2 } }, "enabled": true diff --git a/_maps/configs/pirate_ember.json b/_maps/configs/pirate_ember.json index ef23ccd8ef3b..78c60f95e28b 100644 --- a/_maps/configs/pirate_ember.json +++ b/_maps/configs/pirate_ember.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Ember-Class Pirate Raider", + "map_name": "Ember-class Pirate Raider", "prefix": "ISV", "namelists": [ "PIRATES", diff --git a/_maps/configs/pirate_noderider.json b/_maps/configs/pirate_noderider.json index 4a004bdee87e..aa005f85b7cf 100644 --- a/_maps/configs/pirate_noderider.json +++ b/_maps/configs/pirate_noderider.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Jupiter-Class Stormrider", - "map_short_name": "Jupiter-Class", + "map_name": "Jupiter-class Stormrider", + "map_short_name": "Jupiter-class", "prefix": "ISV", "namelists": [ "INSTALLATION", diff --git a/_maps/configs/solgov_chronicle.json b/_maps/configs/solgov_chronicle.json index aed35c98daa0..2f2043eaec73 100644 --- a/_maps/configs/solgov_chronicle.json +++ b/_maps/configs/solgov_chronicle.json @@ -40,8 +40,8 @@ }, "Scribe": { "outfit": "/datum/outfit/job/solgov/assistant", - "slots" : 1 + "slots" : 2 } }, - "enabled": false + "enabled": true } diff --git a/_maps/configs/syndicate_cybersun_kansatsu.json b/_maps/configs/syndicate_cybersun_kansatsu.json index 784dab0483cb..d032f8c8d30f 100644 --- a/_maps/configs/syndicate_cybersun_kansatsu.json +++ b/_maps/configs/syndicate_cybersun_kansatsu.json @@ -6,12 +6,12 @@ "SPACE", "NATURAL_AGGRESSIVE" ], - "map_name": "Kansatsu-Class Scout Courier", + "map_name": "Kansatsu-class Scout Courier", "description": "The Kansatsu-class is a Cybersun remodel of the old Type-S SolGov Courier, rebuilt for rapid package ferrying and light surveillance operations in the Frontier. While fairly cramped, it excels at its design goals, with rapid surveys, scouting, and espionage flowing from its presence. Syndicate deployments typically include a deployment of 5, with a recommended max of 7. This is broken down into 1 captain, an intelligence officer for coordinating the field agents, an engineer, and 2 field agents. The simplicity of the hull has led to the ship becoming a widespread indicator of Syndicate interest in locations, and some models have found their way into private purchasers' hands.", "tags": [ "Specialist" ], - "map_short_name": "Kansatsu-Class", + "map_short_name": "Kansatsu-class", "map_path": "_maps/shuttles/shiptest/syndicate_cybersun_kansatsu.dmm", "map_id": "cybersun_kansatsu", "job_slots": { diff --git a/_maps/map_catalogue.txt b/_maps/map_catalogue.txt index f685375e8433..94750d30b542 100644 --- a/_maps/map_catalogue.txt +++ b/_maps/map_catalogue.txt @@ -2,10 +2,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" IceRuins: - File Name = "_maps\RandomRuins\IceRuins\icemoon_underground_icecropolis.dmm" - Size = (x = 105)(y = 60)(z = 1) - Tags = "Major Loot", "Boss Combat Challenge", "Megafauna", "Antag_Gear", "Necropolis Loot", "Shelter", "Hazardous", "Lava", "Ghost Role" - File Name = _maps\RandomRuins\IceRuins\icemoon_hydroponics_lab.dmm Size = (x = 33)(y = 33)(z = 1) Tags = "Medium Loot", "Medium Combat Challenge", "Antag_Gear", "Shelter" @@ -214,6 +210,10 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 30)(y = 30)(z = 1) Tags = "No combat" "Minor loot" "Inhospitable" + File Name = "_maps\RandomRuins\LavaRuins\codelab.dmm" + Size = (x = 56)(y = 35)(z = 1) + Tags = "Minor Combat Challenge", "Medium Loot", "Shelter", "Hazardous" + ReebeRuins: File Name = "_maps\RandomRuins\Ruins\reebe_swarmers.dmm" @@ -599,8 +599,8 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Tags "No combat", "Medium loot", "hospitable" File name ="_maps\RandomRuins\wasteruins\wasteplanet_unhonorable.dmm" - Size = (x = 11)(y = 17)(z = 1) - Tags = "No Combat", "Medium Loot", "Shelter", "Hazardous" + Size = (x = 34)(y = 34)(z = 1) + Tags = "Minor Combat Challenge", "Medium Loot", "Shelter", "Hazardous" File name = "_maps\RandomRuins\wasteruins\wasteplanet_abandoned_mechbay Size = (x = 45)(y = 47)(z = 1) diff --git a/_maps/shuttles/shiptest/independent_dwayne.dmm b/_maps/shuttles/shiptest/independent_dwayne.dmm index 99e8b9f1e0c5..ecf9b941b994 100644 --- a/_maps/shuttles/shiptest/independent_dwayne.dmm +++ b/_maps/shuttles/shiptest/independent_dwayne.dmm @@ -1654,10 +1654,9 @@ /obj/item/kinetic_crusher, /obj/effect/turf_decal/box, /obj/item/vending_refill/mining_equipment, -/obj/item/ammo_box/c38_box/hunting, -/obj/item/ammo_box/c38_box/hunting, /obj/item/ammo_box/c38_box, -/obj/item/disk/design_disk/ammo_38_hunting, +/obj/item/ammo_box/c38_box, +/obj/item/ammo_box/c38_box, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 diff --git a/_maps/shuttles/shiptest/independent_litieguai.dmm b/_maps/shuttles/shiptest/independent_litieguai.dmm index b2317cebc331..cf8ac312b338 100644 --- a/_maps/shuttles/shiptest/independent_litieguai.dmm +++ b/_maps/shuttles/shiptest/independent_litieguai.dmm @@ -22,10 +22,10 @@ /area/ship/storage) "bl" = ( /obj/docking_port/stationary{ - width = 30; - height = 15; + dir = 2; dwidth = 15; - dir = 2 + height = 15; + width = 30 }, /turf/template_noop, /area/template_noop) @@ -1123,8 +1123,8 @@ }, /obj/machinery/light_switch{ dir = 4; - pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + pixel_y = 10 }, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -1287,6 +1287,11 @@ /obj/effect/turf_decal/trimline/opaque/red/filled/line{ dir = 8 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/fore) "CX" = ( @@ -1671,10 +1676,10 @@ /area/ship/storage) "Ml" = ( /obj/docking_port/stationary{ + dir = 8; dwidth = 8; - width = 30; height = 15; - dir = 8 + width = 30 }, /turf/template_noop, /area/template_noop) @@ -1960,8 +1965,8 @@ }, /obj/machinery/light_switch{ dir = 4; - pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + pixel_y = 10 }, /turf/open/floor/plasteel, /area/ship/crew) @@ -2072,8 +2077,8 @@ /obj/machinery/stasis, /obj/effect/turf_decal/industrial/outline/red, /obj/machinery/smartfridge/organ{ - pixel_y = 32; - density = 0 + density = 0; + pixel_y = 32 }, /turf/open/floor/plasteel/tech, /area/ship/medical) @@ -2563,8 +2568,8 @@ /obj/structure/extinguisher_cabinet/directional/west, /obj/machinery/light_switch{ dir = 4; - pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + pixel_y = 10 }, /turf/open/floor/plasteel/white, /area/ship/medical) diff --git a/_maps/shuttles/shiptest/independent_mudskipper.dmm b/_maps/shuttles/shiptest/independent_mudskipper.dmm new file mode 100644 index 000000000000..2f3900971f1b --- /dev/null +++ b/_maps/shuttles/shiptest/independent_mudskipper.dmm @@ -0,0 +1,3057 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ac" = ( +/obj/structure/chair/office, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"ag" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"ak" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"ao" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Plasma to Engines"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"ar" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/hallway/aft) +"bS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/hallway/aft) +"bZ" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/door/window/eastleft{ + layer = 3.1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "mudskipper_engine" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"cn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance) +"cs" = ( +/turf/template_noop, +/area/template_noop) +"cx" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/miskilamo_small{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"cB" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"dc" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"dw" = ( +/obj/structure/window/reinforced/spawner, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/analyzer{ + pixel_y = 3 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 15; + id = "mudskipper_engine"; + name = "Engine Shutters" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"dN" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/neutral, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dQ" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"dT" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/jetpack/carbondioxide, +/obj/machinery/firealarm/directional/west{ + pixel_y = -13 + }, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"dZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = 5 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -33; + pixel_y = -7; + id = "mudskipper_door"; + name = "Cargo Door" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_x = -21; + pixel_y = -7; + id = "mudskipper_shield"; + name = "Cargo Holofield" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ec" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ee" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/west, +/obj/structure/window/reinforced/spawner/east, +/turf/open/floor/plasteel/tech/airless, +/area/ship/external/dark) +"en" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"eu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/closet/crate/engineering/electrical{ + name = "fuel crate" + }, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"eL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/structure/sign/poster/contraband/smoke{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 4 + }, +/obj/item/toy/cards/deck{ + pixel_y = 3 + }, +/turf/open/floor/wood/walnut, +/area/ship/hallway/aft) +"eX" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"gf" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"gB" = ( +/obj/structure/catwalk, +/obj/machinery/door/poddoor{ + dir = 4; + id = "mudskipper_door" + }, +/turf/open/floor/engine, +/area/ship/cargo) +"gR" = ( +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil{ + icon_state = "floor4" + }, +/obj/structure/closet/crate/secure{ + name = "scavenging supplies"; + desc = "A secure crate. This one is particularly large."; + storage_capacity = 40 + }, +/obj/item/reagent_containers/glass/chem_jug/thermite, +/obj/item/door_seal, +/obj/item/door_seal, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/storage/box/beakers, +/obj/item/lighter/greyscale, +/obj/item/bodybag, +/obj/item/bodybag, +/obj/item/pickaxe/mini, +/obj/item/reagent_containers/pill/patch/styptic, +/obj/item/reagent_containers/pill/patch/silver_sulf, +/obj/item/circular_saw, +/obj/item/gps/mining{ + gpstag = "SCAV1" + }, +/obj/item/gps/mining{ + gpstag = "SCAV2" + }, +/obj/item/gps/mining{ + gpstag = "SCAV3" + }, +/obj/item/gps/mining{ + gpstag = "SCAV4" + }, +/obj/item/multitool, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"gT" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 6 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/hallway/aft) +"hr" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"hH" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/external/dark) +"hX" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"hY" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"ib" = ( +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + dir = 8; + launch_status = 0; + preferred_direction = 4; + dheight = 3 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/cargo) +"ic" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil{ + icon_state = "floor4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"iy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/aft) +"iY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"kB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"kV" = ( +/obj/machinery/vending/coffee, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -5 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"kX" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/west{ + bulb_power = 0.5 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"kY" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/cargo) +"lj" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"ma" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"mt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock{ + name = "Bathroom" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/toilet) +"mC" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"mF" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"mS" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "mudskipper_door" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "mudskipper_shield" + }, +/turf/open/floor/engine, +/area/ship/cargo) +"nj" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 28 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/miskilamo_small/left{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"nm" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 9 + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/hallway/aft) +"nx" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"nM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/machinery/light/small/directional/north{ + pixel_x = 6 + }, +/obj/machinery/computer/helm/viewscreen/computer, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"nR" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"nV" = ( +/obj/structure/closet/wall/blue{ + dir = 4; + secure = 1; + pixel_x = -28; + locked = 1 + }, +/obj/item/gun/energy/laser/scatter, +/obj/item/stock_parts/cell/gun/upgraded, +/obj/machinery/holopad/emergency/command, +/obj/item/storage/backpack/duffelbag, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/head/caphat, +/obj/item/megaphone/command, +/obj/item/kitchen/knife/combat/survival, +/obj/item/flashlight/seclite, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ot" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/number/four{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ov" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/east, +/obj/machinery/photocopier, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"oC" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"oG" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"oU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/toilet) +"po" = ( +/obj/structure/catwalk, +/obj/machinery/door/poddoor{ + dir = 4; + id = "mudskipper_door" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "mudskipper_shield" + }, +/turf/open/floor/engine, +/area/ship/cargo) +"pF" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/table/reinforced, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance) +"pY" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/grimy, +/area/ship/bridge) +"qy" = ( +/obj/effect/turf_decal/corner/transparent/neutral{ + dir = 4 + }, +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = -6; + pixel_y = -21; + name = "Bridge Lockdown"; + id = "mudskipper_bridge" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"qN" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/north{ + pixel_x = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"rr" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 22; + pixel_y = -3 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"rO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"sa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair, +/obj/effect/turf_decal/siding/wood{ + dir = 5; + color = "#543C30" + }, +/obj/machinery/newscaster/directional/east{ + pixel_y = -6 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 22; + pixel_y = 5 + }, +/turf/open/floor/wood/walnut, +/area/ship/hallway/aft) +"sf" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/corner/transparent/neutral{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"sp" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer2, +/obj/machinery/meter/atmos/layer2{ + name = "waste to external meter" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"sA" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/miskilamo_small/right{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"sH" = ( +/obj/structure/catwalk, +/obj/structure/window/reinforced/spawner/east, +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/engine/airless, +/area/ship/external/dark) +"sI" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"sT" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"th" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"ti" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/incident{ + pixel_x = -32 + }, +/obj/machinery/computer/cargo/express/retro{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"tI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"tK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"uk" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"uz" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_x = 7; + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"uW" = ( +/obj/machinery/door/airlock/grunge{ + name = "Bridge"; + req_one_access_txt = "7" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; + id = "mudskipper_bridge" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"vn" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/punch_shit{ + pixel_x = 32 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"vI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"wi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance) +"wj" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ws" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engine) +"xk" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-14" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"xo" = ( +/obj/structure/dresser, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/crew) +"xp" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/obj/structure/curtain, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"xH" = ( +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"xU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east{ + bulb_power = 0.2 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"yg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-22" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -22; + pixel_y = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"yv" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"yB" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"yS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/hallway/aft) +"yY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/west{ + bulb_power = 0.5 + }, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"zx" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/west, +/obj/structure/window/reinforced/spawner/north, +/obj/structure/window/reinforced/spawner, +/obj/structure/window/reinforced/spawner/east, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "mudskipper_engine" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"zR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/grimy, +/area/ship/hallway/aft) +"zW" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"zX" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"Ak" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"AN" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 22; + pixel_y = -14 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Bj" = ( +/obj/effect/turf_decal/corner_techfloor_grid, +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_y = -32 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Bn" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/aft) +"Bw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil{ + icon_state = "floor4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"BA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer2{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 24 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/aft) +"BW" = ( +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/plastic, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/closet/crate/radiation{ + name = "rad protection crate" + }, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation, +/obj/item/clothing/head/radiation, +/obj/item/geiger_counter, +/obj/item/geiger_counter, +/obj/item/storage/pill_bottle/charcoal/less, +/obj/item/reagent_containers/hypospray/medipen/penacid, +/obj/item/reagent_containers/hypospray/medipen/penacid, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Ch" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Cr" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/aft) +"CG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/suit/space/eva, +/obj/item/clothing/head/helmet/space/eva, +/obj/machinery/suit_storage_unit/inherit/industrial, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/aft) +"Dj" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Dp" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken2" + }, +/area/ship/bridge) +"DC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"DS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Ed" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Eg" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/number/eight{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Ey" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"EP" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + pixel_x = -6; + pixel_y = -21; + id = "mudskipper_shield"; + name = "Cargo Holofield" + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 6; + pixel_y = -21; + id = "mudskipper_door"; + name = "Cargo Door" + }, +/obj/effect/turf_decal/number/six{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"EQ" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/aft) +"Ft" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/structure/curtain/bounty, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -21; + pixel_x = 3 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew) +"FN" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/jetpack/carbondioxide, +/obj/structure/sign/warning{ + pixel_x = -28 + }, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Gk" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "mudskipper_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Gq" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"GI" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"GW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/crew) +"Hk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Id" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/stack/sheet/metal/five{ + pixel_y = 3 + }, +/obj/item/stack/sheet/glass/five{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"IL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"IP" = ( +/obj/structure/table, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/east, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/radio{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/item/radio{ + pixel_y = 3; + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"IU" = ( +/obj/structure/catwalk, +/turf/open/floor/engine/airless, +/area/ship/external/dark) +"JN" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/aft) +"JS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/hallway/aft) +"Kt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/hallway/aft) +"KA" = ( +/obj/structure/window/reinforced/spawner, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"KT" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance) +"KU" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"Lw" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -22; + pixel_y = -9 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/computer/cryopod/retro/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"LV" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Mf" = ( +/turf/template_noop, +/area/space) +"Mi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"MB" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"MF" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/door/window/eastright{ + layer = 3.1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "mudskipper_engine" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"MK" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance) +"Ni" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Nj" = ( +/obj/machinery/door/airlock/external{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Nl" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ship/cargo) +"NJ" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/closet/crate{ + name = "ration crate" + }, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"NN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"NU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Oc" = ( +/obj/item/paper_bin, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"OB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"OD" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Pr" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"PO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"PR" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"PU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Qp" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/aft) +"Qt" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Qu" = ( +/obj/machinery/autolathe/hacked, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Qx" = ( +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"QF" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"Rc" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 6; + pixel_y = -21; + id = "mudskipper_window"; + name = "Window Shutters" + }, +/obj/machinery/light/small/directional/west{ + pixel_y = -6; + bulb_power = 0.6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Rl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 8 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = 10; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = 18; + pixel_y = 2 + }, +/obj/item/paper/pamphlet{ + pixel_x = -3; + pixel_y = 2; + name = "Salvage And You" + }, +/turf/open/floor/wood/walnut, +/area/ship/hallway/aft) +"Rn" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + name = "Utility Closet" + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"Rv" = ( +/obj/item/gps/mining{ + pixel_y = 6; + gpstag = "SCAV0" + }, +/obj/item/clipboard{ + pixel_x = 5; + pixel_y = -12 + }, +/obj/item/reagent_containers/glass/maunamug{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/pen/fountain{ + pixel_x = 5; + pixel_y = -12 + }, +/obj/structure/sign/poster/contraband/shamblers_juice{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"RR" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Sj" = ( +/obj/structure/filingcabinet/double, +/obj/item/folder, +/obj/machinery/light/small/directional/west{ + pixel_y = 6; + bulb_power = 0.6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"So" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/airlock{ + name = "Crew Quarters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"Sq" = ( +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"ST" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/storage/cans/sixbeer, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + name = "fridge" + }, +/obj/item/reagent_containers/food/snacks/meat/slab, +/obj/item/reagent_containers/food/snacks/meat/slab, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Ti" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4; + name = "airlock waste injector" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Tn" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"TV" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Cargo Bay" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Ud" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 4 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"Ui" = ( +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/bridge) +"UF" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engine Room" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"UL" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/jetpack/carbondioxide, +/obj/machinery/light/directional/west, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"UZ" = ( +/obj/structure/table, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/lamp/green{ + pixel_y = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew) +"Vn" = ( +/obj/machinery/vending/cigarette, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Vo" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"Vy" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/structure/curtain/bounty, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/wood/walnut, +/area/ship/crew) +"VP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"VW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"Wm" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Cryogenic Storage" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"Wz" = ( +/obj/structure/sink{ + dir = 1 + }, +/obj/structure/mirror{ + pixel_y = -30 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Xc" = ( +/obj/machinery/blackbox_recorder, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north{ + pixel_x = -6 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Xh" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Xk" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Xm" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"XK" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/aft) +"XU" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10; + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/ship/hallway/aft) +"Yc" = ( +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/rack, +/obj/item/stock_parts/cell/gun, +/obj/item/gun/energy/laser{ + pixel_y = 5 + }, +/obj/item/stock_parts/cell/gun, +/obj/item/gun/energy/laser, +/obj/item/flashlight/seclite, +/obj/item/kitchen/knife/combat/survival, +/obj/item/flashlight/seclite, +/obj/item/kitchen/knife/combat/survival, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Yd" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/crew) +"Yq" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "floor4" + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer4{ + name = "Air to Distro"; + target_pressure = 1000 + }, +/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ + name = "Scrubbers to External"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"Yv" = ( +/obj/structure/closet/crate/bin, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"YK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"YL" = ( +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"Zi" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"ZC" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"ZJ" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) + +(1,1,1) = {" +cs +cs +cs +cs +ws +ag +lj +ag +ag +lj +ag +ws +cs +cs +cs +cs +cs +"} +(2,1,1) = {" +cs +hX +IU +ws +ws +bZ +zx +bZ +MF +zx +MF +ws +ws +IU +hX +cs +cs +"} +(3,1,1) = {" +cs +hX +cs +ws +kX +QF +en +Vo +Vo +qE +ao +yY +ws +cs +hX +cs +cs +"} +(4,1,1) = {" +hX +hX +eX +Qt +sp +Yq +Tn +vI +KA +eu +hY +sI +ws +IU +hX +hX +cs +"} +(5,1,1) = {" +hX +cs +cs +ws +Ud +Hk +AN +ac +dw +hr +xU +YL +ws +cs +cs +hX +cs +"} +(6,1,1) = {" +hX +IU +OB +OB +OB +UF +OB +OB +OB +OB +OB +Qp +Qp +Qp +Ti +hX +cs +"} +(7,1,1) = {" +cs +cs +OB +Xc +ic +ak +OB +Sj +nV +Rc +OB +EQ +Cr +PR +ma +cs +cs +"} +(8,1,1) = {" +cs +cs +OB +Rv +Oc +Dp +uW +pY +Ak +Ui +OB +BA +Bn +nx +ee +sH +MB +"} +(9,1,1) = {" +cs +cs +OB +nM +rr +oC +OB +dN +sf +qy +OB +JN +CG +Qp +IU +cs +cs +"} +(10,1,1) = {" +hX +IU +OB +OB +OB +oG +OB +Gk +Gk +Gk +OB +Nj +Qp +Qp +IU +hX +cs +"} +(11,1,1) = {" +hX +cs +cs +Xm +yg +XK +Ni +tI +JS +bS +yS +Kt +Xm +cs +cs +hX +cs +"} +(12,1,1) = {" +hX +cs +cs +Xm +ST +iy +YK +NN +zR +nm +Rl +XU +Xm +cs +cs +hX +cs +"} +(13,1,1) = {" +hX +cs +cs +Qp +sT +vn +Qp +ov +ar +sa +eL +gT +Qp +cs +cs +hX +cs +"} +(14,1,1) = {" +hX +IU +Gq +Gq +Gq +Gq +Gq +dc +Pr +dc +oU +oU +oU +oU +IU +hX +cs +"} +(15,1,1) = {" +cs +cs +Gq +Vy +UZ +Ft +Gq +kV +gf +Xh +oU +kB +xp +oU +cs +cs +cs +"} +(16,1,1) = {" +cs +cs +Yd +GW +ZC +Ey +So +VP +IL +Qx +mt +Ch +Wz +oU +cs +cs +cs +"} +(17,1,1) = {" +hX +IU +Yd +xo +cB +dQ +Gq +DS +Mi +ZJ +oU +tK +Sq +oU +IU +hX +cs +"} +(18,1,1) = {" +hX +cs +Gq +Gq +Wm +Gq +Gq +dc +mC +iY +MK +MK +MK +MK +cs +hX +cs +"} +(19,1,1) = {" +hX +cs +zX +KU +zW +Lw +zX +Vn +DC +PO +Rn +wi +pF +MK +cs +hX +cs +"} +(20,1,1) = {" +hX +IU +zX +qN +IP +GI +zX +Yv +LV +xk +MK +cn +KT +MK +IU +hX +cs +"} +(21,1,1) = {" +cs +cs +zX +zX +zX +zX +zX +dc +TV +dc +MK +MK +MK +MK +cs +cs +cs +"} +(22,1,1) = {" +cs +cs +cs +yv +UL +FN +dT +dZ +Zi +yB +ti +RR +yv +cs +cs +cs +cs +"} +(23,1,1) = {" +cs +hX +IU +yv +PU +NU +uk +Ed +rO +nR +ec +Id +yv +IU +hX +cs +cs +"} +(24,1,1) = {" +cs +hX +cs +yv +OD +xH +Yc +wj +Dj +BW +Bw +Qu +yv +Mf +hX +cs +cs +"} +(25,1,1) = {" +cs +hX +IU +mF +mF +uz +gR +Xk +th +NJ +Bj +mF +mF +IU +hX +cs +cs +"} +(26,1,1) = {" +cs +hX +cs +cs +mF +nj +cx +sA +ot +Eg +EP +mF +Mf +Mf +hX +cs +cs +"} +(27,1,1) = {" +cs +hX +IU +IU +mF +po +gB +gB +gB +gB +mS +mF +IU +IU +hX +cs +cs +"} +(28,1,1) = {" +cs +cs +cs +VW +hH +Nl +kY +ib +kY +kY +Nl +hH +VW +cs +cs +cs +cs +"} +(29,1,1) = {" +cs +cs +cs +hH +hH +cs +cs +cs +cs +cs +cs +hH +hH +cs +cs +cs +cs +"} +(30,1,1) = {" +cs +cs +cs +cs +hH +hH +cs +cs +cs +cs +hH +hH +cs +cs +cs +cs +cs +"} +(31,1,1) = {" +cs +cs +cs +cs +cs +hH +cs +cs +cs +cs +hH +cs +cs +cs +cs +cs +cs +"} diff --git a/_maps/shuttles/shiptest/independent_nemo.dmm b/_maps/shuttles/shiptest/independent_nemo.dmm index 35c7e0deb6fd..f693cbcbdc27 100644 --- a/_maps/shuttles/shiptest/independent_nemo.dmm +++ b/_maps/shuttles/shiptest/independent_nemo.dmm @@ -251,20 +251,6 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"dj" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/wood, -/area/ship/crew/library) "dt" = ( /obj/structure/displaycase/trophy, /obj/effect/turf_decal/siding/wood{ @@ -411,39 +397,6 @@ }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"eK" = ( -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/structure/frame/machine, -/obj/item/paper{ - default_raw_text = "Missing protolathe. Lost in transit." - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"eR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/closet/secure_closet/wall{ - dir = 4; - icon_state = "sec_wall"; - name = "hunting locker"; - pixel_x = -32; - req_access = list(30) - }, -/obj/item/firing_pin, -/obj/item/kitchen/knife/hunting, -/obj/item/disk/design_disk/ammo_38_hunting, -/obj/item/gun/ballistic/shotgun/contender, -/obj/item/ammo_box/a4570, -/obj/item/ammo_box/a4570, -/turf/open/floor/carpet/black, -/area/ship/bridge) "eS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -501,6 +454,25 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) +"fu" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/stack/sheet/mineral/wood{ + amount = 10 + }, +/obj/structure/closet/crate, +/obj/item/storage/box/monkeycubes, +/obj/effect/turf_decal/siding/brown{ + dir = 5 + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "fA" = ( /obj/machinery/door/poddoor{ dir = 4; @@ -581,25 +553,6 @@ }, /turf/open/floor/wood, /area/ship/crew/canteen) -"gL" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/item/stack/sheet/mineral/wood{ - amount = 10 - }, -/obj/structure/closet/crate, -/obj/item/storage/box/monkeycubes, -/obj/effect/turf_decal/siding/brown{ - dir = 5 - }, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "gO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -684,6 +637,16 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/electrical) +"ie" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/structure/frame/machine, +/obj/item/paper{ + default_raw_text = "Missing protolathe. Lost in transit." + }, +/turf/open/floor/plasteel/dark, +/area/ship/science) "ih" = ( /obj/structure/window/plasma/reinforced/spawner, /obj/structure/window/plasma/reinforced/spawner/west, @@ -734,24 +697,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/atmospherics) -"iD" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/green{ - dir = 1 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) "iF" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -871,6 +816,22 @@ /obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"jR" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/poster/random_contraband, +/obj/effect/turf_decal/number/zero{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = -12; + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) "jT" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -973,6 +934,14 @@ /obj/effect/turf_decal/trimline/opaque/blue/arrow_cw, /turf/open/floor/plating, /area/ship/engineering/atmospherics) +"lx" = ( +/obj/machinery/light/directional/north, +/obj/machinery/suit_storage_unit/mining, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "ly" = ( /obj/structure/window/plasma/reinforced/spawner, /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output, @@ -985,30 +954,6 @@ }, /turf/open/floor/plating, /area/ship/engineering/electrical) -"lD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/button/ignition/incinerator/atmos{ - pixel_x = -26; - pixel_y = -3 - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible/layer5{ - dir = 8 - }, -/obj/structure/table, -/obj/item/weldingtool, -/obj/item/weldingtool, -/obj/item/weldingtool, -/obj/item/weldingtool, -/obj/item/paper{ - default_raw_text = "The igniter in the chamber does not work very well. I suggest throwing lit welders down the disposal chute over there to ignite the chamber." - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) "lF" = ( /obj/effect/turf_decal/siding/blue/corner, /turf/open/floor/plasteel/white, @@ -1154,17 +1099,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) -"mQ" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/light_switch{ - pixel_x = 22; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) "mS" = ( /obj/structure/window/plasma/reinforced/spawner/east, /obj/machinery/air_sensor/atmos/toxin_tank{ @@ -1236,6 +1170,17 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"oo" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = -12; + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "oA" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1453,26 +1398,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/carpet/black, /area/ship/crew/library) -"rX" = ( -/obj/structure/table, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus, -/obj/item/circuitboard/machine/thermomachine, -/obj/item/circuitboard/machine/thermomachine, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 12 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) "se" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on, /turf/open/floor/plating, @@ -1495,24 +1420,6 @@ /obj/machinery/libraryscanner, /turf/open/floor/wood, /area/ship/crew/library) -"ts" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/table/glass, -/obj/item/reagent_containers/spray/cleaner, -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/machinery/light/directional/west, -/obj/item/bodybag/bluespace, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) "tQ" = ( /obj/structure/chair/sofa/left, /obj/effect/turf_decal/siding/wood{ @@ -1615,6 +1522,11 @@ }, /turf/open/floor/plating, /area/ship/maintenance/starboard) +"vv" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ship/crew/dorm) "vB" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -1658,36 +1570,6 @@ /obj/effect/turf_decal/industrial/warning/full, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"wh" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/closet/secure_closet/freezer/meat, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/item/reagent_containers/food/snacks/grown/potato, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/kitchen/knife, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) "wr" = ( /obj/structure/cable{ icon_state = "1-4" @@ -1749,18 +1631,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/science) -"xw" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/pod, -/area/ship/hallway/central) "xE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -1867,25 +1737,9 @@ }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"Al" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/item/poster/random_contraband, -/obj/effect/turf_decal/number/zero{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = 22; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"An" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +"An" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ dir = 8 @@ -1918,6 +1772,29 @@ }, /turf/open/floor/wood, /area/ship/crew/canteen) +"AK" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/carpet/black, +/area/ship/bridge) "AN" = ( /obj/structure/window/plasma/reinforced/spawner, /obj/structure/window/plasma/reinforced/spawner/west, @@ -1939,6 +1816,24 @@ }, /turf/open/floor/plasteel/white, /area/ship/medical) +"Bi" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/table/glass, +/obj/item/reagent_containers/spray/cleaner, +/obj/effect/turf_decal/siding/blue{ + dir = 9 + }, +/obj/machinery/light/directional/west, +/obj/item/bodybag/bluespace, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) "Bl" = ( /obj/machinery/shower{ dir = 8; @@ -1948,6 +1843,23 @@ /obj/structure/curtain, /turf/open/floor/plasteel/white, /area/ship/crew/dorm) +"Bn" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 4; + name = "Chamber Mixer" + }, +/obj/machinery/light/directional/east, +/obj/item/paper/crumpled{ + default_raw_text = "A mix of 67/33 ratio of oxygen (node 1) and plasma (node 2) works very well, even at 500 kPa." + }, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/purple/corner{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ship/engineering/atmospherics) "Bv" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -2061,11 +1973,6 @@ /obj/machinery/atmospherics/components/binary/circulator, /turf/open/floor/engine, /area/ship/engineering/atmospherics) -"CN" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm) "CQ" = ( /obj/docking_port/stationary{ width = 30; @@ -2179,6 +2086,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/layer2, /turf/open/floor/pod, /area/ship/hallway/central) +"Ev" = ( +/obj/machinery/computer/cargo/express{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "Ez" = ( /obj/structure/tank_dispenser, /obj/machinery/firealarm/directional/east, @@ -2188,6 +2105,30 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) +"EL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/ignition/incinerator/atmos{ + pixel_x = -26; + pixel_y = -3 + }, +/obj/machinery/atmospherics/pipe/manifold/green/visible/layer5{ + dir = 8 + }, +/obj/structure/table, +/obj/item/weldingtool, +/obj/item/weldingtool, +/obj/item/weldingtool, +/obj/item/weldingtool, +/obj/item/paper{ + default_raw_text = "The igniter in the chamber does not work very well. I suggest throwing lit welders down the disposal chute over there to ignite the chamber." + }, +/obj/effect/turf_decal/trimline/opaque/red/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) "Fk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -2220,6 +2161,28 @@ "FG" = ( /turf/open/floor/wood, /area/ship/crew/library) +"FO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/closet/secure_closet/wall{ + dir = 4; + icon_state = "sec_wall"; + name = "hunting locker"; + pixel_x = -32; + req_access = list(30) + }, +/obj/item/firing_pin, +/obj/item/kitchen/knife/hunting, +/obj/item/gun/ballistic/shotgun/contender, +/obj/item/ammo_box/a4570, +/obj/item/ammo_box/a4570, +/turf/open/floor/carpet/black, +/area/ship/bridge) "FT" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2377,16 +2340,6 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/atmospherics) -"Jw" = ( -/obj/machinery/computer/cargo/express{ - dir = 4 - }, -/obj/effect/turf_decal/siding/brown{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "Jz" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 4 @@ -2443,14 +2396,6 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"KH" = ( -/obj/machinery/light/directional/north, -/obj/machinery/suit_storage_unit/mining, -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "KK" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2611,23 +2556,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/atmospherics) -"MX" = ( -/obj/machinery/atmospherics/components/trinary/mixer/flipped{ - dir = 4; - name = "Chamber Mixer" - }, -/obj/machinery/light/directional/east, -/obj/item/paper/crumpled{ - default_raw_text = "A mix of 67/33 ratio of oxygen (node 1) and plasma (node 2) works very well, even at 500 kPa." - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/purple/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) "Ne" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2658,6 +2586,30 @@ /obj/item/stack/sheet/glass/fifty, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) +"Nk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/science) "Nn" = ( /obj/structure/cable{ icon_state = "2-8" @@ -2788,6 +2740,20 @@ }, /turf/open/floor/plasteel/white, /area/ship/medical) +"Oe" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/wood, +/area/ship/crew/library) "Ol" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -2813,6 +2779,36 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/ship/engineering/atmospherics) +"OG" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/closet/secure_closet/freezer/meat, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/condiment/milk, +/obj/item/reagent_containers/food/condiment/milk, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/kitchen/knife, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) "OI" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/science, @@ -3096,6 +3092,26 @@ }, /turf/open/floor/engine, /area/ship/engineering/atmospherics) +"Th" = ( +/obj/structure/table, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/item/circuitboard/machine/thermomachine, +/obj/item/circuitboard/machine/thermomachine, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) "Tv" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner, /turf/open/floor/carpet/black, @@ -3138,6 +3154,24 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/plating, /area/ship/engineering/atmospherics) +"TM" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/green{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 12 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) "UB" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/atmospherics) @@ -3280,6 +3314,18 @@ }, /turf/open/floor/plasteel/dark, /area/ship/science) +"VZ" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/pod, +/area/ship/hallway/central) "Wa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -3365,58 +3411,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/carpet/black, /area/ship/bridge) -"WU" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/carpet/black, -/area/ship/bridge) "Xi" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, /turf/open/floor/carpet/black, /area/ship/crew/library) -"Xn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) "Xq" = ( /obj/structure/bookcase/random/reference, /obj/effect/turf_decal/siding/wood{ @@ -3719,19 +3718,19 @@ tb tb lu GX -Al +jR RR Mw zV JW wz SH -MX +Bn gx Xr bK Qb -mQ +oo Gu uI "} @@ -3766,7 +3765,7 @@ lu UB TK Ss -lD +EL YR bi vP @@ -3953,7 +3952,7 @@ tb cc AX BH -Jw +Ev cc nz GJ @@ -3993,7 +3992,7 @@ tb tb tb cc -KH +lx nZ SP cc @@ -4014,7 +4013,7 @@ tb tb tb cc -gL +fu gk Kl NL @@ -4022,7 +4021,7 @@ Zj GJ Ez kd -rX +Th LY GJ tb @@ -4077,13 +4076,13 @@ UK UK UK UK -xw +VZ Eb Pn US dN dN -dj +Oe FG FG Jp @@ -4209,7 +4208,7 @@ ah bI Bz JL -iD +TM es MM dJ @@ -4225,7 +4224,7 @@ tb tb tb Yk -wh +OG TE aF Bz @@ -4275,7 +4274,7 @@ NB de bT cj -CN +vv GT tb tb @@ -4334,7 +4333,7 @@ lG MT SU Gb -ts +Bi QI Bv LQ @@ -4418,7 +4417,7 @@ tb lG PL ch -eK +ie vc My lG @@ -4458,7 +4457,7 @@ tb tb tb lG -Xn +Nk JF iv XO @@ -4500,8 +4499,8 @@ tb tb tb dY -WU -eR +AK +FO gO nJ HZ diff --git a/_maps/shuttles/shiptest/independent_rube_goldberg.dmm b/_maps/shuttles/shiptest/independent_rube_goldberg.dmm index dd2ae86feb2e..69043b560f0d 100644 --- a/_maps/shuttles/shiptest/independent_rube_goldberg.dmm +++ b/_maps/shuttles/shiptest/independent_rube_goldberg.dmm @@ -244,6 +244,24 @@ /obj/machinery/light/directional/north, /turf/open/floor/carpet/royalblue, /area/ship/crew/dorm) +"cE" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 23 + }, +/turf/open/floor/plating/airless, +/area/ship/hallway) "cF" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -302,6 +320,25 @@ /obj/machinery/disposal/deliveryChute, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) +"dd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 23 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/bridge) "dm" = ( /obj/structure/window/reinforced/spawner{ dir = 8 @@ -765,26 +802,6 @@ }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"hn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/airalarm/directional/east, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/structure/cable/green{ - icon_state = "2-9" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/medical) "hr" = ( /obj/machinery/atmospherics/components/binary/pump/layer2, /obj/effect/decal/cleanable/ash/snappop_phoenix, @@ -800,16 +817,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew/dorm) -"hv" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/structure/fans/tiny, -/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) "hB" = ( /obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ dir = 4 @@ -826,6 +833,26 @@ }, /turf/open/floor/plating/airless, /area/ship/hallway) +"hC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/structure/cable/green{ + icon_state = "2-9" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 12 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/medical) "hE" = ( /obj/structure/particle_accelerator/end_cap, /turf/open/floor/plasteel/tech/techmaint, @@ -874,6 +901,16 @@ }, /turf/open/floor/plating, /area/ship/engineering/engine) +"hZ" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/structure/fans/tiny, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ship/engineering/atmospherics) "id" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -1101,13 +1138,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/grimy, /area/ship/crew/canteen) -"kq" = ( -/obj/machinery/light_switch{ - pixel_x = -10; - pixel_y = 23 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) "kt" = ( /obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ dir = 4 @@ -1247,6 +1277,52 @@ /obj/structure/holosign/barrier/atmos/infinite, /turf/open/floor/plating, /area/ship/engineering) +"mj" = ( +/obj/structure/table/wood, +/obj/machinery/light/directional/east, +/obj/machinery/fax{ + pixel_y = -5 + }, +/obj/effect/turf_decal/corner/opaque/yellow/border{ + dir = 5 + }, +/turf/open/floor/mineral/titanium, +/area/ship/bridge) +"ml" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/storage/belt/utility/chief/full, +/obj/item/clothing/under/rank/engineering/chief_engineer, +/obj/item/clothing/under/rank/engineering/chief_engineer/skirt, +/obj/item/clothing/head/hardhat/white, +/obj/item/clothing/glasses/meson/engine, +/obj/item/holosign_creator/atmos, +/obj/item/holosign_creator/engineering, +/obj/item/circuitboard/machine/techfab/department/engineering, +/obj/item/areaeditor/shuttle, +/obj/item/clothing/suit/toggle/hazard, +/obj/item/clothing/head/beret/ce, +/obj/item/clothing/head/beret/eng, +/obj/item/pipe_dispenser, +/obj/item/construction/rcd/arcd, +/obj/item/rcd_ammo/large, +/obj/item/rcd_ammo, +/obj/item/rcd_ammo, +/obj/item/clothing/gloves/color/yellow, +/obj/item/gun/ballistic/shotgun/winchester, +/obj/item/ammo_box/c38_box, +/obj/item/storage/fancy/cigarettes/cigars/cohiba, +/obj/effect/turf_decal/corner/opaque/yellow/border{ + dir = 6 + }, +/obj/structure/closet/secure{ + icon_state = "ce"; + name = "Chief at Engineering's Stuff" + }, +/obj/item/areaeditor/shuttle, +/turf/open/floor/mineral/titanium, +/area/ship/bridge) "mr" = ( /obj/machinery/atmospherics/pipe/simple{ dir = 10 @@ -1399,6 +1475,21 @@ /obj/effect/turf_decal/trimline/transparent/bar/filled, /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew/dorm) +"oq" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/spline/plain/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/yellow, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 23 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/dorm) "oK" = ( /turf/closed/wall/mineral/wood, /area/ship/hallway) @@ -1904,6 +1995,24 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew/dorm) +"tq" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/machinery/button/door{ + dir = 8; + id = "Burn Chamber Blast"; + name = "Burn Chamber Vent Control"; + pixel_x = 26; + pixel_y = 5 + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = 23 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "tt" = ( /turf/closed/wall/mineral/wood, /area/ship/crew/canteen) @@ -1916,15 +2025,6 @@ /obj/machinery/reagentgrinder/constructed, /turf/open/floor/plasteel/grimy, /area/ship/crew/canteen) -"tN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/computer/atmos_control/tank/toxin_tank, -/obj/machinery/light/directional/east, -/obj/machinery/door/airlock/hatch, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) "tZ" = ( /obj/docking_port/mobile{ callTime = 250; @@ -2168,9 +2268,6 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine/airless, /area/ship/engineering/atmospherics) -"vW" = ( -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) "vX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -2289,21 +2386,6 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew/canteen) -"xw" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/spline/plain/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/spline/plain/opaque/yellow, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/dorm) "xA" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/general/visible/layer2, @@ -2343,42 +2425,6 @@ /obj/effect/turf_decal/trimline/transparent/bar, /turf/open/floor/plating, /area/ship/engineering/engine) -"xU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/storage/belt/utility/chief/full, -/obj/item/clothing/under/rank/engineering/chief_engineer, -/obj/item/clothing/under/rank/engineering/chief_engineer/skirt, -/obj/item/clothing/head/hardhat/white, -/obj/item/clothing/glasses/meson/engine, -/obj/item/holosign_creator/atmos, -/obj/item/holosign_creator/engineering, -/obj/item/circuitboard/machine/techfab/department/engineering, -/obj/item/areaeditor/shuttle, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/head/beret/ce, -/obj/item/clothing/head/beret/eng, -/obj/item/pipe_dispenser, -/obj/item/construction/rcd/arcd, -/obj/item/rcd_ammo/large, -/obj/item/rcd_ammo, -/obj/item/rcd_ammo, -/obj/item/clothing/gloves/color/yellow, -/obj/item/gun/ballistic/shotgun/winchester, -/obj/item/ammo_box/c38_box/hunting, -/obj/item/disk/design_disk/ammo_38_hunting, -/obj/item/storage/fancy/cigarettes/cigars/cohiba, -/obj/effect/turf_decal/corner/opaque/yellow/border{ - dir = 6 - }, -/obj/structure/closet/secure{ - icon_state = "ce"; - name = "Chief at Engineering's Stuff" - }, -/obj/item/areaeditor/shuttle, -/turf/open/floor/mineral/titanium, -/area/ship/bridge) "xW" = ( /obj/machinery/power/smes, /obj/structure/cable/green{ @@ -2623,6 +2669,16 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) +"zV" = ( +/obj/machinery/light/directional/west, +/obj/structure/toilet/secret{ + dir = 8; + pixel_x = 7; + secret_type = "/obj/item/toy/plush/blahaj" + }, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) "zW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -2698,24 +2754,6 @@ }, /turf/open/floor/plasteel/white, /area/ship/medical) -"AE" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/structure/cable/green{ - icon_state = "2-8" - }, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/plating/airless, -/area/ship/hallway) "AL" = ( /obj/structure/closet/radiation, /obj/structure/sign/warning/deathsposal{ @@ -2771,29 +2809,6 @@ }, /turf/open/floor/engine/airless, /area/ship/engineering/atmospherics) -"BC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/green{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/canteen) "BD" = ( /obj/structure/lattice/catwalk, /turf/open/space, @@ -3086,6 +3101,22 @@ }, /turf/open/floor/plating, /area/ship/engineering/engine) +"EL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/computer/atmos_control/tank/toxin_tank, +/obj/machinery/light/directional/east, +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"ER" = ( +/obj/item/bedsheet/dorms, +/obj/structure/bed, +/obj/item/toy/plush/goatplushie, +/obj/structure/window/reinforced/tinted, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm) "ES" = ( /obj/structure/chair/sofa/right{ dir = 1 @@ -3163,25 +3194,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/ship/engineering/atmospherics) -"FJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/green{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/bridge) "FP" = ( /obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ dir = 4 @@ -3205,24 +3217,6 @@ /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"FU" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/green{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/corner/opaque/brown/border{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/brown/bordercorner, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) "FZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -3247,6 +3241,29 @@ }, /turf/open/floor/plating/airless, /area/ship/hallway) +"Gd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 23 + }, +/turf/open/floor/wood/mahogany, +/area/ship/crew/canteen) "Ge" = ( /obj/structure/closet/crate/solarpanel_small, /turf/open/floor/plasteel/tech/techmaint, @@ -3646,16 +3663,6 @@ /obj/machinery/atmospherics/pipe/manifold/general/visible/layer2, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"Jk" = ( -/obj/machinery/light/directional/west, -/obj/structure/toilet/secret{ - dir = 8; - pixel_x = 7; - secret_type = "/obj/item/toy/plush/blahaj" - }, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) "Jp" = ( /obj/machinery/light/directional/north, /obj/structure/closet/secure_closet/freezer/fridge, @@ -3683,17 +3690,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/plasteel/tech/techmaint, /area/ship/storage) -"Ju" = ( -/obj/structure/table/wood, -/obj/machinery/light/directional/east, -/obj/machinery/fax{ - pixel_y = -5 - }, -/obj/effect/turf_decal/corner/opaque/yellow/border{ - dir = 5 - }, -/turf/open/floor/mineral/titanium, -/area/ship/bridge) "Jx" = ( /obj/machinery/camera/autoname, /obj/structure/cable/green{ @@ -3813,13 +3809,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) -"KK" = ( -/obj/item/bedsheet/dorms, -/obj/structure/bed, -/obj/item/toy/plush/goatplushie, -/obj/structure/window/reinforced/tinted, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/dorm) "KM" = ( /obj/machinery/atmospherics/pipe/simple{ dir = 8 @@ -4278,28 +4267,17 @@ /obj/item/stock_parts/cell/hyper/empty, /turf/open/floor/mineral/titanium, /area/ship/bridge) -"Qj" = ( -/obj/structure/sign/departments/restroom, -/turf/closed/wall/mineral/wood, -/area/ship/crew/canteen) -"Qm" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/green{ - icon_state = "0-8" - }, -/obj/machinery/button/door{ - dir = 8; - id = "Burn Chamber Blast"; - name = "Burn Chamber Vent Control"; - pixel_x = 26; - pixel_y = 5 - }, +"Qh" = ( /obj/machinery/light_switch{ - pixel_x = -13; + pixel_x = -10; pixel_y = 23 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering/atmospherics) +"Qj" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall/mineral/wood, +/area/ship/crew/canteen) "Qw" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4578,6 +4556,24 @@ }, /turf/open/floor/plating/airless, /area/ship/hallway) +"Tt" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown/bordercorner, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 23 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) "TC" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 @@ -4796,31 +4792,6 @@ }, /turf/open/floor/mineral/titanium, /area/ship/bridge) -"Vi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/green{ - icon_state = "0-9" - }, -/obj/structure/cable/green{ - icon_state = "4-9" - }, -/obj/effect/turf_decal/industrial/radiation, -/obj/effect/turf_decal/industrial/radiation{ - dir = 1 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/turf/open/floor/mineral/titanium, -/area/ship/storage) "Vk" = ( /obj/effect/turf_decal/atmos/oxygen, /turf/open/floor/engine/airless, @@ -4960,6 +4931,31 @@ /obj/effect/turf_decal/corner/opaque/brown/border, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) +"Xb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green{ + icon_state = "0-9" + }, +/obj/structure/cable/green{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/industrial/radiation, +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -12; + pixel_y = -16 + }, +/turf/open/floor/mineral/titanium, +/area/ship/storage) "Xi" = ( /obj/effect/turf_decal/atmos/nitrogen, /turf/open/floor/engine/airless, @@ -5159,6 +5155,9 @@ "Zg" = ( /turf/template_noop, /area/template_noop) +"Zh" = ( +/turf/open/floor/engine/airless, +/area/ship/engineering/engine) "Zj" = ( /turf/closed/wall/r_wall, /area/ship/medical) @@ -5605,7 +5604,7 @@ Ke Lg rp Ke -KK +ER Yi Al Tq @@ -5826,7 +5825,7 @@ tt tt tt tt -BC +Gd IF To hf @@ -5890,7 +5889,7 @@ tt Qj Zk tt -xw +oq zt bp gb @@ -5945,7 +5944,7 @@ tt jn tt yg -Jk +zV vJ tt Wr @@ -6230,13 +6229,13 @@ Yl XC Zj hR -FJ +dd qT UY vr zH hR -AE +cE Do DE Hp @@ -6276,7 +6275,7 @@ Zg Zg Zg gk -FU +Tt UX em jW @@ -6286,7 +6285,7 @@ UH ZU TC vX -hn +hC TW bj ao @@ -6319,7 +6318,7 @@ rj Fr LC Ru -vW +Zh rm Zg Zg @@ -6406,8 +6405,8 @@ Zj eq PM qZ -Ju -xU +mj +ml hR hR hB @@ -6486,7 +6485,7 @@ Cg Pe Ft lX -Qm +tq cF Ot RB @@ -6531,7 +6530,7 @@ bT Vr bT sk -hv +hZ sk sk gY @@ -6586,7 +6585,7 @@ Zg Zg Dw bT -kq +Qh dR ph gv @@ -6765,7 +6764,7 @@ iC Cc Lc Ht -tN +EL rk Yy QY @@ -6829,7 +6828,7 @@ rv pF bT ma -Vi +Xb ei ei ei diff --git a/_maps/shuttles/shiptest/independent_scav.dmm b/_maps/shuttles/shiptest/independent_scav.dmm deleted file mode 100644 index 880634f50427..000000000000 --- a/_maps/shuttles/shiptest/independent_scav.dmm +++ /dev/null @@ -1,1845 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ag" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"ak" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"aN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/window/reinforced/survival_pod, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave, -/area/ship/cargo) -"bu" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "scav_shutters" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"bK" = ( -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 9 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"bL" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"cs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ct" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "scav_door"; - name = "Dusty Blast Door" - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "scavbay" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"cu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"cF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"dh" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/grey/border{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"dB" = ( -/obj/structure/closet/emcloset/wall{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/plasmaman/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"dD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"dT" = ( -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"eh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"et" = ( -/obj/structure/closet/crate/engineering{ - anchored = 1 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/item/decal_painter, -/obj/item/storage/belt, -/obj/item/storage/belt, -/obj/item/pipe_dispenser, -/obj/machinery/light/small/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"eO" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"fm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"fp" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/cargo) -"fS" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"gi" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/external) -"gr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"gs" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/window{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"gE" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "scav_shutters" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"gN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 1; - id = "scavbay" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "scav_door"; - name = "Dusty Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"hG" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"hZ" = ( -/obj/structure/window/reinforced/survival_pod, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave, -/area/ship/cargo) -"is" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"iw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"iP" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/effect/turf_decal/corner/opaque/grey/border{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"jm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"ju" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/table, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/spacecash/bundle/c1, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"jA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/light/floor{ - brightness = 2 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"kg" = ( -/obj/effect/turf_decal/corner/opaque/grey/border{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"kh" = ( -/obj/machinery/shower{ - dir = 4; - pixel_x = -3 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/window/reinforced{ - dir = 8; - pixel_x = -7 - }, -/obj/structure/window/reinforced/survival_pod, -/obj/structure/curtain/bounty, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/noslip, -/area/ship/cargo) -"ko" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/grey/border{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"kO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor{ - dir = 4; - id = "scav_door"; - name = "Dusty Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"lO" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 16; - pixel_y = -19 - }, -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/obj/item/radio/intercom/wideband/directional/south, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"mj" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 25; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"ml" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"mC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"mV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"mY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"nw" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"nN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"nS" = ( -/obj/machinery/atmospherics/components/binary/valve/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"nU" = ( -/obj/machinery/stasis{ - dir = 1 - }, -/obj/machinery/shower{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"on" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "scav_shutters" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"oF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"oK" = ( -/obj/structure/chair/sofa/left{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"oY" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/medical) -"pi" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/window{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"pp" = ( -/obj/structure/table/reinforced, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/item/radio/intercom/wideband/table{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"ps" = ( -/obj/structure/window/reinforced/survival_pod, -/obj/structure/window/reinforced/survival_pod{ - dir = 4 - }, -/obj/structure/table, -/obj/item/disk/holodisk, -/obj/item/toy/plush/goatplushie, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/cargo) -"pU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/closet/firecloset/wall{ - dir = 1; - pixel_y = -28 - }, -/obj/effect/turf_decal/number/three{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"qg" = ( -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"qi" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"qv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"qL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/box/white/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"qM" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"qN" = ( -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"ra" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/hardline_small/left{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"rb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/space/syndicate/orange{ - armor = list("melee"=5,"bullet"=10,"laser"=10,"energy"=10,"bomb"=30,"bio"=30,"rad"=30,"fire"=30,"acid"=85); - name = "degrading orange space suit"; - w_class = 4 - }, -/obj/item/clothing/head/helmet/space/syndicate/black/orange{ - armor = list("melee"=5,"bullet"=10,"laser"=10,"energy"=10,"bomb"=30,"bio"=30,"rad"=30,"fire"=30,"acid"=85); - name = "degrading black space helmet"; - w_class = 4 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"tg" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"tq" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/table, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/spacecash/bundle/c1, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"tO" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/turf_decal/corner/opaque/grey/border{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ut" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"uv" = ( -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/mob/living/simple_animal/pet/cat/original{ - butcher_difficulty = 100; - damage_coeff = list("brute"=1,"fire"=1.5,"toxin"=1,"clone"=1,"stamina"=0,"oxygen"=0); - desc = "The product of alien DNA and bored geneticists. This one looks awefully sturdy."; - health = 200; - name = "Scav"; - verb_say = "meows"; - verb_whisper = "purrs"; - verb_yell = "hisses" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"uW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"wq" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/port_gen/pacman, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"wQ" = ( -/obj/structure/closet/crate/science{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/gun/energy/e_gun/old, -/obj/item/gun/energy/e_gun/old, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"xG" = ( -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"xV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"yn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"yB" = ( -/obj/structure/table/rolling, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health/prescription, -/obj/item/reagent_containers/glass/bottle/formaldehyde, -/obj/item/reagent_containers/glass/bottle/iron, -/obj/item/reagent_containers/glass/bottle/iron, -/obj/item/reagent_containers/glass/filter, -/obj/item/reagent_containers/glass/mortar/gold, -/obj/item/pestle, -/obj/item/soap/deluxe, -/obj/item/storage/belt/medical/webbing, -/obj/structure/closet/wall/white/chem{ - dir = 1; - pixel_y = -32 - }, -/obj/item/storage/firstaid/advanced, -/obj/item/storage/firstaid/toxin, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/syringes{ - pixel_x = 6; - pixel_y = -5 - }, -/obj/item/defibrillator, -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 8 - }, -/obj/item/toy/plush/goatplushie/angry/realgoat, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"zq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"zN" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/obj/machinery/light/small/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"Ai" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "scav_shutters" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"An" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/corner/opaque/pink/bordercorner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Ar" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/external) -"AM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"AV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 8; - launch_status = 0; - preferred_direction = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/external) -"Bv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall/mineral/plastitanium/interior, -/area/ship/engineering) -"BG" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/window{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"BS" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/decal/cleanable/plastic, -/obj/machinery/door/window/survival_pod{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/cargo) -"CG" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = 26 - }, -/obj/structure/curtain/bounty{ - open = 0 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/cargo) -"Ds" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"Dw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/poddoor{ - dir = 4; - id = "scav_door"; - name = "Dusty Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"DU" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Ez" = ( -/obj/structure/chair/sofa/left{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"EL" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "scav_shutters" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"ER" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Fq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/chair/sofa/right{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Fy" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/port_gen/pacman, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"FK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"FN" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "scav_shutters" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"FO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"FX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/closed/wall/mineral/plastitanium/interior, -/area/ship/engineering) -"GM" = ( -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Hm" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"HO" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"In" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/number/zero{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"IE" = ( -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Jd" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/closed/wall/mineral/plastitanium/interior, -/area/ship/engineering) -"Jj" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/ship/cargo) -"Jt" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/medical) -"Jx" = ( -/obj/machinery/light_switch{ - pixel_x = 13; - pixel_y = 21 - }, -/obj/item/borg/sight/hud/sec, -/obj/item/storage/backpack/duffelbag, -/obj/machinery/airalarm/directional/west, -/obj/item/stock_parts/cell/gun/mini{ - chargerate = 10; - desc = "A rechargeable electrochemical power cell. this one looks awefully bloated"; - maxcharge = 6250; - name = "bloated miniature weapon power cell"; - w_class = 3 - }, -/obj/item/cane, -/obj/structure/closet/wall/blue{ - pixel_y = 32 - }, -/obj/item/spacecash/bundle/c500, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Km" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"KK" = ( -/obj/machinery/door/window/southleft, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"KX" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/ship/engineering) -"Lp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"LK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/hardline_small/right{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Mv" = ( -/obj/structure/window/reinforced, -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"MM" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "scav_shutters"; - dir = 4 - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"MP" = ( -/obj/structure/closet/crate/engineering/electrical{ - anchored = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/storage/toolbox/electrical, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"No" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/hardline_small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"NI" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"Ou" = ( -/obj/structure/table, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/light/small/directional/south, -/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin{ - pixel_x = -12; - pixel_y = 7 - }, -/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine{ - pixel_x = -2; - pixel_y = 7 - }, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = -12; - pixel_y = -7 - }, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = -7; - pixel_y = -7 - }, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = -2; - pixel_y = -7 - }, -/obj/item/hypospray/mkii{ - pixel_x = 7; - pixel_y = 3 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Qa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/number/five{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Qd" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Qk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/external) -"QG" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/corner/opaque/grey/border{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"QO" = ( -/obj/machinery/autolathe/hacked, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"QY" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4; - piping_layer = 2 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"QZ" = ( -/obj/machinery/computer/rdconsole{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light/small/directional/south, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Rc" = ( -/turf/template_noop, -/area/template_noop) -"Rx" = ( -/obj/machinery/computer/cargo/express, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Rz" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/layer4, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"RD" = ( -/obj/structure/table/optable, -/obj/machinery/airalarm/directional/south, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -5; - pixel_y = -5 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Sd" = ( -/obj/item/clothing/suit/space/hardsuit/combatmedic{ - allowed = list(/obj/item/gun,/obj/item/circular_saw,/obj/item/tank/internals,/obj/item/storage/box/pillbottles,/obj/item/storage/firstaid,/obj/item/stack/medical/gauze,/obj/item/stack/medical/suture,/obj/item/stack/medical/mesh,/obj/item/storage/bag/chemistry); - armor = list("melee"=25,"bullet"=10,"laser"=20,"energy"=15,"bomb"=5,"bio"=80,"rad"=50,"fire"=65,"acid"=75); - desc = "What was once the standard issue hardsuit of infectious disease officers, before the NT ERT squads. this one looks like it has been degrading for quite a long time."; - name = "degrading biological hardsuit" - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Sh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/chair/sofa/right{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"SC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"TD" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"TM" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/modular_computer/console/preset/command{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Uj" = ( -/obj/machinery/door/window/southright, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Uy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Uz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"Vy" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/gum/nicotine, -/obj/item/storage/box/gum/nicotine, -/obj/item/storage/box/gum/nicotine, -/obj/item/gun/energy/laser/hitscanpistol, -/obj/machinery/button/door{ - id = "scav_shutters"; - name = "Shutter Control"; - pixel_x = -7; - pixel_y = 21 - }, -/obj/machinery/button/door{ - id = "scav_door"; - name = "Blast Control"; - pixel_x = 7; - pixel_y = 20 - }, -/obj/machinery/button/shieldwallgen{ - id = "scavbay"; - name = "Bay Air Shield"; - pixel_x = -17; - pixel_y = 19 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"VI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/pink/border{ - dir = 9 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"VS" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"Wq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/table, -/obj/item/radio/off{ - pixel_x = -15 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Wt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/item/lightreplacer, -/obj/item/storage/box/lights/bulbs, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -28; - pixel_y = 8 - }, -/obj/structure/closet/crate{ - anchored = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Ya" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/landmark/observer_start, -/turf/open/floor/carpet/nanoweave, -/area/ship/cargo) -"Yn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/box/white/corners, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"YA" = ( -/obj/structure/window/reinforced, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Zv" = ( -/obj/item/clothing/suit/space/syndicate/black{ - armor = list("melee"=5,"bullet"=10,"laser"=10,"energy"=10,"bomb"=30,"bio"=30,"rad"=30,"fire"=30,"acid"=85); - name = "degrading black space suit"; - w_class = 4 - }, -/obj/item/clothing/head/helmet/space/syndicate/black{ - armor = list("melee"=5,"bullet"=10,"laser"=10,"energy"=10,"bomb"=30,"bio"=30,"rad"=30,"fire"=30,"acid"=85); - name = "degrading black space helmet"; - w_class = 4 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Zy" = ( -/obj/item/clothing/suit/space/syndicate/blue{ - armor = list("melee"=5,"bullet"=10,"laser"=10,"energy"=10,"bomb"=30,"bio"=30,"rad"=30,"fire"=30,"acid"=85); - name = "degrading blue space suit"; - w_class = 4 - }, -/obj/item/clothing/head/helmet/space/syndicate/black/blue{ - armor = list("melee"=5,"bullet"=10,"laser"=10,"energy"=10,"bomb"=30,"bio"=30,"rad"=30,"fire"=30,"acid"=85); - name = " degrading black space helmet"; - w_class = 4 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ZA" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/donkpocket/warm/berry{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/pda{ - desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge. Looks like some one tried to shove a berry donk pocket in its' id slot?"; - pixel_x = 5; - pixel_y = 17 - }, -/obj/item/radio/off{ - pixel_x = -15 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ZI" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "scav_shutters" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"ZN" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/industrial/outline/blue, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ZQ" = ( -/obj/item/storage/toolbox/emergency, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/item/pickaxe/drill, -/obj/item/pickaxe/drill, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/machinery/airalarm/directional/west, -/obj/structure/closet/crate{ - anchored = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) - -(1,1,1) = {" -Rc -Rc -Rc -Rc -Rc -ut -ut -NI -ut -ut -Rc -Rc -Rc -"} -(2,1,1) = {" -Rc -Rc -Rc -Rc -ut -ZI -bu -QY -ZI -gE -ut -Rc -Rc -"} -(3,1,1) = {" -Rc -Rc -Rz -Lp -EL -gs -BG -nS -pi -pi -Ai -eh -Uz -"} -(4,1,1) = {" -Rc -Rc -Jj -fS -kh -jm -eO -qv -ag -Km -HO -xV -hG -"} -(5,1,1) = {" -Rc -Rc -Jj -CG -hZ -yn -Ds -MP -et -mj -zq -zN -hG -"} -(6,1,1) = {" -Rc -Rc -Jj -Ya -aN -oF -FX -Jd -KX -Bv -qg -wq -hG -"} -(7,1,1) = {" -Rc -VS -fS -BS -ps -bL -ZN -Wt -ZQ -wQ -qN -Fy -hG -"} -(8,1,1) = {" -VS -nw -TM -kg -xG -xG -oK -Sh -ak -gr -VI -yB -oY -"} -(9,1,1) = {" -VS -Jx -KK -ko -fm -is -tq -ju -Uy -mV -ER -Ou -oY -"} -(10,1,1) = {" -VS -pp -Uj -dh -tg -AM -Wq -ZA -xG -qi -mY -nU -oY -"} -(11,1,1) = {" -VS -Vy -uv -iP -xG -nN -Fq -Ez -GM -bK -An -dT -oY -"} -(12,1,1) = {" -on -Rx -YA -tO -xG -cF -jA -xG -Sd -IE -RD -Jt -oY -"} -(13,1,1) = {" -MM -FN -Mv -QG -xG -mC -FK -Qd -Zy -IE -TD -oY -Rc -"} -(14,1,1) = {" -Rc -MM -nw -QO -SC -qL -Yn -xG -rb -lO -Jt -oY -Rc -"} -(15,1,1) = {" -Rc -Rc -fp -qM -DU -Hm -uW -cu -Zv -QZ -oY -Rc -Rc -"} -(16,1,1) = {" -Rc -Rc -fp -dB -ml -cs -FO -iw -dD -fS -oY -Rc -Rc -"} -(17,1,1) = {" -Rc -Rc -fp -ra -No -LK -Qa -In -pU -fp -Rc -Rc -Rc -"} -(18,1,1) = {" -Rc -Rc -fp -ct -Dw -kO -Dw -Dw -gN -fp -Rc -Rc -Rc -"} -(19,1,1) = {" -Rc -Rc -Rc -Ar -Qk -Qk -AV -Qk -gi -Rc -Rc -Rc -Rc -"} diff --git a/_maps/shuttles/shiptest/independent_schmiedeberg.dmm b/_maps/shuttles/shiptest/independent_schmiedeberg.dmm index 5aa7e7a2ea36..78836ac3bde9 100644 --- a/_maps/shuttles/shiptest/independent_schmiedeberg.dmm +++ b/_maps/shuttles/shiptest/independent_schmiedeberg.dmm @@ -88,8 +88,8 @@ /obj/structure/table/glass, /obj/machinery/smartfridge/disks, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -223,8 +223,8 @@ /area/ship/medical) "ca" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/turf_decal/siding/wood/corner{ color = "#543C30"; @@ -443,8 +443,8 @@ /obj/effect/spawner/lootdrop/maintenance/two, /obj/effect/decal/cleanable/greenglow/filled, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -471,6 +471,9 @@ dir = 1; pixel_y = -32 }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/carpet/blue, /area/ship/crew) "fO" = ( @@ -494,6 +497,9 @@ dir = 8 }, /obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/carpet/blue, /area/ship/crew) "fY" = ( @@ -597,8 +603,8 @@ /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -652,15 +658,15 @@ /obj/machinery/plumbing/input, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /turf/open/floor/carpet/nanoweave/beige, /area/ship/medical) "il" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/cargo) @@ -693,8 +699,8 @@ /obj/item/shovel/spade, /obj/item/cultivator, /obj/effect/turf_decal/siding/wood{ - dir = 6; - color = "#543C30" + color = "#543C30"; + dir = 6 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -750,8 +756,8 @@ "jQ" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -777,8 +783,8 @@ }, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /turf/open/floor/concrete/slab_4, /area/ship/crew/canteen) @@ -823,8 +829,8 @@ "kF" = ( /obj/effect/decal/cleanable/glass, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/cargo) @@ -832,8 +838,8 @@ /obj/structure/table, /obj/machinery/microwave, /obj/effect/turf_decal/siding/wood{ - dir = 6; - color = "#543C30" + color = "#543C30"; + dir = 6 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -995,8 +1001,8 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/light_switch{ - pixel_x = 20; dir = 8; + pixel_x = 20; pixel_y = 12 }, /turf/open/floor/wood/walnut, @@ -1079,8 +1085,8 @@ /obj/item/paper/crumpled, /obj/item/seeds/cannabis, /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -1224,16 +1230,16 @@ /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance/two, /obj/effect/turf_decal/siding/wood{ - dir = 9; - color = "#543C30" + color = "#543C30"; + dir = 9 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) "qV" = ( /obj/machinery/light/small/directional/north, /obj/structure/sign/departments/chemistry{ - pixel_y = 29; - pixel_x = -27 + pixel_x = -27; + pixel_y = 29 }, /obj/effect/decal/cleanable/oil, /obj/structure/cable{ @@ -1430,8 +1436,8 @@ /obj/item/reagent_containers/glass/rag, /obj/machinery/light/directional/east, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -1567,10 +1573,10 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/machinery/button/door{ + dir = 1; id = "pharmwindows"; name = "window shutters"; - pixel_y = -23; - dir = 1 + pixel_y = -23 }, /obj/machinery/light_switch{ dir = 4; @@ -1616,6 +1622,9 @@ "xc" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /turf/open/floor/carpet/blue, /area/ship/crew) "xg" = ( @@ -1637,8 +1646,8 @@ /obj/item/chair/stool/bar, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/siding/wood{ - dir = 9; - color = "#543C30" + color = "#543C30"; + dir = 9 }, /turf/open/floor/wood/walnut, /area/ship/cargo) @@ -1760,8 +1769,8 @@ /obj/machinery/hydroponics/constructable, /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/turf_decal/siding/wood{ - dir = 6; - color = "#543C30" + color = "#543C30"; + dir = 6 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -1785,8 +1794,8 @@ }, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /turf/open/floor/plasteel/white, /area/ship/cargo) @@ -1835,8 +1844,8 @@ "Ab" = ( /obj/structure/chair/stool/bar, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/cargo) @@ -1866,12 +1875,12 @@ pixel_y = 32 }, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#543C30" + color = "#543C30"; + dir = 5 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -1892,8 +1901,8 @@ /obj/item/radio/intercom/directional/west, /obj/item/storage/pill_bottle/floorpill/full, /obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#543C30" + color = "#543C30"; + dir = 5 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -1915,8 +1924,8 @@ }, /obj/effect/decal/cleanable/food/tomato_smudge, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -2254,6 +2263,9 @@ /turf/open/floor/wood/walnut, /area/ship/crew/canteen) "HB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /turf/open/floor/carpet/blue, /area/ship/crew) "HE" = ( @@ -2280,9 +2292,9 @@ /area/ship/bridge) "Iz" = ( /obj/docking_port/stationary{ - width = 30; + dwidth = 15; height = 15; - dwidth = 15 + width = 30 }, /turf/template_noop, /area/template_noop) @@ -2492,6 +2504,7 @@ /obj/effect/turf_decal/siding/wood/corner, /obj/structure/table/wood, /obj/structure/bedsheetbin, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/carpet/blue, /area/ship/crew) "Mf" = ( @@ -2508,8 +2521,8 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/east, /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /turf/open/floor/concrete/slab_3, /area/ship/crew/hydroponics) @@ -2698,6 +2711,7 @@ /obj/item/clothing/shoes/sneakers/orange, /obj/item/clothing/shoes/sneakers/orange, /obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/carpet/blue, /area/ship/crew) "Or" = ( @@ -2707,8 +2721,8 @@ /obj/item/cultivator/rake, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -2757,6 +2771,12 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/carpet/blue, /area/ship/crew) "Pj" = ( @@ -2824,8 +2844,8 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#543C30" + color = "#543C30"; + dir = 5 }, /turf/open/floor/wood/walnut, /area/ship/crew/hydroponics) @@ -2869,8 +2889,8 @@ /obj/structure/window/reinforced/fulltile/shuttle, /obj/structure/grille, /obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmairlock"; - dir = 4 + dir = 4; + id = "pharmairlock" }, /turf/open/floor/plating, /area/ship/engineering) @@ -2912,15 +2932,15 @@ pixel_x = -25 }, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /turf/open/floor/concrete/slab_1, /area/ship/crew/canteen) "Sy" = ( /obj/machinery/door/airlock{ - id_tag = "pharmdoorlock"; - dir = 4 + dir = 4; + id_tag = "pharmdoorlock" }, /obj/effect/turf_decal/siding/white, /obj/effect/turf_decal/siding/white{ @@ -2979,6 +2999,9 @@ dir = 1 }, /obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/carpet/blue, /area/ship/crew) "Ug" = ( @@ -3045,8 +3068,8 @@ /obj/item/storage/pill_bottle/floorpill, /obj/effect/spawner/lootdrop/maintenance/two, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -3077,8 +3100,8 @@ }, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /turf/open/floor/concrete/tiles, /area/ship/crew/hydroponics) @@ -3151,8 +3174,8 @@ dir = 10 }, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -3330,8 +3353,8 @@ "YD" = ( /obj/structure/chair/stool/bar, /obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#543C30" + color = "#543C30"; + dir = 5 }, /turf/open/floor/wood/walnut, /area/ship/cargo) diff --git a/_maps/shuttles/shiptest/independent_shetland.dmm b/_maps/shuttles/shiptest/independent_shetland.dmm index f361632c2ccb..173322da6bd4 100644 --- a/_maps/shuttles/shiptest/independent_shetland.dmm +++ b/_maps/shuttles/shiptest/independent_shetland.dmm @@ -927,8 +927,8 @@ dir = 4 }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plating, /area/ship/engineering/electrical) @@ -1025,6 +1025,7 @@ pixel_y = 17 }, /obj/structure/dresser, +/obj/machinery/light/directional/west, /turf/open/floor/wood, /area/ship/crew/dorm) "lo" = ( @@ -1991,8 +1992,8 @@ /obj/machinery/power/apc/auto_name/directional/north, /obj/effect/turf_decal/corner/opaque/neutral/half, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) @@ -2396,6 +2397,13 @@ "xQ" = ( /turf/closed/wall/r_wall, /area/ship/bridge) +"xV" = ( +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 23 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) "ya" = ( /obj/machinery/light/directional/west, /turf/open/floor/plating, @@ -2985,8 +2993,8 @@ icon_state = "0-4" }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plasteel/patterned, /area/ship/crew/toilet) @@ -3039,10 +3047,10 @@ /area/ship/hallway/port) "Fs" = ( /obj/docking_port/stationary{ - width = 30; - height = 15; + dir = 2; dwidth = 15; - dir = 2 + height = 15; + width = 30 }, /turf/template_noop, /area/template_noop) @@ -3344,8 +3352,8 @@ }, /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plating, /area/ship/engineering/engine) @@ -3463,8 +3471,8 @@ /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/turf_decal/corner/opaque/bottlegreen/full, /obj/machinery/light_switch{ - pixel_x = 20; dir = 8; + pixel_x = 20; pixel_y = 11 }, /turf/open/floor/plasteel, @@ -3542,8 +3550,8 @@ /obj/structure/window/reinforced/fulltile, /obj/structure/grille, /obj/machinery/door/poddoor{ - id = "amoguswindows"; - dir = 8 + dir = 8; + id = "amoguswindows" }, /turf/open/floor/plating, /area/ship/hallway/fore) @@ -3615,8 +3623,8 @@ /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/closet/secure_closet/true_lieutenant, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/carpet/blue, /area/ship/bridge) @@ -3972,8 +3980,8 @@ height = 26; launch_status = 0; port_direction = 8; - width = 48; - preferred_direction = 4 + preferred_direction = 4; + width = 48 }, /obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/patterned/ridged, @@ -4477,8 +4485,8 @@ }, /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) @@ -4519,6 +4527,11 @@ dir = 4 }, /obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -16 + }, /turf/open/floor/plating, /area/ship/hallway/fore) "SX" = ( @@ -4725,8 +4738,8 @@ icon_state = "0-2" }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) @@ -5295,8 +5308,8 @@ }, /obj/effect/turf_decal/box, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 + pixel_x = 11; + pixel_y = 23 }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -6433,7 +6446,7 @@ Ue St WK iV -Du +xV ks OM VC @@ -6483,7 +6496,7 @@ kl NB Tp iW -fv +iV tn BV Bm diff --git a/_maps/shuttles/shiptest/inteq_vaquero.dmm b/_maps/shuttles/shiptest/inteq_vaquero.dmm new file mode 100644 index 000000000000..6e380f8b0bf1 --- /dev/null +++ b/_maps/shuttles/shiptest/inteq_vaquero.dmm @@ -0,0 +1,3901 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"aw" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Cargo Bay" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/office) +"ba" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"bg" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs, +/area/ship/cargo) +"bi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/item/tank/jetpack/carbondioxide, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -23 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"bn" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_port" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/hull/reinforced, +/area/ship/maintenance/port) +"bq" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/trash/energybar, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"bt" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/starboard) +"bu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"bz" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"bC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"bL" = ( +/obj/structure/bed, +/obj/structure/curtain/bounty, +/obj/item/bedsheet/brown, +/obj/structure/sign/poster/minutemen/lanchester{ + pixel_y = -32 + }, +/turf/open/floor/carpet/black, +/area/ship/crew) +"ce" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = 22 + }, +/obj/machinery/recharger{ + pixel_x = -8 + }, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/pen/fourcolor{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"dq" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dy" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 1; + id = "vaquero_port"; + name = "Thruster Shield Control"; + pixel_x = 4; + pixel_y = -20 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"dO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ec" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"eC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"eL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/closet/secure_closet{ + icon_state = "armory"; + name = "weapons locker"; + req_access_txt = "3" + }, +/obj/machinery/light/small/directional/north, +/obj/item/ammo_box/magazine/m12g/small{ + pixel_x = -5; + pixel_y = -5 + }, +/obj/item/ammo_box/magazine/m12g/small{ + pixel_x = 5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = -5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = -5 + }, +/obj/item/gun/ballistic/shotgun/bulldog/inteq{ + pixel_x = -4; + pixel_y = 5; + spawnwithmagazine = 0 + }, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq{ + pixel_y = -5 + }, +/obj/structure/sign/poster/contraband/peacemaker{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"fc" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/computer/cryopod/directional/north{ + pixel_y = 25 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"fk" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/folder/yellow, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"fl" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/bin, +/obj/item/trash/boritos, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"fr" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/inteq_gec{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"fC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"fJ" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) +"fV" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/railing/corner, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"gh" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"gl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"gp" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + id = "vaquero_cargo"; + pixel_x = 5; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "vaquero_cargo"; + name = "Cargo Door Control"; + pixel_x = -4; + pixel_y = -20 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"gt" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"gA" = ( +/obj/structure/sign/number/eight{ + dir = 1; + pixel_y = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"gC" = ( +/obj/structure/rack, +/obj/item/pickaxe/mini, +/obj/item/pickaxe/mini, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"gO" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"gY" = ( +/obj/structure/table/reinforced, +/obj/item/spacecash/bundle/c500, +/obj/item/storage/lockbox/medal/sec{ + pixel_y = 16 + }, +/obj/machinery/button/door{ + dir = 4; + id = "vaquero_bridge"; + name = "Privacy Shutters"; + pixel_x = -21; + pixel_y = -6 + }, +/obj/machinery/button/door{ + dir = 4; + id = "vaquero_windows"; + name = "Window Lockdown"; + pixel_x = -21; + pixel_y = 6 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"hn" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"hH" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 10 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"hM" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos{ + name = "vanguard's bedsheet" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/curtain/bounty, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"hN" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"id" = ( +/obj/machinery/door/airlock/security/glass{ + dir = 4; + name = "Office" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"ie" = ( +/obj/structure/chair, +/obj/item/trash/candy, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"if" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"iu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"iy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"iz" = ( +/obj/structure/closet/emcloset/empty{ + anchored = 1; + can_be_unanchored = 1; + name = "oxygen closet" + }, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/safety_internals{ + pixel_y = 32 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"iL" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/sign/poster/contraband/twelve_gauge{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"jg" = ( +/turf/open/floor/carpet/black, +/area/ship/crew) +"jw" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 4; + name = "Air to Distro" + }, +/obj/effect/turf_decal/hardline_small, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 4; + name = "Input to Waste" + }, +/obj/machinery/light_switch{ + pixel_x = 10; + pixel_y = 22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"jB" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen/fountain, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/item/stamp/hos{ + name = "vanguard's rubber stamp" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/item/radio/intercom/wideband/directional/south{ + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jE" = ( +/obj/structure/bed, +/obj/structure/curtain/bounty, +/obj/item/bedsheet/brown, +/obj/machinery/light/small/directional/east, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/black, +/area/ship/crew) +"jI" = ( +/obj/structure/table, +/obj/item/instrument/accordion, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/small/directional/west, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"jK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"jO" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"jP" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"jV" = ( +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/trash/popcorn, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"kh" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/oil/slippery, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -20 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ship/cargo) +"ko" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_starboard" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/hull/reinforced, +/area/ship/maintenance/starboard) +"kW" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lm" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/storage/bag/trash, +/obj/item/pushbroom, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/machinery/firealarm/directional/west, +/obj/structure/sign/poster/official/sgt{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lo" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"lr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"lt" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"lL" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) +"lU" = ( +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/toggle/industrial, +/obj/item/storage/belt/utility, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/skirt/artificer, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/hardhat, +/obj/item/clothing/shoes/combat, +/obj/effect/turf_decal/hardline_small/right, +/obj/structure/closet/wall{ + dir = 8; + icon_door = "yellow_wall"; + name = "engineering closet"; + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"mu" = ( +/obj/structure/closet/secure_closet/wall{ + dir = 4; + icon_door = "solgov_wall"; + icon_state = "solgov_wall"; + name = "vanguard's locker"; + pixel_x = -28; + req_access_txt = "20" + }, +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/obj/item/clothing/mask/gas/sechailer/inteq, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/shoes/combat, +/obj/item/storage/belt/security/webbing/inteq/alt, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/megaphone/command, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/suit/armor/hos/inteq, +/obj/item/clothing/head/beret/sec/hos/inteq, +/obj/item/radio/headset/inteq/alt/captain, +/obj/item/shield/riot/tele, +/obj/item/storage/belt/security/webbing/inteq, +/obj/item/storage/belt/military/assault, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"mE" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"mR" = ( +/obj/structure/railing, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"mY" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"nm" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/medical) +"ox" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"oQ" = ( +/obj/structure/sign/number/eight{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"oX" = ( +/obj/structure/table/reinforced, +/obj/item/lighter{ + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes/cigars/havana, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"oZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"pe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"pi" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"pl" = ( +/obj/structure/sign/number/nine{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"pM" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"pZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qe" = ( +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"qy" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"qC" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/office) +"qE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"qQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/structure/sign/poster/official/ue_no{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ri" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"ro" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"rA" = ( +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/east, +/obj/item/trash/chips, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"rD" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"sm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"st" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/advanced_airlock_controller/internal{ + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"sS" = ( +/obj/structure/chair/sofa/left, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"te" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"to" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"tx" = ( +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/structure/closet/wall{ + icon_door = "orange_wall"; + name = "uniform closet"; + pixel_y = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/ship/crew) +"ui" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"uq" = ( +/obj/structure/closet/crate/medical, +/obj/item/storage/backpack/satchel/med, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/glasses/hud/health, +/obj/item/storage/belt/medical/webbing, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"uy" = ( +/obj/machinery/cryopod, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"uB" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"uR" = ( +/obj/machinery/door/airlock{ + dir = 4; + id_tag = "vaquero_toilet"; + name = "Head" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/toilet) +"vd" = ( +/obj/machinery/porta_turret/ship/weak{ + dir = 5 + }, +/obj/docking_port/mobile{ + dheight = 3; + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"vg" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"vo" = ( +/obj/structure/sign/number/one{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"vN" = ( +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"vT" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"vU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"vV" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"ww" = ( +/turf/template_noop, +/area/template_noop) +"wy" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"wI" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/weightmachine/weightlifter, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"wU" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Engines"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"wZ" = ( +/obj/machinery/door/airlock/grunge{ + name = "Cargo Bay" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"xj" = ( +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"xx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"xy" = ( +/obj/structure/sign/number/nine{ + dir = 1; + pixel_y = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"xX" = ( +/obj/machinery/porta_turret/ship/weak{ + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"xZ" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"yd" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"yg" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"yI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"yQ" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/poddoor{ + id = "vaquero_windows"; + name = "Window Shield" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"zg" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vaquero_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"zj" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/snacks/rationpack, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"zr" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"zG" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"zM" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/structure/closet/crate/secure/plasma, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"zO" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -6; + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"zP" = ( +/obj/machinery/porta_turret/ship/weak{ + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"zR" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"zY" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Crew Quarters" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"Ag" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"Am" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Aw" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Ax" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Az" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 9 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Bc" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Bj" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Bl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Bu" = ( +/obj/structure/closet/wall{ + icon_door = "grey_wall"; + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"BT" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"BV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"BX" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 1; + id = "vaquero_toilet"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 10; + pixel_y = -20; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Ci" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Cl" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Cq" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) +"Cs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"CA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/number/six, +/obj/structure/closet/wall/orange{ + dir = 8; + name = "tool closet"; + pixel_x = 28; + req_access_txt = "11" + }, +/obj/item/pipe_dispenser, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/gloves/color/yellow, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"CD" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -10 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"CQ" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Db" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/firealarm/directional/south, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"Dh" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Ds" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/maintenance/starboard) +"DP" = ( +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/obj/item/clothing/mask/gas/sechailer/inteq, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/shoes/combat, +/obj/item/storage/belt/security/webbing/inteq/alt, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq, +/obj/structure/closet/secure_closet{ + anchored = 1; + can_be_unanchored = 1; + icon_state = "warden"; + name = "master at arms' locker"; + req_access_txt = "3" + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/suit/armor/vest/bulletproof, +/obj/item/clothing/head/warden/drill{ + desc = "A special armored campaign hat with the IRMG insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection."; + name = "master at arms' campaign hat" + }, +/obj/item/megaphone/sec, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/storage/belt/security/webbing/inteq, +/obj/item/storage/belt/military/assault, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Eh" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"Es" = ( +/obj/structure/chair, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/item/trash/can, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Ex" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Infirmary" + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"EB" = ( +/obj/machinery/door/window/northleft{ + dir = 8; + req_access_txt = "3" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"EX" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) +"Fc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Fk" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/item/pen/red, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Fu" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Cryogenic Storage" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"FK" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Gq" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"GB" = ( +/obj/machinery/door/airlock{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"GI" = ( +/obj/structure/weightmachine/weightlifter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"GQ" = ( +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/structure/closet/wall{ + icon_door = "orange_wall"; + name = "uniform closet"; + pixel_y = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew) +"Ha" = ( +/obj/effect/turf_decal/hardline_small/left, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer2{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"Hn" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/port) +"Hp" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Hw" = ( +/obj/structure/closet/secure_closet{ + icon_state = "sec"; + name = "equipment locker"; + req_access_txt = "1" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/item/clothing/suit/armor/vest/bulletproof, +/obj/item/clothing/head/helmet/swat/inteq, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/obj/item/clothing/mask/gas/sechailer/inteq, +/obj/item/storage/belt/security/webbing/inteq, +/obj/item/storage/belt/security/webbing/inteq/alt, +/obj/item/melee/baton/loaded, +/obj/item/storage/box/zipties, +/obj/machinery/airalarm/directional/west, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 23 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"HN" = ( +/obj/structure/closet/secure_closet/wall{ + icon_door = "med_wall"; + name = "medical locker"; + pixel_y = 28; + req_access_txt = "5" + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/storage/firstaid/advanced{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) +"HS" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Ie" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"In" = ( +/obj/machinery/holopad/emergency/command, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"Iy" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/turretid{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"IN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/contraband/inteq{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"IX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/number/zero, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"IY" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Jc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Je" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Jl" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/autolathe, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"JB" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4; + piping_layer = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"JC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1; + name = "Input to Air" + }, +/obj/effect/turf_decal/number/five, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"JL" = ( +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Kr" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = 27 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Ky" = ( +/obj/item/trash/can, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"KR" = ( +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/item/soap, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Lt" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Ly" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 25 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -20 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"LB" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + id = "vaquero_windows"; + name = "Window Shield" + }, +/turf/open/floor/plating, +/area/ship/crew) +"LQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"LW" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Me" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Mq" = ( +/obj/machinery/computer/helm{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Ms" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1; + name = "exhaust injector" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Mu" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"MF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Nx" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/toilet) +"Ny" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"NR" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"NV" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Engines"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Ow" = ( +/obj/structure/chair, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"OK" = ( +/obj/machinery/door/airlock/security{ + dir = 4; + id_tag = "colossus_armory"; + name = "Armory"; + req_access_txt = "3" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"ON" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Ph" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Pi" = ( +/obj/structure/chair, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Pn" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Pp" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"PC" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"PD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/structure/bed, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) +"Qy" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/starboard) +"QH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"QJ" = ( +/obj/structure/sign/number/one{ + dir = 1; + pixel_y = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"Re" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Rg" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_port" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/hull/reinforced, +/area/ship/maintenance/port) +"Rq" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Rz" = ( +/obj/structure/table, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = 12; + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west{ + pixel_y = 10 + }, +/obj/item/trash/plate, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"RF" = ( +/obj/structure/table/reinforced, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; + name = "folder" + }, +/obj/item/pen/fourcolor, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"RU" = ( +/obj/structure/dresser, +/obj/machinery/firealarm/directional/west, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/black, +/area/ship/crew) +"RX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Sc" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + id = "vaquero_windows"; + name = "Window Shield" + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"SW" = ( +/obj/structure/sign/warning/docking{ + pixel_x = -9; + pixel_y = 6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"Tc" = ( +/obj/structure/ore_box, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Td" = ( +/obj/machinery/porta_turret/ship/weak{ + dir = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ti" = ( +/obj/machinery/vending/coffee, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Tn" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"TK" = ( +/obj/machinery/computer/cargo/express{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"TQ" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -16 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Uf" = ( +/obj/structure/table, +/obj/item/flashlight/lamp/green, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/black, +/area/ship/crew) +"Ul" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ur" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew) +"UV" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Office" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/office) +"Vk" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/maintenance/port) +"VD" = ( +/obj/structure/chair/sofa/right, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/popcorn, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"VI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/tank/jetpack/oxygen, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/suit_storage_unit/inherit{ + req_access_txt = "20" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"VN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) +"VT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Wd" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"WH" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + name = "exhaust injector" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"WM" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/target/syndicate{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/target{ + pixel_y = 5 + }, +/obj/item/target/alien{ + pixel_x = 5 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/clothing/ears/earmuffs, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Xb" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_one_access = list(19, 3) + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Xh" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/food/egg_smudge, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Xi" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Xo" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) +"XD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"XG" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"XO" = ( +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + locked = 0; + name = "fridge" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/item/storage/cans/sixbeer, +/obj/item/reagent_containers/food/snacks/carneburrito, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Yd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Yn" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_starboard" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/maintenance/starboard) +"YA" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/telecomms/relay/preset/mining{ + autolinkers = list("relay","hub"); + freq_listening = list(1347); + id = "IRMG Relay"; + name = "IRMG Relay"; + network = "irmg_commnet" + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"YB" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/storage/box/cups{ + pixel_y = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Zh" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/incident{ + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Zi" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "vaquero_starboard"; + name = "Thruster Shield Control"; + pixel_x = 4; + pixel_y = 20 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Zt" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Zv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Zw" = ( +/obj/machinery/microwave, +/obj/structure/table/reinforced, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/sign/poster/contraband/space_up{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"ZA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 5; + pixel_y = -20 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"ZF" = ( +/obj/structure/table/reinforced, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; + name = "folder"; + pixel_x = 5 + }, +/obj/item/stamp/law{ + name = "master at arms' rubber stamp"; + pixel_x = 5 + }, +/obj/item/table_bell{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) + +(1,1,1) = {" +ww +ww +ww +ww +ww +Hp +ww +ww +ww +vg +ww +ww +to +ww +ww +ww +ww +ww +"} +(2,1,1) = {" +Hn +Vk +Vk +Hn +ww +ox +ww +SW +gt +xZ +SW +ww +ox +ww +Qy +Ds +Ds +Qy +"} +(3,1,1) = {" +Hn +Rg +bn +Hn +ww +ox +ww +gt +iz +pi +gt +ww +ox +ww +Qy +Yn +ko +Qy +"} +(4,1,1) = {" +Hn +qy +dy +Hn +Nx +Nx +Nx +gt +Mu +st +gt +bz +bz +Qy +Qy +Zi +JL +Qy +"} +(5,1,1) = {" +Hn +XG +Re +Pp +Nx +KR +BX +gt +gt +yg +gt +uy +IN +Qy +JB +BV +gl +Qy +"} +(6,1,1) = {" +Hn +YA +Fc +zM +Nx +hn +Ly +gt +XD +ON +gt +jP +ri +Qy +Ha +JC +lt +Qy +"} +(7,1,1) = {" +Hn +Kr +iy +Hn +Nx +uR +Nx +gt +fl +aj +gt +fc +vV +Qy +jw +IX +bi +Qy +"} +(8,1,1) = {" +Cq +Hn +Bc +NV +jK +Zt +Ow +Rz +zR +QH +gt +Bu +eC +wU +lU +CA +Qy +bt +"} +(9,1,1) = {" +ww +Cq +Hn +Hn +fr +Ny +Es +yd +ro +Am +gt +bz +Fu +Qy +Qy +Qy +bt +ww +"} +(10,1,1) = {" +ww +ww +ui +gt +Ti +pe +xj +pM +dO +Zv +jO +jO +Cs +jV +gt +ui +ww +ww +"} +(11,1,1) = {" +ww +ww +WH +yQ +bC +hH +yI +vU +VT +Yd +sm +qQ +CD +Lt +yQ +Ms +ww +ww +"} +(12,1,1) = {" +qC +VN +VN +VN +UV +VN +Ul +Ul +Ul +Ul +Ul +Ul +Gq +zY +Gq +Gq +Gq +EX +"} +(13,1,1) = {" +VN +YB +Pi +Fk +MF +RF +Ul +oX +gY +mu +hM +Ul +jI +Ie +GB +Ur +RU +Gq +"} +(14,1,1) = {" +Sc +Ax +ie +ec +lr +FK +Ul +Iy +In +qe +VI +Ul +VD +Ag +Gq +GQ +Uf +LB +"} +(15,1,1) = {" +Sc +XO +Rq +fk +Ph +Je +Xb +pZ +rD +xx +jB +Ul +sS +bu +Gq +tx +jg +LB +"} +(16,1,1) = {" +VN +Zw +Xh +PC +iu +Aw +Ul +zO +Mq +TK +TQ +Ul +rA +ZA +Gq +jE +bL +Gq +"} +(17,1,1) = {" +Td +VN +VN +VN +aw +VN +Ul +zg +zg +zg +zg +Ul +te +id +te +Gq +Gq +xX +"} +(18,1,1) = {" +ww +ox +Eh +lm +fV +Me +IY +Dh +Dh +Dh +uB +wZ +Az +NR +iL +te +ox +ww +"} +(19,1,1) = {" +ww +ox +QJ +gC +mR +HS +uq +Ky +zj +Jl +kh +te +hN +oZ +ba +pl +ox +ww +"} +(20,1,1) = {" +ww +Hp +gA +Tn +mR +GI +LQ +vN +Tc +fC +BT +te +ce +ZF +EB +vo +to +ww +"} +(21,1,1) = {" +ww +ww +QJ +kW +mR +wI +bq +vN +WM +wy +gp +te +gh +CQ +Bl +oQ +ww +ww +"} +(22,1,1) = {" +ww +ww +xy +mE +RX +bg +zr +if +dq +dq +Zh +te +Ci +Jc +DP +vo +ww +ww +"} +(23,1,1) = {" +ww +ww +nm +lo +Ex +lo +lo +LW +Cl +Cl +Pn +te +te +OK +te +fJ +ww +ww +"} +(24,1,1) = {" +ww +ww +ww +lo +Xo +PD +lo +qE +zG +gO +Bj +te +Hw +fI +te +ww +ww +ww +"} +(25,1,1) = {" +ww +ww +ww +lo +HN +lL +lo +Wd +mY +vT +Xi +te +eL +Db +te +ww +ww +ww +"} +(26,1,1) = {" +ww +ww +ww +vd +lo +lo +lo +ww +ww +ww +ww +te +te +te +zP +ww +ww +ww +"} diff --git a/_maps/shuttles/shiptest/nanotrasen_powerrangers.dmm b/_maps/shuttles/shiptest/nanotrasen_powerrangers.dmm deleted file mode 100644 index 926e5eb852a9..000000000000 --- a/_maps/shuttles/shiptest/nanotrasen_powerrangers.dmm +++ /dev/null @@ -1,7439 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 10 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -6; - pixel_y = -23 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"ad" = ( -/obj/machinery/telecomms/hub, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"ah" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 14 - }, -/obj/machinery/nuclearbomb/beer, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"ak" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/item/radio/intercom/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"am" = ( -/obj/structure/chair/pew/left, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"aq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/highsecurity/lp/aisat, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"ay" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"az" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"aC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock/command/glass/lp/mining, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"aD" = ( -/obj/machinery/door/window{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "entrance_shutt" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"aH" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/door/poddoor{ - id = "thrusterblasts" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"aI" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp/med, -/obj/item/clothing/shoes/magboots, -/obj/machinery/door/window/lp/medic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"aK" = ( -/obj/structure/table/wood/poker, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"aP" = ( -/turf/closed/wall/r_wall, -/area/ship/science) -"aW" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"bn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/command/glass/lp/research, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"bu" = ( -/obj/machinery/smartfridge/drinks, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"bD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/medical) -"bN" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"bS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -9; - pixel_y = 24 - }, -/obj/item/banner/security, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"bV" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"bX" = ( -/obj/machinery/light/directional/east, -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"cd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass/lp/cargo{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"cf" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/machinery/camera/autoname, -/obj/item/toy/plush/lizardplushie, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"cv" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/atmospherics/pipe/simple/brown/visible, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"cw" = ( -/obj/machinery/light/directional/west, -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"cx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/external, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outerinner"; - name = "Inner Aft Shutters" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"cy" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"cE" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"cI" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light/floor, -/obj/effect/turf_decal/trimline/opaque/white, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"cN" = ( -/obj/structure/rack, -/obj/item/firing_pin/implant/mindshield, -/obj/item/firing_pin/implant/mindshield, -/turf/open/floor/vault, -/area/ship/security) -"cP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"cR" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"cW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "1-10" - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_x = 32 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"cX" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 5 - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"dd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"dl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/door/window/lp/ai{ - dir = 1 - }, -/turf/open/floor/circuit/red/airless, -/area/ship/science/ai_chamber) -"dp" = ( -/obj/machinery/power/solar_control{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"dq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"dv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"dw" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dA" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"dC" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp/engi, -/obj/item/clothing/shoes/magboots, -/obj/machinery/door/window/lp/engi{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"dE" = ( -/obj/item/banner/command, -/obj/effect/turf_decal/siding/blue/end, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"dK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"dP" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dS" = ( -/obj/structure/table/reinforced, -/obj/item/aiModule/core/full/paladin, -/obj/item/aiModule/core/full/hippocratic, -/obj/item/aiModule/core/full/corp, -/obj/item/aiModule/core/full/asimovpp, -/obj/item/aiModule/core/full/asimov, -/obj/machinery/light/directional/west, -/obj/item/aiModule/reset/purge, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"dV" = ( -/obj/item/gun/energy/laser/redtag, -/obj/item/gun/energy/laser/redtag, -/obj/item/gun/energy/laser/bluetag, -/obj/item/gun/energy/laser/redtag, -/obj/item/gun/energy/laser/redtag, -/obj/item/gun/energy/laser/redtag, -/obj/item/gun/energy/laser/bluetag, -/obj/item/gun/energy/laser/bluetag, -/obj/item/gun/energy/laser/bluetag, -/obj/item/gun/energy/laser/bluetag, -/obj/item/clothing/head/helmet/redtaghelm, -/obj/item/clothing/head/helmet/redtaghelm, -/obj/item/clothing/head/helmet/redtaghelm, -/obj/item/clothing/head/helmet/redtaghelm, -/obj/item/clothing/head/helmet/redtaghelm, -/obj/item/clothing/head/helmet/bluetaghelm, -/obj/item/clothing/head/helmet/bluetaghelm, -/obj/item/clothing/head/helmet/bluetaghelm, -/obj/item/clothing/head/helmet/bluetaghelm, -/obj/item/clothing/head/helmet/bluetaghelm, -/obj/item/clothing/suit/redtag, -/obj/item/clothing/suit/redtag, -/obj/item/clothing/suit/redtag, -/obj/item/clothing/suit/redtag, -/obj/item/clothing/suit/redtag, -/obj/item/clothing/suit/bluetag, -/obj/item/clothing/suit/bluetag, -/obj/item/clothing/suit/bluetag, -/obj/item/clothing/suit/bluetag, -/obj/item/clothing/suit/bluetag, -/obj/structure/closet/cabinet, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"eb" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ec" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ef" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "2-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"eh" = ( -/obj/structure/window/reinforced/spawner, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ancient/lp, -/obj/machinery/door/window/lp/engi{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"eq" = ( -/obj/effect/turf_decal/industrial/hatch, -/obj/effect/turf_decal/industrial/outline/blue, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"eE" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/window{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "entrance_shutt" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"eN" = ( -/obj/effect/turf_decal/siding/thinplating/light/end{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"eT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-6" - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_70s{ - pixel_x = -32 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"eU" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/structure/chair/sofa/left{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"fd" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/structure/chair/sofa/right{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-5" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ff" = ( -/obj/structure/table/reinforced, -/obj/item/circuitboard/machine/teleporter_hub, -/obj/item/circuitboard/machine/teleporter_hub, -/obj/item/circuitboard/computer/teleporter, -/obj/item/circuitboard/computer/teleporter, -/obj/item/circuitboard/machine/teleporter_station, -/obj/item/circuitboard/machine/teleporter_station, -/obj/item/beacon, -/obj/item/beacon, -/obj/effect/turf_decal/siding/thinplating/light/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"fo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"fr" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"fx" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"fy" = ( -/obj/machinery/telecomms/bus, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"fH" = ( -/turf/closed/wall, -/area/ship/maintenance/port) -"fJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"fM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-5" - }, -/obj/structure/closet/firecloset/wall{ - dir = 4; - pixel_x = -31 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"fU" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "2-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"fV" = ( -/turf/closed/wall/r_wall, -/area/ship/security) -"fX" = ( -/obj/machinery/door/airlock/vault/lp/vault, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/vault, -/area/ship/security) -"gg" = ( -/turf/closed/wall/r_wall, -/area/ship/hallway/fore) -"gh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"gi" = ( -/obj/structure/window/reinforced/spawner, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"gs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/cyan{ - icon_state = "6-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"gz" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/vault, -/area/ship/security) -"gD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 28 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"gF" = ( -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"gJ" = ( -/obj/structure/ore_box, -/turf/open/floor/engine/hull, -/area/ship/external) -"gL" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "outerinner"; - name = "Inner Aft Shutters"; - pixel_x = -7; - pixel_y = -4 - }, -/obj/machinery/button/door{ - id = "innerinner"; - name = "Inner Fore Shutters"; - pixel_x = -7; - pixel_y = 6 - }, -/obj/machinery/button/door{ - id = "innerouter"; - name = "Outer Fore Shutters"; - pixel_x = 5; - pixel_y = 6 - }, -/obj/machinery/button/door{ - id = "outerouter"; - name = "Outer Aft Shutters"; - pixel_x = 5; - pixel_y = -4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"gP" = ( -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"gW" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden/layer4{ - dir = 6 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hf" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hi" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "2-9" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"hk" = ( -/obj/structure/table/reinforced, -/obj/item/table_bell{ - pixel_x = 10; - pixel_y = -7 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/window/lp, -/obj/machinery/button/door{ - dir = 1; - id = "entrance_lockdown"; - name = "Entrance Lockdown Shutters"; - pixel_x = 8; - pixel_y = 8 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"hl" = ( -/obj/machinery/power/shuttle/engine/electric, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"hm" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen/fountain, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, -/obj/machinery/door/window/lp, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"hn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"hx" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"hz" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -16; - pixel_y = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"hG" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock/command/glass/lp/engines, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/port) -"hJ" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = -6 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/clothing/head/welding, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"hO" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/machinery/computer/telecomms/server{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hP" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"hZ" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ic" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/showcase/cyborg, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"id" = ( -/obj/structure/rack, -/obj/item/melee/chainofcommand, -/obj/item/grenade/chem_grenade/ez_clean, -/obj/item/documents/nanotrasen, -/obj/machinery/light/directional/south, -/turf/open/floor/vault, -/area/ship/security) -"ih" = ( -/obj/machinery/door/airlock/external, -/obj/docking_port/mobile{ - callTime = 250; - launch_status = 0; - name = "Ranger-class"; - preferred_direction = 2 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "entrance_lockdown"; - name = "Entrance Lockdown Shutters" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"ix" = ( -/turf/closed/wall, -/area/ship/maintenance/starboard) -"iz" = ( -/obj/structure/table/reinforced, -/obj/item/aicard, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"iD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"iF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"iI" = ( -/obj/machinery/shower{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"iL" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/item/radio/intercom/directional/west, -/mob/living/simple_animal/pet/dog/corgi/Lisa, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"iX" = ( -/obj/machinery/camera/autoname, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/south, -/obj/item/disk/holodisk/lp/airrecycler, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"iZ" = ( -/obj/structure/closet/secure_closet/lp/medical, -/obj/item/gps, -/obj/item/clothing/shoes/jackboots, -/obj/item/kitchen/knife/combat/survival, -/obj/item/clothing/under/rank/medical/paramedic/lp, -/obj/item/clothing/under/rank/medical/paramedic/skirt/lp, -/obj/item/clothing/suit/hooded/wintercoat/medical, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/breath, -/obj/item/flashlight/seclite, -/obj/machinery/door/window/lp/medic, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/clothing/head/beret/med, -/obj/item/roller, -/obj/item/reagent_containers/glass/bottle/morphine, -/obj/item/storage/box/bodybags, -/obj/item/reagent_containers/hypospray, -/obj/item/gun/syringe, -/obj/item/holosign_creator/medical, -/obj/item/storage/firstaid/lp, -/obj/item/lazarus_injector, -/obj/item/organ/cyberimp/eyes/hud/medical, -/obj/item/pinpointer/crew, -/obj/item/storage/backpack/ert/medical, -/obj/item/radio/headset/nanotrasen/alt/captain, -/obj/item/radio/headset/nanotrasen/captain, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"jb" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"jf" = ( -/obj/structure/AIcore, -/obj/item/mmi/posibrain, -/obj/item/circuitboard/aicore, -/turf/open/floor/circuit/red/airless, -/area/ship/science/ai_chamber) -"ji" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable/cyan{ - icon_state = "6-8" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"jk" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/obj/item/circuitboard/machine/rdserver, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"jr" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"jv" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"jA" = ( -/turf/closed/wall/r_wall, -/area/ship/hallway/port) -"jB" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"jG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"jR" = ( -/obj/machinery/light/directional/north, -/obj/machinery/telecomms/message_server, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"jW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"jZ" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/OMinus, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"kc" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"kh" = ( -/obj/machinery/holopad/emergency/science, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"kj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"ks" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/light/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/light, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"kI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"kN" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"kO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"kQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/light/directional/north, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 5 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"kS" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"la" = ( -/obj/structure/mineral_door/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"lc" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/atmospherics/pipe/simple/brown/visible, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ld" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"lj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outerinner"; - name = "Inner Aft Shutters" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"lp" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"lv" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/item/areaeditor/shuttle{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/machinery/button/door{ - id = "commshut"; - name = "Commissioner's Office Shutters"; - pixel_x = -7; - pixel_y = -2 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"lK" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/closet/secure_closet/medical2, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/obj/item/tank/internals/anesthetic, -/obj/item/tank/internals/anesthetic, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"lL" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"lW" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"lX" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"mb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"mh" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"mk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ml" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"mv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"mw" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/blue/end{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"my" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"mJ" = ( -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"mQ" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/atmospherics) -"mR" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/turf/open/floor/plating/airless, -/area/ship/external) -"mZ" = ( -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ne" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/structure/cable/cyan{ - icon_state = "6-10" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ng" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = 8 - }, -/obj/machinery/holopad/emergency/medical, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"nh" = ( -/obj/machinery/camera/autoname, -/obj/machinery/telecomms/server, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"no" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"nt" = ( -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/structure/closet/secure_closet/miner, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 5 - }, -/obj/machinery/airalarm/directional/north, -/obj/item/radio/headset/nanotrasen, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"nA" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 1; - id = "entrance_shutt"; - name = "Entrance Shutters"; - pixel_x = 7; - pixel_y = 7 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -4; - pixel_y = 7 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only, -/obj/item/radio/intercom/directional/north{ - pixel_y = -15; - pixel_x = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"nQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"of" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ok" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"oq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light_switch{ - pixel_x = 8; - pixel_y = 24 - }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"or" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"oy" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"oz" = ( -/obj/machinery/computer/rdconsole/core{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"oM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-5" - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/structure/closet/emcloset/wall{ - dir = 4; - pixel_x = -30 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"oQ" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"pa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"pf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"pi" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"po" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"pp" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"pr" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ps" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"pv" = ( -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"pA" = ( -/obj/effect/turf_decal/industrial/hatch, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"pB" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -9 - }, -/turf/open/floor/plasteel/stairs, -/area/ship/hallway/central) -"pD" = ( -/obj/item/reagent_containers/food/snacks/carrotfries, -/obj/item/reagent_containers/food/snacks/cubancarp, -/obj/item/reagent_containers/food/snacks/sashimi, -/obj/item/reagent_containers/food/snacks/grown/banana, -/obj/item/reagent_containers/food/snacks/pizza/vegetable, -/obj/item/reagent_containers/food/snacks/pizza/meat, -/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato, -/obj/item/reagent_containers/food/snacks/store/bread/creamcheese, -/obj/item/reagent_containers/food/snacks/grilledcheese, -/obj/item/reagent_containers/food/snacks/burger/plain, -/obj/item/reagent_containers/food/snacks/burger/plain, -/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/bbqribs, -/obj/structure/closet/secure_closet/freezer{ - desc = "A refrigerated cabinet for food."; - name = "Refrigerator" - }, -/obj/item/reagent_containers/food/snacks/store/bread/meat, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"qb" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"qF" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"qJ" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/structure/closet/firecloset/wall{ - dir = 1; - pixel_y = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"qQ" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"qS" = ( -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/cable/cyan, -/obj/machinery/door/poddoor{ - id = "thrusterblasts" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"qZ" = ( -/turf/open/floor/plating, -/area/ship/maintenance/port) -"rc" = ( -/obj/structure/mecha_wreckage/durand, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"rd" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/corner/opaque/orange/mono, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"rq" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"rt" = ( -/obj/structure/cable/cyan{ - icon_state = "2-5" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"ry" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/plastic/five, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/borg/upgrade/ai, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"rF" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"rJ" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"rL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"rM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable/cyan{ - icon_state = "6-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"rZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outerinner"; - name = "Inner Aft Shutters" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"sf" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/modular_computer/console/preset/id{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"sk" = ( -/obj/effect/turf_decal/trimline/opaque/grey/filled/line, -/obj/structure/rack, -/obj/machinery/door/window/lp/security{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/storage/belt/security, -/obj/item/melee/classic_baton/telescopic, -/obj/item/stock_parts/cell/gun, -/obj/item/gun/energy/e_gun/mindshield, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"sm" = ( -/obj/machinery/vending/boozeomat/all_access, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"sq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "innerinner"; - name = "Inner Fore Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/bridge) -"st" = ( -/obj/structure/rack, -/obj/machinery/door/window/lp/medic{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 6 - }, -/obj/item/storage/belt/medical, -/obj/item/melee/classic_baton/telescopic, -/obj/item/stock_parts/cell/gun, -/obj/item/gun/energy/e_gun/mindshield, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"sw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"sF" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"sJ" = ( -/turf/closed/wall/r_wall, -/area/ship/hallway/central) -"sM" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"sQ" = ( -/obj/structure/table/wood/poker, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"sR" = ( -/obj/machinery/power/tracker, -/obj/effect/turf_decal/solarpanel, -/obj/structure/cable/cyan, -/turf/open/floor/engine/hull, -/area/ship/external) -"sU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/autoname, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"tg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "6-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"tj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"tk" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/light, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"tq" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"tu" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"tC" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"tJ" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"tK" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "commshut"; - name = "Commissioner's Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"uk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "8-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"up" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/medical) -"us" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ut" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"uw" = ( -/obj/structure/closet/cabinet, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"uH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outerouter"; - name = "Outer Aft Shutters" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"uU" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"uW" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/item/book/manual/wiki/surgery, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"vb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "8-10" - }, -/obj/structure/cable/cyan{ - icon_state = "6-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"vh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"vj" = ( -/obj/structure/closet/wardrobe/pjs, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"vk" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/power/port_gen/pacman/super, -/obj/item/wrench, -/obj/structure/cable/cyan, -/obj/item/stack/sheet/mineral/uranium/twenty, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"vm" = ( -/turf/closed/wall/r_wall, -/area/ship/medical) -"vz" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"vB" = ( -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/toxin, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/fire, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/light/directional/north, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"vF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"vN" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"vS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"vT" = ( -/obj/structure/cable/cyan{ - icon_state = "2-6" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"vU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"vV" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/machinery/vending/snack/random, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"vY" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"wf" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "5-8" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/corner, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"wh" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "entrance_lockdown"; - name = "Entrance Lockdown Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"wl" = ( -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/cyan{ - icon_state = "4-5" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"wp" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden/layer4{ - dir = 6 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 28 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"wq" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"wu" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"wC" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable/cyan, -/obj/machinery/door/poddoor{ - id = "thrusterblasts" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"wD" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/machinery/computer/cargo/express, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wE" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"wO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"wQ" = ( -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/structure/closet/secure_closet/miner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable/cyan{ - icon_state = "2-6" - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 5 - }, -/obj/item/radio/headset/nanotrasen, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"xd" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/structure/curtain/cloth, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"xj" = ( -/obj/machinery/shower{ - dir = 8 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"xo" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"xp" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable/cyan, -/obj/machinery/door/poddoor{ - id = "thrusterblasts" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"xq" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/obj/machinery/rnd/production/protolathe/department/basic, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"xr" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil/green, -/obj/item/stack/cable_coil/green, -/obj/item/multitool, -/obj/item/multitool, -/obj/item/clothing/gloves/color/yellow, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"xv" = ( -/obj/structure/chair/pew/right, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"xw" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"xA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"xB" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/closed/wall/r_wall, -/area/ship/engineering/atmospherics) -"xF" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_x = -28 - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"xK" = ( -/obj/structure/chair/pew, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"xS" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"xT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command/glass/lp/dorms{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"yh" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"yo" = ( -/obj/structure/mineral_door/wood, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"yt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable/cyan{ - icon_state = "4-10" - }, -/obj/structure/cable/cyan{ - icon_state = "1-10" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"yA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"yC" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"yD" = ( -/obj/machinery/autolathe, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"yJ" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm) -"yU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"yZ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 6 - }, -/obj/machinery/button/door{ - dir = 8; - id = "miningblastlp"; - name = "Mining Bay Blast Doors"; - pixel_x = 22; - pixel_y = -9 - }, -/obj/machinery/button/shieldwallgen{ - dir = 8; - id = "ranger_shields"; - pixel_x = 22 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"zc" = ( -/obj/machinery/power/smes, -/obj/structure/cable/cyan{ - icon_state = "0-9" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"zk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"zn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"zz" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"zF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"zR" = ( -/obj/structure/curtain/cloth/fancy, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"zW" = ( -/turf/template_noop, -/area/template_noop) -"Aa" = ( -/obj/structure/closet/secure_closet/lp/lieutenant, -/obj/item/gps, -/obj/item/clothing/shoes/jackboots, -/obj/item/kitchen/knife/combat/survival, -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp, -/obj/item/clothing/under/rank/security/head_of_security/alt/lp, -/obj/item/clothing/suit/jacket/leather/duster/command, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/mask/gas/sechailer/swat, -/obj/item/clothing/mask/breath, -/obj/item/flashlight/seclite, -/obj/machinery/door/window/lp/lieu, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/clothing/head/beret/lt, -/obj/item/pinpointer/crew, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier, -/obj/item/grenade/smokebomb, -/obj/item/grenade/smokebomb, -/obj/item/lighter, -/obj/item/storage/fancy/cigarettes/derringer/gold, -/obj/item/clothing/gloves/krav_maga/sec, -/obj/item/storage/backpack/ert, -/obj/item/radio/headset/nanotrasen/alt/captain, -/obj/item/radio/headset/nanotrasen/captain, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ac" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/medical) -"Ao" = ( -/obj/effect/turf_decal/corner/opaque/purple, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Ar" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"AF" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"AO" = ( -/obj/structure/cable/cyan{ - icon_state = "4-9" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"AZ" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Be" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Bg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "entrance_lockdown"; - name = "Entrance Lockdown Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"Bh" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/telecomms/receiver, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"Bl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"BA" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"BC" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 13 - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"BI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/cyan, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"BO" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/item/gun/ballistic/revolver/detective, -/obj/item/kitchen/knife/combat/survival, -/obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt, -/obj/item/clothing/under/rank/civilian/lawyer/bluesuit, -/obj/item/clothing/under/rank/civilian/lawyer/female, -/obj/item/clothing/under/rank/civilian/lawyer/female/skirt, -/obj/item/clothing/shoes/jackboots, -/obj/item/storage/fancy/cigarettes/cigars/cohiba, -/obj/item/lighter, -/obj/item/clothing/suit/armor/vest, -/obj/machinery/light/directional/east, -/obj/structure/closet/secure_closet/lp/commissioner, -/obj/item/ammo_box/c38/hotshot, -/obj/item/ammo_box/c38_box, -/obj/item/clothing/head/beret/puce, -/obj/item/radio/headset/nanotrasen/alt/captain, -/obj/item/radio/headset/nanotrasen/captain, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ca" = ( -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/advanced, -/obj/item/storage/firstaid/brute, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ce" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Cf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 9 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Cl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/external, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"Cm" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Cx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable/cyan{ - icon_state = "6-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"CA" = ( -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"CB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "4-10" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"CD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable/cyan{ - icon_state = "2-5" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"CG" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/machinery/vending/coffee, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"CI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"CM" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/end{ - dir = 1 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"CN" = ( -/obj/structure/table/reinforced, -/obj/structure/cable/cyan{ - icon_state = "9-10" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -9 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/screwdriver{ - pixel_y = 3 - }, -/obj/item/screwdriver{ - pixel_x = 2 - }, -/obj/item/screwdriver{ - pixel_x = 3; - pixel_y = -5 - }, -/obj/item/screwdriver{ - pixel_x = -5; - pixel_y = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"CP" = ( -/obj/structure/table/wood/poker, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"CV" = ( -/obj/structure/table/rolling, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"CY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Dd" = ( -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"De" = ( -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"Df" = ( -/obj/structure/bed, -/obj/item/bedsheet/nanotrasen, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"Do" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Dr" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Dw" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/table/reinforced, -/obj/item/assembly/prox_sensor, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 - }, -/obj/item/storage/firstaid, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"DH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Ek" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Em" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"En" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"Eq" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/rods/twentyfive, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ew" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"EH" = ( -/obj/structure/cable/cyan{ - icon_state = "2-9" - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"EJ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"EL" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/structure/closet/emcloset/wall{ - dir = 1; - pixel_y = -33 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"EP" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"EW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Fh" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Fi" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - id = "thrusterblasts"; - name = "Thruster Blast Doors"; - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Fo" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Fw" = ( -/obj/structure/table/wood, -/obj/item/camera{ - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/storage/crayons{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/toy/crayon/spraycan{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/camera_film{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/camera_film{ - pixel_x = -8; - pixel_y = 2 - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"Fx" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "2-6" - }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Fz" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 1; - id = "ranger_shields"; - locked = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-9" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "miningblastlp" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"FB" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/item/storage/box, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"FK" = ( -/obj/machinery/power/smes, -/obj/structure/cable/cyan{ - icon_state = "0-5" - }, -/obj/structure/cable/cyan{ - icon_state = "6-10" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"FQ" = ( -/obj/structure/rack, -/obj/item/ammo_casing/shotgun, -/obj/item/ammo_casing/shotgun, -/obj/item/ammo_casing/shotgun, -/obj/item/ammo_casing/shotgun, -/obj/item/ammo_casing/shotgun/buckshot, -/obj/item/ammo_casing/shotgun/buckshot, -/obj/item/ammo_casing/shotgun/buckshot, -/obj/item/ammo_casing/shotgun/buckshot, -/obj/item/ammo_casing/shotgun/dragonsbreath, -/obj/item/ammo_casing/shotgun/dragonsbreath, -/obj/item/ammo_casing/shotgun/incendiary, -/obj/item/ammo_casing/shotgun/incendiary, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/laserscatter, -/turf/open/floor/vault, -/area/ship/security) -"FW" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/industrial/caution, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Gc" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Ge" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/door/poddoor{ - id = "thrusterblasts" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Gz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"GA" = ( -/obj/structure/table/reinforced, -/obj/machinery/light/directional/east, -/obj/item/storage/toolbox/electrical, -/obj/item/stack/sheet/rglass{ - amount = 25 - }, -/obj/item/wrench, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"GC" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"GE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "6-8" - }, -/obj/structure/cable/cyan{ - icon_state = "5-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"GN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "2-10" - }, -/obj/structure/cable/cyan{ - icon_state = "2-6" - }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"GT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"GW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/obj/machinery/door/airlock/command/glass/lp/bridge, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "innerouter"; - name = "Outer Port Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ha" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window{ - dir = 8 - }, -/obj/item/paper_bin, -/obj/item/pen/red, -/obj/machinery/door/window/lp/commissioner{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "commshut"; - name = "Commissioner's Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Hs" = ( -/obj/machinery/power/shuttle/engine/electric, -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Hy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"HA" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"HK" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"HU" = ( -/obj/effect/turf_decal/trimline/opaque/grey/filled/line, -/obj/structure/rack, -/obj/machinery/door/window/lp/engi{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/storage/belt/utility/chief, -/obj/item/melee/classic_baton/telescopic, -/obj/item/stock_parts/cell/gun, -/obj/item/gun/energy/e_gun/mindshield, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"HW" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"HZ" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = 7 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"Ib" = ( -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ir" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp, -/obj/item/clothing/shoes/magboots, -/obj/machinery/door/window/lp/lieu{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Iu" = ( -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Iy" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light/floor, -/obj/effect/turf_decal/trimline/opaque/white, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"IG" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"IM" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/structure/closet/crate, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/item/storage/box, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"IR" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp/sec, -/obj/item/clothing/shoes/magboots, -/obj/machinery/door/window/lp/security{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"IT" = ( -/obj/machinery/iv_drip, -/obj/machinery/vending/wallmed{ - pixel_x = 26 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ja" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Ji" = ( -/obj/machinery/light/directional/west, -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder/constructed{ - pixel_x = -8 - }, -/obj/item/reagent_containers/food/drinks/shaker{ - pixel_x = 7 - }, -/obj/item/kitchen/knife, -/obj/item/reagent_containers/glass/rag{ - pixel_y = -6 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"Jl" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Jn" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs, -/area/ship/hallway/central) -"Jq" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "2-5" - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Jw" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"JK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 1 - }, -/obj/machinery/recharger, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"JO" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"JQ" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"JR" = ( -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"Kb" = ( -/obj/machinery/porta_turret/ai, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"Kf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/purple, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = -8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Kg" = ( -/obj/effect/turf_decal/trimline/opaque/mauve/filled/corner, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Kj" = ( -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = -8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Kl" = ( -/obj/structure/closet/secure_closet/lp/security, -/obj/item/gps, -/obj/item/clothing/shoes/jackboots, -/obj/item/kitchen/knife/combat/survival, -/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp, -/obj/item/clothing/under/rank/security/head_of_security/nt/lp, -/obj/item/clothing/suit/armor/vest/security/officer, -/obj/item/clothing/suit/hooded/wintercoat/security, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/breath, -/obj/item/flashlight/seclite, -/obj/machinery/door/window/lp/security, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/item/clothing/head/beret/sec, -/obj/item/clothing/head/helmet/sec, -/obj/item/restraints/legcuffs/bola/energy, -/obj/item/restraints/legcuffs/bola/energy, -/obj/item/assembly/flash, -/obj/item/reagent_containers/spray/pepper, -/obj/item/grenade/chem_grenade/teargas, -/obj/item/grenade/chem_grenade/teargas, -/obj/item/storage/box/flashbangs, -/obj/item/clothing/suit/armor/vest/security, -/obj/item/storage/box/handcuffs, -/obj/item/holosign_creator/security, -/obj/item/clothing/glasses/sunglasses/gar, -/obj/item/storage/backpack/ert/security, -/obj/item/radio/headset/nanotrasen/alt/captain, -/obj/item/radio/headset/nanotrasen/captain, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ko" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4{ - dir = 8 - }, -/turf/open/floor/circuit/red/airless, -/area/ship/science/ai_chamber) -"Kt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "9-10" - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 8 - }, -/obj/machinery/holopad/emergency/security, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Kv" = ( -/obj/structure/closet/secure_closet/lp/engineer, -/obj/item/gps, -/obj/item/clothing/shoes/jackboots, -/obj/item/kitchen/knife/combat/survival, -/obj/item/clothing/under/rank/engineering/engineer/skirt/lp, -/obj/item/clothing/under/rank/engineering/engineer/lp, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/mask/gas/welding, -/obj/item/clothing/mask/breath, -/obj/item/flashlight/seclite, -/obj/machinery/door/window/lp/engi, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/clothing/head/beret/eng/hazard, -/obj/item/watertank/atmos, -/obj/item/storage/box/metalfoam, -/obj/item/pipe_dispenser, -/obj/item/clothing/glasses/meson/gar, -/obj/item/construction/rcd/loaded, -/obj/item/rcd_ammo/large, -/obj/item/holosign_creator/atmos, -/obj/item/holosign_creator/engineering, -/obj/item/weldingtool, -/obj/item/multitool, -/obj/item/storage/backpack/ert/engineer, -/obj/item/radio/headset/nanotrasen/alt/captain, -/obj/item/radio/headset/nanotrasen/captain, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Kw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -6; - pixel_y = -23 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Kz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"KX" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp/bananalamp{ - pixel_x = 7 - }, -/obj/item/toy/plush/among{ - pixel_y = -5 - }, -/turf/open/floor/circuit/red/airless, -/area/ship/science/ai_chamber) -"KY" = ( -/obj/effect/turf_decal/trimline/opaque/grey/filled/line, -/obj/structure/rack, -/obj/machinery/door/window/lp/lieu{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/storage/belt/military/assault, -/obj/item/storage/belt/bandolier, -/obj/item/melee/classic_baton/telescopic, -/obj/item/stock_parts/cell/gun, -/obj/item/gun/ballistic/shotgun/automatic/dual_tube/mindshield{ - pixel_y = -6 - }, -/obj/item/gun/energy/e_gun/mindshield{ - pixel_y = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Lg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command/glass/lp/port_hallway{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Lk" = ( -/turf/closed/wall/r_wall, -/area/ship/bridge) -"Lm" = ( -/obj/machinery/computer/cryopod/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"Lt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"LQ" = ( -/obj/item/disk/holodisk/lp/stations, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"LU" = ( -/obj/structure/bed, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"LV" = ( -/turf/closed/wall/r_wall, -/area/ship/maintenance/port) -"Ma" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/structure/closet/crate, -/obj/machinery/light/directional/east, -/obj/item/storage/box, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Mf" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_x = -6; - pixel_y = 12 - }, -/obj/item/paicard{ - pixel_x = 6 - }, -/obj/item/coin/runite{ - pixel_x = -7; - pixel_y = -4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Mg" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Mm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "6-8" - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Mn" = ( -/obj/machinery/camera/autoname, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"Mt" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Mx" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Mz" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ML" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"MY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"Nj" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/obj/item/caution, -/obj/item/reagent_containers/glass/bucket, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/machinery/light/directional/west, -/obj/item/storage/box/lights/bulbs, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Nn" = ( -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"Nx" = ( -/obj/machinery/airalarm/directional/south, -/obj/item/wrench, -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/cyan{ - icon_state = "0-9" - }, -/obj/item/stack/sheet/mineral/plasma/twenty, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"NC" = ( -/obj/effect/turf_decal/corner/opaque/blue, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"NM" = ( -/obj/machinery/light/directional/north, -/obj/structure/table/reinforced, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/circuitboard/machine/telecomms/server, -/obj/item/circuitboard/machine/telecomms/relay, -/obj/item/circuitboard/machine/telecomms/hub, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/effect/turf_decal/siding/thinplating/light/end{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"NR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - icon_state = "2-10" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"NY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"NZ" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/machinery/computer/crew{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Of" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Oi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "5-8" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Om" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Ot" = ( -/obj/item/banner/medical, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Ou" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/item/radio/intercom/wideband/table, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Ov" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/trimline/opaque/grey/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/corner{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ow" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"OK" = ( -/obj/machinery/computer/camera_advanced{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"OP" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/telecomms/broadcaster, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"OQ" = ( -/obj/structure/rack, -/obj/item/implantcase/mindshield, -/obj/item/implantcase/mindshield, -/obj/item/implantcase/mindshield, -/obj/item/implantcase/mindshield, -/obj/item/implantcase/mindshield, -/obj/item/implanter, -/turf/open/floor/vault, -/area/ship/security) -"OY" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "ranger_shields"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "miningblastlp" - }, -/obj/structure/cable/cyan{ - icon_state = "0-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"Ph" = ( -/obj/structure/fireaxecabinet{ - pixel_y = 32 - }, -/turf/open/floor/vault, -/area/ship/security) -"Pm" = ( -/obj/docking_port/stationary{ - dwidth = 15; - width = 30; - height = 15; - dir = 4 - }, -/turf/template_noop, -/area/template_noop) -"Po" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Pp" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "miningblastlp" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"Pq" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Pr" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/end{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Ps" = ( -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"PB" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"PH" = ( -/obj/machinery/recharge_station, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"PJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "entrance_lockdown"; - name = "Entrance Lockdown Shutters" - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"PV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer4, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"Qa" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/light/directional/west, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Qk" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -6; - pixel_y = -23 - }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"Qt" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/telecomms/relay, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"Qu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/medical) -"QC" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/structure/cable/cyan{ - icon_state = "5-9" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"QI" = ( -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"QJ" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/machinery/computer/camera_advanced{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"QT" = ( -/turf/closed/wall/r_wall, -/area/ship/maintenance/starboard) -"QU" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"QV" = ( -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Rg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/command/glass/lp/bridge, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "innerinner"; - name = "Inner Fore Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Rj" = ( -/obj/structure/cable/cyan{ - icon_state = "9-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Rn" = ( -/obj/machinery/power/tracker, -/obj/effect/turf_decal/solarpanel, -/obj/structure/cable/cyan, -/turf/open/floor/plating/airless, -/area/ship/external) -"RA" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - id = "thrusterblasts"; - name = "Thruster Blast Doors"; - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"RB" = ( -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"RN" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/directional/south, -/turf/open/floor/circuit/red/airless, -/area/ship/science/ai_chamber) -"RS" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/command/glass/lp/engines, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"Sl" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/structure/table/reinforced, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = -10 - }, -/obj/effect/spawner/lootdrop/lpretrieval, -/obj/effect/spawner/lootdrop/lpaid, -/obj/effect/spawner/lootdrop/lpcombat, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"SE" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"SI" = ( -/obj/structure/chair/sofa{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 9 - }, -/obj/structure/cable/cyan{ - icon_state = "2-5" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"SZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Ta" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/closet/cabinet, -/obj/item/storage/box/beanbag, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/item/clothing/under/rank/civilian/bartender/purple, -/obj/item/clothing/under/rank/civilian/bartender/skirt, -/obj/item/clothing/suit/apron/purple_bartender, -/obj/item/clothing/under/rank/civilian/bartender, -/obj/item/toy/figure/bartender, -/obj/item/table_bell/brass, -/obj/item/clothing/head/collectable/tophat, -/obj/item/radio/headset/nanotrasen, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"Tb" = ( -/turf/closed/wall/r_wall, -/area/ship/storage) -"Tf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass/lp/commissioner{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "commshut"; - name = "Commissioner's Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Th" = ( -/obj/machinery/vending/autodrobe/all_access, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Tm" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/item/radio/intercom/wideband/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ty" = ( -/obj/structure/table/wood, -/obj/structure/bedsheetbin, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/cyan, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = 8 - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"Tz" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/structure/closet/emcloset/wall{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"TG" = ( -/obj/structure/table/reinforced, -/obj/item/gps, -/obj/item/gps, -/obj/item/gps, -/obj/item/gps, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable/cyan{ - icon_state = "2-6" - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 5 - }, -/obj/machinery/camera/autoname, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"TK" = ( -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"TL" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"TN" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/structure/cable/cyan{ - icon_state = "1-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"TR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "2-10" - }, -/obj/structure/cable/cyan{ - icon_state = "8-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Uj" = ( -/obj/machinery/computer/telecomms/server, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Ul" = ( -/obj/structure/table/reinforced, -/obj/item/aiModule/core/full/hulkamania, -/obj/item/aiModule/core/full/reporter, -/obj/item/aiModule/core/freeformcore, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"Ur" = ( -/turf/closed/wall/r_wall, -/area/ship/science/ai_chamber) -"Us" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "2-10" - }, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Ut" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock/command/glass/lp/engines, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"UD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"UN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"UU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/external, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "outerouter"; - name = "Outer Aft Shutters" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"UZ" = ( -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Vg" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Vh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Vk" = ( -/obj/machinery/holopad/emergency/command, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Vl" = ( -/obj/item/bedsheet/medical, -/obj/structure/bed, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/structure/curtain/cloth, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Vp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "entrance_lockdown"; - name = "Entrance Lockdown Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"Vq" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Vw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"VA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"VH" = ( -/obj/machinery/power/solar_control{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"VJ" = ( -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"VM" = ( -/obj/machinery/door/window, -/obj/machinery/door/window{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "ranger_telecomms"; - locked = 1 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "ranger_telecomms"; - locked = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/circuit/green, -/area/ship/hallway/central) -"VP" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/telecomms/processor, -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"VQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "4-6" - }, -/obj/structure/cable/cyan{ - icon_state = "1-10" - }, -/obj/effect/turf_decal/plaque, -/obj/item/storage/backpack/satchel/flat/with_clown, -/obj/effect/turf_decal/floordetail/pryhole, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"VU" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "5-9" - }, -/obj/machinery/door/airlock/medical/glass/lp/medical{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Wj" = ( -/obj/structure/closet/crate/trashcart, -/obj/item/storage/bag/trash, -/obj/item/trash/semki, -/obj/item/trash/chips, -/obj/item/trash/tray, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Wr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/floor, -/obj/structure/chair/comfy/black, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Wv" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/blue/end{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"WA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command/glass/lp/security{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"WG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/cyan{ - icon_state = "0-8" - }, -/obj/structure/cable/cyan{ - icon_state = "4-5" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"WM" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/circuit/red/airless, -/area/ship/science/ai_chamber) -"WR" = ( -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"WT" = ( -/obj/structure/cable/cyan, -/obj/item/stack/cable_coil/yellow, -/turf/open/floor/plating/airless, -/area/ship/external) -"WY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Xb" = ( -/obj/structure/window/plasma/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"Xg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Xl" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1; - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Xp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "innerouter"; - name = "Outer Port Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/bridge) -"Xt" = ( -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Xy" = ( -/obj/effect/turf_decal/industrial/hatch, -/obj/effect/turf_decal/industrial/outline/red, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"XA" = ( -/obj/structure/closet/crate/trashcart/laundry, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"XD" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/machinery/door/window/lp{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"XH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"XK" = ( -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/cable/cyan, -/obj/machinery/door/poddoor{ - id = "thrusterblasts" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"XL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/window/lp{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"XR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"XT" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/fore) -"XV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/circuit/green/anim, -/area/ship/science/ai_chamber) -"XW" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/obj/machinery/camera/autoname, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Yk" = ( -/obj/structure/table/reinforced, -/obj/item/vending_refill/security, -/obj/item/vending_refill/engineering, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 5 - }, -/obj/item/vending_refill/medical, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ym" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -16; - pixel_y = 4 - }, -/obj/structure/mirror{ - pixel_y = 26 - }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/fore) -"Yn" = ( -/turf/open/floor/circuit/airless, -/area/ship/hallway/central) -"Yw" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Yy" = ( -/obj/machinery/turretid{ - pixel_y = 25; - req_access = list(403) - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"YH" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"YM" = ( -/obj/machinery/vending/cola/pwr_game, -/obj/effect/turf_decal/trimline/opaque/grey/filled/line{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"YU" = ( -/obj/structure/cable/cyan, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"YW" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"YZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "5-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Zc" = ( -/obj/structure/table/wood/poker, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/black/line{ - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"Zf" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/item/stock_parts/cell/high/plus, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/purple, -/obj/item/radio/headset/nanotrasen, -/obj/item/radio/headset/nanotrasen, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Zi" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/door/window/lp/operatingroom{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Zk" = ( -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/cyan{ - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Zs" = ( -/turf/open/floor/carpet/executive, -/area/ship/crew/dorm) -"Zt" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 9 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"Zv" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Zw" = ( -/obj/structure/cable/cyan{ - icon_state = "2-5" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Zx" = ( -/obj/machinery/computer/helm{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/fore) -"ZB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable/cyan{ - icon_state = "4-6" - }, -/obj/structure/cable/cyan{ - icon_state = "1-6" - }, -/obj/effect/turf_decal/trimline/opaque/mauve/filled/line{ - dir = 10 - }, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ZC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ZF" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8; - piping_layer = 2 - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"ZG" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ZK" = ( -/obj/structure/cable/cyan{ - icon_state = "0-2" - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ZS" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/structure/closet/firecloset/wall{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"ZU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/cyan{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"ZW" = ( -/obj/structure/closet/secure_closet/medical3, -/obj/item/defibrillator, -/obj/item/stock_parts/cell/high, -/obj/item/storage/box/gloves, -/obj/item/storage/box/masks, -/obj/item/storage/belt/medical/surgery, -/obj/item/storage/belt/medical/surgery, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/item/clothing/suit/hooded/wintercoat/medical, -/obj/item/clothing/under/rank/medical/doctor/blue, -/obj/item/clothing/under/rank/medical/doctor/nurse, -/obj/item/clothing/under/rank/medical/doctor/skirt, -/obj/item/holosign_creator/medical, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ZZ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) - -(1,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(2,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(3,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -ix -QT -QT -QT -QT -QT -QT -QT -aP -aP -aP -aP -aP -aP -fV -fV -fV -fV -fV -fV -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(4,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -hl -qS -SE -Kj -RS -HZ -BA -Ut -po -BI -Jq -hn -Kf -bn -Cf -Xt -Mx -qb -YM -fV -fV -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(5,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -ix -QT -QT -QT -RA -Ce -QT -ZF -Em -QT -Fo -Rj -ry -UD -yD -aP -bS -Kg -EH -my -gP -dA -fV -fV -fV -fV -zW -zW -zW -zW -zW -zW -"} -(6,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -hl -xp -oQ -tq -CB -wE -QT -QT -QT -QT -rc -Iu -xr -pf -Jw -Zf -Lt -WY -Ir -Aa -Ib -CA -fX -gz -FQ -fV -zW -zW -zW -zW -zW -zW -"} -(7,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -hl -xp -oQ -Om -SZ -Cx -vT -vk -QT -cX -Of -kh -hJ -UN -Iu -hm -Ew -mk -IR -Kl -Mt -KY -fV -Ph -id -fV -zW -zW -zW -zW -zW -zW -"} -(8,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -sF -aH -cv -vF -Ow -dp -zc -QC -QT -lW -ld -Iu -Iu -Iu -Ao -Dw -Lt -iF -dC -Kv -Mt -sk -fV -OQ -cN -fV -zW -zW -zW -zW -zW -zW -"} -(9,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -ix -QT -QT -QT -QT -pa -NR -DH -QT -aP -Gc -jk -xq -Dd -oz -Gz -JK -Ps -aI -iZ -Mt -HU -fV -fV -fV -fV -zW -zW -zW -zW -zW -zW -"} -(10,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -Be -WR -WR -aP -aP -aP -aP -aP -aP -aP -kQ -Ov -ZB -eh -wf -st -fV -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(11,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -RB -WT -ZK -sR -zW -zW -zW -zW -zW -aP -fV -Yk -ji -Kt -WG -fV -fV -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(12,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Be -WR -WR -zW -zW -zW -zW -zW -zW -zW -fV -fV -Eq -CN -yA -fV -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(13,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Be -mR -WR -zW -zW -zW -zW -zW -zW -zW -zW -fV -fV -fV -WA -fV -gg -gg -gg -gg -zW -zW -zW -zW -zW -zW -"} -(14,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -RB -YH -YU -Lk -Lk -Lk -Lk -Lk -zW -sJ -sJ -sJ -Qt -Bh -Jl -sM -vV -gg -pi -gg -gg -gg -zW -zW -zW -zW -"} -(15,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Be -WR -WR -Lk -Tz -Qa -ZZ -Lk -Lk -sJ -jR -Yn -Yn -gi -GT -hP -qJ -gg -yo -gg -Ym -gg -zW -zW -zW -zW -"} -(16,1,1) = {" -zW -zW -zW -zW -Ur -Ur -Ur -Ur -Ur -zW -zW -zW -zW -WR -Be -WR -Lk -Lk -ZS -EJ -jb -EP -Lk -Lk -ad -LQ -PV -VM -FW -oy -pp -gg -oq -dK -zF -gg -zW -zW -zW -zW -"} -(17,1,1) = {" -zW -Ur -Ur -Ur -Ur -Ul -dS -Kb -Ur -mQ -mQ -rq -zW -WR -Be -WR -Lk -cf -ps -ml -hf -xo -hZ -Lk -nh -Yn -Yn -gi -eb -Iy -TL -la -jW -iI -xj -gg -zW -zW -zW -zW -"} -(18,1,1) = {" -Ur -Ur -yh -Kb -yC -JR -QI -JR -Ur -XH -xB -Zt -zW -WR -UZ -WR -Lk -wD -Cm -vU -Ma -IM -FB -Lk -fy -Yn -VP -OP -Xl -AZ -EL -gg -gg -gg -gg -gg -gg -gg -zW -zW -"} -(19,1,1) = {" -Ur -PH -iD -zn -zn -zn -zn -fo -Ur -Xb -mQ -Ur -Ur -wq -wq -Lk -Lk -Lk -Lk -cd -Lk -tj -tj -Lk -Lk -Lk -Lk -Uj -rF -jr -ok -fr -aD -Pr -eT -Pq -cw -gg -gg -gg -"} -(20,1,1) = {" -Ur -Mn -dv -KX -RN -Ur -dd -KC -Ur -iX -Ur -wp -kj -sw -wq -uH -gW -lj -CG -vU -eU -SI -fd -sq -mw -dE -Xp -ZC -Xl -Dr -YW -Yw -Zx -nA -Mm -uk -xA -Vp -xF -PJ -"} -(21,1,1) = {" -Ur -GC -wO -dl -jf -Ur -ic -bN -aq -HA -Cl -CI -jG -vS -kO -UU -fJ -cx -XR -Fx -VQ -GN -Xg -Rg -EW -EW -GW -Mz -Ar -mh -az -XL -Wr -hk -Po -rM -Mg -wh -bV -ih -"} -(22,1,1) = {" -Ur -JR -QI -Ko -WM -Ur -XV -Qk -Ur -Yy -Ur -sU -Hy -rL -wq -Lk -gD -rZ -ak -ef -TN -fU -gL -sq -Wv -dE -Xp -tg -qF -Vg -ok -rJ -OK -Ou -NY -CD -Bl -Bg -mv -PJ -"} -(23,1,1) = {" -Ur -PH -QI -QI -QI -cy -QI -En -Ur -VA -mQ -Ur -Ur -wq -lp -Lk -Lk -Lk -Lk -Tf -Lk -Ha -tK -Lk -Lk -Lk -Lk -ut -hi -Zk -us -vY -eE -CM -cW -qQ -bX -gg -gg -gg -"} -(24,1,1) = {" -Ur -Ur -kc -Kb -IG -JR -QI -JR -Ur -yU -ML -mQ -zW -WR -ZG -WR -Lk -Mf -Sl -vU -iL -JO -lv -Lk -eq -jB -xw -am -jv -cI -Fh -lX -gg -gg -gg -gg -gg -gg -zW -zW -"} -(25,1,1) = {" -zW -Ur -Ur -Ur -Ur -iz -GA -Kb -Ur -mQ -mQ -mQ -zW -WR -Be -WR -Lk -BO -QU -Vk -Vh -NC -sf -Lk -pA -wu -tk -xK -xS -VJ -CP -sQ -Ta -Ji -sm -gh -zW -zW -zW -zW -"} -(26,1,1) = {" -zW -zW -zW -zW -Ur -Ur -Ur -Ur -Ur -zW -zW -zW -zW -WR -Be -WR -Lk -Lk -Tm -PB -NC -NZ -Lk -Lk -Xy -vz -tk -xv -AF -QV -Zc -De -De -De -Nn -gh -zW -zW -zW -zW -"} -(27,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Be -WR -WR -Lk -QJ -vN -hO -Lk -Lk -sJ -NM -ff -ks -Jn -AF -QV -aK -De -pD -ah -gF -gg -zW -zW -zW -zW -"} -(28,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Ek -YH -YU -Lk -Lk -Lk -Lk -Lk -zW -sJ -sJ -sJ -eN -pB -kN -aW -XD -XT -bu -gg -gg -gg -zW -zW -zW -zW -"} -(29,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Be -WR -WR -zW -zW -zW -zW -zW -zW -zW -zW -sJ -sJ -sJ -Lg -sJ -gg -gg -gg -gg -zW -zW -zW -zW -zW -zW -"} -(30,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -WR -Be -mR -mR -zW -zW -zW -zW -zW -zW -zW -jA -jA -Nj -ay -Kw -jA -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(31,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -mR -Ek -WT -ZK -Rn -zW -zW -zW -zW -zW -jA -jA -Wj -Zw -hx -Oi -jA -jA -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(32,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -Be -mR -mR -Tb -Tb -Tb -jA -jA -jA -jA -XA -YZ -dq -vb -vh -Ot -jA -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(33,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -fH -LV -LV -LV -LV -Kz -ec -wl -LV -Tb -rd -Tb -JQ -or -oM -fM -YZ -CY -Ac -bD -VU -vm -vm -vm -vm -vm -zW -zW -zW -zW -zW -zW -"} -(34,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -Ja -Ge -lc -cE -fx -VH -FK -of -LV -nt -ZU -aC -zk -Us -Vq -TR -uU -Th -Qu -ne -Zv -ng -lK -hz -tu -up -zW -zW -zW -zW -zW -zW -"} -(35,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -Hs -wC -cR -Do -cP -yt -qZ -Nx -LV -wQ -ab -Tb -yJ -yJ -yJ -no -xT -yJ -vm -Ca -dw -dP -Zi -lL -uW -up -zW -zW -zW -zW -zW -zW -"} -(36,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -Hs -XK -cR -tC -gs -mZ -LV -LV -LV -TG -nQ -Tb -uw -LU -zR -vj -MY -Ty -vm -vB -pr -HK -jZ -IT -CV -up -zW -zW -zW -zW -zW -zW -"} -(37,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -fH -LV -LV -LV -Fi -AO -LV -TK -mJ -rt -tJ -Tb -BC -Zs -zR -mb -Vw -Lm -vm -XW -lL -ZW -vm -vm -vm -vm -zW -zW -zW -zW -zW -zW -"} -(38,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -Hs -XK -kS -pv -hG -yZ -kI -GE -zz -Tb -uw -Df -zR -dV -Fw -HW -vm -xd -Vl -vm -vm -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(39,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -fH -LV -LV -LV -LV -Tb -OY -Pp -Fz -Tb -yJ -yJ -yJ -yJ -yJ -yJ -vm -vm -vm -vm -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(40,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -gJ -wq -wq -wq -gJ -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(41,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -Pm -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} -(42,1,1) = {" -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -zW -"} diff --git a/_maps/shuttles/shiptest/nanotrasen_ranger.dmm b/_maps/shuttles/shiptest/nanotrasen_ranger.dmm new file mode 100644 index 000000000000..58d4fdb918a3 --- /dev/null +++ b/_maps/shuttles/shiptest/nanotrasen_ranger.dmm @@ -0,0 +1,6072 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 5; + pixel_y = 11; + layer = 4.2 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/toy/plush/moth/redish{ + pixel_x = -4; + layer = 4.3 + }, +/turf/open/floor/wood, +/area/ship/security) +"ad" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 22 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"am" = ( +/obj/structure/urinal{ + pixel_y = 29 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"an" = ( +/obj/structure/railing/corner, +/obj/structure/cable/cyan{ + icon_state = "5-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"az" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"aD" = ( +/obj/machinery/light/dim/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"aG" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/storage/box/stockparts/basic, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"aI" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_FireFighting_Shut" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"aK" = ( +/obj/machinery/light/dim/directional/north, +/obj/item/radio/intercom/directional/east, +/obj/structure/reagent_dispensers/foamtank, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"aO" = ( +/obj/structure/closet/secure_closet/lp/medical, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, +/obj/item/storage/belt/medical, +/obj/item/flashlight/seclite, +/obj/item/roller, +/obj/item/holosign_creator/medical, +/obj/item/pinpointer/crew, +/obj/item/storage/box/bodybags, +/obj/item/storage/firstaid/regular, +/turf/open/floor/wood, +/area/ship/medical) +"aP" = ( +/turf/open/floor/plating, +/area/ship/engineering) +"aW" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"bf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"bn" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = 7 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"br" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/obj/machinery/door/window/northright{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_SB_maint_shut" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"bu" = ( +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"bw" = ( +/obj/structure/closet/secure_closet/lp/security, +/obj/item/clothing/glasses/sunglasses/gar, +/obj/item/melee/classic_baton/telescopic, +/obj/item/flashlight/seclite, +/obj/item/kitchen/knife/combat/survival, +/obj/item/holosign_creator/security, +/obj/item/storage/box/handcuffs, +/obj/item/restraints/legcuffs/bola/energy, +/obj/item/holosign_creator/security, +/obj/item/clothing/suit/armor/vest/security, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/gps, +/obj/item/gun/ballistic/derringer, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/ammo_box/c38_box, +/obj/item/ammo_box/c38_box, +/turf/open/floor/wood, +/area/ship/security) +"bD" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"bN" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/weightmachine/weightlifter, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"bX" = ( +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + network = "nt_commnet"; + id = "Nanotrasen Communications Bus"; + freq_listening = list(1353,1447,1459) + }, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"cj" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/crate/secure/loot, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"cv" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Operations" + }, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"cx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"cE" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"cI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Cycler_Shutters" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"cN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"cR" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"cW" = ( +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"dd" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"dl" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_FireFighting_Shut" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"dn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"dq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/ntblue{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"dr" = ( +/obj/machinery/power/smes{ + charge = 1e006 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"dC" = ( +/obj/effect/turf_decal/ntspaceworks_small/right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dG" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/binary/valve/layer4{ + dir = 8; + name = "Disposals Outlet Valve" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"dK" = ( +/obj/structure/closet/firecloset/wall{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"dM" = ( +/obj/structure/cable/cyan{ + icon_state = "6-8" + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"dP" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "Engineering_Specialist_Shutters" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering) +"ec" = ( +/obj/effect/turf_decal/ntspaceworks_small/left, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ef" = ( +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15 + }, +/turf/template_noop, +/area/template_noop) +"eo" = ( +/obj/structure/rack, +/obj/item/flashlight/seclite{ + pixel_x = 4; + pixel_y = -1 + }, +/obj/item/gps{ + pixel_y = 10; + pixel_x = -5 + }, +/obj/item/kitchen/knife/combat/survival{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"er" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"eE" = ( +/obj/machinery/computer/cargo/express{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"eN" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"eT" = ( +/obj/machinery/button/door{ + dir = 1; + pixel_y = -21; + id = "Rangar_Starboard_Blasts"; + name = "Blast Doors" + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + pixel_x = 9; + pixel_y = -20; + id = "Ranger_Starboard_holofield" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"eU" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/sprayweb, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"eY" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"fd" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"ff" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/hole/right, +/obj/machinery/telecomms/message_server/preset{ + autolinkers = list("messaging","hub"); + network = "nt_commnet"; + layer = 3.1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"fo" = ( +/obj/structure/window/reinforced/tinted/frosted, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"fy" = ( +/obj/structure/table/wood, +/obj/item/newspaper, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"fz" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + name = "Cargo Bay"; + id = "Ranger_Cargo_Door" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"fU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"fV" = ( +/turf/closed/wall/r_wall, +/area/ship/security) +"gg" = ( +/turf/closed/wall/r_wall, +/area/ship/crew/toilet) +"gh" = ( +/obj/structure/chair/comfy/teal{ + dir = 4 + }, +/obj/item/toy/plush/moth/lovers, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"gi" = ( +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/machinery/camera/autoname, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"gk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/firedoor/window, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/communications) +"gz" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/closet/crate/trashcart, +/obj/item/storage/bag/trash, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"gD" = ( +/obj/structure/cable/cyan{ + icon_state = "4-10" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"gG" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/machinery/door/airlock/medical/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"gL" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"gN" = ( +/obj/machinery/light/dim/directional/north, +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"gT" = ( +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"gW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"hf" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"hk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"hl" = ( +/obj/structure/cable/cyan{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"hn" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/structure/railing/corner, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"hp" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"hx" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"hz" = ( +/obj/docking_port/mobile{ + dheight = 1; + dir = 2; + preferred_direction = 4; + port_direction = 8 + }, +/obj/machinery/camera/autoname, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external) +"hF" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"hJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"hK" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "Engineering_Specialist_Shutters"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering) +"hN" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external) +"hQ" = ( +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 + }, +/area/ship/security) +"hZ" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 5; + pixel_y = 13; + layer = 4.2 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/item/toy/plush/moth/deadhead{ + pixel_x = -7; + layer = 4.3 + }, +/turf/open/floor/wood, +/area/ship/engineering) +"ib" = ( +/obj/structure/cable/cyan{ + icon_state = "5-10" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"id" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"ih" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -20 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"iq" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ix" = ( +/obj/structure/table/greyscale, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/item/storage/firstaid/medical{ + pixel_y = 7; + pixel_x = -2 + }, +/obj/item/storage/firstaid/o2{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 4; + pixel_y = -3 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"iC" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/decal/cleanable/robot_debris/old, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"iD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"iF" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals4, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/effect/spawner/lootdrop/lpaid{ + pixel_x = -4; + pixel_y = 10 + }, +/obj/effect/spawner/lootdrop/lpcombat{ + pixel_y = 6 + }, +/obj/effect/spawner/lootdrop/lpretrieval{ + pixel_x = 3; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"iH" = ( +/obj/structure/bed, +/obj/item/bedsheet/grey, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"iI" = ( +/obj/structure/closet/emcloset/wall{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"iX" = ( +/obj/machinery/mineral/ore_redemption{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"iZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"jb" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ji" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"jj" = ( +/obj/machinery/holopad/emergency, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"jr" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/ert/lp/engi, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"js" = ( +/obj/machinery/cryopod, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"jt" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"jv" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/beret/sec, +/obj/item/clothing/under/rank/security/head_of_security/nt/lp, +/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp, +/obj/item/clothing/suit/armor/vest/security/officer, +/obj/item/clothing/under/rank/security/head_of_security/alt/lp, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/wood, +/area/ship/security) +"jA" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/port) +"jC" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external) +"jF" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"jH" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"jZ" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"kh" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -20 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"ks" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"kt" = ( +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"kw" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering/communications) +"kK" = ( +/obj/structure/table/wood, +/obj/item/storage/box/cups, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"kO" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/turf_decal/corner/opaque/ntblue, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"kQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Ranger_AI_Core_Ext_Blasts" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering/communications) +"kS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"lc" = ( +/obj/structure/railing/modern/end{ + dir = 8; + railing_color = "#0C119E" + }, +/obj/structure/railing/modern/end{ + dir = 4; + railing_color = "#0C119E" + }, +/obj/machinery/computer/cryopod/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"lj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -22; + pixel_y = 8; + id = "Ranger_Cycler_Shutters"; + name = "Air Cycler Shutters" + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"lp" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_y = 6; + pixel_x = 22; + id = "Ranger_FireFighting_Shut"; + name = "Shutters" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"lv" = ( +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lw" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/closet/crate/large, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"lD" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/bridge) +"lL" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"lU" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lW" = ( +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"lX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/effect/turf_decal/siding/yellow, +/obj/structure/railing{ + dir = 2; + layer = 4.1 + }, +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"mh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"ml" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"mn" = ( +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/modular_computer/laptop/preset/civilian, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"mv" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/mob/living/simple_animal/pet/dog/corgi/Lisa, +/obj/structure/bed/dogbed, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"mw" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"my" = ( +/obj/structure/urinal{ + pixel_y = 29 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"mJ" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = -8 + }, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"mQ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"nh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red, +/obj/machinery/door/window/brigdoor{ + req_ship_access = 1; + req_access_txt = "1"; + id = "ranger_brig"; + name = "Holding Cell Door" + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"no" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"nA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"nE" = ( +/obj/machinery/button/door{ + dir = 2; + pixel_x = -2; + name = "Blast Doors"; + id = "Ranger_AI_Core_Blasts"; + pixel_y = 22 + }, +/obj/machinery/button/shieldwallgen{ + dir = 2; + pixel_x = 6; + pixel_y = 20; + id = "AI_Core_Field_Engi" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"nJ" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"ob" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"of" = ( +/obj/machinery/light/dim/directional/south, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"og" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"oi" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"ok" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"oq" = ( +/obj/structure/cable/cyan{ + icon_state = "5-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"or" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating, +/area/ship/engineering) +"ox" = ( +/obj/structure/chair/sofa/corner, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"oz" = ( +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"oI" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Port_maint_shut" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"oM" = ( +/obj/machinery/door/window/eastleft{ + dir = 2 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"oQ" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/ship/medical) +"pa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"pf" = ( +/obj/structure/closet/emcloset/wall{ + dir = 1; + pixel_y = -28 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"pi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"pn" = ( +/obj/structure/chair/wood, +/obj/item/toy/figure/assistant{ + layer = 3.1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"pp" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 13; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = 24 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"ps" = ( +/obj/structure/closet/secure_closet/lp/engineer, +/obj/item/clothing/head/welding, +/obj/item/holosign_creator/engineering, +/obj/item/holosign_creator/atmos, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/glasses/meson/gar, +/obj/item/crowbar/power, +/obj/item/clothing/shoes/magboots, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"pA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/bridge) +"pD" = ( +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pL" = ( +/obj/structure/chair/comfy/teal{ + dir = 4 + }, +/obj/item/toy/plush/moth/royal, +/obj/item/radio/intercom/wideband/directional/south, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"pU" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"qb" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/janitorialcart{ + dir = 4 + }, +/obj/item/mop, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"qe" = ( +/obj/structure/urinal{ + pixel_y = 29 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"qs" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"qQ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"qR" = ( +/obj/machinery/door/airlock/security/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/red/full, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"qS" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/oil/streak, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"qZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"rg" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"rq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/stairs, +/area/ship/crew/cryo) +"rA" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/holopad, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"rC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"rL" = ( +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"rM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"rT" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"rW" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/window/northright{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_SB_maint_shut" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"rX" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"rZ" = ( +/obj/effect/turf_decal/atmos/air, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/ship/hallway/central) +"sf" = ( +/obj/structure/railing{ + dir = 8; + layer = 4.1 + }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/machinery/fax, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"sl" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"sm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"sw" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"sF" = ( +/obj/structure/table/greyscale, +/obj/item/storage/box/syringes{ + pixel_y = 10; + pixel_x = -5 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 9 + }, +/obj/item/reagent_containers/glass/bottle/mannitol{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 5 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"sJ" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/central) +"sR" = ( +/obj/structure/table/wood, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/siding/red/end, +/obj/item/toy/plush/spider, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"sU" = ( +/obj/structure/table/greyscale, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/item/defibrillator/loaded, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"tb" = ( +/obj/structure/table/wood, +/obj/machinery/light/dim/directional/north, +/obj/item/flashlight{ + pixel_y = 12 + }, +/obj/item/flashlight{ + pixel_y = 12 + }, +/obj/item/flashlight{ + pixel_y = 9 + }, +/obj/item/flashlight{ + pixel_y = 4 + }, +/obj/item/flashlight, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"tf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"tg" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"tj" = ( +/obj/machinery/door/airlock/command{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"tk" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"tq" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/wood, +/area/ship/medical) +"tr" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"tK" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/computer/security{ + dir = 8; + icon_state = "computer-left" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"tQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"tR" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"tT" = ( +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"tZ" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + name = "Shutters"; + id = "Ranger_SB_maint_shut" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"uk" = ( +/obj/item/clothing/suit/space/eva, +/obj/item/clothing/head/helmet/space/eva, +/obj/item/clothing/mask/breath, +/obj/structure/closet/emcloset/empty{ + name = "emergency EVA gear" + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) +"up" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"us" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"ux" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/telecomms/relay{ + freq_listening = list(1353,1447,1459); + id = "Nanotrasen Relay"; + name = "Nanotrasen relay"; + network = "nt_commnet" + }, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"uE" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"uH" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"uW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"vh" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/machinery/door/window, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"vj" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"vk" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 13; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = 24 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 21 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"vm" = ( +/turf/closed/wall/r_wall, +/area/ship/medical) +"vp" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"vr" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/ship/hallway/central) +"vv" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"vz" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vB" = ( +/obj/machinery/cryopod, +/obj/machinery/camera/autoname, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"vF" = ( +/obj/effect/turf_decal/siding/blue, +/obj/structure/closet/crate/freezer/blood, +/obj/structure/railing{ + dir = 8; + layer = 4.1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"vO" = ( +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"vR" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"vS" = ( +/obj/structure/table/optable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/siding/blue, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"vT" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"vV" = ( +/obj/structure/window/reinforced/spawner{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/ert/lp/med, +/obj/item/clothing/mask/breath, +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"wc" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/window/northright{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Port_maint_shut" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"wf" = ( +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + freq_listening = list(1353,1447,1459); + network = "nt_commnet" + }, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"wh" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "Ranger_Starboard_holofield" + }, +/obj/machinery/door/poddoor{ + id = "Rangar_Starboard_Blasts" + }, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"wp" = ( +/obj/item/clothing/suit/space/eva, +/obj/item/clothing/head/helmet/space/eva, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen, +/obj/structure/closet/emcloset/empty{ + name = "emergency EVA gear" + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"wq" = ( +/turf/open/floor/engine/hull, +/area/ship/external) +"wu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"ww" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"wC" = ( +/obj/effect/turf_decal/steeldecal/steel_decals6, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"wE" = ( +/obj/machinery/button/door{ + pixel_y = 21; + name = "Blast Doors"; + id = "Ranger_Port_Blasts" + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 20; + pixel_x = 8; + id = "Ranger_Port_holofields" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"wT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/red/filled/corner, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"wU" = ( +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/obj/structure/railing{ + dir = 2; + layer = 4.1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"xj" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"xp" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/wood, +/area/ship/medical) +"xq" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/engineering) +"xv" = ( +/obj/machinery/recharge_station, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/white, +/area/ship/crew/toilet) +"xw" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"xA" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) +"xB" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"xK" = ( +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/folder/blue{ + pixel_x = -6 + }, +/obj/item/folder/red{ + pixel_y = 2 + }, +/obj/item/folder{ + pixel_y = 5; + pixel_x = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"yi" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_x = 20; + pixel_y = -7; + id = "AI_Core_Field_Engi" + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + name = "Blast Doors"; + id = "Ranger_AI_Core_Blasts"; + pixel_y = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"ym" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"yo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"yA" = ( +/obj/machinery/telecomms/hub{ + network = "nt_commnet"; + id = "Nanotrasen Communications Hub"; + autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB") + }, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"yC" = ( +/obj/structure/toilet{ + dir = 1 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"yK" = ( +/obj/item/soap/nanotrasen, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/toilet) +"yU" = ( +/obj/structure/table/reinforced, +/obj/item/storage/belt/utility, +/obj/item/t_scanner{ + pixel_x = 7; + pixel_y = 4 + }, +/obj/item/weldingtool{ + pixel_x = -6 + }, +/obj/item/stack/cable_coil/random, +/obj/item/multitool, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"yZ" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-9" + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"zc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"zi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/public/glass, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"zB" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/door/window{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"zC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + name = "Cargo Bay"; + id = "Ranger_Cargo_Door" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"zF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"zW" = ( +/turf/template_noop, +/area/template_noop) +"Ao" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Av" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck{ + pixel_x = -1; + pixel_y = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Aw" = ( +/turf/open/floor/wood, +/area/ship/medical) +"AF" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"AH" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"AP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"AT" = ( +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"AZ" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood, +/area/ship/security) +"Be" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/dim/directional/south, +/obj/machinery/button/door{ + dir = 4; + id = "Ranger_FireFighting_Shut"; + name = "Shutters"; + pixel_x = -22; + pixel_y = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"Bg" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "Ranger_Starboard_holofield" + }, +/obj/machinery/door/poddoor{ + id = "Rangar_Starboard_Blasts" + }, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"Bh" = ( +/turf/open/floor/plasteel/stairs/wood, +/area/ship/engineering) +"Bl" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Bo" = ( +/obj/effect/turf_decal/steeldecal/steel_decals4, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"BA" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/item/bikehorn/rubberducky, +/turf/open/floor/plasteel/white, +/area/ship/crew/toilet) +"BI" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/plasteel/white, +/area/ship/crew/toilet) +"BO" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_SB_maint_shut" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"BX" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/firecloset/wall{ + dir = 4; + pixel_x = -28 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"BY" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Ca" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Cb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Cg" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Cq" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"Ct" = ( +/obj/structure/table/greyscale, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/blue{ + dir = 6 + }, +/obj/item/roller{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/item/roller{ + pixel_x = -3; + pixel_y = 7 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"CB" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/hole/right, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"CD" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"CG" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"CI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"CJ" = ( +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 8; + name = "Air Supply Pump" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"CN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + piping_layer = 2; + dir = 8; + layer = 2 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/engine/air, +/area/ship/hallway/central) +"CP" = ( +/obj/machinery/camera/autoname{ + dir = 10 + }, +/turf/open/floor/engine/hull, +/area/ship/external) +"Dd" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/industrial/outline/orange, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"Dr" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "AI_Core_Field_Engi"; + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 2; + id = "Ranger_AI_Core_Blasts" + }, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Ds" = ( +/obj/machinery/camera/autoname{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"Dx" = ( +/turf/open/floor/plasteel/dark, +/area/ship/security) +"DE" = ( +/obj/item/storage/box/metalfoam, +/obj/item/watertank/atmos, +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"DW" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"DZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -20; + name = "Cargo Bay Shutters"; + id = "Ranger_Cargo_Door"; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Ek" = ( +/obj/machinery/computer/telecomms/server, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Eq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"EL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"EP" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Ff" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Fg" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/ert/lp, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Fh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Fw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/wood, +/turf/open/floor/plasteel/white, +/area/ship/crew/toilet) +"Fx" = ( +/obj/structure/table/wood, +/obj/item/storage/box/matches{ + pixel_y = 4 + }, +/obj/item/reagent_containers/glass/maunamug{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/clothing/mask/cigarette/cigar/havana{ + pixel_y = 2; + pixel_x = -5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"FB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"FQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Gc" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp, +/obj/item/clothing/under/rank/security/head_of_security/alt/lp, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/suit/jacket/miljacket, +/obj/item/clothing/suit/jacket/leather/duster/command, +/obj/item/clothing/head/beret/lt, +/obj/item/storage/backpack/messenger/com, +/obj/item/storage/backpack/satchel/cap, +/obj/item/storage/backpack/captain, +/obj/item/storage/backpack/duffelbag/captain, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Ge" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/effect/turf_decal/industrial/outline/orange, +/turf/open/floor/plating, +/area/ship/engineering) +"Gh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Gk" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall{ + dir = 4; + pixel_x = -30 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Gn" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/toy/plush/moth/snow{ + pixel_x = -3 + }, +/turf/open/floor/wood, +/area/ship/medical) +"Gz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"GC" = ( +/obj/structure/window/reinforced/spawner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"GE" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"GG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"GY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood, +/area/ship/engineering) +"Ha" = ( +/obj/structure/closet/secure_closet/lp/lieutenant, +/obj/item/gun/energy/e_gun/mindshield{ + pixel_y = 1 + }, +/obj/item/stock_parts/cell/gun, +/obj/item/melee/classic_baton/telescopic, +/obj/item/kitchen/knife/combat/survival, +/obj/item/gps, +/obj/item/screwdriver, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -20 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Hd" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "Engineering_Specialist_Shutters"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering) +"Hs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Hy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"HA" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "Ranger_Port_holofields" + }, +/obj/machinery/door/poddoor{ + id = "Ranger_Port_Blasts" + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"HZ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Ib" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + name = "Shutters"; + id = "Ranger_Port_maint_shut" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Iy" = ( +/obj/structure/table/wood, +/obj/machinery/light/dim/directional/north, +/obj/item/radio{ + pixel_x = -8 + }, +/obj/item/radio{ + pixel_x = 3 + }, +/obj/item/radio{ + pixel_x = 1 + }, +/obj/item/radio{ + pixel_x = -5 + }, +/obj/item/radio{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"Iz" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-10" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"IC" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/machinery/door/airlock/engineering/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"IE" = ( +/obj/machinery/light/floor, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"IM" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/obj/item/toy/plush/blahaj{ + layer = 3.1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"IQ" = ( +/obj/machinery/cryopod, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"IR" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Ji" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/ert/lp/sec, +/obj/item/clothing/mask/breath, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/red{ + dir = 5 + }, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"Js" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/effect/turf_decal/siding/red/corner, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"Jw" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"JK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_x = -25 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood, +/area/ship/engineering) +"JO" = ( +/obj/machinery/door/airlock/command, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"JP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"JR" = ( +/turf/closed/wall/r_wall, +/area/ship/crew/cryo) +"Kf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Kg" = ( +/turf/closed/wall/r_wall, +/area/ship/engineering/communications) +"Kj" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 8 + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Kl" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Kt" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Ku" = ( +/obj/machinery/computer/secure_data/laptop, +/turf/closed/wall/r_wall, +/area/ship/hallway/central) +"Kw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"KC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"KQ" = ( +/obj/structure/closet, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/mining_scanner, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/shovel, +/obj/item/shovel, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"KX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Lg" = ( +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"Lk" = ( +/turf/closed/wall/r_wall, +/area/ship/bridge) +"Lt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"Lu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Lw" = ( +/obj/structure/bed, +/obj/item/bedsheet/orange, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/engineering) +"LM" = ( +/obj/machinery/telecomms/processor/preset_four{ + autolinkers = list("processor4","bus"); + network = "nt_commnet"; + id = "Nanotrasen Communications Processor" + }, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"LQ" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/effect/turf_decal/industrial/outline/orange, +/turf/open/floor/plating, +/area/ship/engineering) +"LU" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Bridge_Shutters" + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/bridge) +"LV" = ( +/turf/closed/wall/r_wall, +/area/ship/maintenance/port) +"Ma" = ( +/obj/structure/chair/wood, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"Mc" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"Md" = ( +/obj/structure/AIcore, +/obj/item/mmi/posibrain, +/obj/item/circuitboard/aicore, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"Mf" = ( +/turf/closed/wall/r_wall, +/area/ship/crew/dorm) +"Mg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Mh" = ( +/obj/machinery/computer/apc_control{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"Mm" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Mn" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/opaque/ntblue, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Ms" = ( +/obj/machinery/button/door{ + pixel_y = -20; + name = "Ranger Bridge Shutters"; + id = "Ranger_Bridge_Shutters"; + dir = 1; + pixel_x = 6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Mt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Mu" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/derringer/gold{ + pixel_x = -1; + pixel_y = -4 + }, +/obj/item/lighter{ + pixel_x = -10 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 5; + pixel_y = 13; + layer = 4.2 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Mx" = ( +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"Mz" = ( +/obj/effect/turf_decal/corner/opaque/orange/full, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 9 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + id = "Engineering_Specialist_Shutters"; + name = "Privacy Shutters" + }, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"MI" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"MK" = ( +/obj/structure/table/reinforced, +/obj/item/aicard, +/obj/item/stack/sheet/rglass{ + amount = 25 + }, +/obj/item/wrench, +/obj/item/stack/cable_coil/cyan, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"ML" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/closet/crate/trashcart/laundry, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"MW" = ( +/obj/item/radio/intercom/directional/south, +/obj/machinery/computer/helm{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"MY" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Nd" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"Nf" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + name = "Outer Window Blast Doors"; + id = "Ranger_AI_Core_Ext_Blasts" + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"Nn" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"Nu" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Ny" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/head/beret/eng/hazard, +/obj/item/storage/backpack/satchel/eng, +/obj/item/storage/backpack/messenger/engi, +/obj/item/storage/backpack/industrial, +/obj/item/storage/backpack/duffelbag/engineering, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/item/clothing/under/rank/engineering/engineer/nt/lp, +/obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp, +/turf/open/floor/wood, +/area/ship/engineering) +"NC" = ( +/obj/machinery/camera/autoname{ + dir = 6 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external) +"NM" = ( +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ship/bridge) +"NR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"NS" = ( +/obj/structure/railing{ + dir = 8; + layer = 4.1 + }, +/obj/structure/closet/crate/medical{ + name = "anesthetics crate" + }, +/obj/item/tank/internals/anesthetic, +/obj/item/tank/internals/anesthetic{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath/medical, +/obj/item/clothing/mask/breath/medical{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"NZ" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Om" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/rank/medical/paramedic/skirt/lp, +/obj/item/clothing/under/rank/medical/paramedic/lp, +/obj/item/clothing/suit/hooded/wintercoat/medical, +/obj/item/clothing/head/beret/med, +/obj/item/storage/backpack/satchel/med, +/obj/item/storage/backpack/messenger/med, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/duffelbag/med, +/turf/open/floor/wood, +/area/ship/medical) +"On" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/sprayweb, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Ou" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Ov" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "nt_commnet" + }, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"Ox" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"OC" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"OK" = ( +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 21 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 20; + name = "Cargo Bay Shutters"; + id = "Ranger_Cargo_Door"; + pixel_y = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"OP" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Pd" = ( +/obj/structure/table/reinforced, +/obj/item/aiModule/core/freeformcore{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/item/aiModule/reset/purge{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/aiModule/reset{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/aiModule/zeroth{ + pixel_x = -5; + pixel_y = -6 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"Ph" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Po" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"Pr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/ntblue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"PG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"PR" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"PV" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = 7 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"Qf" = ( +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"Qt" = ( +/obj/item/bodypart/leg/right/robot, +/obj/item/bodypart/r_arm/robot, +/obj/item/bodypart/leg/left/robot, +/obj/item/bodypart/l_arm/robot, +/obj/item/bodypart/chest/robot, +/obj/item/bodypart/head/robot, +/obj/item/borg/upgrade/ai, +/obj/item/robot_suit, +/obj/structure/closet/crate/engineering, +/obj/effect/turf_decal/industrial/hatch/orange, +/turf/open/floor/plating, +/area/ship/engineering) +"Qu" = ( +/obj/machinery/door/firedoor/window, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ship/medical) +"QT" = ( +/turf/closed/wall/r_wall, +/area/ship/maintenance/starboard) +"QV" = ( +/obj/machinery/light/dim/directional/west, +/turf/open/floor/engine/hull, +/area/ship/external) +"Rn" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"Ro" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"RA" = ( +/obj/structure/closet/firecloset/wall{ + dir = 1; + pixel_y = -28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"RB" = ( +/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"RM" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"RS" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/industrial/outline/orange, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"Sa" = ( +/obj/effect/turf_decal/ntspaceworks_small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Sl" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"So" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"SC" = ( +/obj/structure/table/wood, +/obj/item/storage/box/donkpockets{ + pixel_x = -3 + }, +/obj/item/storage/box/donkpockets/donkpocketpizza{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/box/donkpockets/donkpocketspicy{ + pixel_y = 9; + pixel_x = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"SE" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/industrial/outline/orange, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/starboard) +"SN" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"SU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/ship/hallway/central) +"Tb" = ( +/turf/closed/wall/r_wall, +/area/ship/storage) +"Te" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external) +"Tg" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "6-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Tl" = ( +/obj/machinery/light/dim/directional/north, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external) +"Tz" = ( +/turf/closed/wall/r_wall, +/area/ship/engineering) +"TI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"TL" = ( +/obj/structure/closet/crate, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"TR" = ( +/obj/structure/table/wood, +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"TZ" = ( +/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Ua" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/turf/open/floor/circuit/green/airless, +/area/ship/engineering/communications) +"Uj" = ( +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/paper_bin{ + pixel_y = 8; + pixel_x = 5 + }, +/obj/item/pen/fountain{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ur" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Us" = ( +/obj/effect/turf_decal/siding/red{ + dir = 9 + }, +/obj/machinery/door_timer{ + pixel_y = 28; + id = "ranger_brig" + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"Ut" = ( +/obj/structure/urinal{ + pixel_y = 29 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plastic, +/area/ship/crew/toilet) +"UQ" = ( +/turf/open/floor/engine/air, +/area/ship/hallway/central) +"UU" = ( +/obj/machinery/door/airlock/public/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"UW" = ( +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Vg" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Cycler_Shutters" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Vh" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/red/filled/line, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Vk" = ( +/obj/structure/bed, +/obj/item/bedsheet/nanotrasen, +/obj/machinery/firealarm/directional/north, +/obj/item/toy/plush/moth/royal{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"Vm" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Vp" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/starboard) +"Vq" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/industrial/outline/orange, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Vt" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"VC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs, +/area/ship/crew/cryo) +"VJ" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"VM" = ( +/obj/effect/turf_decal/industrial/outline/blue, +/obj/item/storage/box/lights/mixed{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/storage/box/mousetraps{ + pixel_y = -1; + pixel_x = 3 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"VP" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/closet, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"VQ" = ( +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/engine/hull, +/area/ship/external) +"Wj" = ( +/obj/structure/bed, +/obj/item/radio/intercom/directional/south, +/obj/item/bedsheet/red, +/turf/open/floor/wood, +/area/ship/security) +"Wp" = ( +/obj/machinery/door/poddoor{ + dir = 2; + id = "Ranger_AI_Core_Blasts" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "AI_Core_Field_Engi"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Wr" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/ntblue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Wv" = ( +/obj/structure/chair/sofa/right, +/obj/item/toy/plush/goatplushie{ + layer = 3.1 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 21 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"WF" = ( +/obj/structure/ore_box, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/engine/hull, +/area/ship/external) +"WG" = ( +/obj/machinery/telecomms/server/presets/nanotrasen{ + autolinkers = list("nanotrasen","hub"); + network = "nt_commnet"; + freq_listening = list(1353,1447,1459) + }, +/obj/item/disk/holodisk/lp/stations, +/turf/open/floor/circuit/telecomms{ + initial_gas_mix = "TEMP=2.7" + }, +/area/ship/engineering/communications) +"WR" = ( +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"WZ" = ( +/obj/machinery/computer/telecomms/server{ + dir = 4 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"Xb" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/window/reinforced/spawner, +/obj/structure/closet, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Xt" = ( +/obj/machinery/space_heater, +/obj/machinery/light/dim/directional/south, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"XA" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"XE" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"XH" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"XL" = ( +/obj/machinery/door/airlock/public/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"XQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"XR" = ( +/obj/machinery/door/airlock/public/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"XS" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/greyscale, +/obj/machinery/light/dim/directional/east, +/obj/item/toy/plush/moth/ragged, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"XT" = ( +/turf/closed/wall/r_wall, +/area/ship/cargo) +"XV" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Yk" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Yw" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Yy" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "Ranger_Port_holofields" + }, +/obj/machinery/door/poddoor{ + id = "Ranger_Port_Blasts" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"Yz" = ( +/obj/structure/window/reinforced, +/obj/effect/turf_decal/siding/red{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-9" + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"YJ" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/ancient/lp, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/corner/opaque/brown/mono, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"YK" = ( +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 22 + }, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 + }, +/area/ship/medical) +"YP" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + icon_state = "4-10" + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"YW" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Zj" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Port_maint_shut" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Zk" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Zl" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/industrial/outline/orange, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) +"Zs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"Zv" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/floor/wood, +/area/ship/security) +"Zw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"Zx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/ntblue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"ZF" = ( +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ZI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/turf/open/floor/plasteel/white, +/area/ship/hallway/starboard) +"ZJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ship/engineering/communications) +"ZL" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"ZS" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"ZW" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/port) +"ZY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) + +(1,1,1) = {" +zW +zW +zW +zW +zW +zW +LV +tg +tg +LV +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +QT +qs +qs +QT +zW +zW +zW +zW +"} +(2,1,1) = {" +zW +zW +zW +zW +zW +LV +LV +oI +wc +LV +jb +LV +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +QT +tr +QT +BO +rW +QT +QT +zW +zW +zW +"} +(3,1,1) = {" +zW +zW +zW +zW +zW +LV +ks +Jw +ob +LV +Zj +LV +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +QT +br +QT +DW +nJ +iC +QT +zW +zW +zW +"} +(4,1,1) = {" +zW +zW +zW +zW +LV +LV +qS +Tg +dM +Ib +HZ +LV +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +QT +Vm +tZ +oq +an +cE +QT +QT +zW +zW +"} +(5,1,1) = {" +zW +zW +zW +zW +LV +Zl +Vq +aW +UW +hl +Kj +LV +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +QT +qQ +gD +ib +eN +RS +Dd +QT +zW +zW +"} +(6,1,1) = {" +zW +zW +zW +zW +vm +Vq +Zl +iq +Vt +xB +AT +LV +zW +zW +zW +zW +Kg +kQ +kQ +kQ +Kg +zW +zW +zW +zW +QT +VM +YP +vv +Ph +RS +SE +fV +zW +zW +"} +(7,1,1) = {" +zW +zW +zW +vm +vm +vm +vm +vm +LV +ad +ZF +LV +zW +zW +zW +Kg +Kg +gh +Md +pL +Kg +Kg +zW +zW +zW +QT +ML +ih +QT +QT +QT +fV +fV +fV +zW +"} +(8,1,1) = {" +zW +zW +zW +vm +xp +Aw +oQ +tq +LV +sm +qb +LV +zW +zW +zW +Kg +Pd +vO +IE +vO +Nf +Kg +zW +zW +zW +QT +gz +FQ +QT +jv +Zv +AZ +Wj +fV +zW +"} +(9,1,1) = {" +zW +zW +vm +vm +YK +aO +Om +Gn +LV +vT +LV +LV +zW +zW +wq +Kg +MK +Ua +vO +Nn +Cq +Kg +wq +zW +zW +QT +QT +id +QT +fV +bw +hQ +ab +fV +fV +"} +(10,1,1) = {" +zW +zW +vm +sF +oi +NS +vF +vm +jA +zc +jA +zW +zW +Tz +Tz +Kg +Kg +Kg +kw +gk +zB +Kg +Kg +Kg +zW +zW +Vp +cN +vR +fV +Us +Js +Ma +sR +fV +"} +(11,1,1) = {" +zW +zW +vm +ix +Kt +jk +vS +Qu +Cb +NR +jA +zW +Tz +Tz +jt +WZ +Mh +Tz +nE +TI +kt +LM +bX +Kg +Kg +zW +Vp +Ff +wT +fV +gi +Lg +bN +VP +fV +"} +(12,1,1) = {" +zW +zW +vm +vV +GC +kS +uW +Qu +XQ +PR +jA +zW +Tz +LQ +aP +aP +xq +Wp +Gz +dn +AH +sl +CB +yA +Kg +zW +Vp +no +Vh +qR +tQ +nh +Dx +Dx +fV +"} +(13,1,1) = {" +zW +zW +vm +GE +vh +lL +gT +gG +cR +pU +jA +zW +Tz +gN +dr +rC +yi +Dr +ZJ +fU +Mx +tT +tT +ux +Kg +zW +Vp +TR +KX +fV +Ji +Yz +hf +iH +fV +"} +(14,1,1) = {" +zW +zW +vm +XS +Xb +sU +Ct +Qu +bf +tR +jA +zW +Tz +Ge +or +JP +Tz +Tz +hK +Hd +Tz +Ds +Bo +WG +Kg +zW +Vp +bD +iD +fV +fV +fV +fV +fV +fV +"} +(15,1,1) = {" +zW +zW +JR +JR +JR +JR +JR +jA +jH +uE +jA +zW +Tz +Tz +Sl +Nd +IC +Mz +jF +PV +dP +wC +Ov +Kg +Kg +zW +Vp +yo +Cg +of +gg +Ut +BI +xv +gg +"} +(16,1,1) = {" +zW +zW +JR +js +kh +JR +JR +dd +er +Kf +jA +zW +zW +Tz +Tz +Qt +Tz +Ca +rA +yU +dP +wf +Kg +Kg +zW +zW +Vp +pi +iZ +ji +gg +am +gg +gg +gg +"} +(17,1,1) = {" +zW +zW +JR +Iy +ym +VC +VC +EL +ml +jA +jA +zW +zW +zW +Tz +Tz +Tz +up +hn +aG +Tz +Kg +Kg +zW +zW +zW +Vp +Vp +MI +zF +gg +my +fo +BA +gg +"} +(18,1,1) = {" +zW +zW +JR +vB +cW +lc +JR +Ro +RA +jA +zW +zW +zW +zW +zW +Tz +jr +Mt +lX +Ny +JK +Tz +zW +zW +zW +zW +zW +Vp +dK +ZI +gg +qe +oM +yK +gg +"} +(19,1,1) = {" +zW +zW +JR +tb +mQ +rq +rq +Zs +pf +jA +zW +zW +zW +zW +zW +Tz +ps +Hs +tk +Bh +GY +Tz +zW +zW +zW +zW +zW +Vp +iI +xj +Fw +Kw +Lt +yC +gg +"} +(20,1,1) = {" +zW +zW +JR +IQ +XH +JR +JR +ZW +cx +jA +jA +zW +zW +zW +Tz +Tz +eo +FB +wU +hZ +Lw +Tz +Tz +zW +zW +zW +Vp +Vp +OC +XV +gg +vk +pp +Mc +gg +"} +(21,1,1) = {" +zW +zW +JR +JR +JR +JR +jA +wE +hJ +bn +jA +sJ +sJ +Ku +sJ +sJ +sJ +VJ +sJ +sJ +sJ +sJ +sJ +sJ +sJ +sJ +sJ +aD +Pr +eT +Vp +gg +gg +gg +gg +"} +(22,1,1) = {" +zW +zW +zW +WF +jA +KQ +wp +oz +sw +dq +uH +gW +ZY +CG +mw +rX +vj +fd +Ox +BX +Gk +Kl +mw +zi +lj +YW +Yw +Zx +nA +Mm +uk +xA +Vp +QV +zW +"} +(23,1,1) = {" +zW +zW +zW +wq +HA +TZ +RB +oz +pa +kO +UU +PG +Gh +XR +OP +OP +OP +OP +BY +OP +GG +XE +OP +XR +mh +az +XL +Wr +hk +Zw +rM +Mg +wh +wq +zW +"} +(24,1,1) = {" +zW +zW +zW +wq +Yy +Ur +Hy +lB +rL +IR +jA +CJ +dG +sJ +Wv +Fx +fy +bu +pn +Av +tf +bu +rT +sJ +Vg +ok +sJ +OK +Ou +SN +CD +Bl +Bg +wq +zW +"} +(25,1,1) = {" +zW +zW +zW +hN +jA +Po +iX +eY +Lu +lp +jA +CN +vr +sJ +ox +IM +RM +Mn +bu +bu +AP +bu +kK +sJ +Zk +us +sJ +XT +zC +fz +XT +XT +XT +hz +zW +"} +(26,1,1) = {" +ef +zW +zW +zW +Tb +Tb +Tb +dl +aI +Tb +Tb +UQ +rZ +Mf +Mf +Mf +sJ +EP +ZL +Nu +MY +xw +SC +sJ +cI +Fh +sJ +DZ +So +Eq +lU +cj +XT +zW +zW +"} +(27,1,1) = {" +zW +zW +zW +zW +Tb +Rn +mJ +KC +jZ +Be +Tb +sJ +SU +Mf +Gc +Ha +Lk +Lk +Lk +Lk +tj +Lk +sJ +sJ +Tl +CP +XT +Iz +lv +pD +ww +vz +XT +zW +zW +"} +(28,1,1) = {" +zW +zW +zW +zW +Tb +ZS +rg +qZ +wu +yZ +Tb +NC +jC +Mf +mv +Ao +JO +pA +lD +hF +ec +Lk +Te +wq +zW +zW +XT +lw +pD +Yk +hp +gL +XT +zW +zW +"} +(29,1,1) = {" +zW +zW +zW +zW +Tb +Tb +aK +WR +Qf +Xt +Tb +zW +zW +Mf +Vk +NZ +Lk +sf +iF +XA +Sa +Lk +wq +zW +zW +zW +XT +TL +pD +pD +eE +XT +XT +zW +zW +"} +(30,1,1) = {" +zW +zW +zW +zW +zW +Tb +Tb +DE +YJ +Tb +Tb +zW +zW +Mf +Mu +hx +Lk +AF +vp +CI +dC +Lk +zW +zW +zW +zW +XT +XT +eU +On +XT +XT +zW +zW +zW +"} +(31,1,1) = {" +zW +zW +zW +zW +zW +zW +Tb +Tb +Tb +Tb +zW +zW +zW +Mf +Mf +Fg +Lk +tK +og +NM +ff +Lk +zW +zW +zW +zW +zW +XT +XT +XT +XT +zW +zW +zW +zW +"} +(32,1,1) = {" +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +Mf +Mf +Lk +Ek +jj +Ms +Lk +Lk +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +"} +(33,1,1) = {" +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +wq +wq +Lk +mn +cv +lW +Lk +VQ +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +"} +(34,1,1) = {" +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +Te +zW +Lk +Uj +xK +MW +Lk +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +"} +(35,1,1) = {" +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +wq +zW +Lk +LU +LU +LU +Lk +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +"} +(36,1,1) = {" +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +Te +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +zW +"} diff --git a/_maps/shuttles/shiptest/solgov_chronicle.dmm b/_maps/shuttles/shiptest/solgov_chronicle.dmm index ccc23de3d241..a501fcd211f5 100644 --- a/_maps/shuttles/shiptest/solgov_chronicle.dmm +++ b/_maps/shuttles/shiptest/solgov_chronicle.dmm @@ -252,7 +252,6 @@ populate = 0; anchored = 1 }, -/obj/item/clothing/neck/cloak/solgov, /obj/item/clothing/under/solgov/formal/captain, /obj/item/clothing/shoes/laceup, /obj/item/clothing/head/solgov/captain, @@ -273,6 +272,7 @@ /obj/item/gun/ballistic/automatic/powered/gauss/modelh, /obj/item/ammo_box/magazine/modelh, /obj/item/ammo_box/magazine/modelh, +/obj/item/clothing/neck/cloak/solgovcap, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) "cg" = ( @@ -296,6 +296,9 @@ }, /obj/item/radio/intercom/directional/east, /obj/machinery/airalarm/directional/south, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering) "cw" = ( @@ -1011,6 +1014,9 @@ /obj/effect/turf_decal/siding/wood{ dir = 5 }, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/wood, /area/ship/crew/crewtwo) "ja" = ( @@ -1271,6 +1277,9 @@ pixel_y = 9; pixel_x = -23 }, +/obj/machinery/camera/autoname{ + dir = 5 + }, /turf/open/floor/plasteel/white, /area/ship/engineering) "ma" = ( @@ -1532,6 +1541,9 @@ dir = 4 }, /obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname{ + dir = 10 + }, /turf/open/floor/plasteel/white, /area/ship/engineering) "oH" = ( @@ -1760,6 +1772,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/wood, /area/ship/crew/crewtwo) "rS" = ( @@ -2114,6 +2129,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/crewtwo) "vr" = ( @@ -2257,6 +2275,7 @@ color = "#543C30" }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/camera/autoname, /turf/open/floor/wood, /area/ship/bridge) "xu" = ( @@ -2708,6 +2727,9 @@ /obj/item/clothing/under/solgov, /obj/item/clothing/under/solgov/dress, /obj/item/clothing/under/solgov/dress, +/obj/machinery/camera/autoname{ + dir = 6 + }, /turf/open/floor/wood, /area/ship/crew/dorm) "Ax" = ( @@ -3278,6 +3300,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/camera/autoname{ + dir = 10 + }, /turf/open/floor/wood, /area/ship/crew) "FX" = ( @@ -3324,6 +3349,9 @@ dir = 1; pixel_y = -28 }, +/obj/machinery/camera/autoname{ + dir = 4 + }, /turf/open/floor/wood, /area/ship/crew/crewtwo) "Gv" = ( @@ -3396,6 +3424,7 @@ }, /obj/machinery/light/small/directional/north, /obj/structure/table/wood/fancy/blue, +/obj/machinery/camera/autoname, /turf/open/floor/wood, /area/ship/bridge) "Hd" = ( @@ -3410,6 +3439,9 @@ /area/ship/crew/crewtwo) "Ho" = ( /obj/effect/turf_decal/techfloor, +/obj/machinery/camera/autoname{ + dir = 1 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "Hp" = ( @@ -3590,6 +3622,9 @@ dir = 8 }, /obj/machinery/light/small/directional/east, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/wood, /area/ship/crew) "JH" = ( @@ -3889,6 +3924,9 @@ /obj/effect/turf_decal/corner/opaque/solgovblue{ dir = 5 }, +/obj/machinery/camera/autoname{ + dir = 5 + }, /turf/open/floor/plasteel, /area/ship/crew/dorm) "Mx" = ( @@ -4048,6 +4086,9 @@ dir = 4 }, /obj/effect/turf_decal/industrial/outline/orange, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) "Oo" = ( @@ -4178,6 +4219,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, +/obj/machinery/camera/autoname{ + dir = 6 + }, /turf/open/floor/plasteel/white, /area/ship/security/armory) "Pm" = ( @@ -4250,6 +4294,25 @@ /obj/structure/table/wood/fancy/blue, /turf/open/floor/wood, /area/ship/bridge) +"Qk" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ship/engineering) "Qm" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -4671,6 +4734,9 @@ /obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 4 }, +/obj/machinery/camera/autoname{ + dir = 6 + }, /turf/open/floor/plasteel, /area/ship/cargo) "UB" = ( @@ -4729,6 +4795,9 @@ dir = 1 }, /obj/machinery/light/small/directional/north, +/obj/machinery/camera/autoname{ + dir = 6 + }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) "Vi" = ( @@ -5524,7 +5593,7 @@ So tC cp So -fT +Qk um zM PY diff --git a/_maps/shuttles/shiptest/srm_glaive.dmm b/_maps/shuttles/shiptest/srm_glaive.dmm index d49b9460f8f6..6ac9e480222e 100644 --- a/_maps/shuttles/shiptest/srm_glaive.dmm +++ b/_maps/shuttles/shiptest/srm_glaive.dmm @@ -53,7 +53,7 @@ /obj/item/gun/ballistic/derringer, /obj/structure/closet/secure_closet/shadow, /obj/item/lighter, -/obj/item/ammo_box/c38_box/hunting, +/obj/item/ammo_box/c38_box, /obj/item/disk/holodisk/roumain, /obj/item/clothing/shoes/cowboy, /obj/item/clothing/shoes/cowboy/black, @@ -85,7 +85,7 @@ /obj/item/gun/ballistic/derringer, /obj/structure/closet/secure_closet/medicalsrm, /obj/item/disk/holodisk/roumain, -/obj/item/ammo_box/c38_box/hunting, +/obj/item/ammo_box/c38_box, /obj/item/storage/firstaid/roumain, /obj/effect/turf_decal/corner/opaque/blue/diagonal, /turf/open/floor/plasteel/white, @@ -156,7 +156,7 @@ /obj/item/gun/ballistic/derringer, /obj/structure/closet/secure_closet/shadow, /obj/item/lighter, -/obj/item/ammo_box/c38_box/hunting, +/obj/item/ammo_box/c38_box, /obj/item/disk/holodisk/roumain, /obj/item/clothing/shoes/cowboy, /obj/item/clothing/shoes/cowboy/black, @@ -907,10 +907,10 @@ /obj/item/storage/backpack/cultpack, /obj/item/flashlight/lantern, /obj/item/kitchen/knife/combat/survival, -/obj/item/gun/ballistic/shotgun/winchester/lethal, +/obj/item/gun/ballistic/shotgun/winchester, /obj/structure/closet/secure_closet/hunter, /obj/item/lighter, -/obj/item/ammo_box/c38_box/hunting, +/obj/item/ammo_box/c38_box, /obj/item/disk/holodisk/roumain, /obj/item/clothing/shoes/cowboy/black, /obj/item/clothing/shoes/cowboy, @@ -983,7 +983,7 @@ /obj/item/borg/upgrade/modkit/indoors, /obj/item/gun/energy/kinetic_accelerator, /obj/item/storage/bag/ore, -/obj/item/gun/ballistic/shotgun/winchester/mk1/lethal, +/obj/item/gun/ballistic/shotgun/winchester/mk1, /obj/item/shovel, /obj/item/gps/mining, /obj/structure/closet/secure_closet/miningcloset, @@ -2839,7 +2839,6 @@ /obj/item/circuitboard/machine/rdserver, /obj/item/circuitboard/machine/autolathe, /obj/item/disk/design_disk/ammo_n762, -/obj/item/disk/design_disk/ammo_38_hunting, /obj/item/disk/design_disk/ammo_1911, /obj/item/circuitboard/machine/protolathe/department/ballistics, /obj/item/circuitboard/computer/rdconsole, @@ -3300,10 +3299,10 @@ /obj/item/storage/backpack/cultpack, /obj/item/flashlight/lantern, /obj/item/kitchen/knife/combat/survival, -/obj/item/gun/ballistic/shotgun/winchester/lethal, +/obj/item/gun/ballistic/shotgun/winchester, /obj/structure/closet/secure_closet/hunter, /obj/item/lighter, -/obj/item/ammo_box/c38_box/hunting, +/obj/item/ammo_box/c38_box, /obj/item/disk/holodisk/roumain, /obj/item/clothing/shoes/cowboy/black, /obj/item/clothing/shoes/cowboy, diff --git a/check_regex.yaml b/check_regex.yaml index 2fc4a12c888f..faf61b63ba72 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -38,7 +38,7 @@ standards: - exactly: [ - 290, + 297, "non-bitwise << uses", '(?[target.say_emphasis(text)]" @@ -222,6 +229,8 @@ // Display visual above source if(runechat_flags & EMOTE_MESSAGE) new /datum/chatmessage(raw_message, speaker, src, list("emote", "italics")) + else if(runechat_flags & LOOC_MESSAGE) + new /datum/chatmessage(raw_message, speaker, src, list("looc", "italics")) else new /datum/chatmessage(lang_treat(speaker, message_language, raw_message, spans, null, TRUE), speaker, src, spans) @@ -242,15 +251,15 @@ * * sat_shift - A value between 0 and 1 that will be multiplied against the saturation * * lum_shift - A value between 0 and 1 that will be multiplied against the luminescence */ -/datum/chatmessage/proc/colorize_string(name, sat_shift = 1, lum_shift = 1) +/proc/colorize_string(name, sat_shift = 1, lum_shift = 1, sat_min = CM_COLOR_SAT_MIN, sat_max = CM_COLOR_SAT_MAX, lum_min = CM_COLOR_LUM_MIN, lum_max = CM_COLOR_LUM_MAX) // seed to help randomness var/static/rseed = rand(1,26) // get hsl using the selected 6 characters of the md5 hash var/hash = copytext(md5(name + GLOB.round_id), rseed, rseed + 6) var/h = hex2num(copytext(hash, 1, 3)) * (360 / 255) - var/s = (hex2num(copytext(hash, 3, 5)) >> 2) * ((CM_COLOR_SAT_MAX - CM_COLOR_SAT_MIN) / 63) + CM_COLOR_SAT_MIN - var/l = (hex2num(copytext(hash, 5, 7)) >> 2) * ((CM_COLOR_LUM_MAX - CM_COLOR_LUM_MIN) / 63) + CM_COLOR_LUM_MIN + var/s = (hex2num(copytext(hash, 3, 5)) >> 2) * ((sat_max - sat_min) / 63) + sat_min + var/l = (hex2num(copytext(hash, 5, 7)) >> 2) * ((lum_max - lum_min) / 63) + lum_min // adjust for shifts s *= clamp(sat_shift, 0, 1) diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 32e30e7fae62..49f79930352c 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -72,7 +72,7 @@ if(ismecha(O)) var/obj/mecha/R = O - R.update_icon() + R.update_appearance() to_chat(user, "You strengthen [R], improving its resistance against melee, bullet and laser damage.") else to_chat(user, "You strengthen [O], improving its resistance against melee attacks.") diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index 42f84ccfff2e..dcb4aff50bdf 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -329,7 +329,7 @@ M.Translate(pixelX, pixelY) overlay.transform = M RegisterSignal(hit,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/apply_overlay) - hit.update_icon() + hit.update_appearance() if(harmful) hit.visible_message("[weapon] embeds itself in [hit]!") diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index 67697400ebd1..8512e46c361d 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -162,7 +162,7 @@ for(var/obj/machinery/duct/duct in get_step(parent, D)) duct.remove_connects(turn(D, 180)) duct.neighbours.Remove(parent) - duct.update_icon() + duct.update_appearance() ///settle wherever we are, and start behaving like a piece of plumbing /datum/component/plumbing/proc/enable() @@ -246,7 +246,7 @@ SIGNAL_HANDLER tile_covered = intact - AM.update_icon() + AM.update_appearance() ///has one pipe input that only takes, example is manual output pipe /datum/component/plumbing/simple_demand diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm index d458886011de..4198ba5b974d 100644 --- a/code/datums/components/storage/concrete/_concrete.dm +++ b/code/datums/components/storage/concrete/_concrete.dm @@ -141,7 +141,7 @@ refresh_mob_views() if(isobj(parent)) var/obj/O = parent - O.update_icon() + O.update_appearance() return TRUE /datum/component/storage/concrete/proc/slave_can_insert_object(datum/component/storage/slave, obj/item/I, stop_messages = FALSE, mob/M) @@ -197,7 +197,7 @@ /datum/component/storage/concrete/update_icon() if(isobj(parent)) var/obj/O = parent - O.update_icon() + O.update_appearance() for(var/i in slaves) var/datum/component/storage/slave = i slave.update_icon() diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 29d82b6dbb5a..04f2cd0469fe 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -721,7 +721,7 @@ /datum/component/storage/proc/update_icon() if(isobj(parent)) var/obj/O = parent - O.update_icon() + O.update_appearance() /datum/component/storage/proc/signal_insertion_attempt(datum/source, obj/item/I, mob/M, silent = FALSE, force = FALSE) SIGNAL_HANDLER diff --git a/code/datums/components/taped.dm b/code/datums/components/taped.dm index 112f190c7024..32d5120c72e0 100644 --- a/code/datums/components/taped.dm +++ b/code/datums/components/taped.dm @@ -46,7 +46,7 @@ tape_marks.Blend(icon('icons/obj/tapes.dmi', "[taped_icon_state]_mask"), ICON_MULTIPLY) taped_icon = new(tape_marks) I.add_overlay(taped_icon) - I.update_icon() + I.update_appearance() /datum/component/taped/proc/tape_rip(datum/source, obj/item/attacker, mob/user) var/obj/item/I = attacker diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index d0f24ff5bf25..88cc0d190014 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -156,7 +156,7 @@ if(sharpened_increase) parent_item.force += sharpened_increase parent_item.name = "[parent_item.name] (Wielded)" - parent_item.update_icon() + parent_item.update_appearance() if(iscyborg(user)) to_chat(user, "You dedicate your module to [parent].") @@ -208,7 +208,7 @@ parent_item.name = "[initial(parent_item.name)]" // Update icons - parent_item.update_icon() + parent_item.update_appearance() if(user.get_item_by_slot(ITEM_SLOT_BACK) == parent) user.update_inv_back() else @@ -251,15 +251,15 @@ * * Updates the icon using icon_wielded if set */ -/datum/component/two_handed/proc/on_update_icon(datum/source) +/datum/component/two_handed/proc/on_update_icon(obj/item/source) SIGNAL_HANDLER - if(icon_wielded && wielded) - var/obj/item/parent_item = parent - if(parent_item) - parent_item.icon_state = icon_wielded - return COMSIG_ATOM_NO_UPDATE_ICON_STATE - + if(!wielded) + return NONE + if(!icon_wielded) + return NONE + source.icon_state = icon_wielded + return COMSIG_ATOM_NO_UPDATE_ICON_STATE /** * on_moved Triggers on item moved */ diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm index 7a6ea142b361..5f1e9c304f69 100644 --- a/code/datums/diseases/appendicitis.dm +++ b/code/datums/diseases/appendicitis.dm @@ -24,7 +24,7 @@ var/obj/item/organ/appendix/A = affected_mob.getorgan(/obj/item/organ/appendix) if(A) A.inflamed = 1 - A.update_icon() + A.update_appearance() if(prob(3)) to_chat(affected_mob, "You feel a stabbing pain in your abdomen!") affected_mob.adjustOrganLoss(ORGAN_SLOT_APPENDIX, 5) diff --git a/code/datums/elements/decals/_decals.dm b/code/datums/elements/decals/_decals.dm index d0062da29224..17ba311bc5a3 100644 --- a/code/datums/elements/decals/_decals.dm +++ b/code/datums/elements/decals/_decals.dm @@ -28,7 +28,7 @@ if(isturf(target)) RegisterSignal(target,COMSIG_TURF_AFTER_SHUTTLE_MOVE,.proc/shuttlemove_react, TRUE) if(target.flags_1 & INITIALIZED_1) - target.update_icon() //could use some queuing here now maybe. + target.update_appearance() //could use some queuing here now maybe. else RegisterSignal(target,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE,.proc/late_update_icon, TRUE) if(isitem(target)) @@ -61,7 +61,7 @@ /datum/element/decal/Detach(atom/source, force) UnregisterSignal(source, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_TURF_AFTER_SHUTTLE_MOVE)) - source.update_icon() + source.update_appearance() if(isitem(source)) INVOKE_ASYNC(source, /obj/item/.proc/update_slot_icon) return ..() @@ -70,7 +70,7 @@ SIGNAL_HANDLER if(source && istype(source)) - source.update_icon() + source.update_appearance() UnregisterSignal(source,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE) diff --git a/code/datums/mapgen/planetary/RockGenerator.dm b/code/datums/mapgen/planetary/RockGenerator.dm index c82841b42482..61578c7a3ace 100644 --- a/code/datums/mapgen/planetary/RockGenerator.dm +++ b/code/datums/mapgen/planetary/RockGenerator.dm @@ -136,7 +136,7 @@ ) /datum/biome/cave/rock - closed_turf_types = list(/turf/closed/mineral/random/asteroid/rockplanet = 1) + closed_turf_types = list(/turf/closed/mineral/random/rockplanet = 1) open_turf_types = list(/turf/open/floor/plating/asteroid/rockplanet/cracked = 1) flora_spawn_chance = 4 flora_spawn_list = list( diff --git a/code/datums/mapgen/planetary/WasteGenerator.dm b/code/datums/mapgen/planetary/WasteGenerator.dm index fecafcf8dc00..f0cef0c16d2a 100644 --- a/code/datums/mapgen/planetary/WasteGenerator.dm +++ b/code/datums/mapgen/planetary/WasteGenerator.dm @@ -279,7 +279,7 @@ ) closed_turf_types = list( - /turf/closed/mineral/random/asteroid/wasteplanet = 40, + /turf/closed/mineral/random/wasteplanet = 40, /turf/closed/wall/r_wall = 1, /turf/closed/wall/r_wall/rust = 3, /turf/closed/wall = 2, diff --git a/code/datums/mapgen/single_biome/WasteplanetCaves.dm b/code/datums/mapgen/single_biome/WasteplanetCaves.dm index b067947bfec7..472a5cf4d54b 100644 --- a/code/datums/mapgen/single_biome/WasteplanetCaves.dm +++ b/code/datums/mapgen/single_biome/WasteplanetCaves.dm @@ -11,7 +11,7 @@ open_turf_types = list(/turf/open/floor/plating/asteroid/wasteplanet = 50, /turf/open/floor/plating/rust/wasteplanet = 10, /turf/open/floor/plating/wasteplanet = 5) - closed_turf_types = list(/turf/closed/mineral/random/asteroid/wasteplanet = 45, + closed_turf_types = list(/turf/closed/mineral/random/wasteplanet = 45, /turf/closed/wall/rust = 10,) flora_spawn_list = list( diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index bde8aeb753dc..01c7e93ba516 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -181,6 +181,7 @@ attack_verb = list("smashed", "slammed", "whacked", "thwacked") icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bostaff0" + base_icon_state = "bostaff" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' block_chance = 50 @@ -193,7 +194,7 @@ /obj/item/staff/bostaff/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="bostaff1") + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/staff/bostaff/proc/on_wield(obj/item/source, mob/user) @@ -208,7 +209,8 @@ wielded = FALSE /obj/item/staff/bostaff/update_icon_state() - icon_state = "bostaff0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/staff/bostaff/attack(mob/target, mob/living/user) add_fingerprint(user) diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index fb3dc928d1a3..afd841ff802e 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -47,12 +47,6 @@ description = "Nanotrasen Corporate Security Solutions vault site Gamma." suffix = "icemoon_surface_corporate_rejects.dmm" -/datum/map_template/ruin/icemoon/icecropolis - name = "The Bloody Hallow" - id = "icecropolis" - description = "Blood and writhing flesh make up this citadel of horrors." - suffix = "icemoon_underground_icecropolis.dmm" - /datum/map_template/ruin/icemoon/syndicate_outpost name = "Abandoned Syndicate Outpost" id = "syndicate-outpost-icemoon" diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 89b845656197..13d884187ad9 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -136,3 +136,9 @@ id = "crashed_pinnance" description = "A crashed shuttlecraft, looks like the pilot didn't make it." suffix = "lavaland_surface_crashed_pinnance.dmm" + +/datum/map_template/ruin/lavaland/codelab + name = "Nanotrasen Genetic Research Facility" + id = "codelab" + description = "A Nanotrasen genetic research facility, abandoned and ripe for looting. Whats that goo over there?" + suffix = "lavaland_surface_codelab.dmm" diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 9d4d70b575a4..4952479fa635 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -115,7 +115,7 @@ for(var/obj/effect/proc_holder/spell/spell in rewarded.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() rewarded.adjustBruteLoss(-25) rewarded.adjustFireLoss(-25) rewarded.adjustToxLoss(-25) diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 118889264091..0705a2837b6e 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -203,7 +203,7 @@ W.hairstyle = pick(GLOB.hairstyles_list - "Bald") else W.hairstyle = old_hair - W.update_icon() + W.update_appearance() var/list/slots = list ( "head" = ITEM_SLOT_HEAD, "backpack" = ITEM_SLOT_BACKPACK, diff --git a/code/datums/wires/airalarm.dm b/code/datums/wires/airalarm.dm index 87c17a1b4515..6afccd547660 100644 --- a/code/datums/wires/airalarm.dm +++ b/code/datums/wires/airalarm.dm @@ -30,7 +30,7 @@ if(WIRE_POWER) // Short out for a long time. if(!A.shorted) A.shorted = TRUE - A.update_icon() + A.update_appearance() addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked @@ -49,7 +49,7 @@ var/area/AA = get_area(A) if(AA.atmosalert(FALSE, holder)) A.post_alert(0) - A.update_icon() + A.update_appearance() /datum/wires/airalarm/on_cut(wire, mend) var/obj/machinery/airalarm/A = holder @@ -57,7 +57,7 @@ if(WIRE_POWER) // Short out forever. A.shock(usr, 50) A.shorted = !mend - A.update_icon() + A.update_appearance() if(WIRE_IDSCAN) if(!mend) A.locked = TRUE @@ -71,4 +71,4 @@ var/area/AA = get_area(A) if(AA.atmosalert(TRUE, holder)) A.post_alert(2) - A.update_icon() + A.update_appearance() diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index 4d2e7d8f04ad..c9e969a8ebd0 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -72,13 +72,13 @@ else if(A.hasPower()) A.unbolt() - A.update_icon() + A.update_appearance() if(WIRE_IDSCAN) // Pulse to disable emergency access and flash red lights. if(A.hasPower() && A.density) A.do_animate("deny") if(A.emergency) A.emergency = FALSE - A.update_icon() + A.update_appearance() if(WIRE_AI) // Pulse to disable WIRE_AI control for 10 ticks (follows same rules as cutting). if(A.aiControlDisabled == AI_WIRE_NORMAL) A.aiControlDisabled = AI_WIRE_DISABLED @@ -97,7 +97,7 @@ A.normalspeed = !A.normalspeed if(WIRE_LIGHT) A.lights = !A.lights - A.update_icon() + A.update_appearance() /obj/machinery/door/airlock/proc/reset_ai_wire() if(aiControlDisabled == AI_WIRE_DISABLED) @@ -152,7 +152,7 @@ A.close() if(WIRE_LIGHT) // Cut to disable lights, mend to re-enable. A.lights = mend - A.update_icon() + A.update_appearance() if(WIRE_ZAP1, WIRE_ZAP2) // Ouch. if(isliving(usr)) A.shock(usr, 50) diff --git a/code/datums/wires/airlock_cycle.dm b/code/datums/wires/airlock_cycle.dm index d9572686a096..a1f942dab2e9 100644 --- a/code/datums/wires/airlock_cycle.dm +++ b/code/datums/wires/airlock_cycle.dm @@ -29,7 +29,7 @@ if(WIRE_POWER) // Short out for a long time. if(!A.shorted) A.shorted = TRUE - A.update_icon() + A.update_appearance() addtimer(CALLBACK(A, /obj/machinery/advanced_airlock_controller.proc/reset, wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked @@ -44,7 +44,7 @@ if(WIRE_POWER) // Short out forever. A.shock(usr, 50) A.shorted = !mend - A.update_icon() + A.update_appearance() if(WIRE_IDSCAN) if(!mend) A.locked = TRUE diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index e97c1f3654e3..933b9aae0222 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -44,10 +44,9 @@ if(WIRE_POWER1, WIRE_POWER2) // Short out. if(mend && !is_cut(WIRE_POWER1) && !is_cut(WIRE_POWER2)) A.shorted = FALSE - A.shock(usr, 50) else A.shorted = TRUE - A.shock(usr, 50) + A.shock(usr, 50) if(WIRE_AI) // Disable AI control. if(mend) A.aidisabled = FALSE diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm index 8732a0a21d71..8a2dba38d1bc 100644 --- a/code/datums/wires/syndicatebomb.dm +++ b/code/datums/wires/syndicatebomb.dm @@ -49,7 +49,7 @@ if(!B.active) holder.visible_message("[icon2html(B, viewers(holder))] You hear the bomb start ticking!") B.activate() - B.update_icon() + B.update_appearance() else if(B.delayedlittle) holder.visible_message("[icon2html(B, viewers(holder))] Nothing happens.") else @@ -81,7 +81,7 @@ B.active = FALSE B.delayedlittle = FALSE B.delayedbig = FALSE - B.update_icon() + B.update_appearance() /datum/wires/syndicatebomb/proc/tell_admins(obj/machinery/syndicatebomb/B) if(istype(B, /obj/machinery/syndicatebomb/training)) diff --git a/code/game/MapData/shuttles/nanotrasen_powerrangers.dm b/code/game/MapData/shuttles/nanotrasen_powerrangers.dm deleted file mode 100644 index bdc4055581b4..000000000000 --- a/code/game/MapData/shuttles/nanotrasen_powerrangers.dm +++ /dev/null @@ -1,373 +0,0 @@ -//Clothes -/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp - name = "LP Security Specialist's Jumpskirt" - desc = "A standard Jumpskirt belonging to the Security Specialist of the Loss Previention team." - -/obj/item/clothing/under/rank/security/head_of_security/nt/lp - name = "LP Security Specialist's Jumpsuit" - desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Lieutenant." - -/obj/item/clothing/under/rank/security/head_of_security/alt/lp - name = "LP Lieutentant's 'Dramatic' Jumpsuit" - desc = "The first LP Lieutenant wasn't satisfied with the standard outfits given to them. So they requested something more 'Dramatic'." - -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp - name = "LP Lieutenant's 'Dramatic' Jumpskirt" - desc = "The first LP Lieutenant wasn't satisfied with the standard outfits given to them. So they requested something more 'Dramatic'." - -/obj/item/clothing/under/rank/security/warden/skirt/lp - name = "LP Lieutenant's Jumpskirt" - desc = "A standard Jumpskirt belonging to the Lieutenant of the Loss Previention team." - -/obj/item/clothing/under/rank/security/warden/lp - name = "LP Lieutenant's Jumpsuit" - desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Lieutenant." - -/obj/item/clothing/under/rank/engineering/engineer/lp - name = "LP Engineering Specialist's Jumpsuit" - desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Engineering Specialist." - -/obj/item/clothing/under/rank/engineering/engineer/skirt/lp - name = "LP Engineering Specialist's Jumpskirt" - desc = "A standard Jumpskirt belonging to the Engineering Specialist of the Loss Previention team." - -/obj/item/clothing/under/rank/medical/paramedic/lp - name = "LP Medical Specialist's Jumpsuit" - desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Medical Specialist." - -/obj/item/clothing/under/rank/medical/paramedic/skirt/lp - name = "LP Medical Specialist's Jumpskirt" - desc = "A standard Jumpskirt belonging to the Medical Specialist of the Loss Previention team." - - -//closets -/obj/structure/closet/secure_closet/lp/commissioner - name = "commissioner's closet" - desc = "It's the Commissioner's closet." - icon_state = "cap" - req_access = list(ACCESS_LP_COMMISSIONER) - -/obj/structure/closet/secure_closet/lp/lieutenant - name = "lietenant's closet" - desc = "It's the lieutenant's closet." - icon_state = "blueshield" - req_access = list(ACCESS_LP_LIEUTENANT) - -/obj/structure/closet/secure_closet/lp/security - name = "security specialist's closet" - desc = "It's the security specialist's closet." - icon_state = "hos" - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_SECURITY) - -/obj/structure/closet/secure_closet/lp/engineer - name = "engineering specialist's closet" - desc = "It's the engineering specialist's closet." - icon_state = "eng_secure" - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_ENGINEER) - -/obj/structure/closet/secure_closet/lp/medical - name = "medical specialist's closet" - desc = "It's the medical specialist's closet." - icon_state = "med" - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_MEDIC) - - -//firstaid kit -/obj/item/storage/firstaid/lp - icon = 'icons/obj/storage.dmi' - icon_state = "bezerk" - name = "Loss Prevention Medkit" - desc = "A medikit filled with the second finest equipment for the second finest team." - -/obj/item/storage/firstaid/lp/PopulateContents() - if(empty) - return - var/static/items_inside = list( - /obj/item/lighter = 1, - /obj/item/storage/fancy/cigarettes = 1, - /obj/item/stack/medical/mesh/advanced = 2, - /obj/item/stack/medical/suture/medicated = 2, - /obj/item/healthanalyzer = 1, - /obj/item/defibrillator/compact/loaded = 1, - /obj/item/reagent_containers/hypospray/medipen/penacid = 1, - /obj/item/storage/pill_bottle/trophazole = 1) - generate_items_inside(items_inside,src) - - -//IDs -/obj/item/pda/heads/lp/commissioner - name = "commissioner PDA" - -/obj/item/card/id/lpengie - desc = "The LP Engineering Specialist's ID card." - icon_state = "ert_engineer" - name = "LP Engineering Specialist" - -/obj/item/card/id/lpmed - desc = "The LP Medical Specialist's ID card." - icon_state = "ert_medic" - name = "LP Medical Specialist" - -/obj/item/card/id/lpsec - desc = "The LP Security Specialist's ID card." - icon_state = "ert_security" - name = "LP Security Specialist" - -/obj/item/card/id/lpcomm - name = "LP Commissioner's ID" - desc = "The LP Commissioner's ID card." - icon_state = "centcom" - -/obj/item/card/id/lplieu - name = "LP Lieutenant's ID" - desc = "The LP Lieutenant's ID card." - icon_state = "ert_commander" - - -//Doors -/obj/machinery/door/window/lp - req_access = list(ACCESS_LP_FACILITIES) - -/obj/machinery/door/window/lp/commissioner - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_COMMISSIONER) - -/obj/machinery/door/window/lp/ai - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_AI) - -/obj/machinery/door/window/lp/lieu - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_LIEUTENANT) - -/obj/machinery/door/window/lp/engi - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_ENGINEER) - -/obj/machinery/door/window/lp/security - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_SECURITY) - -/obj/machinery/door/window/lp/medic - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_MEDIC) - -/obj/machinery/door/window/lp/operatingroom - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_OPERATING_ROOM) - -/obj/machinery/door/airlock/command/glass/lp/commissioner - name = "commissioner's office" - req_one_access = list(ACCESS_LP_LIEUTENANT, ACCESS_LP_COMMISSIONER) - -/obj/machinery/door/airlock/command/glass/lp/ - req_access = list(ACCESS_LP_FACILITIES) - -/obj/machinery/door/airlock/command/glass/lp/port_hallway - name = "Port Hallway" - -/obj/machinery/door/airlock/command/glass/lp/security - name = "Security and Research" - -/obj/machinery/door/airlock/command/glass/lp/research - name = "Research" - -/obj/machinery/door/airlock/command/glass/lp/engines - name = "Engines" - -/obj/machinery/door/airlock/command/glass/lp/dorms - name = "Dorms" - -/obj/machinery/door/airlock/command/glass/lp/mining - name = "Mining" - -/obj/machinery/door/airlock/command/glass/lp/cargo - name = "Cargo" - -/obj/machinery/door/airlock/command/glass/lp/bridge - name = "Bridge" - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE) - -/obj/machinery/door/airlock/medical/glass/lp/medical - name = "Medbay" - req_access = list(ACCESS_LP_FACILITIES) - -/obj/machinery/door/airlock/vault/lp/vault - name = "Vault" - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_VAULT) - -/obj/machinery/door/airlock/highsecurity/lp/aisat - name = "AI chamber" - req_access = list(ACCESS_LP_FACILITIES, ACCESS_LP_AI) - - -//Holocalls -/datum/preset_holoimage/commissioner - outfit_type = /datum/outfit/job/lp/commissioner - - -//Access -/proc/get_lpcomm_access() - return get_all_accesses() + list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_OPERATING_ROOM, ACCESS_LP_AI, ACCESS_LP_COMMISSIONER, ACCESS_ENGINE, ACCESS_ATMOSPHERICS, ACCESS_EVA, ACCESS_LP_VAULT) - -/proc/get_lplieu_access() - return get_all_accesses() + list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_OPERATING_ROOM, ACCESS_LP_VAULT, ACCESS_LP_AI, ACCESS_LP_LIEUTENANT, ACCESS_ENGINE, ACCESS_ATMOSPHERICS, ACCESS_EVA) - -/proc/get_lpsec_access() - return get_all_accesses() + list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_VAULT, ACCESS_LP_SECURITY, ACCESS_ENGINE, ACCESS_ATMOSPHERICS, ACCESS_EVA) - -/proc/get_lpengi_access() - return get_all_accesses() + list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_AI, ACCESS_LP_ENGINEER, ACCESS_ENGINE, ACCESS_ATMOSPHERICS, ACCESS_EVA) - -/proc/get_lpmedic_access() - return get_all_accesses() + list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_OPERATING_ROOM, ACCESS_LP_MEDIC, ACCESS_ENGINE, ACCESS_ATMOSPHERICS, ACCESS_EVA) - -//Backpack -/obj/item/storage/backpack/satchel/flat/with_clown/PopulateContents() - new /obj/item/clothing/suit/space/hardsuit/ert/lp/clown(src) - - -//lootdrop -/obj/effect/spawner/lootdrop/lpcombat - name = "LP Combat Missions" - lootdoubles = FALSE - - loot = list( - /obj/item/disk/holodisk/lp/combat/syndicate1 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate2 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate3 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate4 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate5 = 1, - /obj/item/disk/holodisk/lp/combat/megafauna = 5, - /obj/item/disk/holodisk/lp/combat/bdm = 5, - /obj/item/disk/holodisk/lp/combat/tumor = 5, - /obj/item/disk/holodisk/lp/combat/bloodred = 5 - ) - - lootcount = 2 - -/obj/effect/spawner/lootdrop/lpretrieval - name = "LP Retrieval Missions" - lootdoubles = FALSE - - loot = list( - /obj/item/disk/holodisk/lp/retrieval/rnd =1, - /obj/item/disk/holodisk/lp/retrieval/supersuit = 1, - /obj/item/disk/holodisk/lp/retrieval/phazon = 1, - /obj/item/disk/holodisk/lp/retrieval/durand = 1, - /obj/item/disk/holodisk/lp/retrieval/gunstock = 1, - /obj/item/disk/holodisk/lp/retrieval/artifact = 1, - /obj/item/disk/holodisk/lp/retrieval/research = 1, - /obj/item/disk/holodisk/lp/retrieval/materials = 1 - ) - - lootcount = 2 - -/obj/effect/spawner/lootdrop/lpaid - name = "LP Aid Missions" - lootdoubles = FALSE - - loot = list( - /obj/item/disk/holodisk/lp/aid/teleporter = 1, - /obj/item/disk/holodisk/lp/aid/telecomm = 1, - /obj/item/disk/holodisk/lp/aid/recruits = 1, - /obj/item/disk/holodisk/lp/aid/repairs = 1, - /obj/item/disk/holodisk/lp/aid/rescure = 1, - /obj/item/disk/holodisk/lp/aid/guard = 1, - /obj/item/disk/holodisk/lp/aid/ai = 1, - /obj/item/disk/holodisk/lp/aid/ripley = 1 - ) - - lootcount = 2 - - -//hardsuits -/obj/item/clothing/suit/space/hardsuit/ert/lp - name = "Loss Prevention Lieutenant Hardsuit" - desc = "The middlemanagement of the ERT world, the Lieutenant of the LP team is given this slightly downgraded version of the ERT Commander hardsuit." - armor = list("melee" = 50, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp - resistance_flags = null - max_heat_protection_temperature = null - slowdown = 1.2 - -/obj/item/clothing/head/helmet/space/hardsuit/ert/lp - armor = list("melee" = 50, "bullet" = 40, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) - name = "Loss Prevention Lieutenant Hardsuit Helmet" - desc = "The helmet that comes attached to the LP Team Lieutenant Hardsuit." - resistance_flags = null - max_heat_protection_temperature = null - -/obj/item/clothing/suit/space/hardsuit/ert/lp/sec - armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec - name = "Loss Prevention Security Hardsuit" - desc = "The best of the best security staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." - icon_state = "ert_security" - item_state = "ert_security" - -/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec - armor = list("melee" = 35, "bullet" = 20, "laser" = 30,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - hardsuit_type = "ert_security" - name = "Loss Prevention Security Hardsuit Helmet" - desc = "The helmet that comes attached to the LP Team Security Hardsuit." - icon_state = "hardsuit0-ert_security" - item_state = "hardsuit0-ert_security" - -/obj/item/clothing/suit/space/hardsuit/ert/lp/engi - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 100, "acid" = 75) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi - name = "Loss Prevention Engineering Hardsuit" - desc = "The best of the best engineering staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." - icon_state = "ert_engineer" - item_state = "ert_engineer" - -/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 100, "acid" = 75) - name = "Loss Prevention Engineering Hardsuit Helmet" - desc = "The helmet that comes attached to the LP Team Engineering Hardsuit." - icon_state = "hardsuit0-ert_engineer" - item_state = "hardsuit0-ert_engineer" - hardsuit_type = "ert_engineer" - -/obj/item/clothing/suit/space/hardsuit/ert/lp/med - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med - name = "Loss Prevention Medical Hardsuit" - desc = "The best of the best medical staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." - icon_state = "ert_medical" - item_state = "ert_medical" - -/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) - name = "Loss Prevention Medical Hardsuit Helmet" - desc = "The helmet that comes attached to the LP Team Medical Hardsuit." - icon_state = "hardsuit0-ert_medical" - item_state = "hardsuit0-ert_medical" - hardsuit_type = "ert_medical" - -/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/clown - name = "LP Funny Hardsuit Helmet" - desc = "Every dog has its day, and every Funny Hardsuit has a Funny Helmet attached to it." - armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 10, "bomb" = 75, "bio" = 100, "rad" = 15, "fire" = 75, "acid" = 50) - icon_state = "hardsuit0-ert_clown" - item_state = "hardsuit0-ert_clown" - hardsuit_type = "ert_clown" - -/obj/item/clothing/suit/space/hardsuit/ert/lp/clown - name = "LP Funny Hardsuit" - desc = "Only the most faithful of those in service to the Honkmother make it anywhere aside from the mass driver. Let alone the LP." - armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 10, "bomb" = 75, "bio" = 100, "rad" = 15, "fire" = 75, "acid" = 50) - icon_state = "ert_clown" - item_state = "ert_clown" - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/clown - -/obj/item/clothing/head/helmet/space/hardsuit/lp - name = "RIG heatsuit helmet" - desc = "The helmet to the RIG heat suit. It's packed with heat diverting materials, coolant pipes, and a two inch thick face screen." - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) - heat_protection = HEAD - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - resistance_flags = ACID_PROOF | FIRE_PROOF - -/obj/item/clothing/suit/space/hardsuit/ancient/lp - name = "RIG heat suit" - desc = "A fully heat resistance suit based on an early RIG hardsuit prototype. It sacrifices armor of any kind for intricate heatsinks. It remains rather bulky as a result." - armor = list("melee" = 1, "bullet" = 1, "laser" = 1, "energy" = 1, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/lp - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - resistance_flags = ACID_PROOF | FIRE_PROOF diff --git a/code/datums/lp_mission_holotapes.dm b/code/game/MapData/shuttles/nanotrasen_ranger.dm similarity index 51% rename from code/datums/lp_mission_holotapes.dm rename to code/game/MapData/shuttles/nanotrasen_ranger.dm index 6eb33b2a4aee..ec41a611618f 100644 --- a/code/datums/lp_mission_holotapes.dm +++ b/code/game/MapData/shuttles/nanotrasen_ranger.dm @@ -1,3 +1,182 @@ +//Clothes +/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp + name = "LP Security Specialist's Jumpskirt" + desc = "A standard Jumpskirt belonging to the Security Specialist of the Loss Previention team." + +/obj/item/clothing/under/rank/security/head_of_security/nt/lp + name = "LP Security Specialist's Jumpsuit" + desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Lieutenant." + +/obj/item/clothing/under/rank/security/head_of_security/alt/lp + name = "LP Lieutentant's 'Dramatic' Jumpsuit" + desc = "The first LP Lieutenant wasn't satisfied with the standard outfits given to them. So they requested something more 'Dramatic'." + +/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp + name = "LP Lieutenant's 'Dramatic' Jumpskirt" + desc = "The first LP Lieutenant wasn't satisfied with the standard outfits given to them. So they requested something more 'Dramatic'." + +/obj/item/clothing/under/rank/security/warden/skirt/lp + name = "LP Lieutenant's Jumpskirt" + desc = "A standard Jumpskirt belonging to the Lieutenant of the Loss Previention team." + +/obj/item/clothing/under/rank/security/warden/lp + name = "LP Lieutenant's Jumpsuit" + desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Lieutenant." + +/obj/item/clothing/under/rank/engineering/engineer/nt/lp + name = "LP Engineering Specialist's Jumpsuit" + desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Engineering Specialist." + +/obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp + name = "LP Engineering Specialist's Jumpskirt" + desc = "A standard Jumpskirt belonging to the Engineering Specialist of the Loss Previention team." + +/obj/item/clothing/under/rank/medical/paramedic/lp + name = "LP Medical Specialist's Jumpsuit" + desc = "The ERT ran out of outfits to give to the LP, so they gave them station spares. This one belongs to the LP Medical Specialist." + +/obj/item/clothing/under/rank/medical/paramedic/skirt/lp + name = "LP Medical Specialist's Jumpskirt" + desc = "A standard Jumpskirt belonging to the Medical Specialist of the Loss Previention team." + + +//closets +/obj/structure/closet/secure_closet/lp/lieutenant + name = "lietenant's closet" + desc = "It's the lieutenant's closet." + icon_state = "blueshield" + req_access = list(ACCESS_CAPTAIN) + +/obj/structure/closet/secure_closet/lp/security + name = "security specialist's closet" + desc = "It's the security specialist's closet." + icon_state = "hos" + req_one_access = list(ACCESS_SECURITY) + +/obj/structure/closet/secure_closet/lp/engineer + name = "engineering specialist's closet" + desc = "It's the engineering specialist's closet." + icon_state = "eng_secure" + req_one_access = list(ACCESS_ENGINE) + +/obj/structure/closet/secure_closet/lp/medical + name = "medical specialist's closet" + desc = "It's the medical specialist's closet." + icon_state = "med" + req_one_access = list(ACCESS_MEDICAL) + +//IDs + +/obj/item/card/id/lpengie + desc = "The LP Engineering Specialist's ID card." + icon_state = "ert_engineer" + name = "LP Engineering Specialist" + +/obj/item/card/id/lpmed + desc = "The LP Medical Specialist's ID card." + icon_state = "ert_medic" + name = "LP Medical Specialist" + +/obj/item/card/id/lpsec + desc = "The LP Security Specialist's ID card." + icon_state = "ert_security" + name = "LP Security Specialist" + +/obj/item/card/id/lplieu + name = "LP Lieutenant's ID" + desc = "The LP Lieutenant's ID card." + icon_state = "ert_commander" + + + +//Holocalls +/datum/preset_holoimage/commissioner + outfit_type = /datum/outfit/job/captain/nt/lp_lieutenant + +//hardsuits +/obj/item/clothing/suit/space/hardsuit/ert/lp + name = "Loss Prevention Lieutenant Hardsuit" + desc = "The middlemanagement of the ERT world, the Lieutenant of the LP team is given this slightly downgraded version of the ERT Commander hardsuit." + armor = list("melee" = 50, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp + resistance_flags = null + max_heat_protection_temperature = null + slowdown = 1.2 + +/obj/item/clothing/head/helmet/space/hardsuit/ert/lp + armor = list("melee" = 50, "bullet" = 40, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) + name = "Loss Prevention Lieutenant Hardsuit Helmet" + desc = "The helmet that comes attached to the LP Team Lieutenant Hardsuit." + resistance_flags = null + max_heat_protection_temperature = null + +/obj/item/clothing/suit/space/hardsuit/ert/lp/sec + armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec + name = "Loss Prevention Security Hardsuit" + desc = "The best of the best security staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." + icon_state = "ert_security" + item_state = "ert_security" + +/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec + armor = list("melee" = 35, "bullet" = 20, "laser" = 30,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + hardsuit_type = "ert_security" + name = "Loss Prevention Security Hardsuit Helmet" + desc = "The helmet that comes attached to the LP Team Security Hardsuit." + icon_state = "hardsuit0-ert_security" + item_state = "hardsuit0-ert_security" + +/obj/item/clothing/suit/space/hardsuit/ert/lp/engi + armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 100, "acid" = 75) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi + name = "Loss Prevention Engineering Hardsuit" + desc = "The best of the best engineering staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." + icon_state = "ert_engineer" + item_state = "ert_engineer" + +/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi + armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 100, "acid" = 75) + name = "Loss Prevention Engineering Hardsuit Helmet" + desc = "The helmet that comes attached to the LP Team Engineering Hardsuit." + icon_state = "hardsuit0-ert_engineer" + item_state = "hardsuit0-ert_engineer" + hardsuit_type = "ert_engineer" + +/obj/item/clothing/suit/space/hardsuit/ert/lp/med + armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med + name = "Loss Prevention Medical Hardsuit" + desc = "The best of the best medical staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." + icon_state = "ert_medical" + item_state = "ert_medical" + +/obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med + armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) + name = "Loss Prevention Medical Hardsuit Helmet" + desc = "The helmet that comes attached to the LP Team Medical Hardsuit." + icon_state = "hardsuit0-ert_medical" + item_state = "hardsuit0-ert_medical" + hardsuit_type = "ert_medical" + +/obj/item/clothing/head/helmet/space/hardsuit/lp + name = "RIG heatsuit helmet" + desc = "The helmet to the RIG heat suit. It's packed with heat diverting materials, coolant pipes, and a two inch thick face screen." + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) + heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + resistance_flags = ACID_PROOF | FIRE_PROOF + +/obj/item/clothing/suit/space/hardsuit/ancient/lp + name = "RIG heat suit" + desc = "A fully heat resistance suit based on an early RIG hardsuit prototype. It sacrifices armor of any kind for intricate heatsinks. It remains rather bulky as a result." + armor = list("melee" = 5, "bullet" = 5, "laser" = 1, "energy" = 1, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/lp + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + resistance_flags = ACID_PROOF | FIRE_PROOF + +//holotapes + /obj/item/disk/holodisk/lp/combat/syndicate1 name = "Combat Mission Eliminate Force" desc = "A holodisk containing a combat mission for the LP." @@ -30,7 +209,7 @@ NAME Commissioner Gorre Donn SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. DELAY 25 - SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action they are to eliminate whatever leader or captain of such vession and bring their body back to the vault in a bodybag. The Medical Specialist has been given a box of them for such an occasion. + SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action they are to eliminate whatever leader or captain of such vession and bring their body back in a bodybag. The Medical Specialist has been given a box of them for such an occasion. DELAY 25 "} @@ -46,18 +225,6 @@ DELAY 25 "} -/obj/item/disk/holodisk/lp/combat/syndicate5 - name = "Combat Mission Vessel Sabotage" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action the LP is to perform a boarding operation and cause significant damage to said vessel. - DELAY 25 - "} - /obj/item/disk/holodisk/lp/combat/megafauna name = "Combat Mission Megafauna" desc = "A holodisk containing a combat mission for the LP." @@ -66,7 +233,7 @@ NAME Commissioner Gorre Donn SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. DELAY 25 - SAY This mission is very simple. The LP is to seek out a megafauna specimen and slay it. In doing so they will retrieve the body and store it in the vault. + SAY This mission is very simple. The LP is to seek out a megafauna specimen and slay it. DELAY 25 "} @@ -102,19 +269,7 @@ NAME Commissioner Gorre Donn SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. DELAY 25 - SAY This mission overlaps with the retrieval missions. The LP is simply to obtain and store a Blood Red Hardsuit in the vault. This may include responding to a hostile syndicate vessel to take it by force. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/retrieval/rnd - name = "Retrieval Mission Research" - desc = "A holodisk containing a retrieval mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a retrieval objective. The LP will need to obtain or create something. - DELAY 25 - SAY The LP team is to procure and set up a full and functional RnD setup in the science office. This includes: RnD console, circuit Imprinter, Protolathe, Exosuit Fabricator, and Destructive Analyzer. + SAY This mission overlaps with the retrieval missions. The LP is simply to obtain a Blood Red Hardsuit. This may include responding to a hostile syndicate vessel to take it by force. DELAY 25 "} @@ -174,19 +329,7 @@ NAME Commissioner Gorre Donn SAY This mission, should you choose to accept it, revolves around a retrieval objective. The LP will need to obtain or create something. DELAY 25 - SAY For this mission the LP is to find three artifacts and store them in the vault. These include but are not limited to, anything stored in a necropolis chest, most megafauna loot, anything befitting someone magical or otherwise special. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/retrieval/research - name = "Retrieval Mission Research" - desc = "A holodisk containing a retrieval mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a retrieval objective. The LP will need to obtain or create something. - DELAY 25 - SAY Nanotrasen wants research. Get it for us. We want the LP to procure level 6 research on the following topics: Weapons, Illegal, Bluespace. Add them to a techdisk and store it in your vault. + SAY For this mission the LP is to find three artifacts. These include but are not limited to, anything stored in a necropolis chest, most megafauna loot, anything befitting someone magical or otherwise special. DELAY 25 "} @@ -198,31 +341,7 @@ NAME Commissioner Gorre Donn SAY This mission, should you choose to accept it, revolves around a retrieval objective. The LP will need to obtain or create something. DELAY 25 - SAY Nanotrasen is short on funds and materials. Procure 150 sheets of the following and store it in the vault: Diamond, Bluespace Polycrystals, Plastitanium. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/aid/teleporter - name = "Aid Mission Quantum Link" - desc = "A holodisk containing an aid mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around an aid objective. The LP will need to provide aid to local vessels not hostile or syndicate. - DELAY 25 - SAY The Ranger-Class is set up with a space to install a teleporter. Set your own teleportation machines, then procede to do so on 2 other allied or friendly, non-syndicate vessels. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/aid/telecomm - name = "Aid Mission Telecomms" - desc = "A holodisk containing an aid mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around an aid objective. The LP will need to provide aid to local vessels not hostile or syndicate. - DELAY 25 - SAY Of the possible duties for a Ranger-Class, this one is of the utmost utility. Cross space telecommunications is one of the most important things a vessel could have. Set it up on 3 other allied or otherwise friendly and non-syndicate vessels. + SAY Nanotrasen is short on funds and materials. Procure 150 sheets of the following: Diamond, Bluespace Polycrystals, Plastitanium. DELAY 25 "} @@ -250,7 +369,7 @@ DELAY 25 "} -/obj/item/disk/holodisk/lp/aid/rescure +/obj/item/disk/holodisk/lp/aid/rescue name = "Aid Mission Rescure" desc = "A holodisk containing an aid mission for the LP." preset_image_type = /datum/preset_holoimage/commissioner @@ -262,18 +381,6 @@ DELAY 25 "} -/obj/item/disk/holodisk/lp/aid/ai - name = "Aid Mission Artifical Intelligence" - desc = "A holodisk containing an aid mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around an aid objective. The LP will need to provide aid to local vessels not hostile or syndicate. - DELAY 25 - SAY AI's are a massive boon to any vessel. Install one on 2 other allied or otherwise friendly, non-syndicate vessels. - DELAY 25 - "} - /obj/item/disk/holodisk/lp/aid/guard name = "Aid Mission Guard Detail" desc = "A holodisk containing an aid mission for the LP." @@ -286,33 +393,6 @@ DELAY 25 "} -/obj/item/disk/holodisk/lp/aid/ripley - name = "Aid Mission Ripleys in Aid" - desc = "A holodisk containing an aid mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around an aid objective. The LP will need to provide aid to local vessels not hostile or syndicate. - DELAY 25 - SAY A well equipped Ripley will help any vessel in hard times. Provide 2 allied or otherwise friendly, non-syndicate vessels with an equipped Ripley exosuit. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/airrecycler - name = "Air Recycler Setup" - desc = "A holodisk containing instructions for setting up an air recycling system." - preset_image_type = /datum/preset_holoimage/engineer - preset_record_text = {" - NAME Jim - SAY Congratulations on your new Ranger-Class vessel! You may enjoy a number of amenities upon this ship, one of which is easily recycled air! Yes the air recycler is easy to use. There are 3 scrubbers, one in once chamber, two in the other. - DELAY 20 - SAY The lone scrubber can be set to siphon and extended area without worry, do so and turn it on. The other two scrubbers are more particular. One is attached to a blue pipe, set that one to scrub out N2 and 02 then turn it on. - DELAY 20 - SAY The other one connected to a gray pipe should be set to scrub out everything else that isn't N2 and O2, then turn it on. And voila! - DELAY 20 - SAY You have air recycling. Note that if you have an O2 or N2 leak, you may need to install a mixer or filter in response. - "} - /obj/item/disk/holodisk/lp/stations name = "Telecomms Stations" desc = "A holodisk containing instructions for telecomms stations." @@ -330,3 +410,51 @@ SAY Common Frequency: 149.1 using ; DELAY 20 "} + + +//lootdrop +/obj/effect/spawner/lootdrop/lpcombat + name = "LP Combat Missions" + lootdoubles = FALSE + + loot = list( + /obj/item/disk/holodisk/lp/combat/syndicate1 = 1, + /obj/item/disk/holodisk/lp/combat/syndicate2 = 1, + /obj/item/disk/holodisk/lp/combat/syndicate3 = 1, + /obj/item/disk/holodisk/lp/combat/syndicate4 = 1, + /obj/item/disk/holodisk/lp/combat/megafauna = 5, + /obj/item/disk/holodisk/lp/combat/bdm = 5, + /obj/item/disk/holodisk/lp/combat/tumor = 5, + /obj/item/disk/holodisk/lp/combat/bloodred = 5 + ) + + lootcount = 2 + +/obj/effect/spawner/lootdrop/lpretrieval + name = "LP Retrieval Missions" + lootdoubles = FALSE + + loot = list( + /obj/item/disk/holodisk/lp/retrieval/supersuit = 1, + /obj/item/disk/holodisk/lp/retrieval/phazon = 1, + /obj/item/disk/holodisk/lp/retrieval/durand = 1, + /obj/item/disk/holodisk/lp/retrieval/gunstock = 1, + /obj/item/disk/holodisk/lp/retrieval/artifact = 1, + /obj/item/disk/holodisk/lp/retrieval/materials = 1 + ) + + lootcount = 2 + +/obj/effect/spawner/lootdrop/lpaid + name = "LP Aid Missions" + lootdoubles = FALSE + + loot = list( + /obj/item/disk/holodisk/lp/aid/recruits = 1, + /obj/item/disk/holodisk/lp/aid/repairs = 1, + /obj/item/disk/holodisk/lp/aid/rescue = 1, + /obj/item/disk/holodisk/lp/aid/guard = 1, + ) + + lootcount = 2 + diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index e7e43ccdb708..b7d13f80d70e 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -336,7 +336,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) ModifyFiredoors(FALSE) for(var/item in firealarms) var/obj/machinery/firealarm/F = item - F.update_icon() + F.update_appearance() for (var/item in GLOB.alert_consoles) var/obj/machinery/computer/station_alert/a = item @@ -367,7 +367,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) ModifyFiredoors(TRUE) for(var/item in firealarms) var/obj/machinery/firealarm/F = item - F.update_icon() + F.update_appearance() for (var/item in GLOB.silicon_mobs) var/mob/living/silicon/aiPlayer = item @@ -491,11 +491,13 @@ GLOBAL_LIST_EMPTY(teleportlocs) weather_icon = TRUE if(!weather_icon) icon_state = null + return ..() /** * Update the icon of the area (overridden to always be null for space */ /area/space/update_icon_state() + SHOULD_CALL_PARENT(FALSE) icon_state = null @@ -536,7 +538,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) for(var/obj/machinery/M in src) // for each machine in the area M.power_change() // reverify power status (to update icons etc.) SEND_SIGNAL(src, COMSIG_AREA_POWER_CHANGE) - update_icon() + update_appearance() /** diff --git a/code/game/area/areas/ruins/icemoon.dm b/code/game/area/areas/ruins/icemoon.dm index da106234d63f..0d449f6035a8 100644 --- a/code/game/area/areas/ruins/icemoon.dm +++ b/code/game/area/areas/ruins/icemoon.dm @@ -30,44 +30,6 @@ name = "NT Security Solutions Site Gamma Vault" icon_state = "dk_yellow" -//Icecropolis - -/area/ruin/unpowered/icecropolis - name = "The Bloody Hallow" - icon_state = "dk_yellow" - mood_bonus = -10 - mood_message = "I want to leave this place.\n" - -/area/ruin/unpowered/icecropolis/reach - name = "Ash Walkers' Reach" - icon_state = "dk_yellow" - mood_bonus = 5 - mood_message = "At least I'm not in the caves.\n" - -/area/ruin/unpowered/icecropolis/rusty - name = "Abandoned Building" - icon_state = "dk_yellow" - mood_bonus = -10 - mood_message = "I want to leave this place.\n" - -/area/ruin/unpowered/icecropolis/russia - name = "Russian Military Checkpoint" - icon_state = "dk_yellow" - mood_bonus = -10 - mood_message = "I want to leave this place.\n" - -/area/ruin/unpowered/icecropolis/gold - name = "The City of Gold" - icon_state = "dk_yellow" - mood_bonus = -10 - mood_message = "I want to leave this place.\n" - -/area/ruin/unpowered/icecropolis/outside - name = "Ouside" - icon_state = "dk_yellow" - mood_bonus = -10 - mood_message = "I want to leave this place.\n" - //Hydroponics lab /area/ruin/powered/hydroponicslab diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index 7485ff9af1a7..645d98fc8f58 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -116,3 +116,30 @@ name = "Pinnace Wreckage" icon_state = "dk_yellow" always_unpowered = TRUE + +/area/ruin/unpowered/codelab + name = "Nanotrasen Genetic Research Facility" + icon_state = "bluenew" + +/area/ruin/unpowered/codelab/exterior + name = "Nanotrasen Genetic Research Facility Exterior" + +/area/ruin/unpowered/codelab/reception + name = "Nanotrasen Genetic Research Reception" + icon_state = "green" + +/area/ruin/unpowered/codelab/subjectrooms + name = "Nanotrasen Genetic Research Test Subject Storage" + icon_state = "Sleep" + +/area/ruin/unpowered/codelab/storage + name = "Nanotrasen Genetic Research Storage" + icon_state = "cargo_bay" + +/area/ruin/unpowered/codelab/laboratory + name = "Nanotrasen Genetic Research Laboratory" + icon_state = "bridge" + +/area/ruin/unpowered/codelab/maintenance + name = "Nanotrasen Genetic Research Maintenance" + icon_state = "dk_yellow" diff --git a/code/game/area/areas/ruins/wasteplanet.dm b/code/game/area/areas/ruins/wasteplanet.dm index b4150a9bae38..4b1e69b456d2 100644 --- a/code/game/area/areas/ruins/wasteplanet.dm +++ b/code/game/area/areas/ruins/wasteplanet.dm @@ -29,3 +29,17 @@ /area/ruin/wasteplanet/abandoned_mechbay/engineering name = "Abandoned Mechbay Engineering" icon_state = "engine" + +//Abandoned Waste Site + +/area/ruin/wasteplanet/wasteplanet_radiation/main + name = "Abandoned Waste Site" + icon_state = "green" + +/area/ruin/wasteplanet/wasteplanet_radiation/maint + name = "Abandoned Maintenance Area" + icon_state = "engine" + +/area/ruin/wasteplanet/wasteplanet_radiation/containment + name = "Abandoned Waste Containment Vault" + icon_state = "disposal" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index da205b72749e..a9310c76cdc8 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -693,17 +693,20 @@ return SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_DESC, updates) /// Updates the icon of the atom -/atom/proc/update_icon() +/atom/proc/update_icon(updates=ALL) SIGNAL_HANDLER + SHOULD_CALL_PARENT(TRUE) - var/signalOut = SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON) - . = FALSE - - if(!(signalOut & COMSIG_ATOM_NO_UPDATE_ICON_STATE)) + . = NONE + updates &= ~SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON, updates) + if(updates & UPDATE_ICON_STATE) update_icon_state() - . = TRUE + . |= UPDATE_ICON_STATE + + if(updates & UPDATE_OVERLAYS) + if(LAZYLEN(managed_vis_overlays)) + SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!(signalOut & COMSIG_ATOM_NO_UPDATE_OVERLAYS)) var/list/new_overlays = update_overlays() if(managed_overlays) cut_overlay(managed_overlays) @@ -711,12 +714,14 @@ if(length(new_overlays)) managed_overlays = new_overlays add_overlay(new_overlays) - . = TRUE + . |= UPDATE_OVERLAYS - SEND_SIGNAL(src, COMSIG_ATOM_UPDATED_ICON, signalOut, .) + . |= SEND_SIGNAL(src, COMSIG_ATOM_UPDATED_ICON, updates, .) /// Updates the icon state of the atom /atom/proc/update_icon_state() + SHOULD_CALL_PARENT(TRUE) + return SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON_STATE) /// Updates the overlays of the atom /atom/proc/update_overlays() @@ -1354,6 +1359,12 @@ log_shuttle(log_text) if(LOG_RADIO_EMOTE) log_radio_emote(log_text) + if(LOG_MSAY) + log_mentor(log_text) + if(LOG_LOOC) + log_looc(log_text) + if(LOG_SUBTLER) + log_subtler(log_text) else stack_trace("Invalid individual logging type: [message_type]. Defaulting to [LOG_GAME] (LOG_GAME).") log_game(log_text) @@ -1497,6 +1508,11 @@ custom_material.on_applied(src, materials[custom_material] * multiplier * material_modifier, material_flags) custom_materials[custom_material] += materials[x] * multiplier +/// Returns the indice in filters of the given filter name. +/// If it is not found, returns null. +/atom/proc/get_filter_index(name) + return filter_data?.Find(name) + /** * Returns true if this atom has gravity for the passed in turf * diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 5aa9e296f048..7471c3514881 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -896,11 +896,11 @@ /// called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. /atom/movable/proc/on_exit_storage(datum/component/storage/concrete/master_storage) - SEND_SIGNAL(src, CONSIG_STORAGE_EXITED, master_storage) + SEND_SIGNAL(src, COMSIG_STORAGE_EXITED, master_storage) /// called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. /atom/movable/proc/on_enter_storage(datum/component/storage/concrete/master_storage) - SEND_SIGNAL(src, COMISG_STORAGE_ENTERED, master_storage) + SEND_SIGNAL(src, COMSIG_STORAGE_ENTERED, master_storage) /atom/movable/proc/get_spacemove_backup() var/atom/movable/dense_object_backup diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm index 8c948c9d42d4..01c270895360 100644 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm @@ -3,19 +3,21 @@ desc = "You probably shouldn't stick around to see if this is armed." icon = 'icons/obj/machines/nuke.dmi' icon_state = "bananiumbomb_base" + base_icon_state = "bananiumbomb" /obj/machinery/nuclearbomb/syndicate/bananium/update_icon_state() if(deconstruction_state != NUKESTATE_INTACT) - icon_state = "bananiumbomb_base" - return + icon_state = "[base_icon_state]_base" + return ..() switch(get_nuke_state()) if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) - icon_state = "bananiumbomb_base" + icon_state = "[base_icon_state]_base" if(NUKE_ON_TIMING) - icon_state = "bananiumbomb_timing" + icon_state = "[base_icon_state]_timing" if(NUKE_ON_EXPLODING) - icon_state = "bananiumbomb_exploding" + icon_state = "[base_icon_state]_exploding" + return ..() /obj/machinery/nuclearbomb/syndicate/bananium/get_cinematic_type(off_station) switch(off_station) diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 26556bfc0b48..56f873a50bd1 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -6,7 +6,7 @@ S.charge = 0 S.output_level = 0 S.output_attempt = FALSE - S.update_icon() + S.update_appearance() S.power_change() for(var/area/A in GLOB.sortedAreas) @@ -35,14 +35,14 @@ if(!C.cell || (z_level && C.virtual_z() != z_level)) continue C.cell.charge = C.cell.maxcharge - C.failure_timer = 0 + COOLDOWN_RESET(C, failure_timer) for(var/obj/machinery/power/smes/S in GLOB.machines) if(z_level && S.virtual_z() != z_level) continue S.charge = S.capacity S.output_level = S.output_level_max S.output_attempt = TRUE - S.update_icon() + S.update_appearance() S.power_change() for(var/area/A in GLOB.sortedAreas) if(!A.requires_power || A.always_unpowered) @@ -59,6 +59,6 @@ S.charge = S.capacity S.output_level = S.output_level_max S.output_attempt = TRUE - S.update_icon() + S.update_appearance() S.power_change() diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 04cb6ecb9c7a..1682a27584fd 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -247,7 +247,7 @@ GLOBAL_VAR_INIT(deaths_during_shift, 0) var/datum/hud/H = M.hud_used H.wanted_lvl.level = newlevel H.wanted_lvl.cops_arrived = cops_arrived - H.wanted_lvl.update_icon() + H.wanted_lvl.update_appearance() /datum/game_mode/gang/proc/on_gain_wanted_level(newlevel) var/announcement_message diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 0ade780c8fb9..69679c95079f 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -180,7 +180,7 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) if("hsbscrubber") // This is beyond its normal capability but this is sandbox and you spawned one, I assume you need it var/obj/hsb = new/obj/machinery/portable_atmospherics/scrubber{volume_rate=50*ONE_ATMOSPHERE;on=1}(usr.loc) - hsb.update_icon() // hackish but it wasn't meant to be spawned I guess? + hsb.update_appearance() // hackish but it wasn't meant to be spawned I guess? // // Stacked Materials diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 70cb4f065969..e9906a6a0089 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -3,6 +3,7 @@ desc = "A PDA painting machine. To use, simply insert your PDA and choose the desired preset paint scheme." icon = 'icons/obj/pda.dmi' icon_state = "pdapainter" + base_icon_state = "pdapainter" density = TRUE max_integrity = 200 var/obj/item/pda/storedpda = null @@ -10,13 +11,10 @@ /obj/machinery/pdapainter/update_icon_state() if(machine_stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - return - - if(powered()) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]-off" + icon_state = "[base_icon_state]-broken" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-off"]" + return ..() /obj/machinery/pdapainter/update_overlays() . = ..() @@ -62,7 +60,7 @@ /obj/machinery/pdapainter/handle_atom_del(atom/A) if(A == storedpda) storedpda = null - update_icon() + update_appearance() /obj/machinery/pdapainter/attackby(obj/item/O, mob/user, params) if(machine_stat & BROKEN) @@ -78,7 +76,7 @@ to_chat(user, "You repair [src].") set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity - update_icon() + update_appearance() else return ..() @@ -95,7 +93,7 @@ return storedpda = O O.add_fingerprint(user) - update_icon() + update_appearance() else return ..() @@ -140,6 +138,6 @@ if(storedpda) storedpda.forceMove(drop_location()) storedpda = null - update_icon() + update_appearance() else to_chat(usr, "[src] is empty!") diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 6f7363ba8811..f0a1c403cfa4 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -9,6 +9,7 @@ desc = "An enclosed machine used to stabilize and heal patients." icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" + base_icon_state = "sleeper" density = FALSE state_open = TRUE circuit = /obj/item/circuitboard/machine/sleeper @@ -45,7 +46,7 @@ /obj/machinery/sleeper/Initialize(mapload) . = ..() occupant_typecache = GLOB.typecache_living - update_icon() + update_appearance() if(mapload && starting_beakers) chembag = new(src) for(var/beaker in starting_beakers) @@ -73,10 +74,8 @@ update_contents() /obj/machinery/sleeper/update_icon_state() - if(state_open) - icon_state = "[initial(icon_state)]-open" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state][state_open ? "-open" : null]" + return ..() /obj/machinery/sleeper/container_resist_act(mob/living/user) visible_message("[occupant] emerges from [src]!", @@ -367,6 +366,8 @@ /obj/machinery/sleeper/syndie icon_state = "sleeper_s" controls_inside = TRUE + base_icon_state = "sleeper_s" /obj/machinery/sleeper/old icon_state = "oldpod" + base_icon_state = "oldpod" diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 904e8ae95c7c..bc793eb60d82 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -214,7 +214,7 @@ Class Procs: density = FALSE if(drop) dropContents() - update_icon() + update_appearance() updateUsrDialog() /obj/machinery/proc/dropContents(list/subset = null) @@ -268,7 +268,7 @@ Class Procs: occupant = target target.forceMove(src) updateUsrDialog() - update_icon() + update_appearance() /obj/machinery/proc/auto_use_power() if(!powered(power_channel)) @@ -454,7 +454,7 @@ Class Procs: if(!(machine_stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) set_machine_stat(machine_stat | BROKEN) SEND_SIGNAL(src, COMSIG_MACHINERY_BROKEN, damage_flag) - update_icon() + update_appearance() return TRUE /obj/machinery/contents_explosion(severity, target) @@ -464,7 +464,7 @@ Class Procs: /obj/machinery/handle_atom_del(atom/A) if(A == occupant) occupant = null - update_icon() + update_appearance() updateUsrDialog() return ..() diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 43fafb819eed..eb46da7f568b 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -3,6 +3,7 @@ desc = "A remotely-activatable dispenser for crowd-controlling foam." icon = 'icons/obj/device.dmi' icon_state = "ai-slipper0" + base_icon_state = "ai-slipper" layer = PROJECTILE_HIT_THRESHHOLD_LAYER plane = FLOOR_PLANE max_integrity = 200 @@ -19,11 +20,12 @@ /obj/machinery/ai_slipper/update_icon_state() if(machine_stat & BROKEN) - return + return ..() if((machine_stat & NOPOWER) || cooldown_time > world.time || !uses) - icon_state = "ai-slipper0" - else - icon_state = "ai-slipper1" + icon_state = "[base_icon_state]0" + return ..() + icon_state = "[base_icon_state]1" + return ..() /obj/machinery/ai_slipper/interact(mob/user) if(!allowed(user)) diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index 4d7e59c32b34..9a3f470fe99d 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -5,7 +5,8 @@ var/id_tag var/frequency var/datum/radio_frequency/radio_connection - + /// The current state of the airlock, used to construct the airlock overlays + var/airlock_state /obj/machinery/door/airlock/receive_signal(datum/signal/signal) if(!signal) @@ -23,21 +24,21 @@ if("unlock") locked = FALSE - update_icon() + update_appearance() if("lock") locked = TRUE - update_icon() + update_appearance() if("secure_open") locked = FALSE - update_icon() + update_appearance() sleep(2) open(1) locked = TRUE - update_icon() + update_appearance() if("secure_close") locked = FALSE @@ -45,7 +46,7 @@ locked = TRUE sleep(2) - update_icon() + update_appearance() send_status() @@ -114,13 +115,14 @@ master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER /obj/machinery/airlock_sensor/update_icon_state() - if(on) + if(!on) + icon_state = "[base_icon_state]_off" + else if(alert) - icon_state = "airlock_sensor_alert" + icon_state = "[base_icon_state]_alert" else - icon_state = "airlock_sensor_standby" - else - icon_state = "airlock_sensor_off" + icon_state = "[base_icon_state]_standby" + return ..() /obj/machinery/airlock_sensor/attack_hand(mob/user) . = ..() @@ -148,7 +150,7 @@ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK) - update_icon() + update_appearance() /obj/machinery/airlock_sensor/proc/set_frequency(new_frequency) SSradio.remove_object(src, frequency) diff --git a/code/game/machinery/airlock_cycle_control.dm b/code/game/machinery/airlock_cycle_control.dm index fffb5d5684d3..0b35bedebd05 100644 --- a/code/game/machinery/airlock_cycle_control.dm +++ b/code/game/machinery/airlock_cycle_control.dm @@ -128,7 +128,7 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir == 1 ? -24 : 24) : 0 - update_icon() + update_appearance() /obj/machinery/advanced_airlock_controller/Destroy() qdel(wires) @@ -155,10 +155,10 @@ if(airlock.density && (cyclestate == AIRLOCK_CYCLESTATE_CLOSED || (airlocks[A] == EXTERIOR_AIRLOCK && cyclestate == AIRLOCK_CYCLESTATE_INOPEN) || (airlocks[A] == INTERIOR_AIRLOCK && cyclestate == AIRLOCK_CYCLESTATE_OUTOPEN))) airlock.bolt() -/obj/machinery/advanced_airlock_controller/update_icon(use_hash = FALSE) +/obj/machinery/advanced_airlock_controller/update_icon(updates=ALL, use_hash = FALSE) var/turf/location = get_turf(src) if(!location) - return + return ..() var/pressure = 0 if(location) var/datum/gas_mixture/environment = location.return_air() @@ -169,7 +169,7 @@ var/new_overlays_hash = "[pressure_bars]-[cyclestate]-[buildstage]-[panel_open]-[machine_stat]-[shorted]-[locked]-\ref[vis_target]" if(use_hash && new_overlays_hash == overlays_hash) - return + return ..() overlays_hash = new_overlays_hash cut_overlays() @@ -181,12 +181,12 @@ icon_state = "aac_b2" if(BUILD_NO_CIRCUIT) icon_state = "aac_b1" - return + return ..() icon_state = "aac" if((machine_stat & (NOPOWER|BROKEN)) || shorted) - return + return ..() var/is_exterior_pressure = (cyclestate == AIRLOCK_CYCLESTATE_OUTCLOSING || cyclestate == AIRLOCK_CYCLESTATE_OUTOPENING || cyclestate == AIRLOCK_CYCLESTATE_OUTOPEN) add_overlay("aac_[is_exterior_pressure ? "ext" : "int"]p_[pressure_bars]") @@ -208,13 +208,14 @@ var/mutable_appearance/M = mutable_appearance(icon, "hologram-line", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE) M.transform = TR add_overlay(M) + return ..() /obj/machinery/advanced_airlock_controller/proc/reset(wire) switch(wire) if(WIRE_POWER) if(!wires.is_cut(WIRE_POWER)) shorted = FALSE - update_icon() + update_appearance() if(WIRE_AI) if(!wires.is_cut(WIRE_AI)) aidisabled = FALSE @@ -316,12 +317,12 @@ /obj/machinery/advanced_airlock_controller/process_atmos() if((machine_stat & (NOPOWER|BROKEN)) || shorted) - update_icon(TRUE) + update_icon(ALL, TRUE) return var/turf/location = get_turf(src) if(!location) - update_icon(TRUE) + update_icon(ALL, TRUE) return var/pressure = 0 if(location) @@ -347,10 +348,10 @@ vent.pressure_checks = VENT_EXT_BOUND vent.external_pressure_bound = interior_pressure vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() return if(AIRLOCK_CYCLESTATE_INCLOSING) for(var/airlock in airlocks) @@ -364,10 +365,10 @@ vent.external_pressure_bound = 0 vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure < depressurization_margin) vents_valid = TRUE if((doors_valid && vents_valid) || is_skipping) @@ -385,10 +386,10 @@ vent.external_pressure_bound = 0 vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure < depressurization_margin) vents_valid = TRUE if(vents_valid || is_skipping) @@ -406,10 +407,10 @@ vent.external_pressure_bound = interior_pressure vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure > interior_pressure - 0.5) vents_valid = TRUE if(vents_valid || is_skipping) @@ -431,10 +432,10 @@ vent.external_pressure_bound = exterior_pressure vents_valid = FALSE vent.on = TRUE - vent.update_icon() + vent.update_appearance() else vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(pressure > exterior_pressure - 0.5) vents_valid = TRUE if(vents_valid || is_skipping) @@ -448,13 +449,13 @@ for(var/V in vents) var/obj/machinery/atmospherics/components/unary/vent_pump/vent = V vent.on = FALSE - vent.update_icon() + vent.update_appearance() if(AIRLOCK_CYCLESTATE_OUTOPEN) for(var/V in vents) var/obj/machinery/atmospherics/components/unary/vent_pump/vent = V vent.on = FALSE - vent.update_icon() - update_icon(TRUE) + vent.update_appearance() + update_icon(ALL, TRUE) /obj/machinery/advanced_airlock_controller/attackby(obj/item/W, mob/user, params) switch(buildstage) @@ -464,13 +465,13 @@ to_chat(user, "You cut the final wires.") new /obj/item/stack/cable_coil(loc, 5) buildstage = BUILD_NO_WIRES - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_SCREWDRIVER) // Opening that up. W.play_tool_sound(src) panel_open = !panel_open to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") - update_icon() + update_appearance() return else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))// trying to unlock the interface with an ID card togglelock(user) @@ -489,7 +490,7 @@ new /obj/item/electronics/advanced_airlock_controller(src.loc) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) buildstage = BUILD_NO_CIRCUIT - update_icon() + update_appearance() return if(istype(W, /obj/item/stack/cable_coil)) @@ -510,14 +511,14 @@ cut_links() shorted = FALSE buildstage = BUILD_COMPLETE - update_icon() + update_appearance() return if(BUILD_NO_CIRCUIT) if(istype(W, /obj/item/electronics/advanced_airlock_controller)) if(user.temporarilyRemoveItemFromInventory(W)) to_chat(user, "You insert the circuit.") buildstage = BUILD_NO_WIRES - update_icon() + update_appearance() qdel(W) return @@ -528,7 +529,7 @@ user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt an airlock controller circuit and slot it into the assembly.") buildstage = BUILD_NO_WIRES - update_icon() + update_appearance() return if(W.tool_behaviour == TOOL_WRENCH) @@ -757,7 +758,7 @@ depressurization_margin = clamp(text2num(params["pressure"]), 0.15, 40) if("skip_delay") skip_delay = clamp(text2num(params["skip_delay"]), 0, 1200) - update_icon(TRUE) + update_icon(ALL, TRUE) /obj/machinery/advanced_airlock_controller/proc/request_from_door(airlock) var/role = airlocks[airlock] @@ -800,7 +801,7 @@ else if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked - update_icon() + update_appearance() to_chat(user, "You [ locked ? "lock" : "unlock"] the airlock controller interface.") updateUsrDialog() else @@ -809,7 +810,7 @@ /obj/machinery/advanced_airlock_controller/power_change() ..() - update_icon() + update_appearance() /obj/machinery/advanced_airlock_controller/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -820,7 +821,7 @@ /obj/machinery/advanced_airlock_controller/obj_break(damage_flag) ..() - update_icon() + update_appearance() /obj/machinery/advanced_airlock_controller/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index daebe8a066f3..f275d234fca7 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -6,6 +6,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) desc = "An automated announcement system that handles minor announcements over the radio." icon = 'icons/obj/machines/telecomms.dmi' icon_state = "AAS_On" + base_icon_state = "AAS" verb_say = "coldly states" verb_ask = "queries" @@ -30,13 +31,11 @@ GLOBAL_LIST_EMPTY(announcement_systems) . = ..() GLOB.announcement_systems += src radio = new /obj/item/radio/headset/silicon/ai(src) - update_icon() + update_appearance() /obj/machinery/announcement_system/update_icon_state() - if(is_operational) - icon_state = (panel_open ? "AAS_On_Open" : "AAS_On") - else - icon_state = (panel_open ? "AAS_Off_Open" : "AAS_Off") + icon_state = "[base_icon_state]_[is_operational ? "On" : "Off"][panel_open ? "_Open" : null]" + return ..() /obj/machinery/announcement_system/update_overlays() . = ..() @@ -59,13 +58,13 @@ GLOBAL_LIST_EMPTY(announcement_systems) P.play_tool_sound(src) panel_open = !panel_open to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch of [src].") - update_icon() + update_appearance() else if(default_deconstruction_crowbar(P)) return else if(P.tool_behaviour == TOOL_MULTITOOL && panel_open && (machine_stat & BROKEN)) to_chat(user, "You reset [src]'s firmware.") set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() else return ..() @@ -138,10 +137,10 @@ GLOBAL_LIST_EMPTY(announcement_systems) log_game("The head announcement was updated: [NewMessage] by:[key_name(usr)]") if("NewheadToggle") newheadToggle = !newheadToggle - update_icon() + update_appearance() if("ArrivalToggle") arrivalToggle = !arrivalToggle - update_icon() + update_appearance() add_fingerprint(usr) /obj/machinery/announcement_system/attack_robot(mob/living/silicon/user) diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm index 76e662d640f1..9c536c0d97d8 100644 --- a/code/game/machinery/aug_manipulator.dm +++ b/code/game/machinery/aug_manipulator.dm @@ -3,6 +3,7 @@ desc = "A machine for custom fitting augmentations, with in-built spraypainter." icon = 'icons/obj/pda.dmi' icon_state = "pdapainter" + base_icon_state = "pdapainter" circuit = /obj/item/circuitboard/machine/aug_manipulator density = TRUE obj_integrity = 200 @@ -18,23 +19,21 @@ . += "Alt-click to eject the limb." /obj/machinery/aug_manipulator/Initialize() - initial_icon_state = initial(icon_state) + if(!base_icon_state) + base_icon_state = initial(icon_state) return ..() /obj/machinery/aug_manipulator/update_icon_state() if(machine_stat & BROKEN) - icon_state = "[initial_icon_state]-broken" - return - - if(powered()) - icon_state = initial_icon_state - else - icon_state = "[initial_icon_state]-off" + icon_state = "[base_icon_state]-broken" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-off"]" + return ..() /obj/machinery/aug_manipulator/update_overlays() . = ..() if(storedpart) - . += "[initial_icon_state]-closed" + . += "[base_icon_state]-closed" /obj/machinery/aug_manipulator/Destroy() QDEL_NULL(storedpart) @@ -52,7 +51,7 @@ /obj/machinery/aug_manipulator/handle_atom_del(atom/A) if(A == storedpart) storedpart = null - update_icon() + update_appearance() /obj/machinery/aug_manipulator/attackby(obj/item/O, mob/user, params) if(default_deconstruction_screwdriver(user, "pdapainter-broken", "pdapainter", O)) //placeholder, get a sprite monkey to make an actual sprite, I can't be asked. @@ -81,7 +80,7 @@ return storedpart = O O.add_fingerprint(user) - update_icon() + update_appearance() else if(O.tool_behaviour == TOOL_WELDER && user.a_intent != INTENT_HARM) if(obj_integrity < max_integrity) @@ -98,7 +97,7 @@ to_chat(user, "You repair [src].") set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max(obj_integrity, max_integrity) - update_icon() + update_appearance() else to_chat(user, "[src] does not need repairs.") else @@ -130,7 +129,7 @@ if(storedpart) storedpart.forceMove(get_turf(src)) storedpart = null - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index c31b00e672d4..b6fb1f27f5a1 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -336,7 +336,7 @@ if(is_stack) var/obj/item/stack/N = new being_built.build_path(A, multiplier, FALSE) - N.update_icon() + N.update_appearance() N.autolathe_crafted(src) else for(var/i=1, i<=multiplier, i++) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index c87050f066f4..3e04893bf8a9 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -25,7 +25,7 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 panel_open = TRUE - update_icon() + update_appearance() if(!built && !device && device_type) @@ -46,10 +46,12 @@ /obj/machinery/button/update_icon_state() if(panel_open) icon_state = "button-open" - else if(machine_stat & (NOPOWER|BROKEN)) + return ..() + if(machine_stat & (NOPOWER|BROKEN)) icon_state = "[skin]-p" - else - icon_state = skin + return ..() + icon_state = skin + return ..() /obj/machinery/button/update_overlays() . = ..() @@ -64,7 +66,7 @@ if(W.tool_behaviour == TOOL_SCREWDRIVER) if(panel_open || allowed(user)) default_deconstruction_screwdriver(user, "button-open", "[skin]",W) - update_icon() + update_appearance() else to_chat(user, "Maintenance Access Denied.") flick("[skin]-denied", src) @@ -98,7 +100,7 @@ playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) qdel(src) - update_icon() + update_appearance() return if(user.a_intent != INTENT_HARM && !(W.item_flags & NOBLUDGEON)) @@ -150,7 +152,7 @@ req_access = list() req_one_access = list() board = null - update_icon() + update_appearance() to_chat(user, "You remove electronics from the button frame.") else @@ -179,7 +181,7 @@ device.pulsed() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_BUTTON_PRESSED,src) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 15) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 15) /obj/machinery/button/door name = "door button" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 27a9f349188a..faccb82395fd 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -17,7 +17,7 @@ armor = list("melee" = 50, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 50) max_integrity = 100 integrity_failure = 0.5 - var/default_camera_icon = "camera" //the camera's base icon used by update_icon - icon_state is primarily used for mapping display purposes. + var/default_camera_icon = "camera" //the camera's base icon used by update_appearance - icon_state is primarily used for mapping display purposes. var/list/network = list("ss13") var/c_tag = null var/status = TRUE @@ -89,7 +89,7 @@ if(mapload && prob(3) && !start_active) toggle_cam() else //this is handled by toggle_camera, so no need to update it twice. - update_icon() + update_appearance() /obj/machinery/camera/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) for(var/i in network) @@ -151,13 +151,13 @@ return if(!(. & EMP_PROTECT_SELF)) if(prob(150/severity)) - update_icon() + update_appearance() network = list() GLOB.cameranet.removeCamera(src) set_machine_stat(machine_stat | EMPED) set_light(0) emped = emped+1 //Increase the number of consecutive EMP's - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/post_emp_reset, emped, network), 90 SECONDS) for(var/i in GLOB.player_list) var/mob/M = i @@ -174,7 +174,7 @@ return network = previous_network set_machine_stat(machine_stat & ~EMPED) - update_icon() + update_appearance() if(can_use()) GLOB.cameranet.addCamera(src) emped = 0 //Resets the consecutive EMP count @@ -206,7 +206,7 @@ panel_open = !panel_open to_chat(user, "You screw the camera's panel [panel_open ? "open" : "closed"].") I.play_tool_sound(src) - update_icon() + update_appearance() return TRUE /obj/machinery/camera/crowbar_act(mob/living/user, obj/item/I) @@ -407,12 +407,15 @@ var/xray_module if(isXRay(TRUE)) xray_module = "xray" + if(!status) icon_state = "[xray_module][default_camera_icon]_off" - else if (machine_stat & EMPED) + return ..() + if(machine_stat & EMPED) icon_state = "[xray_module][default_camera_icon]_emp" - else - icon_state = "[xray_module][default_camera_icon][in_use_lights ? "_in_use" : ""]" + return ..() + icon_state = "[xray_module][default_camera_icon][in_use_lights ? "_in_use" : ""]" + return ..() /obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = 1) status = !status @@ -443,7 +446,7 @@ visible_message("\The [src] [change_msg]!") playsound(src, 'sound/items/wirecutter.ogg', 100, TRUE) - update_icon() //update Initialize() if you remove this. + update_appearance() //update Initialize() if you remove this. // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index a8e565e5b056..dcf280ec72d5 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -70,11 +70,12 @@ /obj/structure/camera_assembly/update_icon_state() icon_state = "[xray_module ? "xray" : null][initial(icon_state)]" + return ..() /obj/structure/camera_assembly/handle_atom_del(atom/A) if(A == xray_module) xray_module = null - update_icon() + update_appearance() if(malf_xray_firmware_present) malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. if(istype(loc, /obj/machinery/camera)) @@ -110,7 +111,7 @@ xray_module = null if(malf_xray_firmware_present) malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. - update_icon() + update_appearance() else if(I == emp_module) emp_module = null @@ -175,7 +176,7 @@ if(malf_xray_firmware_active) malf_xray_firmware_active = FALSE //flavor reason: MALF AI Upgrade Camera Network ability's firmware is incompatible with the new part //real reason: make it a normal upgrade so the finished camera's icons and examine texts are restored. - update_icon() + update_appearance() return else if(istype(W, /obj/item/assembly/prox_sensor)) //motion sensing upgrade diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index 29f2910b3746..8f57ad09203a 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -113,12 +113,12 @@ assembly.malf_xray_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. upgrades |= CAMERA_UPGRADE_XRAY - update_icon() + update_appearance() /obj/machinery/camera/proc/removeXRay(ignore_malf_upgrades) if(!ignore_malf_upgrades) //don't downgrade it if malf software is forced onto it. upgrades &= ~CAMERA_UPGRADE_XRAY - update_icon() + update_appearance() diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 7979fd612338..e1be8d8e4453 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -54,7 +54,7 @@ charging = W user.visible_message("[user] inserts a cell into [src].", "You insert a cell into [src].") - update_icon() + update_appearance() else if(!charging && default_deconstruction_screwdriver(user, icon_state, icon_state, W)) return @@ -74,9 +74,9 @@ return ..() /obj/machinery/cell_charger/proc/removecell() - charging.update_icon() + charging.update_appearance() charging = null - update_icon() + update_appearance() /obj/machinery/cell_charger/attack_hand(mob/user) . = ..() @@ -127,4 +127,4 @@ use_power(charge_rate) charging.give(charge_rate) //this is 2558, efficient batteries exist - update_icon() + update_appearance() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 991a89ffb8bc..60c41eeeb921 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -97,7 +97,7 @@ beaker = new_beaker else beaker = null - update_icon() + update_appearance() return TRUE /obj/machinery/clonepod/ui_interact(mob/user, datum/tgui/ui) @@ -209,7 +209,7 @@ INVOKE_ASYNC(src, .proc/horrifyingsound) mess = TRUE icon_state = "pod_g" - update_icon() + update_appearance() return NONE attempting = TRUE //One at a time!! countdown.start() diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index aa9fabbcfd77..49b13bb0c2c9 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -36,8 +36,6 @@ /obj/machinery/computer/update_overlays() . = ..() - - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) if(machine_stat & BROKEN) SSvis_overlays.add_vis_overlay(src, icon, "[icon_state]_broken", layer, plane, dir) return @@ -114,7 +112,7 @@ to_chat(user, "You disconnect the monitor.") newframe.state = 4 circuit = null - newframe.update_icon() + newframe.update_appearance() for(var/obj/internal_objects in src) internal_objects.forceMove(loc) qdel(src) diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 2aba0a8b6124..77cf776158fc 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -82,7 +82,7 @@ var/oldstat = occupier.stat restoring = Fix() if(oldstat != occupier.stat) - update_icon() + update_appearance() /obj/machinery/computer/aifixer/update_overlays() . = ..() @@ -91,14 +91,14 @@ if(restoring) . += "ai-fixer-on" - if (occupier) - switch (occupier.stat) - if (CONSCIOUS) - . += "ai-fixer-full" - if (UNCONSCIOUS, HARD_CRIT) - . += "ai-fixer-404" - else + if(!occupier) . += "ai-fixer-empty" + return + switch(occupier.stat) + if(CONSCIOUS) + . += "ai-fixer-full" + if(UNCONSCIOUS, HARD_CRIT) + . += "ai-fixer-404" /obj/machinery/computer/aifixer/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(!..()) @@ -115,7 +115,7 @@ to_chat(AI, "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here.") to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null - update_icon() + update_appearance() else //Uploading AI from terminal to card if(occupier && !restoring) @@ -124,7 +124,7 @@ occupier.forceMove(card) card.AI = occupier occupier = null - update_icon() + update_appearance() else if (restoring) to_chat(user, "ERROR: Reconstruction in progress.") else if (!occupier) diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 1c3f8a943f39..eb43515d6e47 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -26,7 +26,7 @@ playsound(active_apc, 'sound/machines/boltsdown.ogg', 25, FALSE) playsound(active_apc, 'sound/machines/terminal_alert.ogg', 50, FALSE) active_apc.locked = TRUE - active_apc.update_icon() + active_apc.update_appearance() active_apc.remote_control = null active_apc = null @@ -127,7 +127,7 @@ playsound(active_apc, 'sound/machines/boltsdown.ogg', 25, FALSE) playsound(active_apc, 'sound/machines/terminal_alert.ogg', 50, FALSE) active_apc.locked = TRUE - active_apc.update_icon() + active_apc.update_appearance() active_apc.remote_control = null active_apc = null APC.remote_control = src @@ -140,7 +140,7 @@ playsound(APC, 'sound/machines/boltsup.ogg', 25, FALSE) playsound(APC, 'sound/machines/terminal_alert.ogg', 50, FALSE) APC.locked = FALSE - APC.update_icon() + APC.update_appearance() active_apc = APC if("check-logs") log_activity("Checked Logs") @@ -154,7 +154,7 @@ if(!target) return target.vars[type] = target.setsubsystem(text2num(value)) - target.update_icon() + target.update_appearance() target.update() var/setTo = "" switch(target.vars[type]) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index d30a07c9a029..94b57a2d9f57 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -136,7 +136,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return prizevend(user) T.pay_tickets() - T.update_icon() + T.update_appearance() O = T to_chat(user, "You turn in 2 tickets to the [src] and claim a prize!") return diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 98ee1dc56ce0..7a64743c900b 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -62,7 +62,7 @@ to_chat(usr, "Minor alarm for [zone] cleared.") minor_alarms -= zone . = TRUE - update_icon() + update_appearance() /obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency) SSradio.remove_object(src, receive_frequency) @@ -85,7 +85,7 @@ priority_alarms += zone else if (severity == "minor") minor_alarms += zone - update_icon() + update_appearance() return /obj/machinery/computer/atmos_alert/update_overlays() @@ -94,5 +94,6 @@ return if(priority_alarms.len) . += "alert:2" - else if(minor_alarms.len) + return + if(minor_alarms.len) . += "alert:1" diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 414989edabaf..81d2860473c7 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -45,6 +45,7 @@ /obj/machinery/air_sensor/update_icon_state() icon_state = "gsensor[on]" + return ..() /obj/machinery/air_sensor/process_atmos() if(on) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 917a9ff9a24d..e4e98f28b21e 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -46,7 +46,7 @@ to_chat(user, "You place [P] inside the frame.") circuit = P circuit.add_fingerprint(user) - update_icon() + update_appearance() return else if(istype(P, /obj/item/circuitboard) && !circuit) @@ -56,7 +56,7 @@ P.play_tool_sound(src) to_chat(user, "You screw [circuit] into place.") state = 2 - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR && circuit) P.play_tool_sound(src) @@ -65,14 +65,14 @@ circuit.forceMove(drop_location()) circuit.add_fingerprint(user) circuit = null - update_icon() + update_appearance() return if(2) if(P.tool_behaviour == TOOL_SCREWDRIVER && circuit) P.play_tool_sound(src) to_chat(user, "You unfasten the circuit board.") state = 1 - update_icon() + update_appearance() return if(istype(P, /obj/item/stack/cable_coil)) if(!P.tool_start_check(user, amount=5)) @@ -83,14 +83,14 @@ return to_chat(user, "You add cables to the frame.") state = 3 - update_icon() + update_appearance() return if(3) if(P.tool_behaviour == TOOL_WIRECUTTER) P.play_tool_sound(src) to_chat(user, "You remove the cables.") state = 2 - update_icon() + update_appearance() var/obj/item/stack/cable_coil/A = new (drop_location(), 5) A.add_fingerprint(user) return @@ -105,14 +105,14 @@ return to_chat(user, "You put in the glass panel.") state = 4 - update_icon() + update_appearance() return if(4) if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) to_chat(user, "You remove the glass panel.") state = 3 - update_icon() + update_appearance() var/obj/item/stack/sheet/glass/G = new(drop_location(), 2) G.add_fingerprint(user) return @@ -126,7 +126,7 @@ built_comp.icon = built_icon built_comp.icon_state = built_icon_state built_comp.deconpath = deconpath - built_comp.update_icon() + built_comp.update_appearance() qdel(src) return if(user.a_intent == INTENT_HARM) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 097f538666d0..3275bb33f272 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -254,6 +254,7 @@ icon_state = initial(icon_state) if(machine_stat & BROKEN) icon_state += "b" + return ..() /obj/machinery/computer/security/telescreen/entertainment name = "entertainment monitor" diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index bba4799e08b0..6c83c0389487 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -69,13 +69,13 @@ switch(action) if("regimeset") power_station.engaged = FALSE - power_station.teleporter_hub.update_icon() + power_station.teleporter_hub.update_appearance() power_station.teleporter_hub.calibrated = FALSE reset_regime() . = TRUE if("settarget") power_station.engaged = FALSE - power_station.teleporter_hub.update_icon() + power_station.teleporter_hub.update_appearance() power_station.teleporter_hub.calibrated = FALSE set_target(usr) . = TRUE @@ -89,7 +89,7 @@ say("Processing hub calibration to target...") calibrating = TRUE - power_station.update_icon() + power_station.update_appearance() addtimer(CALLBACK(src, .proc/finish_calibration), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration . = TRUE @@ -100,7 +100,7 @@ say("Calibration complete.") else say("Error: Unable to detect hub.") - power_station.update_icon() + power_station.update_appearance() /obj/machinery/computer/teleporter/proc/check_hub_connection() if(!power_station) @@ -164,10 +164,10 @@ target_station.set_machine_stat(target_station.machine_stat & ~NOPOWER) if(target_station.teleporter_hub) target_station.teleporter_hub.set_machine_stat(target_station.teleporter_hub.machine_stat & ~NOPOWER) - target_station.teleporter_hub.update_icon() + target_station.teleporter_hub.update_appearance() if(target_station.teleporter_console) target_station.teleporter_console.set_machine_stat(target_station.teleporter_console.machine_stat & ~NOPOWER) - target_station.teleporter_console.update_icon() + target_station.teleporter_console.update_appearance() /obj/machinery/computer/teleporter/proc/is_eligible(atom/movable/AM) var/turf/T = get_turf(AM) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 22b408c6eb9b..3ca0dd7390f1 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -179,7 +179,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) return ..() /obj/machinery/cryopod/LateInitialize() - update_icon() + update_appearance() find_control_computer() /obj/machinery/cryopod/proc/find_control_computer(urgent = FALSE) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 4a91f9481061..dc66649c0aa9 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -54,10 +54,8 @@ return ..() /obj/machinery/jukebox/update_icon_state() - if(active) - icon_state = "[initial(icon_state)]-active" - else - icon_state = "[initial(icon_state)]" + icon_state = "[initial(icon_state)]-[active ? "active" : null]" + return ..() /obj/machinery/jukebox/ui_status(mob/user) if(!anchored) @@ -155,7 +153,7 @@ var/jukeboxslottotake = SSjukeboxes.addjukebox(src, selection, 2) //WS Edit Cit #7367 & #7458 if(jukeboxslottotake) active = TRUE - update_icon() + update_appearance() START_PROCESSING(SSobj, src) stop = world.time + selection.song_length return TRUE @@ -453,7 +451,7 @@ active = FALSE dance_over() playsound(src,'sound/machines/terminal_off.ogg',50,TRUE) - update_icon() + update_appearance() stop = world.time + 100 /obj/machinery/jukebox/disco/process() diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 2b1f9c26d85c..f3fa616032d3 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -87,7 +87,7 @@ // Make sure the defib is set before processing begins. defib = I begin_processing() - update_icon() + update_appearance() return else if(defib && I == defib.paddles) defib.paddles.snap_back() @@ -100,7 +100,7 @@ return clamps_locked = !clamps_locked to_chat(user, "Clamps [clamps_locked ? "" : "dis"]engaged.") - update_icon() + update_appearance() else to_chat(user, "Insufficient access.") return @@ -123,7 +123,7 @@ "You override the locking clamps on [src]!") playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) clamps_locked = FALSE - update_icon() + update_appearance() return TRUE /obj/machinery/defibrillator_mount/wrench_act(mob/living/user, obj/item/wrench/W) @@ -159,7 +159,7 @@ // Make sure processing ends before the defib is nulled end_processing() defib = null - update_icon() + update_appearance() /obj/machinery/defibrillator_mount/charging name = "PENLITE defibrillator mount" @@ -189,7 +189,7 @@ if(C.charge < C.maxcharge) use_power(100) C.give(80) - update_icon() + update_appearance() //wallframe, for attaching the mounts easily /obj/item/wallframe/defib_mount diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 8d62bcf287cb..baf3d6ae2cc1 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -125,6 +125,6 @@ playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) playsound(bin, 'sound/items/pshoom.ogg', 50, TRUE) Beam(bin, icon_state = "rped_upgrade", time = 5) - bin.update_icon() + bin.update_appearance() flick("synthesizer_beam", src) time_since_dishes = world.time + 600 diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index edeab10e73bf..7fd0f3262273 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -3,6 +3,7 @@ desc = "It scans DNA structures." icon = 'icons/obj/machines/cloning.dmi' icon_state = "scanner" + base_icon_state = "scanner" density = TRUE use_power = IDLE_POWER_USE idle_power_usage = 50 @@ -36,20 +37,21 @@ /obj/machinery/dna_scannernew/update_icon_state() //no power or maintenance if(machine_stat & (NOPOWER|BROKEN)) - icon_state = initial(icon_state)+ (state_open ? "_open" : "") + "_unpowered" - return + icon_state = "[base_icon_state][state_open ? "_open" : null]_unpowered" + return ..() if((machine_stat & MAINT) || panel_open) - icon_state = initial(icon_state)+ (state_open ? "_open" : "") + "_maintenance" - return + icon_state = "[base_icon_state][state_open ? "_open" : null]_maintenance" + return ..() //running and someone in there if(occupant) - icon_state = initial(icon_state)+ "_occupied" - return + icon_state = "[base_icon_state]_occupied" + return ..() //running - icon_state = initial(icon_state)+ (state_open ? "_open" : "") + icon_state = "[base_icon_state][state_open ? "_open" : null]" + return ..() /obj/machinery/dna_scannernew/proc/toggle_open(mob/user) if(panel_open) @@ -125,7 +127,7 @@ /obj/machinery/dna_scannernew/attackby(obj/item/I, mob/user, params) if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed + update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(default_pry_open(I)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index f666121e3b5f..525811b23ffc 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -147,7 +147,7 @@ RegisterSignal(src, COMSIG_MACHINERY_BROKEN, .proc/on_break) - update_icon() + update_appearance() var/static/list/connections = list( COMSIG_ATOM_ENTERED = .proc/on_entered, @@ -185,7 +185,7 @@ welded = TRUE if(24 to 30) panel_open = TRUE - update_icon() + update_appearance() /obj/machinery/door/airlock/ComponentInitialize() . = ..() @@ -204,7 +204,7 @@ SIGNAL_HANDLER if(density && has_hatch && (mover.pass_flags & PASSDOORHATCH) && !hatchstate) hatchstate = 1 - update_icon() + update_appearance() playsound(loc, hatch_open_sound, 40, 1, -1, mono_adj = TRUE) if(mover.layer != initial(mover.layer)) return @@ -218,7 +218,7 @@ /obj/machinery/door/airlock/proc/close_hatch() hatchstate = 0 - update_icon() + update_appearance() playsound(loc, hatch_close_sound, 30, 1, -1, mono_adj = TRUE) /obj/machinery/door/airlock/proc/update_other_id() @@ -346,7 +346,7 @@ return emergency = !emergency - update_icon() + update_appearance() /obj/machinery/door/airlock/lock() bolt() @@ -357,7 +357,7 @@ locked = TRUE playsound(src, boltDown, 30, FALSE, 3, mono_adj = TRUE) audible_message("You hear a click from the bottom of the door.", null, 1) - update_icon() + update_appearance() /obj/machinery/door/airlock/unlock() unbolt() @@ -368,7 +368,7 @@ locked = FALSE playsound(src, boltUp, 30, FALSE, 3, mono_adj = TRUE) audible_message("You hear a click from the bottom of the door.", null, 1) - update_icon() + update_appearance() /obj/machinery/door/airlock/narsie_act() var/turf/T = get_turf(src) @@ -412,10 +412,10 @@ /obj/machinery/door/airlock/handle_atom_del(atom/A) if(A == note) note = null - update_icon() + update_appearance() if(A == seal) seal = null - update_icon() + update_appearance() /obj/machinery/door/airlock/bumpopen(mob/living/user) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite if(!issilicon(usr)) @@ -469,7 +469,7 @@ /obj/machinery/door/airlock/proc/regainMainPower() if(secondsMainPowerLost > 0) secondsMainPowerLost = 0 - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/handlePowerRestore() var/cont = TRUE @@ -490,7 +490,7 @@ cont = TRUE spawnPowerRestoreRunning = FALSE updateDialog() - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/loseMainPower() if(secondsMainPowerLost <= 0) @@ -500,7 +500,7 @@ if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE INVOKE_ASYNC(src, .proc/handlePowerRestore) - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/loseBackupPower() if(secondsBackupPowerLost < 60) @@ -508,12 +508,12 @@ if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE INVOKE_ASYNC(src, .proc/handlePowerRestore) - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/regainBackupPower() if(secondsBackupPowerLost > 0) secondsBackupPowerLost = 0 - update_icon() + update_appearance() // shock user with probability prb (if all connections & power are working) // returns TRUE if shocked, FALSE otherwise @@ -533,23 +533,31 @@ else return FALSE -/obj/machinery/door/airlock/update_icon(state=0, override=0) +/obj/machinery/door/airlock/update_icon(updates=ALL, state=0, override=FALSE) if(operating && !override) return - switch(state) - if(0) - if(density) - state = AIRLOCK_CLOSED - else - state = AIRLOCK_OPEN - icon_state = "" + if(!state) + state = density ? AIRLOCK_CLOSED : AIRLOCK_OPEN + airlock_state = state + + . = ..() + + if(hasPower() && unres_sides) + set_light(2, 1) + else + set_light(0) + +/obj/machinery/door/airlock/update_icon_state() + . = ..() + switch(airlock_state) if(AIRLOCK_OPEN, AIRLOCK_CLOSED) icon_state = "" if(AIRLOCK_DENY, AIRLOCK_OPENING, AIRLOCK_CLOSING, AIRLOCK_EMAG) icon_state = "nonexistenticonstate" //MADNESS - set_airlock_overlays(state) -/obj/machinery/door/airlock/proc/set_airlock_overlays(state) +/obj/machinery/door/airlock/update_overlays() + . = ..() + var/mutable_appearance/frame_overlay var/mutable_appearance/filling_overlay var/mutable_appearance/lights_overlay @@ -562,7 +570,7 @@ var/notetype = note_type() var/mutable_appearance/hatch_overlay - switch(state) + switch(airlock_state) if(AIRLOCK_CLOSED) frame_overlay = get_airlock_overlay("closed", icon) if(airlock_material) @@ -700,64 +708,57 @@ if(has_hatch) hatch_overlay = get_airlock_overlay("hatch_opening", icon) - cut_overlays() - add_overlay(frame_overlay) - add_overlay(filling_overlay) - add_overlay(lights_overlay) - add_overlay(panel_overlay) - add_overlay(weld_overlay) - add_overlay(sparks_overlay) - add_overlay(damag_overlay) - add_overlay(note_overlay) - add_overlay(hatch_overlay) //WS edit - Drone hatches - add_overlay(seal_overlay) - check_unres() + . += frame_overlay + . += filling_overlay + . += lights_overlay + . += panel_overlay + . += weld_overlay + . += sparks_overlay + . += damag_overlay + . += note_overlay + . += seal_overlay + . += hatch_overlay -/proc/get_airlock_overlay(icon_state, icon_file) - var/obj/machinery/door/airlock/A - pass(A) //suppress unused warning - var/list/airlock_overlays = A.airlock_overlays - var/iconkey = "[icon_state][icon_file]" - if((!(. = airlock_overlays[iconkey]))) - . = airlock_overlays[iconkey] = mutable_appearance(icon_file, icon_state) - -/obj/machinery/door/airlock/proc/check_unres() //unrestricted sides. This overlay indicates which directions the player can access even without an ID if(hasPower() && unres_sides) if(unres_sides & NORTH) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") I.pixel_y = 32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I if(unres_sides & SOUTH) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") I.pixel_y = -32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I if(unres_sides & EAST) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") I.pixel_x = 32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I if(unres_sides & WEST) var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") I.pixel_x = -32 - set_light(l_range = 2, l_power = 1) - add_overlay(I) + . += I else set_light(0) +/proc/get_airlock_overlay(icon_state, icon_file) + var/obj/machinery/door/airlock/A + pass(A) //suppress unused warning + var/list/airlock_overlays = A.airlock_overlays + var/iconkey = "[icon_state][icon_file]" + if((!(. = airlock_overlays[iconkey]))) + . = airlock_overlays[iconkey] = mutable_appearance(icon_file, icon_state) + /obj/machinery/door/airlock/do_animate(animation) switch(animation) if("opening") - update_icon(AIRLOCK_OPENING) + update_icon(ALL, AIRLOCK_OPENING) if("closing") - update_icon(AIRLOCK_CLOSING) + update_icon(ALL, AIRLOCK_CLOSING) if("deny") if(!machine_stat) - update_icon(AIRLOCK_DENY) + update_icon(ALL, AIRLOCK_DENY) playsound(src, doorDeni, 50, FALSE, 3, mono_adj = TRUE) sleep(6) - update_icon(AIRLOCK_CLOSED) + update_icon(ALL, AIRLOCK_CLOSED) /obj/machinery/door/airlock/examine(mob/user) . = ..() @@ -875,7 +876,7 @@ user.visible_message("[user] grabs [note] from [src].", "You remove [note] from [src].") user.put_in_hands(note) note = null - update_icon() //WS end + update_appearance() //WS end return TRUE if(locked && allowed(user) && aac) aac.request_from_door(src) @@ -963,7 +964,7 @@ user.visible_message("[user] reinforces \the [src] with metal.", "You reinforce \the [src] with metal.") security_level = AIRLOCK_SECURITY_METAL - update_icon() + update_appearance() return else if(istype(C, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/S = C @@ -979,7 +980,7 @@ security_level = AIRLOCK_SECURITY_PLASTEEL modify_max_integrity(max_integrity * AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R - update_icon() + update_appearance() return if(AIRLOCK_SECURITY_METAL) if(C.tool_behaviour == TOOL_WELDER) @@ -994,7 +995,7 @@ "You hear welding.") security_level = AIRLOCK_SECURITY_NONE spawn_atom_to_turf(/obj/item/stack/sheet/metal, user.loc, 2) - update_icon() + update_appearance() return if(AIRLOCK_SECURITY_PLASTEEL_I_S) if(C.tool_behaviour == TOOL_CROWBAR) @@ -1011,7 +1012,7 @@ modify_max_integrity(max_integrity / AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_N spawn_atom_to_turf(/obj/item/stack/sheet/plasteel, user.loc, 1) - update_icon() + update_appearance() return if(AIRLOCK_SECURITY_PLASTEEL_I) if(C.tool_behaviour == TOOL_WELDER) @@ -1071,13 +1072,13 @@ panel_open = !panel_open to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the airlock.") C.play_tool_sound(src) - update_icon() + update_appearance() else if((C.tool_behaviour == TOOL_WIRECUTTER) && note) user.visible_message("[user] cuts down [note] from [src].", "You remove [note] from [src].") C.play_tool_sound(src) note.forceMove(get_turf(user)) note = null - update_icon() + update_appearance() else if(is_wire_tool(C) && panel_open) attempt_wire_interaction(user) return @@ -1111,7 +1112,7 @@ user.visible_message("[user] finishes sealing [src].", "You finish sealing [src].") seal = airlockseal modify_max_integrity(max_integrity * AIRLOCK_SEAL_MULTIPLIER) - update_icon() + update_appearance() else if(istype(C, /obj/item/paper) || istype(C, /obj/item/photo)) if(note) @@ -1122,7 +1123,7 @@ return user.visible_message("[user] pins [C] to [src].", "You pin [C] to [src].") note = C - update_icon() + update_appearance() else return ..() @@ -1142,7 +1143,7 @@ welded = !welded user.visible_message("[user] [welded? "welds shut":"unwelds"] [src].", \ "You [welded ? "weld the airlock shut":"unweld the airlock"].") - update_icon() + update_appearance() else if(obj_integrity < max_integrity) if(!W.tool_start_check(user, amount=0)) @@ -1155,7 +1156,7 @@ set_machine_stat(machine_stat & ~BROKEN) user.visible_message("[user] finishes welding [src].", \ "You finish repairing the airlock.") - update_icon() + update_appearance() else to_chat(user, "The airlock doesn't need repairing.") @@ -1188,7 +1189,7 @@ user.visible_message("[user] finishes removing the seal from [src].", "You finish removing [src]'s pneumatic seal.") seal = null modify_max_integrity(max_integrity / AIRLOCK_SEAL_MULTIPLIER) - update_icon() + update_appearance() return TRUE @@ -1265,7 +1266,7 @@ if(!density) return TRUE operating = TRUE - update_icon(AIRLOCK_OPENING, 1) + update_icon(ALL, AIRLOCK_OPENING, TRUE) sleep(1) set_opacity(0) update_freelook_sight() @@ -1275,7 +1276,7 @@ air_update_turf(1) sleep(1) layer = OPEN_DOOR_LAYER - update_icon(AIRLOCK_OPEN, 1) + update_icon(ALL, AIRLOCK_OPEN, TRUE) operating = FALSE if(delayed_close_requested) delayed_close_requested = FALSE @@ -1310,7 +1311,7 @@ SSexplosions.medobj += killthis operating = TRUE - update_icon(AIRLOCK_CLOSING, 1) + update_icon(ALL, AIRLOCK_CLOSING, 1) layer = CLOSED_DOOR_LAYER if(air_tight) density = TRUE @@ -1328,7 +1329,7 @@ set_opacity(1) update_freelook_sight() sleep(1) - update_icon(AIRLOCK_CLOSED, 1) + update_icon(ALL, AIRLOCK_CLOSED, 1) operating = FALSE delayed_close_requested = FALSE if(safe) @@ -1365,7 +1366,7 @@ icon = airlock.icon overlays_file = airlock.overlays_file assemblytype = airlock.assemblytype - update_icon() + update_appearance() // these are just hanging around but are never placed, we need to delete them qdel(airlock) @@ -1378,13 +1379,13 @@ /obj/machinery/door/airlock/emag_act(mob/user) if(!operating && density && hasPower() && !(obj_flags & EMAGGED)) operating = TRUE - update_icon(AIRLOCK_EMAG, 1) + update_icon(ALL, AIRLOCK_EMAG, 1) sleep(6) if(QDELETED(src)) return operating = FALSE if(!open()) - update_icon(AIRLOCK_CLOSED, 1) + update_icon(ALL, AIRLOCK_CLOSED, 1) obj_flags |= EMAGGED lights = FALSE locked = TRUE @@ -1467,7 +1468,7 @@ /obj/machinery/door/airlock/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() if(obj_integrity < (0.75 * max_integrity)) - update_icon() + update_appearance() /obj/machinery/door/airlock/deconstruct(disassembled = TRUE, mob/user) @@ -1485,7 +1486,7 @@ A.created_name = name A.previous_assembly = previous_airlock A.update_name() - A.update_icon() + A.update_appearance() A.dir = dir if(!disassembled) @@ -1596,14 +1597,14 @@ if("disrupt-main") if(!secondsMainPowerLost) loseMainPower() - update_icon() + update_appearance() else to_chat(usr, "Main power is already offline.") . = TRUE if("disrupt-backup") if(!secondsBackupPowerLost) loseBackupPower() - update_icon() + update_appearance() else to_chat(usr, "Backup power is already offline.") . = TRUE @@ -1627,7 +1628,7 @@ . = TRUE if("light-toggle") lights = !lights - update_icon() + update_appearance() . = TRUE if("safe-toggle") safe = !safe @@ -1686,7 +1687,7 @@ if(!user_allowed(user)) return emergency = !emergency - update_icon() + update_appearance() /obj/machinery/door/airlock/proc/user_toggle_open(mob/user) if(!user_allowed(user)) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 7d6edd417451..1d9525cf014f 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -253,7 +253,7 @@ DA.glass = TRUE if(heat_proof) DA.heat_proof_finished = TRUE - DA.update_icon() + DA.update_appearance() DA.update_name() qdel(src) @@ -539,7 +539,7 @@ name = "airlock" desc = "It opens and closes." stealthy = TRUE - update_icon() + update_appearance() /obj/machinery/door/airlock/cult/proc/reveal() icon = initial(icon) @@ -547,7 +547,7 @@ name = initial(name) desc = initial(desc) stealthy = initial(stealthy) - update_icon() + update_appearance() /obj/machinery/door/airlock/cult/narsie_act() return diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 53f0f27e06a6..7013d3f68a7a 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -65,7 +65,7 @@ if(!targets.len) obj_break() - update_icon() + update_appearance() //Main door timer loop, if it's timing and time is >0 reduce time by 1. @@ -78,7 +78,7 @@ if(timing) if(world.time - activation_time >= timer_duration) timer_end() // open doors, reset timer, clear status screen - update_icon() + update_appearance() // open/closedoor checks if door_timer has power, if so it checks if the // linked door is open/closed (by density) then opens it/closes it. @@ -105,7 +105,7 @@ if(C.opened && !C.close()) continue C.locked = TRUE - C.update_icon() + C.update_appearance() return 1 @@ -121,7 +121,7 @@ timing = FALSE activation_time = null set_timer(0) - update_icon() + update_appearance() for(var/obj/machinery/door/window/brigdoor/door in targets) if(!door.density) @@ -139,7 +139,7 @@ if(C.opened) continue C.locked = FALSE - C.update_icon() + C.update_appearance() return 1 @@ -165,8 +165,8 @@ // if BROKEN, display blue screen of death icon AI uses // if timing=true, run update display function /obj/machinery/door_timer/update_icon() + . = ..() if(machine_stat & (NOPOWER)) - icon_state = "frame" return if(machine_stat & (BROKEN)) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index d5bce4b0fcd6..44b7c827daa1 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -3,6 +3,7 @@ desc = "It opens and closes." icon = 'icons/obj/doors/Doorint.dmi' icon_state = "door1" + base_icon_state = "door" opacity = TRUE density = TRUE move_resist = MOVE_FORCE_VERY_STRONG @@ -301,10 +302,8 @@ secondsElectrified = MACHINE_NOT_ELECTRIFIED /obj/machinery/door/update_icon_state() - if(density) - icon_state = "door1" - else - icon_state = "door0" + icon_state = "[base_icon_state][density]" + return ..() /obj/machinery/door/proc/do_animate(animation) switch(animation) @@ -336,7 +335,7 @@ flags_1 &= ~PREVENT_CLICK_UNDER_1 sleep(5) layer = initial(layer) - update_icon() + update_appearance() set_opacity(0) operating = FALSE air_update_turf(1) @@ -367,7 +366,7 @@ density = TRUE flags_1 |= PREVENT_CLICK_UNDER_1 sleep(5) - update_icon() + update_appearance() if(visible && !glass) set_opacity(1) operating = FALSE diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index ce132893a74b..c5deb7b29750 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -164,7 +164,7 @@ if(W.use_tool(src, user, 40, volume=50)) welded = !welded to_chat(user, "[user] [welded?"welds":"unwelds"] [src].", "You [welded ? "weld" : "unweld"] [src].") - update_icon() + update_appearance() /obj/machinery/door/firedoor/try_to_crowbar(obj/item/I, mob/user) if(welded || operating) @@ -222,19 +222,14 @@ flick("door_closing", src) /obj/machinery/door/firedoor/update_icon_state() - if(density) - icon_state = "door_closed" - else - icon_state = "door_open" + . = ..() + icon_state = "[base_icon_state]_[density ? "closed" : "open"]" /obj/machinery/door/firedoor/update_overlays() . = ..() if(!welded) return - if(density) - . += "welded" - else - . += "welded_open" + . += density ? "welded" : "welded_open" /obj/machinery/door/firedoor/open() playsound(loc, door_open_sound, 90, TRUE) @@ -311,7 +306,7 @@ else F.constructionStep = CONSTRUCTION_WIRES_EXPOSED F.obj_integrity = F.max_integrity * 0.5 - F.update_icon() + F.update_appearance() qdel(src) @@ -495,6 +490,7 @@ desc = "A partially completed firelock." icon = 'icons/obj/doors/doorfire.dmi' icon_state = "frame1" + base_icon_state = "frame" anchored = FALSE density = TRUE var/constructionStep = CONSTRUCTION_NOCIRCUIT @@ -516,7 +512,8 @@ . += "There are no firelock electronics in the frame. The frame could be cut apart." /obj/structure/firelock_frame/update_icon_state() - icon_state = "frame[constructionStep]" + icon_state = "[base_icon_state][constructionStep]" + return ..() /obj/structure/firelock_frame/attackby(obj/item/C, mob/user) switch(constructionStep) @@ -535,7 +532,7 @@ "[user] pries out a metal plate from [src], exposing the wires.", \ "You remove the cover plate from [src], exposing the wires.") constructionStep = CONSTRUCTION_WIRES_EXPOSED - update_icon() + update_appearance() return if(C.tool_behaviour == TOOL_WRENCH) var/obj/machinery/door/firedoor/A = locate(/obj/machinery/door/firedoor) in get_turf(src) @@ -560,7 +557,7 @@ else var/obj/machinery/door/firedoor/F = new firelock_type(get_turf(src)) F.dir = src.dir - F.update_icon() + F.update_appearance() qdel(src) return if(istype(C, /obj/item/stack/sheet/plasteel)) @@ -601,7 +598,7 @@ "You remove the wiring from [src], exposing the circuit board.") new/obj/item/stack/cable_coil(get_turf(src), 5) constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return if(C.tool_behaviour == TOOL_CROWBAR) C.play_tool_sound(src) @@ -617,7 +614,7 @@ "[user] pries the metal plate into [src].", \ "You pry [src]'s cover plate into place, hiding the wires.") constructionStep = CONSTRUCTION_PANEL_OPEN - update_icon() + update_appearance() return if(CONSTRUCTION_GUTTED) if(C.tool_behaviour == TOOL_CROWBAR) @@ -633,7 +630,7 @@ "You remove the circuit board from [src].") new /obj/item/electronics/firelock(drop_location()) constructionStep = CONSTRUCTION_NOCIRCUIT - update_icon() + update_appearance() return if(istype(C, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/B = C @@ -653,7 +650,7 @@ playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) B.use(5) constructionStep = CONSTRUCTION_WIRES_EXPOSED - update_icon() + update_appearance() return if(CONSTRUCTION_NOCIRCUIT) if(C.tool_behaviour == TOOL_WELDER) @@ -690,7 +687,7 @@ "You insert and secure [C].") playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return if(istype(C, /obj/item/electroadaptive_pseudocircuit)) var/obj/item/electroadaptive_pseudocircuit/P = C @@ -699,7 +696,7 @@ user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt a firelock circuit and slot it into the assembly.") constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return return ..() @@ -716,7 +713,7 @@ user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt a firelock circuit and slot it into the assembly.") constructionStep = CONSTRUCTION_GUTTED - update_icon() + update_appearance() return TRUE if(RCD_DECONSTRUCT) to_chat(user, "You deconstruct [src].") @@ -778,8 +775,8 @@ icon = 'icons/obj/doors/doorfirewindow.dmi' icon_state = "door_frame" -/obj/structure/firelock_frame/window/update_icon() - return +/obj/structure/firelock_frame/window/update_appearance() + return ..() #undef CONSTRUCTION_COMPLETE diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index e2fe57e42669..a788bb603a6e 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -43,10 +43,8 @@ do_animate("deny") /obj/machinery/door/password/update_icon_state() - if(density) - icon_state = "closed" - else - icon_state = "open" + . = ..() + icon_state = density ? "closed" : "open" /obj/machinery/door/password/do_animate(animation) switch(animation) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index a55b68c5593d..56418d523b1d 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -63,7 +63,7 @@ assembly.state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS assembly.created_name = name assembly.update_name() - assembly.update_icon() + assembly.update_appearance() assembly.welded = TRUE assembly.dir = dir new /obj/item/electronics/airlock(loc) @@ -136,10 +136,8 @@ playsound(src, close_sound, 30, FALSE) /obj/machinery/door/poddoor/update_icon_state() - if(density) - icon_state = "closed" - else - icon_state = "open" + . = ..() + icon_state = density ? "closed" : "open" /obj/machinery/door/poddoor/try_to_activate_door(mob/user) return diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 17cf7a62e539..e10f0786489c 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -58,10 +58,8 @@ return ..() /obj/machinery/door/window/update_icon_state() - if(density) - icon_state = base_state - else - icon_state = "[base_state]open" + . = ..() + icon_state = "[base_state][density ? null : "open"]" /obj/machinery/door/window/proc/open_and_close() if(!open()) @@ -267,7 +265,7 @@ WA.set_anchored(TRUE) WA.state= "02" WA.setDir(dir) - WA.update_icon() + WA.update_appearance() WA.created_name = name if(obj_flags & EMAGGED) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index ca93d30dfdda..8af3908ec531 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -4,7 +4,7 @@ name = "tachyon-doppler array" desc = "A highly precise directional sensor array which measures the release of quants from decaying tachyons. The doppler shifting of the mirror-image formed by these quants can reveal the size, location and temporal affects of energetic disturbances within a large radius ahead of the array.\n" icon = 'icons/obj/machines/research.dmi' - icon_state = "tdoppler" + base_icon_state = "tdoppler" density = TRUE verb_say = "states coldly" var/cooldown = 10 @@ -187,11 +187,10 @@ /obj/machinery/doppler_array/update_icon_state() if(machine_stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - else if(powered()) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]-off" + icon_state = "[base_icon_state]-broken" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-off"]" + return ..() /obj/machinery/doppler_array/research name = "tachyon-doppler research array" diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index 35eee6d6d1d8..34ffe2c9d6ea 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -168,7 +168,7 @@ playsound(src, work_sound, 50, TRUE) mode = DRONE_PRODUCTION timer = world.time + production_time - update_icon() + update_appearance() if(DRONE_PRODUCTION) materials.use_materials(using_materials) @@ -185,7 +185,7 @@ mode = DRONE_RECHARGING timer = world.time + cooldownTime - update_icon() + update_appearance() if(DRONE_RECHARGING) if(recharge_sound) @@ -194,7 +194,7 @@ visible_message("[src] [recharge_message]") mode = DRONE_READY - update_icon() + update_appearance() /obj/machinery/droneDispenser/proc/count_shells() . = 0 @@ -211,6 +211,9 @@ icon_state = icon_creating else icon_state = icon_on + return ..() + +// icon_state = "["icon"]_[(mode == DRONE_RECHARGING) ? "recharging"]" /obj/machinery/droneDispenser/attackby(obj/item/I, mob/living/user) if(I.tool_behaviour == TOOL_CROWBAR) @@ -240,7 +243,7 @@ set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity - update_icon() + update_appearance() else return ..() diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 6b15dc876b5c..3b1bfbd4b351 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -40,6 +40,7 @@ /obj/machinery/doorButtons/access_button icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_button_standby" + base_icon_state = "access_button" name = "access button" desc = "A button used for the explicit purpose of opening an airlock." var/idDoor @@ -67,7 +68,7 @@ if(controller.machine_stat & NOPOWER) return busy = TRUE - update_icon() + update_appearance() if(door.density) if(!controller.exteriorAirlock || !controller.interiorAirlock) controller.onlyOpen(door) @@ -82,16 +83,14 @@ /obj/machinery/doorButtons/access_button/proc/not_busy() busy = FALSE - update_icon() + update_appearance() /obj/machinery/doorButtons/access_button/update_icon_state() if(machine_stat & NOPOWER) - icon_state = "access_button_off" - else - if(busy) - icon_state = "access_button_cycle" - else - icon_state = "access_button_standby" + icon_state = "[base_icon_state]_off" + return ..() + icon_state = "[base_icon_state]_[busy ? "cycle" : "standby"]" + return ..() /obj/machinery/doorButtons/access_button/removeMe(obj/O) if(O == door) @@ -102,6 +101,7 @@ /obj/machinery/doorButtons/airlock_controller icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_control_standby" + base_icon_state = "access_control" name = "access console" desc = "A small console that can cycle opening between two airlocks." var/obj/machinery/door/airlock/interiorAirlock @@ -148,7 +148,7 @@ /obj/machinery/doorButtons/airlock_controller/proc/onlyOpen(obj/machinery/door/airlock/A) if(A) busy = CLOSING - update_icon() + update_appearance() openDoor(A) /obj/machinery/doorButtons/airlock_controller/proc/onlyClose(obj/machinery/door/airlock/A) @@ -160,7 +160,7 @@ if(A.density) goIdle() return FALSE - update_icon() + update_appearance() A.safe = FALSE //Door crushies, manual door after all. Set every time in case someone changed it, safe doors can end up waiting forever. A.unbolt() if(A.close()) @@ -179,7 +179,7 @@ if(exteriorAirlock.density == interiorAirlock.density || !A.density) return busy = CYCLE - update_icon() + update_appearance() if(A == interiorAirlock) if(closeDoor(exteriorAirlock)) busy = CYCLE_INTERIOR @@ -219,7 +219,7 @@ lostPower = FALSE busy = FALSE if(update) - update_icon() + update_appearance() updateUsrDialog() /obj/machinery/doorButtons/airlock_controller/process() @@ -248,11 +248,9 @@ /obj/machinery/doorButtons/airlock_controller/update_icon_state() if(machine_stat & NOPOWER) icon_state = "access_control_off" - return - if(busy || lostPower) - icon_state = "access_control_process" - else - icon_state = "access_control_standby" + return ..() + icon_state = "[base_icon_state]_[(busy || lostPower) ? "process" : "standby"]" + return ..() /obj/machinery/doorButtons/airlock_controller/ui_interact(mob/user) var/datum/browser/popup = new(user, "computer", name) diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index bb47bcc5a512..a4de8908abfe 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -196,6 +196,7 @@ /obj/machinery/embedded_controller/radio/airlock_controller icon = 'icons/obj/airlock_machines.dmi' icon_state = "airlock_control_standby" + base_icon_state = "airlock_control" name = "airlock console" density = FALSE @@ -257,12 +258,10 @@ /obj/machinery/embedded_controller/radio/airlock_controller/update_icon_state() if(on && program) - if(program.memory["processing"]) - icon_state = "airlock_control_process" - else - icon_state = "airlock_control_standby" - else - icon_state = "airlock_control_off" + icon_state = "[base_icon_state]_[program.memory["processing"] ? "process" : "standby"]" + return ..() + icon_state = "[base_icon_state]_off" + return ..() /obj/machinery/embedded_controller/radio/airlock_controller/return_text() diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 29040acb5242..315f2e128303 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -65,7 +65,7 @@ if(program) program.process() - update_icon() + update_appearance() src.updateDialog() /obj/machinery/embedded_controller/radio diff --git a/code/game/machinery/embedded_controller/simple_vent_controller.dm b/code/game/machinery/embedded_controller/simple_vent_controller.dm index 4de102becb00..931e9eb0f40a 100644 --- a/code/game/machinery/embedded_controller/simple_vent_controller.dm +++ b/code/game/machinery/embedded_controller/simple_vent_controller.dm @@ -55,10 +55,9 @@ program = new_prog /obj/machinery/embedded_controller/radio/simple_vent_controller/update_icon_state() - if(on && program) - icon_state = "airlock_control_standby" - else - icon_state = "airlock_control_off" + icon_state = "[base_icon_state]_[(on && program) ? "standby" : "off"]" + return ..() + /obj/machinery/embedded_controller/radio/simple_vent_controller/return_text() diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm index 0bc2fecce830..28c6d3d3ee2a 100644 --- a/code/game/machinery/fat_sucker.dm +++ b/code/game/machinery/fat_sucker.dm @@ -30,7 +30,7 @@ /obj/machinery/fat_sucker/Initialize() . = ..() soundloop = new(list(src), FALSE) - update_icon() + update_appearance() /obj/machinery/fat_sucker/Destroy() QDEL_NULL(soundloop) @@ -63,7 +63,7 @@ return to_chat(occupant, "You enter [src].") addtimer(CALLBACK(src, .proc/start_extracting), 20, TIMER_OVERRIDE|TIMER_UNIQUE) - update_icon() + update_appearance() /obj/machinery/fat_sucker/open_machine(mob/user) make_meat() @@ -163,7 +163,7 @@ if(C.nutrition > start_at) processing = TRUE soundloop.start() - update_icon() + update_appearance() set_light(2, 1, "#ff0000") else say("Subject not fat enough.") @@ -200,7 +200,7 @@ to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!") return if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return return FALSE diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 7d87d34d2be1..faceb46419d5 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -47,7 +47,7 @@ panel_open = TRUE if(dir) setDir(dir) - update_icon() + update_appearance() myarea = get_area(src) LAZYADD(myarea.firealarms, src) @@ -59,18 +59,17 @@ /obj/machinery/firealarm/update_icon_state() if(panel_open) icon_state = "fire_b[buildstage]" - return + return ..() if(machine_stat & BROKEN) icon_state = "firex" - return + return ..() icon_state = "fire0" + return ..() /obj/machinery/firealarm/update_overlays() . = ..() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(machine_stat & NOPOWER) return @@ -107,7 +106,7 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - update_icon() + update_appearance() if(user) user.visible_message("Sparks fly out of [src]!", "You emag [src], disabling its thermal sensors.") @@ -160,7 +159,7 @@ W.play_tool_sound(src) panel_open = !panel_open to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") - update_icon() + update_appearance() return if(panel_open) @@ -193,7 +192,7 @@ W.play_tool_sound(src) new /obj/item/stack/cable_coil(user.loc, 5) to_chat(user, "You cut the wires from \the [src].") - update_icon() + update_appearance() return else if(W.force) //hit and turn it on @@ -212,7 +211,7 @@ coil.use(5) buildstage = 2 to_chat(user, "You wire \the [src].") - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_CROWBAR) @@ -227,14 +226,14 @@ to_chat(user, "You pry out the circuit.") new /obj/item/electronics/firealarm(user.loc) buildstage = 0 - update_icon() + update_appearance() return if(0) if(istype(W, /obj/item/electronics/firealarm)) to_chat(user, "You insert the circuit.") qdel(W) buildstage = 1 - update_icon() + update_appearance() return else if(istype(W, /obj/item/electroadaptive_pseudocircuit)) @@ -246,7 +245,7 @@ "You adapt a fire alarm circuit and slot it into the assembly." ) buildstage = 1 - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_WRENCH) @@ -275,7 +274,7 @@ "You adapt a fire alarm circuit and slot it into the assembly." ) buildstage = 1 - update_icon() + update_appearance() return TRUE return FALSE diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index bd2cf4f46156..4bacfbbb5651 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -5,6 +5,7 @@ desc = "A wall-mounted flashbulb device." icon = 'icons/obj/stationobjs.dmi' icon_state = "mflash1" + base_icon_state = "mflash" max_integrity = 250 integrity_failure = 0.4 light_color = COLOR_WHITE @@ -15,7 +16,6 @@ var/range = 2 //this is roughly the size of brig cell var/last_flash = 0 //Don't want it getting spammed like regular flashes var/strength = 100 //How knocked down targets are when flashed. - var/base_state = "mflash" /obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored name = "portable flasher" @@ -23,7 +23,7 @@ icon_state = "pflash1-p" strength = 80 anchored = FALSE - base_state = "pflash" + base_icon_state = "pflash" density = TRUE light_system = MOVABLE_LIGHT //Used as a flash here. light_range = FLASH_LIGHT_RANGE @@ -54,13 +54,8 @@ return ..() /obj/machinery/flasher/update_icon_state() - if (powered()) - if(bulb.burnt_out) - icon_state = "[base_state]1-p" - else - icon_state = "[base_state]1" - else - icon_state = "[base_state]1-p" + icon_state = "[base_icon_state]1[(bulb?.burnt_out || !powered()) ? "-p" : null]" + return ..() //Don't want to render prison breaks impossible /obj/machinery/flasher/attackby(obj/item/W, mob/user, params) @@ -112,7 +107,7 @@ return playsound(src.loc, 'sound/weapons/flash.ogg', 100, TRUE) - flick("[base_state]_flash", src) + flick("[base_icon_state]_flash", src) set_light_on(TRUE) addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) @@ -185,7 +180,7 @@ if (!anchored && !isinspace()) to_chat(user, "[src] is now secured.") - add_overlay("[base_state]-s") + add_overlay("[base_icon_state]-s") set_anchored(TRUE) power_change() proximity_monitor.set_range(range) diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 5b5e0c8a2966..e147e24717ca 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -11,6 +11,7 @@ The console is located at computer/gulag_teleporter.dm desc = "A bluespace teleporter used for teleporting prisoners to the labor camp." icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" + base_icon_state = "implantchair" state_open = FALSE density = TRUE use_power = IDLE_POWER_USE @@ -53,7 +54,7 @@ The console is located at computer/gulag_teleporter.dm /obj/machinery/gulag_teleporter/attackby(obj/item/I, mob/user) if(!occupant && default_deconstruction_screwdriver(user, "[icon_state]", "[icon_state]",I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) @@ -65,22 +66,22 @@ The console is located at computer/gulag_teleporter.dm return ..() /obj/machinery/gulag_teleporter/update_icon_state() - icon_state = initial(icon_state) + (state_open ? "_open" : "") + icon_state = "[base_icon_state][state_open ? "_open" : null]" //no power or maintenance if(machine_stat & (NOPOWER|BROKEN)) icon_state += "_unpowered" if((machine_stat & MAINT) || panel_open) icon_state += "_maintenance" - return + return ..() if((machine_stat & MAINT) || panel_open) icon_state += "_maintenance" - return + return ..() //running and someone in there if(occupant) icon_state += "_occupied" - return + return ..() /obj/machinery/gulag_teleporter/relaymove(mob/living/user, direction) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 924a1e95ec81..82ef63c3d738 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -4,6 +4,7 @@ density = TRUE icon = 'icons/obj/machines/harvester.dmi' icon_state = "harvester" + base_icon_state = "harvester" verb_say = "states" state_open = FALSE idle_power_usage = 50 @@ -30,13 +31,16 @@ /obj/machinery/harvester/update_icon_state() if(state_open) - icon_state = initial(icon_state)+"-open" - else if(warming_up) - icon_state = initial(icon_state)+"-charging" - else if(harvesting) - icon_state = initial(icon_state)+"-active" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state]-open" + return ..() + if(warming_up) + icon_state = "[base_icon_state]-charging" + return ..() + if(harvesting) + icon_state = "[base_icon_state]-active" + return ..() + icon_state = base_icon_state + return ..() /obj/machinery/harvester/open_machine(drop = TRUE) if(panel_open) @@ -89,12 +93,12 @@ harvesting = TRUE visible_message("The [name] begins warming up!") say("Initializing harvest protocol.") - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/harvest), interval) /obj/machinery/harvester/proc/harvest() warming_up = FALSE - update_icon() + update_appearance() if(!harvesting || state_open || !powered() || !occupant || !iscarbon(occupant)) return playsound(src, 'sound/machines/juicer.ogg', 20, TRUE) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 8afcadfc931b..98014077d4b0 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -31,6 +31,7 @@ Possible to do for anyone motivated enough: name = "holopad" desc = "It's a floor-mounted device for projecting holographic images." icon_state = "holopad0" + base_icon_state = "holopad" layer = LOW_OBJ_LAYER plane = FLOOR_PLANE req_access = list(ACCESS_KEYCARD_AUTH) //Used to allow for forced connecting to other (not secure) holopads. Anyone can make a call, though. @@ -382,7 +383,7 @@ Possible to do for anyone motivated enough: playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring! ringing = TRUE - update_icon() + update_appearance() /obj/machinery/holopad/proc/activate_holo(mob/living/user) var/mob/living/silicon/ai/AI = user @@ -451,16 +452,16 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ set_light(2) else set_light(0) - update_icon() + update_appearance() /obj/machinery/holopad/update_icon_state() var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls) if(ringing) - icon_state = "holopad_ringing" - else if(total_users || replay_mode) - icon_state = "holopad1" - else - icon_state = "holopad0" + icon_state = "[base_icon_state]_ringing" + return ..() + icon_state = "[base_icon_state][(total_users || replay_mode) ? 1 : 0]" + return ..() + /obj/machinery/holopad/proc/set_holo(mob/living/user, obj/effect/overlay/holo_pad_hologram/h) LAZYSET(masters, user, h) diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index 89a2158a0078..8e86447f6060 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -3,6 +3,7 @@ desc = "A device used to perform \"enhanced interrogation\" through invasive mental conditioning." icon = 'icons/obj/machines/implantchair.dmi' icon_state = "hypnochair" + base_icon_state = "hypnochair" circuit = /obj/item/circuitboard/machine/hypnochair density = TRUE opacity = FALSE @@ -17,11 +18,11 @@ /obj/machinery/hypnochair/Initialize() . = ..() open_machine() - update_icon() + update_appearance() /obj/machinery/hypnochair/attackby(obj/item/I, mob/user, params) if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return if(default_pry_open(I)) return @@ -96,7 +97,7 @@ interrogating = TRUE START_PROCESSING(SSobj, src) start_time = world.time - update_icon() + update_appearance() timerid = addtimer(CALLBACK(src, .proc/finish_interrogation), 450, TIMER_STOPPABLE) /obj/machinery/hypnochair/process() @@ -116,7 +117,7 @@ /obj/machinery/hypnochair/proc/finish_interrogation() interrogating = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() var/temp_trigger = trigger_phrase trigger_phrase = "" //Erase evidence, in case the subject is able to look at the panel afterwards audible_message("[src] pings!") @@ -139,7 +140,7 @@ deltimer(timerid) interrogating = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() if(QDELETED(victim)) victim = null @@ -168,14 +169,8 @@ victim = null /obj/machinery/hypnochair/update_icon_state() - icon_state = initial(icon_state) - if(state_open) - icon_state += "_open" - if(occupant) - if(interrogating) - icon_state += "_active" - else - icon_state += "_occupied" + icon_state = "[base_icon_state][state_open ? "_open" : null][occupant ? "_[interrogating ? "active" : "occupied"]" : null]" + return ..() /obj/machinery/hypnochair/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 0a3b7d562ca7..a610ec5d11b8 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -3,6 +3,7 @@ desc = "It's useful for igniting plasma." icon = 'icons/obj/stationobjs.dmi' icon_state = "igniter0" + base_icon_state = "igniter" plane = FLOOR_PLANE use_power = IDLE_POWER_USE idle_power_usage = 2 @@ -34,7 +35,7 @@ use_power(50) on = !(on) - update_icon() + update_appearance() /obj/machinery/igniter/process() //ugh why is this even in process()? if (src.on && !(machine_stat & NOPOWER)) @@ -48,10 +49,8 @@ icon_state = "igniter[on]" /obj/machinery/igniter/update_icon_state() - if(machine_stat & NOPOWER) - icon_state = "igniter0" - else - icon_state = "igniter[on]" + icon_state = "[base_icon_state][(machine_stat & NOPOWER) ? 0 : on]" + return ..() /obj/machinery/igniter/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) id = "[REF(port)][id]" @@ -63,6 +62,7 @@ desc = "A wall-mounted ignition device." icon = 'icons/obj/stationobjs.dmi' icon_state = "migniter" + base_icon_state = "migniter" resistance_flags = FIRE_PROOF var/id = null var/disable = 0 @@ -84,11 +84,10 @@ /obj/machinery/sparker/update_icon_state() if(disable) - icon_state = "[initial(icon_state)]-d" - else if(powered()) - icon_state = "[initial(icon_state)]" - else - icon_state = "[initial(icon_state)]-p" + icon_state = "[base_icon_state]-d" + return ..() + icon_state = "[base_icon_state][powered() ? null : "-p"]" + return ..() /obj/machinery/sparker/powered() if(!disable) @@ -103,7 +102,7 @@ user.visible_message("[user] disables \the [src]!", "You disable the connection to \the [src].") if (!src.disable) user.visible_message("[user] reconnects \the [src]!", "You fix the connection to \the [src].") - update_icon() + update_appearance() else return ..() diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 0439ad3a00de..dea25b955e0e 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -6,6 +6,7 @@ desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers. Blood packs are processed at an accelerated rate. Alt-Click to change the transfer rate." icon = 'icons/obj/iv_drip.dmi' icon_state = "iv_drip" + base_icon_state = "iv_drip" anchored = FALSE mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/mob/living/carbon/attached @@ -19,7 +20,7 @@ /obj/machinery/iv_drip/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/machinery/iv_drip/Destroy() attached = null @@ -28,15 +29,10 @@ /obj/machinery/iv_drip/update_icon_state() if(attached) - if(mode) - icon_state = "injecting" - else - icon_state = "donating" + icon_state = "[base_icon_state]_[mode ? "injecting" : "donating"]" else - if(mode) - icon_state = "injectidle" - else - icon_state = "donateidle" + icon_state = "[base_icon_state]_[mode ? "injectidle" : "donateidle"]" + return ..() /obj/machinery/iv_drip/update_overlays() . = ..() @@ -77,7 +73,7 @@ if(attached) visible_message("[attached] is detached from [src].") attached = null - update_icon() + update_appearance() return if(!target.has_dna()) @@ -91,7 +87,7 @@ add_fingerprint(usr) attached = target START_PROCESSING(SSmachines, src) - update_icon() + update_appearance() else to_chat(usr, "There's nothing attached to the IV drip!") @@ -107,7 +103,7 @@ to_chat(user, "You attach [W] to [src].") user.log_message("attached a [W] to [src] at [AREACOORD(src)] containing ([beaker.reagents.log_list()])", LOG_ATTACK) add_fingerprint(user) - update_icon() + update_appearance() return else return ..() @@ -125,7 +121,7 @@ to_chat(attached, "The IV drip needle is ripped out of you!") attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM)) attached = null - update_icon() + update_appearance() return PROCESS_KILL if(beaker) @@ -139,7 +135,7 @@ // speed up transfer on blood packs transfer_amount *= 2 beaker.reagents.trans_to(attached, transfer_amount, method = INJECT, show_message = FALSE) //make reagents reacts, but don't spam messages - update_icon() + update_appearance() // Take blood else @@ -156,7 +152,7 @@ visible_message("[src] beeps loudly.") playsound(loc, 'sound/machines/twobeep_high.ogg', 50, TRUE) attached.transfer_blood_to(beaker, amount) - update_icon() + update_appearance() /obj/machinery/iv_drip/attack_hand(mob/user) . = ..() @@ -167,7 +163,7 @@ if(attached) visible_message("[attached] is detached from [src].") attached = null - update_icon() + update_appearance() return else if(beaker) eject_beaker(user) @@ -198,7 +194,7 @@ if(beaker) beaker.forceMove(drop_location()) beaker = null - update_icon() + update_appearance() /obj/machinery/iv_drip/verb/toggle_mode() set category = "Object" @@ -213,7 +209,7 @@ return mode = !mode to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].") - update_icon() + update_appearance() /obj/machinery/iv_drip/examine(mob/user) . = ..() @@ -237,6 +233,7 @@ name = "saline drip" desc = "An all-you-can-drip saline canister designed to supply a hospital without running out, with a scary looking pump rigged to inject saline into containers, but filling people directly might be a bad idea." icon_state = "saline" + base_icon_state = "saline" density = TRUE /obj/machinery/iv_drip/saline/Initialize(mapload) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 2651ad237183..1d30d35ce561 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -3,6 +3,7 @@ name = "light switch" icon = 'icons/obj/power.dmi' icon_state = "light1" + base_icon_state = "light" desc = "Make dark." power_channel = AREA_USAGE_LIGHT /// Set this to a string, path, or area instance to control that area @@ -29,20 +30,23 @@ if(!name) name = "light switch ([area.name])" - update_icon() + update_appearance() + +/obj/machinery/light_switch/update_appearance(updates=ALL) + . = ..() + luminosity = (machine_stat & NOPOWER) ? 0 : 1 /obj/machinery/light_switch/update_icon_state() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 if(machine_stat & NOPOWER) - icon_state = "light-p" - else - luminosity = 1 - SSvis_overlays.add_vis_overlay(src, icon, "light-glow", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - if(area.lightswitch) - icon_state = "light1" - else - icon_state = "light0" + icon_state = "[base_icon_state]-p" + return ..() + icon_state = "[base_icon_state][area.lightswitch ? 1 : 0]" + return ..() + +/obj/machinery/light_switch/update_overlays() + . = ..() + if(!(machine_stat & NOPOWER)) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-glow", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) /obj/machinery/light_switch/examine(mob/user) . = ..() @@ -53,10 +57,10 @@ area.lightswitch = !area.lightswitch play_click_sound("button") - area.update_icon() + area.update_appearance() for(var/obj/machinery/light_switch/L in area) - L.update_icon() + L.update_appearance() area.power_change() diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index 95d6de9c0d0d..79fb5e83bdf1 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -1,12 +1,21 @@ //The Medical Kiosk is designed to act as a low access alernative to a medical analyzer, and doesn't require breaking into medical. Self Diagnose at your heart's content! //For a fee that is. Comes in 4 flavors of medical scan. +/// Shows if the machine is being used for a general scan. +#define KIOSK_SCANNING_GENERAL (1<<0) +/// Shows if the machine is being used for a disease scan. +#define KIOSK_SCANNING_SYMPTOMS (1<<1) +/// Shows if the machine is being used for a radiation/brain trauma scan. +#define KIOSK_SCANNING_NEURORAD (1<<2) +/// Shows if the machine is being used for a reagent scan. +#define KIOSK_SCANNING_REAGENTS (1<<3) /obj/machinery/medical_kiosk name = "medical kiosk" desc = "A freestanding medical kiosk, which can provide a wide range of medical analysis for diagnosis." icon = 'icons/obj/machines/medical_kiosk.dmi' icon_state = "kiosk" + base_icon_state = "kiosk" layer = ABOVE_MOB_LAYER density = TRUE circuit = /obj/item/circuitboard/machine/medical_kiosk @@ -15,10 +24,10 @@ var/active_price = 15 //Change by using a multitool on the board. var/pandemonium = FALSE //AKA: Emag mode. - var/scan_active_1 = FALSE //Shows if the machine is being used for a general scan. - var/scan_active_2 = FALSE //as above, symptom scan - var/scan_active_3 = FALSE //as above, radiological scan - var/scan_active_4 = FALSE //as above, chemical/hallucinations. + /// Shows whether the kiosk is being used to scan someone and what it's being used for. + var/scan_active = NONE + + /// Do we have someone paying to use this? var/paying_customer = FALSE //Ticked yes if passing inuse() var/datum/bank_account/account //payer's account. @@ -51,23 +60,25 @@ D.adjust_money(active_price) use_power(20) paying_customer = TRUE - icon_state = "kiosk_active" + icon_state = "[base_icon_state]_active" say("Thank you for your patronage!") RefreshParts() return /obj/machinery/medical_kiosk/proc/clearScans() //Called it enough times to be it's own proc - scan_active_1 = FALSE - scan_active_2 = FALSE - scan_active_3 = FALSE - scan_active_4 = FALSE + scan_active = NONE + update_appearance() return /obj/machinery/medical_kiosk/update_icon_state() - if(is_operational) - icon_state = "kiosk_off" - else - icon_state = "kiosk" + if(panel_open) + icon_state = "[base_icon_state]_open" + return ..() + if(!is_operational) + icon_state = "[base_icon_state]_off" + return ..() + icon_state = "[base_icon_state][scan_active ? "active" : null]" + return ..() /obj/machinery/medical_kiosk/wrench_act(mob/living/user, obj/item/I) //Allows for wrenching/unwrenching the machine. ..() @@ -81,7 +92,7 @@ return /obj/machinery/medical_kiosk/attackby(obj/item/O, mob/user, params) - if(default_deconstruction_screwdriver(user, "kiosk_open", "kiosk", O)) + if(default_deconstruction_screwdriver(user, "[base_icon_state]_open", "[base_icon_state]_off", O)) return else if(default_deconstruction_crowbar(O)) return @@ -166,7 +177,7 @@ if(!ui) ui = new(user, src, "MedicalKiosk", name) ui.open() - icon_state = "kiosk_off" + icon_state = "[base_icon_state]_active" RefreshParts() H = user C = H.get_idcard(TRUE) @@ -314,10 +325,10 @@ data["addict_list"] = addict_list data["hallucinating_status"] = hallucination_status - data["active_status_1"] = scan_active_1 // General Scan Check - data["active_status_2"] = scan_active_2 // Symptom Scan Check - data["active_status_3"] = scan_active_3 // Radio-Neuro Scan Check - data["active_status_4"] = scan_active_4 // Radio-Neuro Scan Check + data["active_status_1"] = scan_active & KIOSK_SCANNING_GENERAL // General Scan Check + data["active_status_2"] = scan_active & KIOSK_SCANNING_SYMPTOMS // Symptom Scan Check + data["active_status_3"] = scan_active & KIOSK_SCANNING_NEURORAD // Radio-Neuro Scan Check + data["active_status_4"] = scan_active & KIOSK_SCANNING_REAGENTS // Reagents/hallucination Scan Check return data /obj/machinery/medical_kiosk/ui_act(action,active) @@ -327,24 +338,28 @@ switch(action) if("beginScan_1") - inuse() + if(!(scan_active & KIOSK_SCANNING_GENERAL)) + inuse() if(paying_customer == TRUE) - scan_active_1 = TRUE + scan_active |= KIOSK_SCANNING_GENERAL paying_customer = FALSE if("beginScan_2") - inuse() + if(!(scan_active & KIOSK_SCANNING_SYMPTOMS)) + inuse() if(paying_customer == TRUE) - scan_active_2 = TRUE + scan_active |= KIOSK_SCANNING_SYMPTOMS paying_customer = FALSE if("beginScan_3") - inuse() + if(!(scan_active & KIOSK_SCANNING_NEURORAD)) + inuse() if(paying_customer == TRUE) - scan_active_3 = TRUE + scan_active |= KIOSK_SCANNING_NEURORAD paying_customer = FALSE if("beginScan_4") - inuse() + if(!(scan_active & KIOSK_SCANNING_REAGENTS)) + inuse() if(paying_customer == TRUE) - scan_active_4 = TRUE + scan_active |= KIOSK_SCANNING_REAGENTS paying_customer = FALSE if("clearTarget") altPatient = null diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 5ff7e03f2e7c..a847b44d39a1 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/objects.dmi' icon_state = "navbeacon0-f" + base_icon_state = "navbeacon" name = "navigation beacon" desc = "A radio beacon used for bot navigation and crew wayfinding." plane = FLOOR_PLANE @@ -90,7 +91,8 @@ // update the icon_state /obj/machinery/navbeacon/update_icon_state() - icon_state = "navbeacon[open]" + icon_state = "[base_icon_state][open]" + return ..() /obj/machinery/navbeacon/attackby(obj/item/I, mob/user, params) var/turf/T = loc @@ -102,7 +104,7 @@ user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.") - update_icon() + update_appearance() else if (istype(I, /obj/item/card/id)||istype(I, /obj/item/pda)) if(open) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 00ad26295ca5..2711ee9ee61a 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -150,7 +150,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(newMessage) for(var/obj/machinery/newscaster/N in GLOB.allCasters) N.newsAlert() - N.update_icon() + N.update_appearance() /datum/newscaster/feed_network/proc/deleteWanted() wanted_issue.active = 0 @@ -159,7 +159,7 @@ GLOBAL_LIST_EMPTY(allCasters) wanted_issue.scannedUser = null wanted_issue.img = null for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) - NEWSCASTER.update_icon() + NEWSCASTER.update_appearance() /datum/newscaster/feed_network/proc/save_photo(icon/photo) var/photo_file = copytext_char(md5("\icon[photo]"), 1, 6) @@ -185,6 +185,7 @@ GLOBAL_LIST_EMPTY(allCasters) desc = "A standard Nanotrasen brand newsfeed handler. All the news you absolutely have no use for, in one place!" icon = 'icons/obj/terminals.dmi' icon_state = "newscaster" + base_icon_state = "newscaster" verb_say = "beeps" verb_ask = "beeps" verb_exclaim = "beeps" @@ -230,7 +231,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) GLOB.allCasters += src unit_no = GLOB.allCasters.len - update_icon() + update_appearance() /obj/machinery/newscaster/Destroy() GLOB.allCasters -= src @@ -242,26 +243,26 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) . = ..() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) if(machine_stat & BROKEN) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_broken", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_broken", layer, plane, dir) return if(machine_stat & NOPOWER) return if(GLOB.news_network.wanted_issue.active) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_wanted", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_wanted", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_wanted", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_wanted", layer, EMISSIVE_PLANE, dir) else if(alert) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_alert", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_alert", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_alert", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_alert", layer, EMISSIVE_PLANE, dir) else - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_normal", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "newscaster_normal", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_normal", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]_normal", layer, EMISSIVE_PLANE, dir) /obj/machinery/newscaster/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() - update_icon() + update_appearance() /obj/machinery/newscaster/ui_interact(mob/user) . = ..() @@ -743,7 +744,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) to_chat(user, "You repair [src].") obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() else to_chat(user, "[src] does not need repairs.") else @@ -847,13 +848,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) /obj/machinery/newscaster/proc/remove_alert() alert = FALSE - update_icon() + update_appearance() /obj/machinery/newscaster/proc/newsAlert(channel) if(channel) say("Breaking news from [channel]!") alert = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src,.proc/remove_alert),alert_delay,TIMER_UNIQUE|TIMER_OVERRIDE) playsound(loc, 'sound/machines/twobeep_high.ogg', 75, TRUE) else diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index af3813f874fc..0772e483a536 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -158,7 +158,7 @@ if(href_list["dir"]) C.setDir(text2num(href_list["dir"])) C.add_fingerprint(usr) - C.update_icon() + C.update_appearance() wait = world.time + 15 return diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index bc07e19852c4..64b7fb47edd0 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -106,7 +106,7 @@ DEFINE_BITFIELD(turret_flags, list( . = ..() if(!base) base = src - update_icon() + update_appearance() //Sets up a spark system spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) @@ -144,21 +144,22 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/update_icon_state() if(!anchored) icon_state = "turretCover" - return + return ..() if(machine_stat & BROKEN) icon_state = "[base_icon_state]_broken" - else - if(powered()) - if(on && raised) - switch(mode) - if(TURRET_STUN) - icon_state = "[base_icon_state]_stun" - if(TURRET_LETHAL) - icon_state = "[base_icon_state]_lethal" - else - icon_state = "[base_icon_state]_off" - else - icon_state = "[base_icon_state]_unpowered" + return ..() + if(!powered()) + icon_state = "[base_icon_state]_unpowered" + return ..() + if(!on || !raised) + icon_state = "[base_icon_state]_off" + return ..() + switch(mode) + if(TURRET_STUN) + icon_state = "[base_icon_state]_stun" + if(TURRET_LETHAL) + icon_state = "[base_icon_state]_lethal" + return ..() /obj/machinery/porta_turret/proc/setup(obj/item/gun/turret_gun) if(stored_gun) @@ -185,7 +186,7 @@ DEFINE_BITFIELD(turret_flags, list( if(gun_properties["reqpower"]) reqpower = gun_properties["reqpower"] - update_icon() + update_appearance() return gun_properties /obj/machinery/porta_turret/Destroy() @@ -278,7 +279,7 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/power_change() . = ..() if(!anchored || (machine_stat & BROKEN) || !powered()) - update_icon() + update_appearance() remove_control() check_should_process() @@ -313,7 +314,7 @@ DEFINE_BITFIELD(turret_flags, list( if(obj_integrity > (max_integrity * integrity_failure) && BROKEN) obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() check_should_process() else to_chat(user, "[src] is already in good condition!") @@ -328,7 +329,7 @@ DEFINE_BITFIELD(turret_flags, list( if(!anchored && !isinspace()) set_anchored(TRUE) invisibility = INVISIBILITY_MAXIMUM - update_icon() + update_appearance() to_chat(user, "You secure the exterior bolts on the turret.") if(has_cover) cover = new /obj/machinery/porta_turret_cover(loc) //create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second @@ -340,21 +341,23 @@ DEFINE_BITFIELD(turret_flags, list( invisibility = 0 qdel(cover) //deletes the cover, and the turret instance itself becomes its own cover. - else if(I.GetID()) + if(I.GetID()) //Behavior lock/unlock mangement if(allowed(user)) locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") else to_chat(user, "Access denied.") - else if(I.tool_behaviour == TOOL_MULTITOOL && !locked) + return + + if(I.tool_behaviour == TOOL_MULTITOOL && !locked) if(!multitool_check_buffer(user, I)) return var/obj/item/multitool/M = I M.buffer = src to_chat(user, "You add [src] to multitool buffer.") - else - return ..() + return + return ..() /obj/machinery/porta_turret/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -364,7 +367,7 @@ DEFINE_BITFIELD(turret_flags, list( obj_flags |= EMAGGED controllock = TRUE toggle_on(FALSE) //turns off the turret temporarily - update_icon() + update_appearance() //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 6 SECONDS) //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here @@ -530,7 +533,7 @@ DEFINE_BITFIELD(turret_flags, list( cover.icon_state = "turretCover" raised = 0 invisibility = 2 - update_icon() + update_appearance() /obj/machinery/porta_turret/proc/assess_perp(mob/living/carbon/human/perp) var/threatcount = 0 //the integer returned @@ -613,7 +616,7 @@ DEFINE_BITFIELD(turret_flags, list( T = closer break - update_icon() + update_appearance() var/obj/projectile/A //any emagged turrets drains 2x power and uses a different projectile? if(mode == TURRET_STUN) @@ -845,6 +848,7 @@ DEFINE_BITFIELD(turret_flags, list( desc = "Used to control a room's automated defenses." icon = 'icons/obj/machines/turret_control.dmi' icon_state = "control_standby" + base_icon_state = "control" density = FALSE req_access = list(ACCESS_AI_UPLOAD) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF @@ -1000,18 +1004,17 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/turretid/proc/updateTurrets() for (var/obj/machinery/porta_turret/aTurret in turrets) aTurret.setState(enabled, lethal, shoot_cyborgs) - update_icon() + update_appearance() /obj/machinery/turretid/update_icon_state() if(machine_stat & NOPOWER) - icon_state = "control_off" - else if (enabled) - if (lethal) - icon_state = "control_kill" - else - icon_state = "control_stun" - else - icon_state = "control_standby" + icon_state = "[base_icon_state]_off" + return ..() + if (enabled) + icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" + return ..() + icon_state = "[base_icon_state]_standby" + return ..() /obj/machinery/turretid/lethal lethal = TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm index 9508f0158db3..a1da4cbf6463 100644 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ b/code/game/machinery/porta_turret/portable_turret_cover.dm @@ -44,28 +44,30 @@ parent_turret.set_anchored(TRUE) to_chat(user, "You secure the exterior bolts on the turret.") parent_turret.invisibility = 0 - parent_turret.update_icon() + parent_turret.update_appearance() else parent_turret.set_anchored(FALSE) to_chat(user, "You unsecure the exterior bolts on the turret.") parent_turret.invisibility = INVISIBILITY_MAXIMUM - parent_turret.update_icon() + parent_turret.update_appearance() qdel(src) - - else if(I.GetID()) + return + if(I.GetID()) if(parent_turret.allowed(user)) parent_turret.locked = !parent_turret.locked to_chat(user, "Controls are now [parent_turret.locked ? "locked" : "unlocked"].") else to_chat(user, "Access denied.") - else if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) + return + + if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) if(!multitool_check_buffer(user, I)) return var/obj/item/multitool/M = I M.buffer = parent_turret to_chat(user, "You add [parent_turret] to multitool buffer.") - else - return ..() + return + return ..() /obj/machinery/porta_turret_cover/attacked_by(obj/item/I, mob/user) parent_turret.attacked_by(I, user) diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm index e8af9185552a..6fe329ed4a71 100644 --- a/code/game/machinery/prisonlabor.dm +++ b/code/game/machinery/prisonlabor.dm @@ -9,17 +9,19 @@ var/obj/item/stack/license_plates/empty/current_plate var/pressing = FALSE -/obj/machinery/plate_press/update_icon() +/obj/machinery/plate_press/update_icon_state() . = ..() if(!is_operational) icon_state = "offline" - else if(pressing) + return ..() + if(pressing) icon_state = "loop" - else if(current_plate) + return ..() + if(current_plate) icon_state = "online_loaded" - else - icon_state = "online" - + return ..() + icon_state = "online" + return ..() /obj/machinery/plate_press/Destroy() QDEL_NULL(current_plate) . = ..() @@ -35,7 +37,7 @@ var/obj/item/stack/license_plates/empty/plate = I plate.use(1) current_plate = new plate.type(src, 1) //Spawn a new single sheet in the machine - update_icon() + update_appearance() else return ..() @@ -48,12 +50,12 @@ /obj/machinery/plate_press/proc/work_press(mob/living/user) pressing = TRUE - update_icon() + update_appearance() to_chat(user, "You start pressing a new license plate!") if(!do_after(user, 40, target = src)) pressing = FALSE - update_icon() + update_appearance() return FALSE use_power(100) @@ -61,6 +63,6 @@ pressing = FALSE QDEL_NULL(current_plate) - update_icon() + update_appearance() new /obj/item/stack/license_plates/filled(drop_location(), 1) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index a23e480f6ad4..3ca96ae5dcba 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -2,6 +2,7 @@ name = "recharger" icon = 'icons/obj/stationobjs.dmi' icon_state = "recharger" + base_icon_state = "recharger" desc = "A charging dock for energy based weaponry." use_power = IDLE_POWER_USE idle_power_usage = 4 @@ -48,11 +49,11 @@ START_PROCESSING(SSmachines, src) use_power = ACTIVE_POWER_USE using_power = TRUE - update_icon() + update_appearance() else use_power = IDLE_POWER_USE using_power = FALSE - update_icon() + update_appearance() /obj/machinery/recharger/attackby(obj/item/G, mob/user, params) if(G.tool_behaviour == TOOL_WRENCH) @@ -109,14 +110,14 @@ add_fingerprint(user) if(charging) - charging.update_icon() + charging.update_appearance() charging.forceMove(drop_location()) user.put_in_hands(charging) setCharging(null) /obj/machinery/recharger/attack_tk(mob/user) if(charging) - charging.update_icon() + charging.update_appearance() charging.forceMove(drop_location()) setCharging(null) @@ -132,7 +133,7 @@ C.give(C.chargerate * recharge_coeff) use_power(250 * recharge_coeff) using_power = TRUE - update_icon() + update_appearance() if(istype(charging, /obj/item/ammo_box/magazine/recharge)) var/obj/item/ammo_box/magazine/recharge/R = charging @@ -140,7 +141,7 @@ R.stored_ammo += new R.ammo_type(R) use_power(200 * recharge_coeff) using_power = TRUE - update_icon() + update_appearance() return else return PROCESS_KILL @@ -160,21 +161,28 @@ if(B.cell) B.cell.charge = 0 + +/obj/machinery/recharger/update_appearance(updates) + . = ..() + if((machine_stat & (NOPOWER|BROKEN)) || panel_open || !anchored) + luminosity = 0 + return + luminosity = 1 + /obj/machinery/recharger/update_overlays() . = ..() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 if(machine_stat & (NOPOWER|BROKEN) || !anchored || panel_open) return luminosity = 1 - if (charging) - if(using_power) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-charging", layer, plane, dir, alpha) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-charging", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - else - SSvis_overlays.add_vis_overlay(src, icon, "recharger-full", layer, plane, dir, alpha) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-full", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - else - SSvis_overlays.add_vis_overlay(src, icon, "recharger-empty", layer, plane, dir, alpha) - SSvis_overlays.add_vis_overlay(src, icon, "recharger-empty", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + if(!charging) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-empty", layer, plane, dir, alpha) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-empty", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + return + if(using_power) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-charging", layer, plane, dir, alpha) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-charging", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + return + + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-full", layer, plane, dir, alpha) + SSvis_overlays.add_vis_overlay(src, icon, "[base_icon_state]-full", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 8cdbcb59b3c9..7039b015e673 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -18,7 +18,7 @@ /obj/machinery/recharge_station/Initialize() . = ..() - update_icon() + update_appearance() if(is_operational) begin_processing() @@ -99,13 +99,11 @@ add_fingerprint(occupant) /obj/machinery/recharge_station/update_icon_state() - if(is_operational) - if(state_open) - icon_state = "borgcharger0" - else - icon_state = (occupant ? "borgcharger1" : "borgcharger2") - else - icon_state = (state_open ? "borgcharger-u0" : "borgcharger-u1") + if(!is_operational) + icon_state = "borgcharger-u[state_open ? 0 : 1]" + return ..() + icon_state = "borgcharger[state_open ? 0 : (occupant ? 1 : 2)]" + return ..() /obj/machinery/recharge_station/proc/process_occupant() if(!occupant) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 4f555f8b75ad..37def4d5a9da 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -21,7 +21,7 @@ AddComponent(/datum/component/butchering/recycler, 1, amount_produced,amount_produced/5) AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/plasma, /datum/material/gold, /datum/material/diamond, /datum/material/plastic, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, FALSE, null, null, null, TRUE) . = ..() - update_icon() + update_appearance() req_one_access = get_all_accesses() + get_all_centcom_access() var/static/list/loc_connections = list( @@ -72,16 +72,16 @@ obj_flags |= EMAGGED if(safety_mode) safety_mode = FALSE - update_icon() + update_appearance() playsound(src, "sparks", 75, TRUE, SILENCED_SOUND_EXTRARANGE) to_chat(user, "You use the cryptographic sequencer on [src].") /obj/machinery/recycler/update_icon_state() - ..() var/is_powered = !(machine_stat & (BROKEN|NOPOWER)) if(safety_mode) is_powered = FALSE icon_state = icon_name + "[is_powered]" + "[(blood ? "bld" : "")]" // add the blood tag at the end + return ..() /obj/machinery/recycler/CanAllowThrough(atom/movable/mover, border_dir) . = ..() @@ -165,13 +165,13 @@ /obj/machinery/recycler/proc/emergency_stop() playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) safety_mode = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/reboot), SAFETY_COOLDOWN) /obj/machinery/recycler/proc/reboot() playsound(src, 'sound/machines/ping.ogg', 50, FALSE) safety_mode = FALSE - update_icon() + update_appearance() /obj/machinery/recycler/proc/crush_living(mob/living/L) @@ -189,7 +189,7 @@ if(!blood && !issilicon(L)) blood = TRUE - update_icon() + update_appearance() // Instantly lie down, also go unconscious from the pain, before you die. L.Unconscious(100) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index b05199508e2f..3a03453a2ce3 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -29,6 +29,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) desc = "A console intended to send requests between different vessels and settlements in a local region." icon = 'icons/obj/terminals.dmi' icon_state = "req_comp0" + base_icon_state = "req_comp" var/department = "Unknown" //The list of all departments on the station (Determined from this variable on each unit) Set this to the same thing if you want several consoles in one department var/list/messages = list() //List of all messages var/departmentType = 0 //bitflag @@ -77,28 +78,32 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) dir_amount = 8\ ) -/obj/machinery/requests_console/update_icon_state() +/obj/machinery/requests_console/update_appearance(updates=ALL) + . = ..() if(machine_stat & NOPOWER) set_light(0) - else - set_light(1.4,0.7,"#34D352")//green light + return + set_light(1.4,0.7,"#34D352")//green light + +/obj/machinery/requests_console/update_icon_state() if(open) - if(!hackState) - icon_state="req_comp_open" - else - icon_state="req_comp_rewired" - else if(machine_stat & NOPOWER) - if(icon_state != "req_comp_off") - icon_state = "req_comp_off" - else - if(emergency || (newmessagepriority == REQ_EXTREME_MESSAGE_PRIORITY)) - icon_state = "req_comp3" - else if(newmessagepriority == REQ_HIGH_MESSAGE_PRIORITY) - icon_state = "req_comp2" - else if(newmessagepriority == REQ_NORMAL_MESSAGE_PRIORITY) - icon_state = "req_comp1" - else - icon_state = "req_comp0" + icon_state="[base_icon_state]_[hackState ? "rewired" : "open"]" + return ..() + if(machine_stat & NOPOWER) + icon_state = "[base_icon_state]_off" + return ..() + + if(emergency || (newmessagepriority == REQ_EXTREME_MESSAGE_PRIORITY)) + icon_state = "[base_icon_state]3" + return ..() + if(newmessagepriority == REQ_HIGH_MESSAGE_PRIORITY) + icon_state = "[base_icon_state]2" + return ..() + if(newmessagepriority == REQ_NORMAL_MESSAGE_PRIORITY) + icon_state = "[base_icon_state]1" + return ..() + icon_state = "[base_icon_state]0" + return ..() /obj/machinery/requests_console/Initialize() . = ..() @@ -182,10 +187,10 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) for (var/obj/machinery/requests_console/Console in GLOB.allConsoles) if (Console.department == department) Console.newmessagepriority = REQ_NO_NEW_MESSAGE - Console.update_icon() + Console.update_appearance() newmessagepriority = REQ_NO_NEW_MESSAGE - update_icon() + update_appearance() var/messageComposite = "" for(var/msg in messages) // This puts more recent messages at the *top*, where they belong. messageComposite = "
[msg]
" + messageComposite @@ -292,7 +297,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(radio_freq) Radio.set_frequency(radio_freq) Radio.talk_into(src,"[emergency] emergency in [department]!!",radio_freq) - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/clear_emergency), 5 MINUTES) if(href_list["send"] && message && to_department && priority) @@ -342,7 +347,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) /obj/machinery/requests_console/proc/clear_emergency() emergency = null - update_icon() + update_appearance() //from message_server.dm: Console.createmessage(data["sender"], data["send_dpt"], data["message"], data["verified"], data["stamped"], data["priority"], data["notify_freq"]) /obj/machinery/requests_console/proc/createmessage(source, source_department, message, msgVerified, msgStamped, priority, radio_freq) @@ -365,14 +370,14 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(REQ_NORMAL_MESSAGE_PRIORITY) if(newmessagepriority < REQ_NORMAL_MESSAGE_PRIORITY) newmessagepriority = REQ_NORMAL_MESSAGE_PRIORITY - update_icon() + update_appearance() if(REQ_HIGH_MESSAGE_PRIORITY) header = "High Priority
[header]" alert = "PRIORITY Alert from [source][authentic]" if(newmessagepriority < REQ_HIGH_MESSAGE_PRIORITY) newmessagepriority = REQ_HIGH_MESSAGE_PRIORITY - update_icon() + update_appearance() if(REQ_EXTREME_MESSAGE_PRIORITY) header = "!!!Extreme Priority!!!
[header]" @@ -380,7 +385,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) silenced = FALSE if(newmessagepriority < REQ_EXTREME_MESSAGE_PRIORITY) newmessagepriority = REQ_EXTREME_MESSAGE_PRIORITY - update_icon() + update_appearance() messages += "[header][sending]" @@ -400,7 +405,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) else to_chat(user, "You open the maintenance panel.") open = TRUE - update_icon() + update_appearance() return if(O.tool_behaviour == TOOL_SCREWDRIVER) if(open) @@ -409,7 +414,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) to_chat(user, "You modify the wiring.") else to_chat(user, "You reset the wiring.") - update_icon() + update_appearance() else to_chat(user, "You must open the maintenance panel first!") return diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 108c5efc1410..d32b50b52e5e 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -105,7 +105,7 @@ if("ChangeBetType") chosen_bet_type = params["type"] . = TRUE - update_icon() // Not applicable to all objects. + update_appearance() // Not applicable to all objects. ///Handles setting ownership and the betting itself. /obj/machinery/roulette/attackby(obj/item/W, mob/user, params) @@ -188,7 +188,7 @@ my_card.registered_account.transfer_money(player_id.registered_account, bet_amount) playing = TRUE - update_icon() + update_appearance() set_light(0) var/rolled_number = rand(0, 36) @@ -329,14 +329,19 @@ playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) return FALSE -/obj/machinery/roulette/update_icon(payout, color, rolled_number, is_winner = FALSE) - cut_overlays() +/obj/machinery/roulette/update_overlays() + . = ..() if(machine_stat & MAINT) return if(playing) - add_overlay("random_numbers") + . += "random_numbers" + +/obj/machinery/roulette/update_icon(updates=ALL, payout, color, rolled_number, is_winner = FALSE) + . = ..() + if(machine_stat & MAINT) + return if(!payout || !color || isnull(rolled_number)) //Don't fall for tricks. return diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm index 4728050b6bb4..b80cca3864ff 100644 --- a/code/game/machinery/sheetifier.dm +++ b/code/game/machinery/sheetifier.dm @@ -24,13 +24,14 @@ /obj/machinery/sheetifier/update_icon_state() icon_state = "base_machine[busy_processing ? "_processing" : ""]" + return ..() /obj/machinery/sheetifier/proc/CanInsertMaterials() return !busy_processing /obj/machinery/sheetifier/proc/AfterInsertMaterials(item_inserted, id_inserted, amount_inserted) busy_processing = TRUE - update_icon() + update_appearance() var/datum/material/last_inserted_material = id_inserted var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing") processing_overlay.color = last_inserted_material.color @@ -39,7 +40,7 @@ /obj/machinery/sheetifier/proc/finish_processing() busy_processing = FALSE - update_icon() + update_appearance() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) materials.retrieve_all() //Returns all as sheets @@ -47,7 +48,7 @@ if(default_unfasten_wrench(user, I)) return if(default_deconstruction_screwdriver(user, I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) return diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 037828518801..2d735deb1969 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -93,7 +93,7 @@ /obj/machinery/shieldgen/proc/shields_up() active = TRUE - update_icon() + update_appearance() move_resist = INFINITY for(var/turf/target_tile in range(shield_range, src)) @@ -104,7 +104,7 @@ /obj/machinery/shieldgen/proc/shields_down() active = FALSE move_resist = initial(move_resist) - update_icon() + update_appearance() QDEL_LIST(deployed_shields) /obj/machinery/shieldgen/process() @@ -164,7 +164,7 @@ obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) to_chat(user, "You repair \the [src].") - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_WRENCH) if(locked) @@ -204,10 +204,8 @@ to_chat(user, "You short out the access controller.") /obj/machinery/shieldgen/update_icon_state() - if(active) - icon_state = (machine_stat & BROKEN) ? "shieldonbr":"shieldon" - else - icon_state = (machine_stat & BROKEN) ? "shieldoffbr":"shieldoff" + icon_state = "shield[active ? "on" : "off"][(machine_stat & BROKEN) ? "br" : null]" + return ..() #define ACTIVE_SETUPFIELDS 1 #define ACTIVE_HASFIELDS 2 @@ -287,13 +285,14 @@ else for(var/direction in GLOB.cardinals) cleanup_field(direction) - update_icon() + update_appearance() /obj/machinery/power/shieldwallgen/update_icon_state() if(active) icon_state = initial(icon_state) + "_on" else icon_state = initial(icon_state) + return ..() /obj/machinery/power/shieldwallgen/update_overlays() . = ..() @@ -361,7 +360,7 @@ // update_cable_icons_on_turf(T) - Removed because smartwire Revert //WS Begin - Smartwire Revert var/obj/structure/cable/cable = locate(/obj/structure/cable) in turf - cable.update_icon() + cable.update_appearance() //WS End - Smartwire Revert if(. == SUCCESSFUL_UNFASTEN && anchored) connect_to_network() @@ -369,7 +368,7 @@ /obj/machinery/power/shieldwallgen/attackby(obj/item/item, mob/user, params) if(default_deconstruction_screwdriver(user, icon_state, icon_state, item)) - update_icon() + update_appearance() updateUsrDialog() return TRUE diff --git a/code/game/machinery/shuttle/shuttle_engine.dm b/code/game/machinery/shuttle/shuttle_engine.dm index 9eada9e79ea6..267c8d102918 100644 --- a/code/game/machinery/shuttle/shuttle_engine.dm +++ b/code/game/machinery/shuttle/shuttle_engine.dm @@ -55,10 +55,13 @@ update_engine() //Calls this so it sets the accurate icon if(panel_open) icon_state = icon_state_open + return ..() else if(thruster_active && enabled && return_fuel()) icon_state = icon_state_closed + return ..() else icon_state = icon_state_off + return ..() /obj/machinery/power/shuttle/engine/Initialize() . = ..() diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 9e5333a7e307..b05b0a2c2a18 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -19,6 +19,7 @@ desc = "Gambling for the antisocial." icon = 'icons/obj/economy.dmi' icon_state = "slots1" + base_icon_state = "slots" density = TRUE use_power = IDLE_POWER_USE idle_power_usage = 50 @@ -68,16 +69,17 @@ /obj/machinery/computer/slot_machine/update_icon_state() if(machine_stat & NOPOWER) - icon_state = "slots0" - - else if(machine_stat & BROKEN) - icon_state = "slotsb" - - else if(working) - icon_state = "slots2" + icon_state = "[base_icon_state]0" + return ..() + if(machine_stat & BROKEN) + icon_state = "[base_icon_state]b" + return ..() + if(working) + icon_state = "[base_icon_state]2" + return ..() + icon_state = "[base_icon_state]1" + return ..() - else - icon_state = "slots1" /obj/machinery/computer/slot_machine/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/coin)) @@ -206,7 +208,7 @@ working = TRUE toggle_reel_spin(1) - update_icon() + update_appearance() updateDialog() var/spin_loop = addtimer(CALLBACK(src, .proc/do_spin), 2, TIMER_LOOP|TIMER_STOPPABLE) @@ -223,7 +225,7 @@ working = FALSE deltimer(spin_loop) give_prizes(the_name, user) - update_icon() + update_appearance() updateDialog() /obj/machinery/computer/slot_machine/proc/can_spin(mob/user) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 27e1aebf2cab..26ebc727ec70 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -8,6 +8,7 @@ interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN icon = 'icons/obj/atmos.dmi' icon_state = "sheater-off" + base_icon_state = "sheater" name = "space heater" desc = "Made by Space Amish using traditional space techniques, this heater/cooler is guaranteed* not to set the air on fire. Warranty void if used in engines." max_integrity = 250 @@ -33,13 +34,13 @@ /obj/machinery/space_heater/Initialize() . = ..() cell = new(src) - update_icon() + update_appearance() /obj/machinery/space_heater/on_construction() qdel(cell) cell = null panel_open = TRUE - update_icon() + update_appearance() return ..() /obj/machinery/space_heater/on_deconstruction() @@ -59,16 +60,14 @@ . += "The status display reads: Temperature range at [settableTemperatureRange]°C.
Heating power at [heatingPower*0.001]kJ.
Power consumption at [(efficiency*-0.0025)+150]%.
" //100%, 75%, 50%, 25% /obj/machinery/space_heater/update_icon_state() - if(on) - icon_state = "sheater-[mode]" - else - icon_state = "sheater-off" + icon_state = "[base_icon_state]-[on ? mode : "off"]" + return ..() /obj/machinery/space_heater/update_overlays() . = ..() if(panel_open) - . += "sheater-open" + . += "[base_icon_state]-open" /obj/machinery/space_heater/process_atmos() //TODO figure out delta_time if(!on || !is_operational) @@ -81,7 +80,7 @@ if(!istype(L)) if(mode != HEATER_MODE_STANDBY) mode = HEATER_MODE_STANDBY - update_icon() + update_appearance() return var/datum/gas_mixture/env = L.return_air() @@ -94,7 +93,7 @@ if(mode != newMode) mode = newMode - update_icon() + update_appearance() if(mode == HEATER_MODE_STANDBY) return @@ -115,7 +114,7 @@ cell.use(requiredPower / efficiency) else on = FALSE - update_icon() + update_appearance() return PROCESS_KILL /obj/machinery/space_heater/RefreshParts() @@ -164,7 +163,7 @@ else if(I.tool_behaviour == TOOL_SCREWDRIVER) panel_open = !panel_open user.visible_message("\The [user] [panel_open ? "opens" : "closes"] the hatch on \the [src].", "You [panel_open ? "open" : "close"] the hatch on \the [src].") - update_icon() + update_appearance() else if(default_deconstruction_crowbar(I)) return else @@ -211,7 +210,7 @@ on = !on mode = HEATER_MODE_STANDBY usr.visible_message("[usr] switches [on ? "on" : "off"] \the [src].", "You switch [on ? "on" : "off"] \the [src].") - update_icon() + update_appearance() if (on) SSair.start_processing_machine(src) . = TRUE diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index ec3daa91cd6c..37e079715dcd 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -4,6 +4,7 @@ desc = "A not so comfortable looking bed with some nozzles at the top and bottom. It will keep someone in stasis." icon = 'icons/obj/machines/stasis.dmi' icon_state = "stasis" + base_icon_state = "stasis" density = FALSE can_buckle = TRUE buckle_lying = 90 @@ -54,7 +55,7 @@ "You [stasis_enabled ? "power on" : "shut down"] \the [src].", \ "You hear a nearby machine [stasis_enabled ? "power on" : "shut down"].") play_power_sound() - update_icon() + update_appearance() /obj/machinery/stasis/Exited(atom/movable/AM, atom/newloc) if(AM == occupant) @@ -68,30 +69,32 @@ /obj/machinery/stasis/update_icon_state() if(machine_stat & BROKEN) - icon_state = "stasis_broken" - return + icon_state = "[base_icon_state]_broken" + return ..() if(panel_open || machine_stat & MAINT) - icon_state = "stasis_maintenance" - return - icon_state = "stasis" + icon_state = "[base_icon_state]_maintenance" + return ..() + icon_state = base_icon_state + return ..() /obj/machinery/stasis/update_overlays() . = ..() + if(!mattress_state) + return var/_running = stasis_running() - var/list/overlays_to_remove = managed_vis_overlays - - if(mattress_state) - if(!mattress_on || !managed_vis_overlays) - mattress_on = SSvis_overlays.add_vis_overlay(src, icon, mattress_state, layer, plane, dir, alpha = 0, unique = TRUE) - - if(mattress_on.alpha ? !_running : _running) //check the inverse of _running compared to truthy alpha, to see if they differ - var/new_alpha = _running ? 255 : 0 - var/easing_direction = _running ? EASE_OUT : EASE_IN - animate(mattress_on, alpha = new_alpha, time = 50, easing = CUBIC_EASING|easing_direction) - - overlays_to_remove = managed_vis_overlays - mattress_on + if(!mattress_on) + mattress_on = SSvis_overlays.add_vis_overlay(src, icon, mattress_state, BELOW_OBJ_LAYER, plane, dir, alpha = 0, unique = TRUE) + else + vis_contents += mattress_on + if(managed_vis_overlays) + managed_vis_overlays += mattress_on + else + managed_vis_overlays = list(mattress_on) - SSvis_overlays.remove_vis_overlay(src, overlays_to_remove) + if(mattress_on.alpha ? !_running : _running) //check the inverse of _running compared to truthy alpha, to see if they differ + var/new_alpha = _running ? 255 : 0 + var/easing_direction = _running ? EASE_OUT : EASE_IN + animate(mattress_on, alpha = new_alpha, time = 50, easing = CUBIC_EASING|easing_direction) /obj/machinery/stasis/obj_break(damage_flag) . = ..() @@ -122,13 +125,13 @@ occupant = L if(stasis_running()) chill_out(L) - update_icon() + update_appearance() /obj/machinery/stasis/post_unbuckle_mob(mob/living/L) thaw_them(L) if(L == occupant) occupant = null - update_icon() + update_appearance() /obj/machinery/stasis/process() if(!occupant || !isliving(occupant)) @@ -144,7 +147,7 @@ /obj/machinery/stasis/screwdriver_act(mob/living/user, obj/item/I) . = ..() . |= default_deconstruction_screwdriver(user, "stasis_maintenance", "stasis", I) - update_icon() + update_appearance() /obj/machinery/stasis/crowbar_act(mob/living/user, obj/item/I) . = ..() diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 968bdca67b4a..231e36282bdc 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -189,7 +189,7 @@ mask = new mask_type(src) if(storage_type) storage = new storage_type(src) - update_icon() + update_appearance() /obj/machinery/suit_storage_unit/Destroy() QDEL_NULL(suit) @@ -236,7 +236,7 @@ if(!is_operational && state_open) open_machine() dump_contents() - update_icon() + update_appearance() /obj/machinery/suit_storage_unit/dump_contents() dropContents() @@ -328,12 +328,12 @@ if (item_to_dispense) vars[choice] = null try_put_in_hand(item_to_dispense, user) - update_icon() + update_appearance() else var/obj/item/in_hands = user.get_active_held_item() if (in_hands) attackby(in_hands, user) - update_icon() + update_appearance() interact(user) @@ -402,7 +402,7 @@ uv_cycles-- uv = TRUE locked = TRUE - update_icon() + update_appearance() if(occupant) if(uv_super) mob_occupant.adjustFireLoss(rand(20, 36)) @@ -539,7 +539,7 @@ storage = I visible_message("[user] inserts [I] into [src]", "You load [I] into [src].") - update_icon() + update_appearance() return if(panel_open && is_wire_tool(I)) @@ -547,7 +547,7 @@ return if(!state_open) if(default_deconstruction_screwdriver(user, "[base_icon_state]", "[base_icon_state]", I)) - update_icon() + update_appearance() return if(default_pry_open(I)) dump_contents() @@ -595,4 +595,4 @@ else if(istype(AM, /obj/item) && !storage) AM.forceMove(src) storage = AM - update_icon() + update_appearance() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 4e4ab6714e0c..83182bedb942 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -78,7 +78,7 @@ if(active && ((detonation_timer <= world.time) || explode_now)) active = FALSE timer_set = initial(timer_set) - update_icon() + update_appearance() try_detonate(TRUE) /obj/machinery/syndicatebomb/Initialize() @@ -86,7 +86,7 @@ wires = new /datum/wires/syndicatebomb(src) if(payload) payload = new payload(src) - update_icon() + update_appearance() countdown = new(src) end_processing() @@ -102,6 +102,7 @@ /obj/machinery/syndicatebomb/update_icon_state() icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]" + return ..() /obj/machinery/syndicatebomb/proc/seconds_remaining() if(active) @@ -130,7 +131,7 @@ else if(I.tool_behaviour == TOOL_SCREWDRIVER) open_panel = !open_panel - update_icon() + update_appearance() to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.") else if(is_wire_tool(I) && open_panel) @@ -204,7 +205,7 @@ if(!active) visible_message("[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.") activate() - update_icon() + update_appearance() add_fingerprint(user) if(payload && !istype(payload, /obj/item/bombcore/training)) @@ -304,7 +305,7 @@ holder.delayedbig = FALSE holder.delayedlittle = FALSE holder.explode_now = FALSE - holder.update_icon() + holder.update_appearance() holder.updateDialog() STOP_PROCESSING(SSfastprocess, holder) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 51de169eb162..d11067c290fd 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -27,7 +27,7 @@ user.put_in_hands(stored) stored = null to_chat(user, "You remove the blackbox from [src]. The tapes stop spinning.") - update_icon() + update_appearance() return else to_chat(user, "It seems that the blackbox is missing...") @@ -42,7 +42,7 @@ "You press the device into [src], and it clicks into place. The tapes begin spinning again.") playsound(src, 'sound/machines/click.ogg', 50, TRUE) stored = I - update_icon() + update_appearance() return return ..() @@ -57,12 +57,9 @@ QDEL_NULL(stored) return ..() -/obj/machinery/blackbox_recorder/update_icon() - . = ..() - if(!stored) - icon_state = "blackbox_b" - else - icon_state = "blackbox" +/obj/machinery/blackbox_recorder/update_icon_state() + icon_state = "blackbox[stored ? null : "_b"]" + return ..() /obj/item/blackbox name = "\proper the blackbox" diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 891c19acc607..dec15ed3013b 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -111,16 +111,8 @@ GLOBAL_LIST_EMPTY(telecomms_list) /obj/machinery/telecomms/update_icon_state() - if(on) - if(panel_open) - icon_state = "[initial(icon_state)]_o" - else - icon_state = initial(icon_state) - else - if(panel_open) - icon_state = "[initial(icon_state)]_o_off" - else - icon_state = "[initial(icon_state)]_off" + icon_state = "[initial(icon_state)][panel_open ? "_o" : null][on ? null : "_off"]" + return ..() /obj/machinery/telecomms/proc/update_power() @@ -136,7 +128,7 @@ GLOBAL_LIST_EMPTY(telecomms_list) update_power() // Update the icon - update_icon() + update_appearance() if(traffic > 0) traffic -= netspeed diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index e97df7e7450f..6e0551b25d41 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -7,6 +7,7 @@ name = "teleporter hub" desc = "It's the hub of a teleporting machine." icon_state = "tele0" + base_icon_state = "tele" use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 2000 @@ -57,7 +58,7 @@ if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W)) if(power_station && power_station.engaged) power_station.engaged = 0 //hub with panel open is off, so the station must be informed. - update_icon() + update_appearance() return if(default_deconstruction_crowbar(W)) return @@ -87,12 +88,8 @@ return /obj/machinery/teleport/hub/update_icon_state() - if(panel_open) - icon_state = "tele-o" - else if(is_ready()) - icon_state = "tele1" - else - icon_state = "tele0" + icon_state = "[base_icon_state][panel_open ? "-o" : (is_ready() ? 1 : 0)]" + return ..() /obj/machinery/teleport/hub/proc/is_ready() . = !panel_open && !(machine_stat & (BROKEN|NOPOWER)) && power_station && power_station.engaged && !(power_station.machine_stat & (BROKEN|NOPOWER)) @@ -107,6 +104,7 @@ name = "teleporter station" desc = "The power control station for a bluespace teleporter. Used for toggling power, and can activate a test-fire to prevent malfunctions." icon_state = "controller" + base_icon_state = "controller" use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 2000 @@ -153,7 +151,7 @@ /obj/machinery/teleport/station/Destroy() if(teleporter_hub) teleporter_hub.power_station = null - teleporter_hub.update_icon() + teleporter_hub.update_appearance() teleporter_hub = null if (teleporter_console) teleporter_console.power_station = null @@ -178,7 +176,7 @@ to_chat(user, "This station can't hold more information, try to use better parts.") return else if(default_deconstruction_screwdriver(user, "controller-o", "controller", W)) - update_icon() + update_appearance() return else if(default_deconstruction_crowbar(W)) @@ -202,20 +200,23 @@ else to_chat(user, "No target detected.") engaged = FALSE - teleporter_hub.update_icon() + teleporter_hub.update_appearance() add_fingerprint(user) /obj/machinery/teleport/station/power_change() . = ..() if(teleporter_hub) - teleporter_hub.update_icon() + teleporter_hub.update_appearance() /obj/machinery/teleport/station/update_icon_state() if(panel_open) - icon_state = "controller-o" - else if(machine_stat & (BROKEN|NOPOWER)) - icon_state = "controller-p" - else if(teleporter_console && teleporter_console.calibrating) - icon_state = "controller-c" - else - icon_state = "controller" + icon_state = "[base_icon_state]-o" + return ..() + if(machine_stat & (BROKEN|NOPOWER)) + icon_state = "[base_icon_state]-p" + return ..() + if(teleporter_console?.calibrating) + icon_state = "[base_icon_state]-c" + return ..() + icon_state = base_icon_state + return ..() diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 85fd4f69da67..8d449ef1c98b 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -39,6 +39,7 @@ icon_state = "separator-AO0" else icon_state = initial(icon_state) + return ..() /obj/machinery/transformer/Bumped(atom/movable/AM) if(cooldown == 1) @@ -66,7 +67,7 @@ /obj/machinery/transformer/process() if(cooldown && (cooldown_timer <= world.time)) cooldown = FALSE - update_icon() + update_appearance() /obj/machinery/transformer/proc/do_transform(mob/living/carbon/human/H) if(machine_stat & (BROKEN|NOPOWER)) @@ -81,7 +82,7 @@ // Activate the cooldown cooldown = 1 cooldown_timer = world.time + cooldown_duration - update_icon() + update_appearance() playsound(src.loc, 'sound/items/welder.ogg', 50, TRUE) H.emote("scream") // It is painful diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index be98913086e0..a437c59c9352 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -159,7 +159,7 @@ GLOBAL_LIST_INIT(dye_registry, list( to_chat(user, "[src] must be cleaned up first!") return busy = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/wash_cycle), 200) START_PROCESSING(SSfastprocess, src) @@ -185,7 +185,7 @@ GLOBAL_LIST_INIT(dye_registry, list( . = ..() if(!busy && bloody_mess && (clean_types & CLEAN_TYPE_BLOOD)) bloody_mess = FALSE - update_icon() + update_appearance() . = TRUE /obj/machinery/washing_machine/proc/wash_cycle() @@ -198,7 +198,7 @@ GLOBAL_LIST_INIT(dye_registry, list( if(color_source) qdel(color_source) color_source = null - update_icon() + update_appearance() /obj/item/proc/dye_item(dye_color, dye_key_override) var/dye_key_selector = dye_key_override ? dye_key_override : dying_key @@ -280,11 +280,14 @@ GLOBAL_LIST_INIT(dye_registry, list( /obj/machinery/washing_machine/update_icon_state() if(busy) icon_state = "wm_running_[bloody_mess]" - else if(bloody_mess) + return ..() + if(bloody_mess) icon_state = "wm_[state_open]_blood" - else - var/full = contents.len ? 1 : 0 - icon_state = "wm_[state_open]_[full]" + return ..() + + var/full = contents.len ? 1 : 0 + icon_state = "wm_[state_open]_[full]" + return ..() /obj/machinery/washing_machine/update_overlays() . = ..() @@ -296,7 +299,7 @@ GLOBAL_LIST_INIT(dye_registry, list( return if(default_deconstruction_screwdriver(user, null, null, W)) - update_icon() + update_appearance() return else if(user.a_intent != INTENT_HARM) @@ -317,7 +320,7 @@ GLOBAL_LIST_INIT(dye_registry, list( return TRUE if(W.dye_color) color_source = W - update_icon() + update_appearance() else return ..() @@ -337,14 +340,14 @@ GLOBAL_LIST_INIT(dye_registry, list( if(state_open) if(istype(L, /mob/living/simple_animal/pet)) L.forceMove(src) - update_icon() + update_appearance() return if(!state_open) open_machine() else state_open = FALSE //close the door - update_icon() + update_appearance() /obj/machinery/washing_machine/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/metal(drop_location(), 2) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 6396d07a7ed5..6a36a0ee01d6 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -337,12 +337,12 @@ else if(mechsyringe.loc == trg) mechsyringe.icon_state = initial(mechsyringe.icon_state) mechsyringe.icon = initial(mechsyringe.icon) - mechsyringe.update_icon() + mechsyringe.update_appearance() break else mechsyringe.icon_state = initial(mechsyringe.icon_state) mechsyringe.icon = initial(mechsyringe.icon) - mechsyringe.update_icon() + mechsyringe.update_appearance() break sleep(1) return 1 diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index e81a2446def9..fe48f4ead497 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -470,13 +470,13 @@ var/obj/structure/cable/NC = new(new_turf, "red") NC.d1 = 0 NC.d2 = fdirn - NC.update_icon() + NC.update_appearance() var/datum/powernet/PN if(last_piece && last_piece.d2 != chassis.dir) last_piece.d1 = min(last_piece.d2, chassis.dir) last_piece.d2 = max(last_piece.d2, chassis.dir) - last_piece.update_icon() + last_piece.update_appearance() PN = last_piece.powernet if(!PN) diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index 5c752b1e3cc3..ca24240b4f2e 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -55,17 +55,17 @@ if(!recharging_mech) recharging_mech = locate(/obj/mecha) in recharging_turf if(recharging_mech) - recharge_console.update_icon() + recharge_console.update_appearance() if(recharging_mech && recharging_mech.cell) if(recharging_mech.cell.charge < recharging_mech.cell.maxcharge) var/delta = min(max_charge, recharging_mech.cell.maxcharge - recharging_mech.cell.charge) recharging_mech.give_power(delta) use_power(delta*150) else - recharge_console.update_icon() + recharge_console.update_appearance() if(recharging_mech.loc != recharging_turf) recharging_mech = null - recharge_console.update_icon() + recharge_console.update_appearance() /obj/machinery/mech_bay_recharge_port/attackby(obj/item/I, mob/user, params) @@ -113,7 +113,7 @@ if("reconnect") reconnect() . = TRUE - update_icon() + update_appearance() /obj/machinery/computer/mech_bay_power_console/ui_data(mob/user) var/list/data = list() @@ -148,7 +148,11 @@ /obj/machinery/computer/mech_bay_power_console/update_overlays() . = ..() - if(!recharge_port || !recharge_port.recharging_mech || !recharge_port.recharging_mech.cell || !(recharge_port.recharging_mech.cell.charge < recharge_port.recharging_mech.cell.maxcharge) || machine_stat & (NOPOWER|BROKEN)) + if(machine_stat & (NOPOWER|BROKEN)) + return + if(!recharge_port?.recharging_mech?.cell) + return + if(recharge_port.recharging_mech.cell.charge >= recharge_port.recharging_mech.cell.maxcharge) return . += "recharge_comp_on" diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 2075e365bd67..fe1ca47ad4b3 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -151,6 +151,8 @@ /obj/mecha/update_icon_state() if(silicon_pilot && silicon_icon_state) icon_state = silicon_icon_state + return ..() + return ..() /obj/mecha/get_cell() return cell @@ -810,7 +812,7 @@ occupant = AI silicon_pilot = TRUE icon_state = initial(icon_state) - update_icon() + update_appearance() playsound(src, 'sound/machines/windowdoor.ogg', 50, TRUE) if(!internal_damage) SEND_SOUND(occupant, sound('sound/mecha/nominal.ogg',volume=50)) @@ -1001,7 +1003,7 @@ B.remote_control = src B.update_mouse_pointer() icon_state = initial(icon_state) - update_icon() + update_appearance() setDir(dir_in) log_message("[M] moved in as pilot.", LOG_MECHA) if(!internal_damage) @@ -1094,7 +1096,7 @@ L.forceMove(mmi) L.reset_perspective() mmi.set_mecha(null) - mmi.update_icon() + mmi.update_appearance() icon_state = initial(icon_state)+"-open" setDir(dir_in) diff --git a/code/game/mecha/working/clarke.dm b/code/game/mecha/working/clarke.dm deleted file mode 100644 index 01012d3f7d19..000000000000 --- a/code/game/mecha/working/clarke.dm +++ /dev/null @@ -1,102 +0,0 @@ -/*WS Edit - Removes Clarke -///Lavaproof, fireproof, fast mech with low armor and higher energy consumption, cannot strafe and has an internal ore box. -/obj/mecha/working/clarke - desc = "Combining man and machine for a better, stronger engineer. Can even resist lava!" - name = "\improper Clarke" - icon_state = "clarke" - max_temperature = 65000 - max_integrity = 200 - step_in = 1.25 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - lights_power = 7 - deflect_chance = 10 - step_energy_drain = 15 //slightly higher energy drain since you movin those wheels FAST - armor = list("melee" = 20, "bullet" = 10, "laser" = 20, "energy" = 10, "bomb" = 60, "bio" = 0, "rad" = 70, "fire" = 100, "acid" = 100) //low armor to compensate for fire protection and speed - max_equip = 7 - wreckage = /obj/structure/mecha_wreckage/clarke - enter_delay = 40 - canstrafe = FALSE - /// Handles an internal ore box for Clarke - var/obj/structure/ore_box/box - -/obj/mecha/working/clarke/Initialize() - . = ..() - box = new /obj/structure/ore_box(src) - var/obj/item/mecha_parts/mecha_equipment/orebox_manager/ME = new(src) - ME.attach(src) - -/obj/mecha/working/clarke/Destroy() - box.dump_box_contents() - return ..() - -/obj/mecha/working/clarke/moved_inside(mob/living/carbon/human/H) - . = ..() - if(.) - var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED] - hud.add_hud_to(H) - -/obj/mecha/working/clarke/go_out() - if(isliving(occupant)) - var/mob/living/L = occupant - var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED] - hud.remove_hud_from(L) - return ..() - -/obj/mecha/working/clarke/mmi_moved_inside(obj/item/mmi/M, mob/user) - . = ..() - if(.) - var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED] - var/mob/living/brain/B = M.brainmob - hud.add_hud_to(B) - -/obj/mecha/working/clarke/domove(direction) - . = ..() - if (.) - if(prob(30)) - crush_floor() - -/obj/mecha/working/clarke/mechturn(direction) - if(prob(80)) - crush_floor() - return ..() - -///Damages floor tiles and plating as the Clarke moves over them with its tracks. Damage is superficial, will not create hull breaches. -/obj/mecha/working/clarke/proc/crush_floor() - var/turf/open/floor/tile = get_turf(src) - if(!istype(tile, /turf/open/floor)) - return - tile.crush() - -//Ore Box Controls - -///Special equipment for the Clarke mech, handles moving ore without giving the mech a hydraulic clamp and cargo compartment. -/obj/item/mecha_parts/mecha_equipment/orebox_manager - name = "ore storage module" - desc = "An automated ore box management device." - icon = 'icons/obj/mining.dmi' - icon_state = "bin" - selectable = FALSE - detachable = FALSE - salvageable = FALSE - /// Var to avoid istype checking every time the topic button is pressed. This will only work inside Clarke mechs. - var/obj/mecha/working/clarke/hostmech - -/obj/item/mecha_parts/mecha_equipment/orebox_manager/attach(obj/mecha/M) - . = ..() - if(istype(M, /obj/mecha/working/clarke)) - hostmech = M - -/obj/item/mecha_parts/mecha_equipment/orebox_manager/detach() - hostmech = null //just in case - return ..() - -/obj/item/mecha_parts/mecha_equipment/orebox_manager/Topic(href,href_list) - . = ..() - if(!hostmech || !hostmech.box) - return - hostmech.box.dump_box_contents() - -/obj/item/mecha_parts/mecha_equipment/orebox_manager/get_equip_info() - return "[..()] [hostmech?.box ? "Unload Cargo" : "Error"]" - -WS End */ diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index bae9a13afdce..2ef07992eb26 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -45,11 +45,11 @@ /obj/mecha/working/ripley/go_out() ..() - update_icon() + update_appearance() /obj/mecha/working/ripley/moved_inside(mob/living/carbon/human/H) ..() - update_icon() + update_appearance() /obj/mecha/working/ripley/check_for_internal_damage(list/possible_int_damage,ignore_threshold=null) if (!enclosed) diff --git a/code/game/objects/effects/anomalies/anomalies_melter.dm b/code/game/objects/effects/anomalies/anomalies_melter.dm index 763c1f334610..d906d4f4bad2 100644 --- a/code/game/objects/effects/anomalies/anomalies_melter.dm +++ b/code/game/objects/effects/anomalies/anomalies_melter.dm @@ -4,7 +4,7 @@ desc = "A mysterious anomaly. Everburning green flames with a horrid sizzle, melting what's near" effectrange = 2 pulse_delay = 10 SECONDS - aSignal = /obj/item/assembly/signaler/anomaly/pyro + aSignal = /obj/item/assembly/signaler/anomaly/melter /obj/effect/anomaly/melter/anomalyEffect(seconds_per_tick) ..() @@ -18,16 +18,21 @@ for(var/X in meltee.get_equipped_items()) var/obj/item/I = X I.acid_act(20, 20) - I.update_icon() + I.update_appearance() for (var/obj/item/melt in range(effectrange, src)) - melt.acid_act(20, 10) - melt.update_icon() + + if(istype(melt, /obj/item/assembly/signaler/anomaly)) + return + else + melt.acid_act(20, 10) + melt.update_icon() + /obj/effect/anomaly/melter/Bumped(atom/movable/AM) if(isobj(AM)) var/obj/acid = AM acid.acid_act(100,20) - acid.update_icon() + acid.update_appearance() /obj/effect/anomaly/melter/detonate() @@ -35,10 +40,10 @@ for(var/X in meltee.get_equipped_items()) var/obj/item/I = X I.acid_act(200, 20) - I.update_icon() + I.update_appearance() for(var/obj/item in range(effectrange, src)) item.acid_act(100,20) - item.update_icon() + item.update_appearance() . = ..() diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 932708c7f35c..d00f3eb256a6 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -85,7 +85,7 @@ SIGNAL_HANDLER if(iscarbon(AM) && blood_state && bloodiness > 40) SEND_SIGNAL(AM, COMSIG_STEP_ON_BLOOD, src) - update_icon() + update_appearance() /obj/effect/decal/cleanable/wash(clean_types) ..() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 5e4f4978b75a..3dd327dda08c 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -206,7 +206,7 @@ icon_state = "" //All of the footprint visuals come from overlays if(mapload) entered_dirs |= dir //Keep the same appearance as in the map editor - update_icon() + update_appearance() //Rotate all of the footprint directions too /obj/effect/decal/cleanable/blood/footprints/setDir(newdir) @@ -225,23 +225,27 @@ if(old_exited_dirs & Ddir) exited_dirs |= angle2dir_cardinal(dir2angle(Ddir) + ang_change) - update_icon() + update_appearance() return ..() /obj/effect/decal/cleanable/blood/footprints/update_icon() - cut_overlays() + . = ..() + alpha = min(BLOODY_FOOTPRINT_BASE_ALPHA + (255 - BLOODY_FOOTPRINT_BASE_ALPHA) * bloodiness / (BLOOD_ITEM_MAX / 2), 255) +/obj/effect/decal/cleanable/blood/footprints/update_overlays() + . = ..() for(var/Ddir in GLOB.cardinals) if(entered_dirs & Ddir) var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"] if(!bloodstep_overlay) GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]1", dir = Ddir) - add_overlay(bloodstep_overlay) + . += bloodstep_overlay + if(exited_dirs & Ddir) var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"] if(!bloodstep_overlay) GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]2", dir = Ddir) - add_overlay(bloodstep_overlay) + . += bloodstep_overlay alpha = min(BLOODY_FOOTPRINT_BASE_ALPHA + (255 - BLOODY_FOOTPRINT_BASE_ALPHA) * bloodiness / (BLOOD_ITEM_MAX / 2), 255) diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index d8570a7bb490..5f84386668f2 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -1,18 +1,3 @@ -/obj/effect/temp_visual/point - name = "pointer" - icon = 'icons/hud/screen_gen.dmi' - icon_state = "arrow" - layer = POINT_LAYER - duration = 25 - -/obj/effect/temp_visual/point/Initialize(mapload, set_invis = 0) - . = ..() - var/atom/old_loc = loc - abstract_move(get_turf(src)) - pixel_x = old_loc.pixel_x - pixel_y = old_loc.pixel_y - invisibility = set_invis - //Used by spraybottles. /obj/effect/decal/chempuff name = "chemicals" diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 4259403c2de0..51020d8f60dc 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -321,7 +321,7 @@ for(var/obj/machinery/atmospherics/components/unary/U in O) if(!U.welded) U.welded = TRUE - U.update_icon() + U.update_appearance() U.visible_message("[U] sealed shut!") for(var/mob/living/L in O) L.ExtinguishMob() diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index e357ac3ea79a..a19ab7781269 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -168,7 +168,7 @@ for(var/obj/machinery/atmospherics/components/unary/U in T) if(!isnull(U.welded) && !U.welded) //must be an unwelded vent pump or vent scrubber. U.welded = TRUE - U.update_icon() + U.update_appearance() U.visible_message("[U] is frozen shut!") for(var/mob/living/L in T) L.ExtinguishMob() diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm index cb5b34ec8cca..914b910d9830 100644 --- a/code/game/objects/effects/spawners/bombspawner.dm +++ b/code/game/objects/effects/spawners/bombspawner.dm @@ -35,7 +35,7 @@ V.attached_device = A A.holder = V - V.update_icon() + V.update_appearance() return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 4c3e4397e73f..d825f49c811d 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -57,6 +57,10 @@ /obj/effect/temp_visual/dir_setting/firing_effect icon = 'icons/effects/effects.dmi' icon_state = "firing_effect" + light_system = MOVABLE_LIGHT + light_range = 2 + light_power = 0.4 + light_color = COLOR_VERY_SOFT_YELLOW duration = 2 /obj/effect/temp_visual/dir_setting/firing_effect/setDir(newdir) @@ -75,8 +79,16 @@ /obj/effect/temp_visual/dir_setting/firing_effect/energy icon_state = "firing_effect_energy" + light_color = COLOR_RED_LIGHT duration = 3 +/obj/effect/temp_visual/dir_setting/firing_effect/gauss +//gauss doesn't have a muzzle flash + light_system = null + light_range = 0 + light_power = 0 + light_color = null + /obj/effect/temp_visual/dir_setting/firing_effect/magic icon_state = "shieldsparkles" duration = 3 @@ -502,22 +514,26 @@ status = rcd_status delay = rcd_delay if (status == RCD_DECONSTRUCT) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 11) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 1.1 SECONDS) delay -= 11 icon_state = "rcd_end_reverse" else - update_icon() + update_appearance() /obj/effect/constructing_effect/update_icon_state() icon_state = "rcd" - if (delay < 10) + if(delay < 10) icon_state += "_shortest" - else if (delay < 20) + return ..() + if (delay < 20) icon_state += "_shorter" - else if (delay < 37) + return ..() + if (delay < 37) icon_state += "_short" - if (status == RCD_DECONSTRUCT) + return ..() + if(status == RCD_DECONSTRUCT) icon_state += "_reverse" + return ..() /obj/effect/constructing_effect/proc/end_animation() if (status == RCD_DECONSTRUCT) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 08763a688736..e13cca64caf9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -881,15 +881,11 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb colour = COLOR_BLUE_GRAY else colour = COLOR_BLUE_GRAY - if(outline_filter) - filters -= outline_filter - outline_filter = filter(type="outline", size=1, color=colour) - filters += outline_filter + add_filter(HOVER_OUTLINE_FILTER, 1, list(type="outline", size=1, color=colour)) + /obj/item/proc/remove_outline() - if(outline_filter) - filters -= outline_filter - outline_filter = null + remove_filter(HOVER_OUTLINE_FILTER) /// Called when a mob tries to use the item as a tool.Handles most checks. /obj/item/proc/use_tool(atom/target, mob/living/user, delay, amount=0, volume=0, datum/callback/extra_checks) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 43d7ab5d8358..b84ccff2b8c9 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -101,7 +101,7 @@ RLD qdel(W) else return ..() - update_icon() //ensures that ammo counters (if present) get updated + update_appearance() //ensures that ammo counters (if present) get updated /obj/item/construction/proc/loadwithsheets(obj/item/stack/sheet/S, value, mob/user) var/maxsheets = round((max_matter-matter)/value) //calculate the max number of sheets that will fit in RCD @@ -130,7 +130,7 @@ RLD to_chat(user, no_ammo_message) return FALSE matter -= amount - update_icon() + update_appearance() return TRUE else if(silo_mats.on_hold()) @@ -521,7 +521,7 @@ RLD /obj/item/construction/rcd/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/construction/rcd/borg no_ammo_message = "Insufficient charge." @@ -658,6 +658,7 @@ RLD /obj/item/construction/rld/update_icon_state() icon_state = "rld-[round(matter/matter_divisor)]" + return ..() /obj/item/construction/rld/attack_self(mob/user) ..() diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index b72a01394ff9..18661712b6e4 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -64,7 +64,7 @@ loaded.amount += transfer_amount else return - update_icon() + update_appearance() to_chat(user, "You add the cables to [src]. It now contains [loaded.amount].") else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(!loaded) @@ -96,7 +96,7 @@ loaded.forceMove(get_turf(user)) loaded = null - update_icon() + update_appearance() else ..() @@ -116,7 +116,7 @@ if(!loaded) icon_state = "rcl-0" item_state = "rcl-0" - return + return ..() switch(loaded.amount) if(61 to INFINITY) icon_state = "rcl-30" @@ -130,9 +130,10 @@ else icon_state = "rcl-0" item_state = "rcl-0" + return ..() /obj/item/rcl/proc/is_empty(mob/user, loud = 1) - update_icon() + update_appearance() if(!loaded || !loaded.amount) if(loud) to_chat(user, "The last of the cables unreel from [src].") @@ -213,7 +214,7 @@ loaded.cable_color = colors[current_color_index] last = loaded.place_turf(get_turf(src), user, turn(user.dir, 180)) is_empty(user) //If we've run out, display message - update_icon() + update_appearance() //searches the current tile for a stub cable of the same colour @@ -302,11 +303,11 @@ loaded = new() loaded.max_amount = max_amount loaded.amount = max_amount - update_icon() + update_appearance() /obj/item/rcl/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/rcl/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/rcl_col)) @@ -335,7 +336,7 @@ if(!loaded) icon_state = "rclg-0" item_state = "rclg-0" - return + return ..() switch(loaded.amount) if(1 to INFINITY) icon_state = "rclg-1" @@ -343,3 +344,4 @@ else icon_state = "rclg-1" item_state = "rclg-1" + return ..() diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index 28c426c26489..6ea32ab181e3 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -434,7 +434,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( activate() C.add_fingerprint(usr) - C.update_icon() + C.update_appearance() if(mode & WRENCH_MODE) C.wrench_act(user, src) return diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 14ab77ca43ea..78ee6cc25d3c 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -3,6 +3,7 @@ desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." icon = 'icons/obj/janitor.dmi' icon_state = "broom0" + base_icon_state = "broom" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' force = 8 @@ -21,10 +22,11 @@ /obj/item/pushbroom/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12, icon_wielded="broom1") + AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12, icon_wielded="[base_icon_state]1") /obj/item/pushbroom/update_icon_state() - icon_state = "broom0" + icon_state = "[base_icon_state]0" + return ..() /// triggered on wield of two handed item /obj/item/pushbroom/proc/on_wield(obj/item/source, mob/user) @@ -65,11 +67,11 @@ break if(i > 0) if (target_bin) - target_bin.update_icon() + target_bin.update_appearance() to_chat(user, "You sweep the pile of garbage into [target_bin].") playsound(loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1) /obj/item/pushbroom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta J.put_in_cart(src, user) J.mybroom=src - J.update_icon() + J.update_appearance() diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 85606d74e10a..595c798d4c9e 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -21,6 +21,7 @@ /obj/item/candle/update_icon_state() icon_state = "candle[(wax > 400) ? ((wax > 750) ? 1 : 2) : 3][lit ? "_lit" : ""]" + return ..() /obj/item/candle/attackby(obj/item/W, mob/user, params) var/msg = W.ignition_effect(src, user) @@ -44,13 +45,13 @@ usr.visible_message(show_message) set_light(CANDLE_LUMINOSITY, 0.8) START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/candle/proc/put_out_candle() if(!lit) return lit = FALSE - update_icon() + update_appearance() set_light(0) return TRUE @@ -66,7 +67,7 @@ if(!wax) new /obj/item/trash/candle(loc) qdel(src) - update_icon() + update_appearance() open_flame() /obj/item/candle/attack_self(mob/user) @@ -114,12 +115,13 @@ user.visible_message( "[user] snuffs [src] out.") lit = FALSE - update_icon() + update_appearance() set_light(0) -/obj/item/candle/tribal_torch/update_icon() +/obj/item/candle/tribal_torch/update_appearance() icon_state = "torch[lit ? "_lit" : "_unlit"]" item_state = "torch[lit ? "-on" : ""]" + return ..() #undef CANDLE_LUMINOSITY diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 1666721f4793..58eba6e70e88 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -35,7 +35,7 @@ /obj/item/card/data/Initialize() .=..() - update_icon() + update_appearance() /obj/item/card/data/update_overlays() . = ..() @@ -383,7 +383,7 @@ var/obj/item/storage/wallet/powergaming = loc if(powergaming.front_id == src) powergaming.update_label() - powergaming.update_icon() + powergaming.update_appearance() /obj/item/card/id/proc/get_cached_flat_icon() if(!cached_flat_icon) @@ -420,7 +420,7 @@ update_label() /obj/item/card/id/proc/update_label() var/blank = !registered_name name = "[blank ? initial(name) : "[registered_name]'s ID Card"][(!assignment) ? "" : " ([assignment])"]" - update_icon() + update_appearance() /obj/item/card/id/silver name = "silver identification card" @@ -602,7 +602,7 @@ update_label() /obj/item/card/id/captains_spare/update_label() //so it doesn't change to Captain's ID card (Captain) on a sneeze if(registered_name == "Captain") name = "[initial(name)][(!assignment || assignment == "Captain") ? "" : " ([assignment])"]" - update_icon() + update_appearance() else ..() diff --git a/code/game/objects/items/cash.dm b/code/game/objects/items/cash.dm index 9528b47ea076..c906da16b606 100644 --- a/code/game/objects/items/cash.dm +++ b/code/game/objects/items/cash.dm @@ -20,7 +20,7 @@ . = ..() if(amount) value = amount - update_icon() + update_appearance() /obj/item/spacecash/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/spacecash)) @@ -35,7 +35,7 @@ qdel(cash) bundle.value += value - bundle.update_icon() + bundle.update_appearance() if(ishuman(user)) var/mob/living/carbon/human/H = user H.dropItemToGround(src) @@ -53,9 +53,9 @@ /obj/item/spacecash/bundle/Initialize() . = ..() - update_icon() + update_appearance() -/obj/item/spacecash/bundle/update_icon() +/obj/item/spacecash/bundle/update_appearance() icon_state = "nothing" cut_overlays() var/remaining_value = value @@ -110,6 +110,7 @@ desc = "That's a lot of dosh." drop_sound = 'sound/items/handling/dosh_drop.ogg' pickup_sound = 'sound/items/handling/dosh_pickup.ogg' + return ..() /obj/item/spacecash/bundle/attack_self() var/cashamount = input(usr, "How many credits do you want to take? (0 to [value])", "Take Money", 20) as num @@ -128,9 +129,9 @@ var/obj/item/spacecash/bundle/bundle = new (usr.loc) bundle.value = cashamount - bundle.update_icon() + bundle.update_appearance() usr.put_in_hands(bundle) - update_icon() + update_appearance() /obj/item/spacecash/bundle/AltClick(mob/living/user) var/cashamount = input(usr, "How many credits do you want to take? (0 to [value])", "Take Money", 20) as num @@ -149,9 +150,9 @@ var/obj/item/spacecash/bundle/bundle = new (usr.loc) bundle.value = cashamount - bundle.update_icon() + bundle.update_appearance() usr.put_in_hands(bundle) - update_icon() + update_appearance() /obj/item/spacecash/bundle/attack_hand(mob/user) if(user.get_inactive_held_item() == src) @@ -161,7 +162,7 @@ var/nuvalue = value - 1 value = nuvalue user.put_in_hands(new /obj/item/spacecash/bundle(loc, 1)) - update_icon() + update_appearance() else . = ..() diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 2eed89eb2e32..888bebac8095 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -196,7 +196,7 @@ cached_icon.Insert(mob_icon, "frame[i]") mob_underlay = mutable_appearance(cached_icon, "frame1") - update_icon() + update_appearance() desc = initial(desc) + "
It appears to contain [target.name]." START_PROCESSING(SSobj, src) @@ -207,7 +207,8 @@ gun.field_disconnect(src) return ..() -/obj/structure/chrono_field/update_icon() +/obj/structure/chrono_field/update_overlays() + . = ..() var/ttk_frame = 1 - (tickstokill / initial(tickstokill)) ttk_frame = clamp(CEILING(ttk_frame * CHRONO_FRAME_COUNT, 1), 1, CHRONO_FRAME_COUNT) if(ttk_frame != RPpos) @@ -236,7 +237,7 @@ captured.Unconscious(80) if(captured.loc != src) captured.forceMove(src) - update_icon() + update_appearance() if(gun) if(gun.field_check(src)) tickstokill-- diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 0b3aa3ef332c..44857142e4db 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -50,7 +50,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A [initial(name)]. This one is lit." attack_verb = list("burnt","singed") START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/match/proc/matchburnout() if(lit) @@ -594,7 +594,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() if(!overlay_state) overlay_state = pick(overlay_list) - update_icon() + update_appearance() /obj/item/lighter/cyborg_unequip(mob/user) if(!lit) @@ -607,6 +607,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/lighter/update_icon_state() icon_state = "[initial(icon_state)][lit ? "-on" : ""]" + return ..() /obj/item/lighter/proc/create_lighter_overlay() return mutable_appearance(icon, "lighter_overlay_[overlay_state][lit ? "-on" : ""]") @@ -629,7 +630,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM force = 0 attack_verb = null //human_defense.dm takes care of it set_light_on(lit) - update_icon() + update_appearance() /obj/item/lighter/extinguish() set_lit(FALSE) @@ -732,7 +733,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM . = ..() if(!lighter_color) lighter_color = pick(color_list) - update_icon() + update_appearance() /obj/item/lighter/greyscale/create_lighter_overlay() var/mutable_appearance/lighter_overlay = ..() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index de828a547d4d..595c45ff9a9b 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -164,7 +164,7 @@ if(has_cap) is_capped = !is_capped to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].") - update_icon() + update_appearance() /obj/item/toy/crayon/CtrlClick(mob/user) if(can_change_colour && !isturf(loc) && user.canUseTopic(src, BE_CLOSE, ismonkey(user))) @@ -259,7 +259,7 @@ . = TRUE paint_mode = PAINT_NORMAL drawtype = "a" - update_icon() + update_appearance() /obj/item/toy/crayon/proc/select_colour(mob/user) var/chosen_colour = input(user, "", "Choose Color", paint_color) as color|null @@ -600,7 +600,7 @@ new /obj/item/toy/crayon/blue(src) new /obj/item/toy/crayon/purple(src) new /obj/item/toy/crayon/black(src) - update_icon() + update_appearance() /obj/item/storage/crayons/update_overlays() . = ..() @@ -662,7 +662,7 @@ paint_color = pick("#DA0000","#FF9300","#FFF200","#A8E61D","#00B7EF", "#DA00FF") refill() - update_icon() + update_appearance() /obj/item/toy/crayon/spraycan/examine(mob/user) @@ -738,6 +738,7 @@ /obj/item/toy/crayon/spraycan/update_icon_state() icon_state = is_capped ? icon_capped : icon_uncapped + return ..() /obj/item/toy/crayon/spraycan/update_overlays() . = ..() diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index 52af27b5d819..9a6663cf2046 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -3,6 +3,7 @@ desc = "A hard-light chip encoded with an amount of credits. It is a modern replacement for physical money that can be directly converted to virtual currency and viceversa. Keep away from magnets." icon = 'icons/obj/economy.dmi' icon_state = "holochip" + base_icon_state = "holochip" throwforce = 0 force = 0 w_class = WEIGHT_CLASS_TINY @@ -11,7 +12,7 @@ /obj/item/holochip/Initialize(mapload, amount) . = ..() credits = amount - update_icon() + update_appearance() /obj/item/holochip/examine(mob/user) . = ..() @@ -21,21 +22,36 @@ /obj/item/holochip/get_item_credit_value() return credits -/obj/item/holochip/update_icon() +/obj/item/holochip/update_name() name = "\improper [credits] credit holochip" - var/rounded_credits = credits + return ..() + +/obj/item/holochip/update_icon_state() + var/icon_suffix = "" + switch(credits) + if(1e3 to (1e6 - 1)) + icon_suffix = "_kilo" + if(1e6 to (1e9 - 1)) + icon_suffix = "_mega" + if(1e9 to INFINITY) + icon_suffix = "_giga" + + icon_state = "[base_icon_state][icon_suffix]" + return ..() + +/obj/item/holochip/update_overlays() + . = ..() + var/rounded_credits switch(credits) - if(1 to 999) - icon_state = "holochip" - if(1000 to 999999) - icon_state = "holochip_kilo" - rounded_credits = round(rounded_credits * 0.001) - if(1000000 to 999999999) - icon_state = "holochip_mega" - rounded_credits = round(rounded_credits * 0.000001) - if(1000000000 to INFINITY) - icon_state = "holochip_giga" - rounded_credits = round(rounded_credits * 0.000000001) + if(0 to (1e3 - 1)) + rounded_credits = round(credits) + if(1e3 to (1e6 - 1)) + rounded_credits = round(credits * 1e-3) + if(1e6 to (1e9 - 1)) + rounded_credits = round(credits * 1e-6) + if(1e9 to INFINITY) + rounded_credits = round(credits * 1e-9) + var/overlay_color = "#914792" switch(rounded_credits) if(0 to 4) @@ -54,17 +70,16 @@ overlay_color = "#0153C1" if(500 to INFINITY) overlay_color = "#2C2C2C" - cut_overlays() var/mutable_appearance/holochip_overlay = mutable_appearance('icons/obj/economy.dmi', "[icon_state]-color") holochip_overlay.color = overlay_color - add_overlay(holochip_overlay) + . += holochip_overlay /obj/item/holochip/proc/spend(amount, pay_anyway = FALSE) if(credits >= amount) credits -= amount if(credits == 0) qdel(src) - update_icon() + update_appearance() return amount else if(pay_anyway) qdel(src) @@ -78,7 +93,7 @@ var/obj/item/holochip/H = I credits += H.credits to_chat(user, "You insert the credits into [src].") - update_icon() + update_appearance() qdel(H) /obj/item/holochip/AltClick(mob/user) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 910669a5cf14..bf61f194b9b7 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -58,7 +58,7 @@ powered = TRUE else powered = FALSE - update_icon() + update_appearance() /obj/item/defibrillator/update_overlays() . = ..() @@ -130,7 +130,7 @@ else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(cell) - cell.update_icon() + cell.update_appearance() cell.forceMove(get_turf(src)) cell = null to_chat(user, "You remove the cell from [src].") @@ -232,7 +232,7 @@ visible_message("[src] beeps: Charge depleted.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) paddles.cooldown = FALSE - paddles.update_icon() + paddles.update_appearance() update_power() /obj/item/defibrillator/compact @@ -358,13 +358,13 @@ if(req_defib || !time) return cooldown = TRUE - update_icon() + update_appearance() sleep(time) var/turf/T = get_turf(src) T.audible_message("[src] beeps: Unit is recharged.") playsound(src, 'sound/machines/defib_ready.ogg', 50, FALSE) cooldown = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/Initialize() . = ..() @@ -377,13 +377,14 @@ return INITIALIZE_HINT_QDEL defib = loc busy = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/update_icon_state() icon_state = "[base_icon_state][wielded]" item_state = icon_state if(cooldown) icon_state = "[base_icon_state][wielded]_cooldown" + return ..() /obj/item/shockpaddles/dropped(mob/user) if(!req_defib) @@ -476,7 +477,7 @@ defib.deductcharge(revivecost) cooldown = TRUE busy = FALSE - update_icon() + update_appearance() if(req_defib) defib.cooldowncheck(user) else @@ -490,7 +491,7 @@ user.visible_message("[user] begins to place [src] on [H]'s chest.", "You overcharge the paddles and begin to place them onto [H]'s chest...") busy = TRUE - update_icon() + update_appearance() if(do_after(user, 15, target = H)) user.visible_message("[user] places [src] on [H]'s chest.", "You place [src] on [H]'s chest and begin to charge them.") @@ -503,13 +504,13 @@ if(do_after(user, 15, target = H)) //Takes longer due to overcharging if(!H) busy = FALSE - update_icon() + update_appearance() return if(H && H.stat == DEAD) to_chat(user, "[H] is dead.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE - update_icon() + update_appearance() return user.visible_message("[user] shocks [H] with \the [src]!", "You shock [H] with \the [src]!") playsound(src, 'sound/machines/defib_zap.ogg', 100, TRUE, -1) @@ -529,18 +530,18 @@ defib.deductcharge(revivecost) cooldown = TRUE busy = FALSE - update_icon() + update_appearance() if(!req_defib) recharge(60) if(req_defib && (defib.cooldowncheck(user))) return busy = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/proc/do_help(mob/living/carbon/H, mob/living/user) user.visible_message("[user] begins to place [src] on [H]'s chest.", "You begin to place [src] on [H]'s chest...") busy = TRUE - update_icon() + update_appearance() if(do_after(user, 30, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process user.visible_message("[user] places [src] on [H]'s chest.", "You place [src] on [H]'s chest.") playsound(src, 'sound/machines/defib_charge.ogg', 75, FALSE) @@ -554,7 +555,7 @@ user.audible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's chest is obscured. Operation aborted.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE - update_icon() + update_appearance() return if(H.stat == DEAD) H.visible_message("[H]'s body convulses a bit.") @@ -609,7 +610,7 @@ if(req_defib) defib.deductcharge(revivecost) cooldown = 1 - update_icon() + update_appearance() if(req_defib) defib.cooldowncheck(user) else @@ -629,7 +630,7 @@ user.visible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient is not in a valid state. Operation aborted.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE - update_icon() + update_appearance() /obj/item/shockpaddles/cyborg name = "cyborg defibrillator paddles" diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index d507e1594f5f..e7da99ab87e7 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -106,7 +106,7 @@ GLOBAL_LIST_EMPTY(PDAs) inserted_item = new inserted_item(src) else inserted_item = new /obj/item/pen(src) - update_icon() + update_appearance() /obj/item/pda/equipped(mob/user, slot) . = ..() @@ -282,7 +282,7 @@ GLOBAL_LIST_EMPTY(PDAs) if (pai) if(pai.loc != src) pai = null - update_icon() + update_appearance() else dat += "
  • [PDAIMG(status)] pAI Device Configuration
  • " dat += "
  • [PDAIMG(status)] Eject pAI Device
  • " @@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(PDAs) scanmode = 0 cartridge.host_pda = null cartridge = null - update_icon() + update_appearance() //MENU FUNCTIONS=================================== @@ -612,7 +612,7 @@ GLOBAL_LIST_EMPTY(PDAs) . = id id = null updateSelfDialog() - update_icon() + update_appearance() if(ishuman(loc)) var/mob/living/carbon/human/H = loc @@ -730,7 +730,7 @@ GLOBAL_LIST_EMPTY(PDAs) to_chat(L, "[icon2html(src)] PDA message from [hrefstart][signal.data["name"]] ([signal.data["job"]])[hrefend], [inbound_message] [reply]") - update_icon() + update_appearance() add_overlay(icon_alert) /obj/item/pda/proc/send_to_all(mob/living/U) @@ -806,7 +806,7 @@ GLOBAL_LIST_EMPTY(PDAs) set_light_on(FALSE) else if(light_range) set_light_on(TRUE) - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() @@ -820,7 +820,7 @@ GLOBAL_LIST_EMPTY(PDAs) user.put_in_hands(inserted_item) to_chat(user, "You remove [inserted_item] from [src].") inserted_item = null - update_icon() + update_appearance() else to_chat(user, "This PDA does not have a pen in it!") @@ -834,7 +834,7 @@ GLOBAL_LIST_EMPTY(PDAs) cartridge.host_pda = null cartridge = null updateSelfDialog() - update_icon() + update_appearance() //trying to insert or remove an id /obj/item/pda/proc/id_check(mob/user, obj/item/card/id/I) @@ -851,7 +851,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(!user.transferItemToLoc(I, src)) return FALSE insert_id(I, user) - update_icon() + update_appearance() return TRUE @@ -879,7 +879,7 @@ GLOBAL_LIST_EMPTY(PDAs) cartridge.host_pda = src to_chat(user, "You insert [cartridge] into [src].") updateSelfDialog() - update_icon() + update_appearance() else if(istype(C, /obj/item/card/id)) var/obj/item/card/id/idcard = C @@ -904,7 +904,7 @@ GLOBAL_LIST_EMPTY(PDAs) return pai = C to_chat(user, "You slot \the [C] into [src].") - update_icon() + update_appearance() updateUsrDialog() else if(is_type_in_list(C, contained_item)) //Checks if there is a pen if(inserted_item) @@ -914,7 +914,7 @@ GLOBAL_LIST_EMPTY(PDAs) return to_chat(user, "You slide \the [C] into \the [src].") inserted_item = C - update_icon() + update_appearance() else if(istype(C, /obj/item/photo)) var/obj/item/photo/P = C picture = P.picture diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 343f4e385e56..ce1860a53e87 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -32,10 +32,9 @@ target.transfer_ai(AI_TRANS_TO_CARD, user, null, src) if(AI) log_combat(user, AI, "carded", src) - update_icon() //Whatever happened, update the card's state (icon, name) to match. + update_appearance() //Whatever happened, update the card's state (icon, name) to match. -/obj/item/aicard/update_icon() - cut_overlays() +/obj/item/aicard/update_icon_state() if(AI) name = "[initial(name)] - [AI.name]" if(AI.stat == DEAD) @@ -48,6 +47,7 @@ else name = initial(name) icon_state = initial(icon_state) + return ..() /obj/item/aicard/ui_state(mob/user) return GLOB.hands_state @@ -99,4 +99,4 @@ AI.radio_enabled = !AI.radio_enabled to_chat(AI, "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!") . = TRUE - update_icon() + update_appearance() diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index d33baf5510ac..584bbcc1227f 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -467,6 +467,7 @@ light_range = 4 light_system = MOVABLE_LIGHT color = LIGHT_COLOR_GREEN + base_icon_state = "glowstick" icon_state = "glowstick" item_state = "glowstick" grind_results = list(/datum/reagent/phenol = 15, /datum/reagent/hydrogen = 10, /datum/reagent/oxygen = 5) //Meth-in-a-stick @@ -491,28 +492,35 @@ if(!fuel) turn_off() STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/flashlight/glowstick/proc/turn_off() on = FALSE - update_icon() + update_appearance() -/obj/item/flashlight/glowstick/update_icon() - item_state = "glowstick" - cut_overlays() +/obj/item/flashlight/glowstick/update_appearance(updates=ALL) + . = ..() if(!fuel) - icon_state = "glowstick-empty" - cut_overlays() set_light_on(FALSE) else if(on) - var/mutable_appearance/glowstick_overlay = mutable_appearance(icon, "glowstick-glow") - glowstick_overlay.color = color - add_overlay(glowstick_overlay) - item_state = "glowstick-on" + return + if(on) set_light_on(TRUE) - else - icon_state = "glowstick" - cut_overlays() + return + +/obj/item/flashlight/glowstick/update_icon_state() + icon_state = "[base_icon_state][(fuel <= 0) ? "-empty" : ""]" + item_state = "[base_icon_state][((fuel > 0) && on) ? "-on" : ""]" + return ..() + +/obj/item/flashlight/glowstick/update_overlays() + . = ..() + if(fuel <= 0 && !on) + return + + var/mutable_appearance/glowstick_overlay = mutable_appearance(icon, "glowstick-glow") + glowstick_overlay.color = color + . += glowstick_overlay /obj/item/flashlight/glowstick/attack_self(mob/user) if(!fuel) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index a2b1938abab2..e9da1f126aab 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -43,7 +43,7 @@ return ..() /obj/item/geiger_counter/process() - update_icon() + update_appearance() update_sound() if(!scanning) @@ -91,22 +91,25 @@ /obj/item/geiger_counter/update_icon_state() if(!scanning) icon_state = "geiger_off" - else if(obj_flags & EMAGGED) + return ..() + if(obj_flags & EMAGGED) icon_state = "geiger_on_emag" - else - switch(radiation_count) - if(-INFINITY to RAD_LEVEL_NORMAL) - icon_state = "geiger_on_1" - if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) - icon_state = "geiger_on_2" - if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) - icon_state = "geiger_on_3" - if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) - icon_state = "geiger_on_4" - if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - icon_state = "geiger_on_4" - if(RAD_LEVEL_CRITICAL + 1 to INFINITY) - icon_state = "geiger_on_5" + return ..() + + switch(radiation_count) + if(-INFINITY to RAD_LEVEL_NORMAL) + icon_state = "geiger_on_1" + if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) + icon_state = "geiger_on_2" + if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) + icon_state = "geiger_on_3" + if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) + icon_state = "geiger_on_4" + if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) + icon_state = "geiger_on_4" + if(RAD_LEVEL_CRITICAL + 1 to INFINITY) + icon_state = "geiger_on_5" + return ..() /obj/item/geiger_counter/proc/update_sound() if(!scanning) @@ -123,11 +126,11 @@ if(amount <= RAD_BACKGROUND_RADIATION || !scanning) return current_tick_amount += amount - update_icon() + update_appearance() /obj/item/geiger_counter/attack_self(mob/user) scanning = !scanning - update_icon() + update_appearance() to_chat(user, "[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].") /obj/item/geiger_counter/afterattack(atom/target, mob/user) @@ -168,7 +171,7 @@ user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!") obj_flags &= ~EMAGGED radiation_count = 0 - update_icon() + update_appearance() return 1 else return ..() @@ -181,7 +184,7 @@ return 0 radiation_count = 0 to_chat(usr, "You flush [src]'s radiation counts, resetting it to normal.") - update_icon() + update_appearance() /obj/item/geiger_counter/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -201,7 +204,7 @@ if(!scanning) return scanning = FALSE - update_icon() + update_appearance() /obj/item/geiger_counter/cyborg/equipped(mob/user) . = ..() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index ff92f7564b07..c6ad17b81255 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -154,6 +154,7 @@ /obj/item/lightreplacer/update_icon_state() icon_state = "lightreplacer[(obj_flags & EMAGGED ? 1 : 0)]" + return ..() /obj/item/lightreplacer/proc/status_string() return "It has [uses] light\s remaining (plus [bulb_shards] fragment\s)." @@ -225,7 +226,7 @@ name = "shortcircuited [initial(name)]" else name = initial(name) - update_icon() + update_appearance() /obj/item/lightreplacer/proc/CanUse(mob/living/user) src.add_fingerprint(user) @@ -255,7 +256,7 @@ /obj/item/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) J.put_in_cart(src, user) J.myreplacer = src - J.update_icon() + J.update_appearance() /obj/item/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index be3f71d935b1..dca088c1be2e 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -83,7 +83,7 @@ if(eye.eye_user) eye.setLoc(get_turf(src)) multitool_detect() - update_icon() + update_appearance() track_cooldown = world.time + track_delay /obj/item/multitool/ai_detect/proc/toggle_hud(mob/user) diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm index 3999e67c1952..fa777fec1124 100644 --- a/code/game/objects/items/devices/portable_chem_mixer.dm +++ b/code/game/objects/items/devices/portable_chem_mixer.dm @@ -46,7 +46,7 @@ update_contents() if (locked) replace_beaker(user) - update_icon() + update_appearance() I.play_tool_sound(src, 50) return @@ -56,7 +56,7 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - update_icon() + update_appearance() updateUsrDialog() return @@ -80,23 +80,23 @@ return /obj/item/storage/portable_chem_mixer/update_icon_state() - var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - if (!locked) + if(!SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) icon_state = "portablechemicalmixer_open" - else if (beaker) + return ..() + if(beaker) icon_state = "portablechemicalmixer_full" - else - icon_state = "portablechemicalmixer_empty" - + return ..() + icon_state = "portablechemicalmixer_empty" + return ..() /obj/item/storage/portable_chem_mixer/AltClick(mob/living/user) var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - if (!locked) + if(!locked) return ..() if(!can_interact(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return replace_beaker(user) - update_icon() + update_appearance() /** * Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently @@ -215,5 +215,5 @@ . = TRUE if("eject") replace_beaker(usr) - update_icon() + update_appearance() . = TRUE diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 342a7ab675b8..3a6ba2f73950 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -28,6 +28,7 @@ /obj/item/powersink/update_icon_state() icon_state = "powersink[mode == OPERATING]" + return ..() /obj/item/powersink/set_anchored(anchorvalue) . = ..() @@ -57,7 +58,7 @@ set_anchored(TRUE) mode = value - update_icon() + update_appearance() set_light(0) /obj/item/powersink/attackby(obj/item/I, mob/user, params) diff --git a/code/game/objects/items/devices/quantum_keycard.dm b/code/game/objects/items/devices/quantum_keycard.dm index 3a4dd7177c83..86051885c65c 100644 --- a/code/game/objects/items/devices/quantum_keycard.dm +++ b/code/game/objects/items/devices/quantum_keycard.dm @@ -26,7 +26,5 @@ qpad = null /obj/item/quantum_keycard/update_icon_state() - if(qpad) - icon_state = "quantum_keycard_on" - else - icon_state = initial(icon_state) + icon_state = qpad ? "quantum_keycard_on" : initial(icon_state) + return ..() diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index f135d6e97711..35d8be6efa55 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -103,7 +103,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) /obj/item/radio/intercom/emp_act(severity) . = ..() // Parent call here will set `on` to FALSE. - update_icon() + update_appearance() /obj/item/radio/intercom/end_emp_effect(curremp) . = ..() @@ -117,7 +117,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) icon_state = "[initial(icon_state)]-p" /** - * Proc called whenever the intercom's area loses or gains power. Responsible for setting the `on` variable and calling `update_icon()`. + * Proc called whenever the intercom's area loses or gains power. Responsible for setting the `on` variable and calling `update_appearance()`. * * Normally called after the intercom's area recieves the `COMSIG_AREA_POWER_CHANGE` signal, but it can also be called directly. * Arguments: @@ -129,7 +129,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) on = FALSE else on = current_area.powered(AREA_USAGE_EQUIP) // set "on" to the equipment power status of our area. - update_icon() + update_appearance() /obj/item/radio/intercom/add_blood_DNA(list/blood_dna) return FALSE diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index 42224d9cd23a..b152504a3431 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -16,15 +16,13 @@ /obj/item/swapper/Destroy() if(linked_swapper) linked_swapper.linked_swapper = null //*inception music* - linked_swapper.update_icon() + linked_swapper.update_appearance() linked_swapper = null return ..() /obj/item/swapper/update_icon_state() - if(linked_swapper) - icon_state = "swapper-linked" - else - icon_state = "swapper" + icon_state = "swapper[linked_swapper ? "-linked" : null]" + return ..() /obj/item/swapper/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/swapper)) @@ -38,8 +36,8 @@ to_chat(user, "You establish a quantum link between the two devices.") linked_swapper = other_swapper other_swapper.linked_swapper = src - update_icon() - linked_swapper.update_icon() + update_appearance() + linked_swapper.update_appearance() else return ..() @@ -74,9 +72,9 @@ to_chat(user, "You break the current quantum link.") if(!QDELETED(linked_swapper)) linked_swapper.linked_swapper = null - linked_swapper.update_icon() + linked_swapper.update_appearance() linked_swapper = null - update_icon() + update_appearance() //Gets the topmost teleportable container /obj/item/swapper/proc/get_teleportable_container() diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 8a0827f0ed6e..d072fcc9c23a 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -26,7 +26,7 @@ . = ..() if(starting_tape_type) mytape = new starting_tape_type(src) - update_icon() + update_appearance() become_hearing_sensitive(ROUNDSTART_TRAIT) /obj/item/taperecorder/Destroy() @@ -44,7 +44,7 @@ return mytape = I to_chat(user, "You insert [I] into [src].") - update_icon() + update_appearance() /obj/item/taperecorder/proc/eject(mob/user) @@ -53,7 +53,7 @@ stop() user.put_in_hands(mytape) mytape = null - update_icon() + update_appearance() /obj/item/taperecorder/fire_act(exposed_temperature, exposed_volume) mytape.ruin() //Fires destroy the tape @@ -87,12 +87,15 @@ /obj/item/taperecorder/update_icon_state() if(!mytape) icon_state = "taperecorder_empty" - else if(recording) + return ..() + if(recording) icon_state = "taperecorder_recording" - else if(playing) + return ..() + if(playing) icon_state = "taperecorder_playing" - else - icon_state = "taperecorder_idle" + return ..() + icon_state = "taperecorder_idle" + return ..() /obj/item/taperecorder/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods = list()) @@ -117,7 +120,7 @@ if(mytape.used_capacity < mytape.max_capacity) to_chat(usr, "Recording started.") recording = 1 - update_icon() + update_appearance() mytape.timestamp += mytape.used_capacity mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] Recording started." var/used = mytape.used_capacity //to stop runtimes when you eject the tape @@ -127,7 +130,7 @@ used++ sleep(10) recording = 0 - update_icon() + update_appearance() else to_chat(usr, "The tape is full.") @@ -149,7 +152,7 @@ playing = 0 var/turf/T = get_turf(src) T.visible_message("Tape Recorder: Playback stopped.") - update_icon() + update_appearance() /obj/item/taperecorder/verb/play() @@ -166,7 +169,7 @@ return playing = 1 - update_icon() + update_appearance() to_chat(usr, "Playing started.") var/used = mytape.used_capacity //to stop runtimes when you eject the tape var/max = mytape.max_capacity @@ -191,7 +194,7 @@ i++ playing = 0 - update_icon() + update_appearance() /obj/item/taperecorder/attack_self(mob/user) diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 8632a0fd6355..3d054927d2c8 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -260,4 +260,4 @@ effective or pretty fucking useless. GLOB.active_jammers |= src else GLOB.active_jammers -= src - update_icon() + update_appearance() diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 74bfafd0d41e..b26ec181525b 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -3,6 +3,7 @@ name = "tank transfer valve" icon_state = "valve_1" item_state = "ttv" + base_icon_state = "valve" lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi' desc = "Regulates the transfer of air between two tanks." @@ -41,7 +42,7 @@ tank_two = item to_chat(user, "You attach the tank to the transfer valve.") - update_icon() + update_appearance() //TODO: Have this take an assemblyholder else if(isassembly(item)) var/obj/item/assembly/A = item @@ -57,7 +58,7 @@ to_chat(user, "You attach the [item] to the valve controls and secure it.") A.on_attach() A.holder = src - A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb). + A.toggle_secure() //this calls update_appearance(), which calls update_appearance() on the holder (i.e. the bomb). log_bomber(user, "attached a [item.name] to a ttv -", src, null, FALSE) attacher_ref = WEAKREF(user) return @@ -94,30 +95,33 @@ /obj/item/transfer_valve/proc/toggle_off() toggle = TRUE -/obj/item/transfer_valve/update_icon() - cut_overlays() - - if(!tank_one && !tank_two && !attached_device) - icon_state = "valve_1" - return - icon_state = "valve" +/obj/item/transfer_valve/update_icon_state() + icon_state = "[base_icon_state][(!tank_one && !tank_two && !attached_device) ? "_1" : null]" + return ..() +/obj/item/transfer_valve/update_overlays() + . = ..() if(tank_one) - add_overlay("[tank_one.icon_state]") - if(tank_two) + . += "[tank_one.icon_state]" + + if(!tank_two) + underlays = null + else var/mutable_appearance/J = mutable_appearance(icon, icon_state = "[tank_two.icon_state]") var/matrix/T = matrix() T.Translate(-13, 0) J.transform = T underlays = list(J) - else - underlays = null - if(attached_device) - add_overlay("device") - if(istype(attached_device, /obj/item/assembly/infra)) - var/obj/item/assembly/infra/sensor = attached_device - if(sensor.on && sensor.visible) - add_overlay("proxy_beam") + + if(!attached_device) + return + + . += "device" + if(!istype(attached_device, /obj/item/assembly/infra)) + return + var/obj/item/assembly/infra/sensor = attached_device + if(sensor.on && sensor.visible) + . += "proxy_beam" /obj/item/transfer_valve/proc/merge_gases(datum/gas_mixture/target, change_volume = TRUE) var/target_self = FALSE @@ -177,12 +181,12 @@ merge_gases() for(var/i in 1 to 6) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 20 + (i - 1) * 10) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 20 + (i - 1) * 10) else if(valve_open && tank_one && tank_two) split_gases() valve_open = FALSE - update_icon() + update_appearance() /* This doesn't do anything but the timer etc. expects it to be here eventually maybe have it update icon to show state (timer, prox etc.) like old bombs @@ -240,4 +244,4 @@ attached_device = null . = TRUE - update_icon() + update_appearance() diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index b3e4fbc2ef80..c81cbd02bf2b 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -58,7 +58,7 @@ . = ..() if(!result) result = roll(sides) - update_icon() + update_appearance() /obj/item/dice/d1 name = "d1" @@ -196,7 +196,7 @@ comment = "NAT 20!" else if(sides == 20 && result == 1) comment = "Ouch, bad luck." - update_icon() + update_appearance() if(initial(icon_state) == "d00") result = (result - 1)*10 if(special_faces.len == sides) diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 2e028170a5f1..51c17ff4290d 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -63,4 +63,4 @@ icon_state = "docs_[C.crayon_color]" forgedseal = C.crayon_color to_chat(user, "You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?") - update_icon() + update_appearance() diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 3560b9b3ac88..39fe7d490320 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -65,10 +65,8 @@ /obj/item/dualsaber/update_icon_state() - if(wielded) - icon_state = "dualsaber[saber_color]" - else - icon_state = "dualsaber" + icon_state = wielded ? "dualsaber[saber_color][wielded]" : "dualsaber0" + return ..() /obj/item/dualsaber/Initialize() . = ..() @@ -169,7 +167,7 @@ hacked = TRUE to_chat(user, "2XRNBW_ENGAGE") saber_color = "rainbow" - update_icon() + update_appearance() else to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") else diff --git a/code/game/objects/items/energyhalberd.dm b/code/game/objects/items/energyhalberd.dm index 72aeb52132ca..fb03f24fbeb6 100644 --- a/code/game/objects/items/energyhalberd.dm +++ b/code/game/objects/items/energyhalberd.dm @@ -69,8 +69,10 @@ /obj/item/energyhalberd/update_icon_state() if(wielded) icon_state = "halberd[halberd_color]" + return ..() else icon_state = "halberd" + return ..() /obj/item/energyhalberd/Initialize() . = ..() @@ -165,7 +167,7 @@ hacked = TRUE to_chat(user, "HLBRDRNBW_ENGAGE") halberd_color = "rainbow" - update_icon() + update_appearance() else to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") else diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index db35c246db23..a695bd70e410 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -25,7 +25,7 @@ /obj/structure/etherealball/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/etherealball/attack_hand(mob/living/carbon/human/user) . = ..() @@ -49,7 +49,7 @@ TurnedOn = FALSE set_light(0) remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) - update_icon() + update_appearance() if(TimerID) deltimer(TimerID) @@ -58,11 +58,12 @@ current_color = random_color() set_light(range, power, current_color) add_atom_colour("#[current_color]", FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() TimerID = addtimer(CALLBACK(src, .proc/DiscoFever), 5, TIMER_STOPPABLE) //Call ourselves every 0.5 seconds to change colors /obj/structure/etherealball/update_icon_state() icon_state = "ethdisco_head_[TurnedOn]" + return ..() /obj/structure/etherealball/update_overlays() . = ..() diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 207da2cfbecf..8203880b2b27 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -3,6 +3,7 @@ */ /obj/item/fireaxe // DEM AXES MAN, marker -Agouri icon_state = "fireaxe0" + base_icon_state = "fireaxe" lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' name = "fire axe" @@ -28,7 +29,7 @@ /obj/item/fireaxe/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools - AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="fireaxe1") + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/fireaxe/proc/on_wield(obj/item/source, mob/user) @@ -43,7 +44,8 @@ wielded = FALSE /obj/item/fireaxe/update_icon_state() - icon_state = "fireaxe0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/fireaxe/afterattack(atom/A, mob/user, proximity) . = ..() @@ -59,13 +61,12 @@ */ /obj/item/fireaxe/boneaxe // Blatant imitation of the fireaxe, but made out of bone. icon_state = "bone_axe0" + base_icon_state = "bone_axe" name = "bone axe" desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." icon = 'icons/obj/items_and_weapons.dmi' /obj/item/fireaxe/boneaxe/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=23, icon_wielded="bone_axe1") + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=23, icon_wielded="[base_icon_state]1") -/obj/item/fireaxe/boneaxe/update_icon_state() - icon_state = "bone_axe0" diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index d52788bb9000..7412c1892676 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -60,6 +60,7 @@ /obj/item/flamethrower/update_icon_state() item_state = "flamethrower_[lit]" + return ..() /obj/item/flamethrower/update_overlays() . = ..() @@ -104,7 +105,7 @@ else if(W.tool_behaviour == TOOL_SCREWDRIVER && igniter && !lit) status = !status to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!") - update_icon() + update_appearance() return else if(isigniter(W)) @@ -116,7 +117,7 @@ if(!user.transferItemToLoc(W, src)) return igniter = I - update_icon() + update_appearance() return else if(istype(W, /obj/item/reagent_containers) && !(W.item_flags & ABSTRACT) && W.is_open_container()) @@ -129,7 +130,7 @@ if(!user.transferItemToLoc(W, src)) return beaker = W - update_icon() + update_appearance() return else @@ -144,7 +145,7 @@ user.put_in_hands(beaker) beaker = null to_chat(user, "You remove the fuel container from [src]!") - update_icon() + update_appearance() /obj/item/flamethrower/examine(mob/user) . = ..() @@ -170,7 +171,7 @@ playsound(loc, deac_sound, 50, TRUE) STOP_PROCESSING(SSobj,src) set_light_on(lit) - update_icon() + update_appearance() /obj/item/flamethrower/CheckParts(list/parts_list) ..() @@ -179,7 +180,7 @@ weldtool.status = FALSE igniter.secured = FALSE status = TRUE - update_icon() + update_appearance() #define REQUIRED_POWER_TO_FIRE_FLAMETHROWER 10 #define FLAMETHROWER_POWER_MULTIPLIER 0.5 @@ -268,7 +269,7 @@ if(create_with_tank) beaker = new /obj/item/reagent_containers/glass/beaker/large(src) beaker.reagents.add_reagent(/datum/reagent/fuel, beaker.reagents.maximum_volume) - update_icon() + update_appearance() /obj/item/flamethrower/full icon = 'icons/obj/guns/48x32guns.dmi' @@ -277,6 +278,7 @@ /obj/item/flamethrower/full/update_icon_state() item_state = "prebuilt_flamethrower_[lit]" + return ..() /obj/item/flamethrower/full/tank create_with_tank = TRUE diff --git a/code/game/objects/items/grenades/discogrenade.dm b/code/game/objects/items/grenades/discogrenade.dm index 7791ecf1b177..181feff62147 100644 --- a/code/game/objects/items/grenades/discogrenade.dm +++ b/code/game/objects/items/grenades/discogrenade.dm @@ -83,7 +83,7 @@ lightcolor = random_color() set_light(range, power, lightcolor) add_atom_colour("#[lightcolor]", FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() timerID = addtimer(CALLBACK(src, .proc/randomiseLightColor), 2, TIMER_STOPPABLE) /obj/item/grenade/discogrenade/subgrenade/proc/forcedance(turf/target_turf , mob/living/carbon/human/target) diff --git a/code/game/objects/items/grenades/festive.dm b/code/game/objects/items/grenades/festive.dm index 46e78b48ff23..7bf5fd65bf08 100644 --- a/code/game/objects/items/grenades/festive.dm +++ b/code/game/objects/items/grenades/festive.dm @@ -35,7 +35,7 @@ damtype = "fire" START_PROCESSING(SSobj, src) playsound(src, 'sound/effects/fuse.ogg', 20, TRUE) - update_icon() + update_appearance() /obj/item/sparkler/process() burntime-- @@ -92,7 +92,7 @@ to_chat(user, "You shorten the fuse of [src] with [I].") playsound(src, 'sound/items/wirecutter.ogg', 20, TRUE) icon_state = initial(icon_state) + "_[det_time]" - update_icon() + update_appearance() else to_chat(user, "You've already removed all of the fuse!") diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index e966176c3d5a..764bf8a61ccd 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -122,9 +122,9 @@ cable_color = param_color || cable_color || pick(cable_colors) if(cable_colors[cable_color]) cable_color = cable_colors[cable_color] - update_icon() + update_appearance() -/obj/item/restraints/handcuffs/cable/update_icon() +/obj/item/restraints/handcuffs/cable/update_appearance() color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) */ @@ -237,7 +237,7 @@ /obj/item/restraints/legcuffs/beartrap/Initialize() . = ..() - update_icon() + update_appearance() var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = .proc/on_entered, @@ -246,18 +246,19 @@ /obj/item/restraints/legcuffs/beartrap/update_icon_state() icon_state = "[initial(icon_state)][armed]" + return ..() /obj/item/restraints/legcuffs/beartrap/attack_self(mob/user) . = ..() if(!ishuman(user) || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return armed = !armed - update_icon() + update_appearance() to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]") /obj/item/restraints/legcuffs/beartrap/proc/close_trap() armed = FALSE - update_icon() + update_appearance() playsound(src, 'sound/effects/snap.ogg', 50, TRUE) /obj/item/restraints/legcuffs/beartrap/proc/on_entered(datum/source, AM as mob|obj) diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index ac238a85a336..915c7e36cc90 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -134,7 +134,7 @@ /obj/item/hot_potato/proc/activate(delay, mob/user) if(active) return - update_icon() + update_appearance() if(sticky) ADD_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT) name = "primed [name]" @@ -148,7 +148,7 @@ active = TRUE /obj/item/hot_potato/proc/deactivate() - update_icon() + update_appearance() name = initial(name) REMOVE_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT) deltimer(detonation_timerid) @@ -158,7 +158,8 @@ active = FALSE /obj/item/hot_potato/update_icon_state() - icon_state = active? icon_on : icon_off + icon_state = active ? icon_on : icon_off + return ..() /obj/item/hot_potato/syndicate detonate_light_range = 4 diff --git a/code/game/objects/items/hourglass.dm b/code/game/objects/items/hourglass.dm index f4997089c685..acfe971b0337 100644 --- a/code/game/objects/items/hourglass.dm +++ b/code/game/objects/items/hourglass.dm @@ -30,10 +30,8 @@ stop() /obj/item/hourglass/update_icon_state() - if(timing_id) - icon_state = "hourglass_active" - else - icon_state = "hourglass_idle" + icon_state = "hourglass_[timing_id ? "active" : "idle"]" + return ..() /obj/item/hourglass/proc/start() finish_time = world.time + time @@ -54,7 +52,7 @@ countdown.stop() finish_time = null animate(src) - update_icon() + update_appearance() /obj/item/hourglass/proc/finish() visible_message("[src] stops.") diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 70baa76a7fe6..23f7aec9b199 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -15,10 +15,8 @@ /obj/item/implantcase/update_icon_state() - if(imp) - icon_state = "implantcase-[imp.implant_color]" - else - icon_state = "implantcase-0" + icon_state = "implantcase-[imp ? imp.implant_color : 0]" + return ..() /obj/item/implantcase/attackby(obj/item/W, mob/user, params) @@ -43,9 +41,9 @@ I.imp.forceMove(src) imp = I.imp I.imp = null - update_icon() + update_appearance() reagents = imp.reagents - I.update_icon() + I.update_appearance() else if(imp) if(I.imp) @@ -54,8 +52,8 @@ I.imp = imp imp = null reagents = null - update_icon() - I.update_icon() + update_appearance() + I.update_appearance() else return ..() @@ -64,7 +62,7 @@ . = ..() if(imp_type) imp = new imp_type(src) - update_icon() + update_appearance() reagents = imp.reagents diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index bac1528e3da1..e8122bd34263 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -24,7 +24,7 @@ /obj/machinery/implantchair/Initialize() . = ..() open_machine() - update_icon() + update_appearance() /obj/machinery/implantchair/ui_state(mob/user) return GLOB.notcontained_state @@ -83,7 +83,7 @@ addtimer(CALLBACK(src,.proc/set_ready),injection_cooldown) else playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, TRUE) - update_icon() + update_appearance() /obj/machinery/implantchair/proc/implant_action(mob/living/M) var/obj/item/I = new implant_type @@ -104,6 +104,7 @@ icon_state += "_open" if(occupant) icon_state += "_occupied" + return ..() /obj/machinery/implantchair/update_overlays() . = ..() @@ -120,7 +121,7 @@ /obj/machinery/implantchair/proc/set_ready() ready = TRUE - update_icon() + update_appearance() /obj/machinery/implantchair/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index 6731673d1c16..5b8db550a87d 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -15,10 +15,8 @@ /obj/item/implanter/update_icon_state() - if(imp) - icon_state = "implanter1" - else - icon_state = "implanter0" + icon_state = "implanter[imp ? 1 : 0]" + return ..() /obj/item/implanter/attack(mob/living/M, mob/user) @@ -37,7 +35,7 @@ else M.visible_message("[user] implants [M].", "[user] implants you.") imp = null - update_icon() + update_appearance() else to_chat(user, "[src] fails to implant [M].") @@ -62,4 +60,4 @@ . = ..() if(imp_type) imp = new imp_type(src) - update_icon() + update_appearance() diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index 13d1a5302726..37667786262f 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -13,6 +13,7 @@ /obj/item/implantpad/update_icon_state() icon_state = "implantpad-[!QDELETED(case)]" + return ..() /obj/item/implantpad/examine(mob/user) . = ..() @@ -27,7 +28,7 @@ /obj/item/implantpad/handle_atom_del(atom/A) if(A == case) case = null - update_icon() + update_appearance() updateSelfDialog() . = ..() @@ -46,7 +47,7 @@ case = null updateSelfDialog() - update_icon() + update_appearance() /obj/item/implantpad/attackby(obj/item/implantcase/C, mob/user, params) if(istype(C, /obj/item/implantcase) && !case) @@ -54,7 +55,7 @@ return case = C updateSelfDialog() - update_icon() + update_appearance() else return ..() diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index 7ba7217c1d6d..4f4a088f8a7c 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -22,8 +22,8 @@ var/totransfer = min(cell.charge,(powertransfer * coefficient)) var/transferred = target.give(totransfer) cell.use(transferred) - cell.update_icon() - target.update_icon() + cell.update_appearance() + target.update_appearance() /obj/item/inducer/get_cell() return cell @@ -66,12 +66,12 @@ if(!opened) to_chat(user, "You unscrew the battery compartment.") opened = TRUE - update_icon() + update_appearance() return else to_chat(user, "You close the battery compartment.") opened = FALSE - update_icon() + update_appearance() return if(istype(W, /obj/item/stock_parts/cell)) if(opened) @@ -80,7 +80,7 @@ return to_chat(user, "You insert [W] into [src].") cell = W - update_icon() + update_appearance() return else to_chat(user, "[src] already has \a [cell] installed!") @@ -122,7 +122,7 @@ induce(C, coefficient) do_sparks(1, FALSE, A) if(O) - O.update_icon() + O.update_appearance() else break if(done_any) // Only show a message if we succeeded at least once @@ -147,10 +147,10 @@ /obj/item/inducer/attack_self(mob/user) if(opened && cell) user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") - cell.update_icon() + cell.update_appearance() user.put_in_hands(cell) cell = null - update_icon() + update_appearance() /obj/item/inducer/examine(mob/living/M) @@ -164,11 +164,9 @@ /obj/item/inducer/update_overlays() . = ..() - if(opened) - if(!cell) - . += "inducer-nobat" - else - . += "inducer-bat" + if(!opened) + return + . += "inducer-[cell ? "bat" : "nobat"]" /obj/item/inducer/sci icon_state = "inducer-sci" @@ -180,7 +178,7 @@ /obj/item/inducer/sci/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/inducer/syndicate icon_state = "inducer-syndi" diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 5304746e94f6..153c3a75564d 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -505,14 +505,14 @@ held_sausage = target else to_chat(user, "[target] doesn't seem to want to get on [src]!") - update_icon() + update_appearance() /obj/item/melee/roastingstick/attack_hand(mob/user) ..() if (held_sausage) user.put_in_hands(held_sausage) held_sausage = null - update_icon() + update_appearance() /obj/item/melee/roastingstick/update_overlays() . = ..() @@ -534,7 +534,7 @@ /obj/item/melee/roastingstick/handle_atom_del(atom/target) if (target == held_sausage) held_sausage = null - update_icon() + update_appearance() /obj/item/melee/roastingstick/afterattack(atom/target, mob/user, proximity) . = ..() @@ -565,7 +565,7 @@ held_sausage.add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) held_sausage.name = "[target.name]-roasted [held_sausage.name]" held_sausage.desc = "[held_sausage.desc] It has been cooked to perfection on \a [target]." - update_icon() + update_appearance() /obj/item/melee/cleric_mace name = "cleric mace" @@ -736,7 +736,7 @@ playsound(user, dash_sound, 25, TRUE) user.visible_message("[user] swiftly draws \the [I].", "You draw \the [I].") user.put_in_hands(I) - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") @@ -750,13 +750,13 @@ playsound(user, 'sound/items/sheath.ogg', 25, TRUE) to_chat(user, "You return your stance.") primed = FALSE - update_icon() + update_appearance() else CP.locked = TRUE //Prevents normal removal of the blade while primed playsound(user, 'sound/items/unsheath.ogg', 25, TRUE) user.visible_message("[user] grips the blade within [src] and primes to attack.", "You take an opening stance...", "You hear a weapon being drawn...") primed = TRUE - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") @@ -772,7 +772,7 @@ var/datum/component/storage/CP = GetComponent(/datum/component/storage) CP.locked = FALSE primed = FALSE - update_icon() + update_appearance() primed_attack(A, user) if(CanReach(A, I)) I.melee_attack_chain(user, A, params) @@ -816,6 +816,7 @@ else icon_state += "-blade" item_state += "-sabre" + return ..() /obj/item/storage/belt/weebstick/PopulateContents() //Time to generate names now that we have the sword @@ -824,4 +825,4 @@ var/obj/item/melee/weebstick/sword = new /obj/item/melee/weebstick(src) sword.name = "[n_title] blade of clan [n_name]" name = "[n_title] scabbard of clan [n_name]" - update_icon() + update_appearance() diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index 53a5a7d8ade7..f0cb02fa8e02 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -73,7 +73,7 @@ if(insertable) J.put_in_cart(src, user) J.mymop=src - J.update_icon() + J.update_appearance() else to_chat(user, "You are unable to fit your [name] into the [J.name].") return diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 00ba8536ba34..d9311f5e2b43 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -68,7 +68,7 @@ to_chat(user, "You open [src]'s door.") playsound(user, 'sound/effects/bin_open.ogg', 50, TRUE) open = TRUE - update_icon() + update_appearance() /obj/item/pet_carrier/AltClick(mob/living/user) if(open || !user.canUseTopic(src, BE_CLOSE)) @@ -79,7 +79,7 @@ playsound(user, 'sound/machines/boltsdown.ogg', 30, TRUE) else playsound(user, 'sound/machines/boltsup.ogg', 30, TRUE) - update_icon() + update_appearance() /obj/item/pet_carrier/attack(mob/living/target, mob/living/user) if(user.a_intent == INTENT_HARM) @@ -108,7 +108,7 @@ loc.visible_message("[user] pushes open the door to [src]!", \ "[user] pushes open the door of [src]!") open = TRUE - update_icon() + update_appearance() return else if(user.client) container_resist_act(user) @@ -125,7 +125,7 @@ to_chat(user, "Bingo! The lock pops open!") locked = FALSE playsound(src, 'sound/machines/boltsup.ogg', 30, TRUE) - update_icon() + update_appearance() else loc.visible_message("[src] starts rattling as something pushes against the door!", null, null, null, user) to_chat(user, "You start pushing out of [src]... (This will take about 20 seconds.)") @@ -135,14 +135,15 @@ to_chat(user, "You shove open [src]'s door against the lock's resistance and fall out!") locked = FALSE open = TRUE - update_icon() + update_appearance() remove_occupant(user) /obj/item/pet_carrier/update_icon_state() if(open) icon_state = initial(icon_state) - else - icon_state = "pet_carrier_[!occupants.len ? "closed" : "occupied"]" + return ..() + icon_state = "pet_carrier_[!occupants.len ? "closed" : "occupied"]" + return ..() /obj/item/pet_carrier/update_overlays() . = ..() diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index b886e8d81ed0..12f91f99fb8c 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -47,14 +47,14 @@ else target = null STOP_PROCESSING(SSfastprocess, src) - update_icon() + update_appearance() /obj/item/pinpointer/process() if(!active) return PROCESS_KILL if(process_scan) scan_for_target() - update_icon() + update_appearance() /obj/item/pinpointer/proc/scan_for_target() return diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm index 3d7a0ef94fd3..401007c824b0 100644 --- a/code/game/objects/items/pitchfork.dm +++ b/code/game/objects/items/pitchfork.dm @@ -1,5 +1,6 @@ /obj/item/pitchfork icon_state = "pitchfork0" + base_icon_state = "pitchfork" lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' name = "pitchfork" @@ -22,7 +23,7 @@ /obj/item/pitchfork/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=15, icon_wielded="pitchfork1") + AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=15, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/pitchfork/proc/on_wield(obj/item/source, mob/user) @@ -37,7 +38,8 @@ wielded = FALSE /obj/item/pitchfork/update_icon_state() - icon_state = "pitchfork0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/pitchfork/demonic name = "demonic pitchfork" diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index a7f75f2a695b..e2461af4175a 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -254,7 +254,7 @@ vowbroken = TRUE mood_message = pick(vowbroken_message) - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/scorned_by(obj/item/toy/plush/Outmoded) scorned_by.Add(Outmoded) @@ -268,7 +268,7 @@ lover.cheer_up() mood_message = pick(love_message) - update_plush_desc() + update_desc() if(partner) //who? partner = null //more like who cares @@ -285,7 +285,7 @@ partner.heal_memories() mood_message = pick(partner_message) - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/plop(obj/item/toy/plush/Daddy) if(partner != Daddy) @@ -310,12 +310,12 @@ young = TRUE name = "[Mama] Jr" //Icelandic naming convention pending normal_desc = "[src] is a little baby of [maternal_parent] and [paternal_parent]!" //original desc won't be used so the child can have moods - update_plush_desc() + update_desc() Mama.mood_message = pick(Mama.parent_message) - Mama.update_plush_desc() + Mama.update_desc() Dada.mood_message = pick(Dada.parent_message) - Dada.update_plush_desc() + Dada.update_desc() /obj/item/toy/plush/proc/bad_news(obj/item/toy/plush/Deceased) //cotton to cotton, sawdust to sawdust var/is_that_letter_for_me = FALSE @@ -354,7 +354,7 @@ if(is_that_letter_for_me) heartbroken = TRUE mood_message = pick(heartbroken_message) - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/cheer_up() //it'll be all right if(!heartbroken) @@ -366,7 +366,7 @@ if(mood_message in heartbroken_message) mood_message = null - update_plush_desc() + update_desc() /obj/item/toy/plush/proc/heal_memories() //time fixes all wounds if(!vowbroken) @@ -375,8 +375,9 @@ mood_message = null cheer_up() -/obj/item/toy/plush/proc/update_plush_desc() +/obj/item/toy/plush/update_desc() desc = normal_desc + . = ..() if(mood_message) desc += mood_message diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index d49bf239d890..060e59f0f5de 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -229,7 +229,7 @@ loadedWeightClass-- else if (A == tank) tank = null - update_icon() + update_appearance() /obj/item/pneumatic_cannon/ghetto //Obtainable by improvised methods; more gas per use, less capacity name = "improvised pneumatic cannon" @@ -254,7 +254,7 @@ return to_chat(user, "You hook \the [thetank] up to \the [src].") tank = thetank - update_icon() + update_appearance() /obj/item/pneumatic_cannon/update_overlays() . = ..() diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 77440f89b7ee..2582f91860b2 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -150,8 +150,10 @@ /obj/machinery/door/keycard/gates/update_icon_state() if(density) icon_state = "closed" + return ..() else icon_state = "open" + return ..() /obj/machinery/door/keycard/gates/drakelair puzzle_id = "drakelairkey" diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index ec40e2332bdd..09e676980262 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -155,6 +155,7 @@ /obj/item/borg/charger/update_icon_state() icon_state = "charger_[mode]" + return ..() /obj/item/borg/charger/attack_self(mob/user) if(mode == "draw") @@ -162,7 +163,7 @@ else mode = "draw" to_chat(user, "You toggle [src] to \"[mode]\" mode.") - update_icon() + update_appearance() /obj/item/borg/charger/afterattack(obj/item/target, mob/living/silicon/robot/user, proximity_flag) . = ..() @@ -225,7 +226,7 @@ break if(!user.cell.give(draw)) break - target.update_icon() + target.update_appearance() to_chat(user, "You stop charging yourself.") @@ -263,7 +264,7 @@ break if(!cell.give(draw)) break - target.update_icon() + target.update_appearance() to_chat(user, "You stop charging [target].") @@ -589,11 +590,12 @@ to_chat(user, "[src]'s safety cutoff prevents you from activating it due to living beings being ontop of you!") else deactivate_field() - update_icon() + update_appearance() to_chat(user, "You [active? "activate":"deactivate"] [src].") /obj/item/borg/projectile_dampen/update_icon_state() icon_state = "[initial(icon_state)][active]" + return ..() /obj/item/borg/projectile_dampen/proc/activate_field() if(istype(dampening_field)) @@ -765,7 +767,7 @@ if(A == stored) //sanity check UnregisterSignal(stored, COMSIG_ATOM_UPDATE_ICON) stored = null - update_icon() + update_appearance() . = ..() ///A right-click verb, for those not using hotkey mode. @@ -797,14 +799,19 @@ var/obj/item/O = A O.forceMove(src) stored = O - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, /atom/.proc/update_icon) - update_icon() + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + update_appearance() return else stored.melee_attack_chain(user, A, params) return . = ..() +/// Exists to eat signal args +/obj/item/borg/apparatus/proc/on_update_icon(datum/source, updates) + SIGNAL_HANDLER + return on_update_icon(updates) + /obj/item/borg/apparatus/attackby(obj/item/W, mob/user, params) if(stored) W.melee_attack_chain(user, stored, params) @@ -825,8 +832,8 @@ /obj/item/borg/apparatus/beaker/Initialize() . = ..() stored = new /obj/item/reagent_containers/glass/beaker/large(src) - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, /atom/.proc/update_icon) - update_icon() + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + update_appearance() /obj/item/borg/apparatus/beaker/Destroy() if(stored) @@ -885,8 +892,8 @@ /obj/item/borg/apparatus/beaker/service/Initialize() . = ..() stored = new /obj/item/reagent_containers/food/drinks/drinkingglass(src) - RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, /atom/.proc/update_icon) - update_icon() + RegisterSignal(stored, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) + update_appearance() //////////////////// //engi part holder// @@ -901,7 +908,7 @@ /obj/item/borg/apparatus/circuit/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/borg/apparatus/circuit/update_overlays() . = ..() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index de37c06316a9..3194c1302512 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -34,7 +34,7 @@ /obj/item/robot_suit/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/robot_suit/prebuilt/Initialize() . = ..() @@ -48,7 +48,7 @@ chest = new(src) chest.wired = TRUE chest.cell = new /obj/item/stock_parts/cell/high/plus(chest) - update_icon() + update_appearance() /obj/item/robot_suit/update_overlays() . = ..() @@ -108,7 +108,7 @@ to_chat(user, "You disassemble the cyborg shell.") else to_chat(user, "There is nothing to remove from the endoskeleton!") - update_icon() + update_appearance() /obj/item/robot_suit/proc/put_in_hand_or_drop(mob/living/user, obj/item/I) //normal put_in_hands() drops the item ontop of the player, this drops it at the suit's loc if(!user.put_in_hands(I)) @@ -172,7 +172,7 @@ W.icon_state = initial(W.icon_state) W.cut_overlays() l_leg = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/leg/right/robot)) if(src.r_leg) @@ -182,7 +182,7 @@ W.icon_state = initial(W.icon_state) W.cut_overlays() r_leg = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/l_arm/robot)) if(l_arm) @@ -192,7 +192,7 @@ W.icon_state = initial(W.icon_state) W.cut_overlays() l_arm = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/r_arm/robot)) if(r_arm) @@ -202,7 +202,7 @@ W.icon_state = initial(W.icon_state)//in case it is a dismembered robotic limb W.cut_overlays() r_arm = W - update_icon() + update_appearance() else if(istype(W, /obj/item/bodypart/chest/robot)) var/obj/item/bodypart/chest/robot/CH = W @@ -214,7 +214,7 @@ CH.icon_state = initial(CH.icon_state) //in case it is a dismembered robotic limb CH.cut_overlays() chest = CH - update_icon() + update_appearance() else if(!CH.wired) to_chat(user, "You need to attach wires to it first!") else @@ -234,7 +234,7 @@ HD.icon_state = initial(HD.icon_state)//in case it is a dismembered robotic limb HD.cut_overlays() head = HD - update_icon() + update_appearance() else to_chat(user, "You need to attach a flash to it first!") diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index bf583e0d7caa..e87691b651a9 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -316,16 +316,17 @@ icon_state = "selfrepair_[on ? "on" : "off"]" else icon_state = "cyborg_upgrade5" + return ..() /obj/item/borg/upgrade/selfrepair/proc/activate_sr() START_PROCESSING(SSobj, src) on = TRUE - update_icon() + update_appearance() /obj/item/borg/upgrade/selfrepair/proc/deactivate_sr() STOP_PROCESSING(SSobj, src) on = FALSE - update_icon() + update_appearance() /obj/item/borg/upgrade/selfrepair/process() if(!repair_tick) diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index 8b74e8ba23f1..f9d429b55a3e 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -45,7 +45,7 @@ name = "worn out [name]" desc = "[desc] At least, it used to." used = 1 - update_icon() + update_appearance() /obj/item/sharpener/super name = "super whetstone" diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 3b8d887e818a..685bfeae8a8a 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -137,17 +137,17 @@ /obj/item/shield/riot/flash/attack(mob/living/M, mob/user) . = embedded_flash.attack(M, user) - update_icon() + update_appearance() /obj/item/shield/riot/flash/attack_self(mob/living/carbon/user) . = embedded_flash.attack_self(user) - update_icon() + update_appearance() /obj/item/shield/riot/flash/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 (. && !embedded_flash.burnt_out) embedded_flash.activate() - update_icon() + update_appearance() /obj/item/shield/riot/flash/attackby(obj/item/W, mob/user) @@ -165,14 +165,14 @@ qdel(embedded_flash) embedded_flash = flash flash.forceMove(src) - update_icon() + update_appearance() return ..() /obj/item/shield/riot/flash/emp_act(severity) . = ..() embedded_flash.emp_act(severity) - update_icon() + update_appearance() /obj/item/shield/riot/flash/update_icon_state() if(!embedded_flash || embedded_flash.burnt_out) @@ -181,6 +181,7 @@ else icon_state = "flashshield" item_state = "flashshield" + return ..() /obj/item/shield/riot/flash/examine(mob/user) . = ..() diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 63dd64031258..e2803060e4eb 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -2,6 +2,7 @@ name = "singularity hammer" desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows." icon_state = "singularity0" + base_icon_state = "singularity_hammer" lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' flags_1 = CONDUCT_1 @@ -24,7 +25,7 @@ /obj/item/singularityhammer/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_multiplier=4, icon_wielded="singularity1") + AddComponent(/datum/component/two_handed, force_multiplier=4, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/singularityhammer/proc/on_wield(obj/item/source, mob/user) @@ -39,7 +40,8 @@ wielded = FALSE /obj/item/singularityhammer/update_icon_state() - icon_state = "singularity0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/singularityhammer/Destroy() STOP_PROCESSING(SSobj, src) @@ -88,6 +90,7 @@ name = "Mjolnir" desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy." icon_state = "mjollnir0" + base_icon_state = "mjollnir" lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' flags_1 = CONDUCT_1 @@ -105,7 +108,7 @@ /obj/item/mjollnir/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_multiplier=5, icon_wielded="mjollnir1", attacksound="sparks") + AddComponent(/datum/component/two_handed, force_multiplier=5, icon_wielded="[base_icon_state]1", attacksound="sparks") /// triggered on wield of two handed item /obj/item/mjollnir/proc/on_wield(obj/item/source, mob/user) @@ -116,7 +119,8 @@ wielded = FALSE /obj/item/mjollnir/update_icon_state() - icon_state = "mjollnir0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/mjollnir/proc/shock(mob/living/target) target.Stun(60) diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index 2b1b7df9d89c..e5ea0b1b8229 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -30,6 +30,7 @@ /obj/item/spear/update_icon_state() icon_state = "[icon_prefix]0" + return ..() /obj/item/spear/CheckParts(list/parts_list) var/obj/item/shard/tip = locate() in parts_list @@ -37,12 +38,15 @@ throwforce = 21 icon_prefix = "spearplasma" AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]1") - update_icon() + update_appearance() qdel(tip) ..() /obj/item/spear/explosive name = "explosive lance" + icon_state = "spearbomb0" + base_icon_state = "spearbomb" + icon_prefix = "spearbomb" var/obj/item/grenade/explosive = null var/wielded = FALSE // track wielded status on item @@ -54,7 +58,7 @@ /obj/item/spear/explosive/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="spearbomb1") + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]1") /// triggered on wield of two handed item /obj/item/spear/explosive/proc/on_wield(obj/item/source, mob/user) @@ -68,9 +72,6 @@ wielded = FALSE -/obj/item/spear/explosive/update_icon_state() - icon_state = "spearbomb0" - /obj/item/spear/explosive/proc/set_explosive(obj/item/grenade/G) if(explosive) QDEL_NULL(explosive) @@ -149,6 +150,8 @@ /obj/item/spear/bonespear //Blatant imitation of spear, but made out of bone. Not valid for explosive modification. icon_state = "bone_spear0" name = "bone spear" + base_icon_state = "bone_spear0" + icon_prefix = "bone_spear" desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." icon = 'icons/obj/items_and_weapons.dmi' lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' @@ -160,11 +163,7 @@ /obj/item/spear/bonespear/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=20, icon_wielded="bone_spear1") - -/obj/item/spear/bonespear/update_icon_state() - icon_state = "bone_spear0" - + AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=20, icon_wielded="[icon_prefix]1") /obj/item/spear/dragonspear//version of the bone spear crafted from the trophy dropped by the Ash Drake. High damage, high ap, burns. name = "dragonslayer's spear" desc = "A bone spear crafted from the leading spine of a fully-grown drake, razor-sharp and hotter then magma. Wielded by the deranged, pyromaniacs, and champions of lavaland." @@ -178,6 +177,8 @@ armour_penetration = 30 embedding = list("impact_pain_mult" = 5) icon_prefix = "dragonspear" + base_icon_state = "dragonspear0" + icon_state = "dragonspear0" var/list/nemesis_factions = list("mining", "boss") var/faction_bonus_force = 25 attack_verb = list("seared", "braided", "impaled", "smote", "gored") @@ -207,10 +208,6 @@ . = ..() AddComponent(/datum/component/two_handed, force_unwielded=20, force_wielded=25, icon_wielded="[icon_prefix]1") AddComponent(/datum/component/butchering, 60, 150) - icon_state = "[icon_prefix]0" - -/obj/item/spear/dragonspear/update_icon_state() - icon_state = "[icon_prefix]0" /obj/item/spear/dragonspear/attack(atom/target, blocked = FALSE) if(iscarbon(target)) @@ -230,6 +227,8 @@ name = "crystal spear" desc = "While more 'sharp stick' than spear, this thing is extremely dangerous neverless. Crafted out of the mysterous crystals, it can hit for very high damage, although it will break with repeated use." icon = 'icons/obj/items_and_weapons.dmi' + base_icon_state = "crystal_spear" + icon_prefix = "crystal_spear" lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' mob_overlay_icon = 'icons/mob/clothing/back.dmi' @@ -241,10 +240,7 @@ /obj/item/spear/crystal/ComponentInitialize() . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=30, icon_wielded="crystal_spear1") //4 hit crit - -/obj/item/spear/crystal/update_icon_state() - icon_state = "crystal_spear0" + AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=30, icon_wielded="[icon_prefix]1") //4 hit crit /obj/item/spear/crystal/examine(mob/user) . = ..() diff --git a/code/game/objects/items/stacks/license_plates.dm b/code/game/objects/items/stacks/license_plates.dm index b0ae1bea526b..acf831cff409 100644 --- a/code/game/objects/items/stacks/license_plates.dm +++ b/code/game/objects/items/stacks/license_plates.dm @@ -23,11 +23,13 @@ ///Override to allow for variations /obj/item/stack/license_plates/filled/update_icon_state() + . = ..() if(novariants) return if(amount <= (max_amount * (1/3))) icon_state = "filled_plate_[rand(1,6)]_1" - else if (amount <= (max_amount * (2/3))) + return + if (amount <= (max_amount * (2/3))) icon_state = "filled_plate_[rand(1,6)]_2" - else - icon_state = "filled_plate_[rand(1,6)]_3" + return + icon_state = "filled_plate_[rand(1,6)]_3" diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 31ebce35b57c..de636902eb52 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -268,13 +268,12 @@ . = ..() if(amount == max_amount) //only seal full mesh packs is_open = FALSE - update_icon() + update_appearance() /obj/item/stack/medical/mesh/update_icon_state() - if(!is_open) - icon_state = "regen_mesh_closed" - else + if(is_open) return ..() + icon_state = "regen_mesh_closed" /obj/item/stack/medical/mesh/heal(mob/living/target, mob/user) . = ..() @@ -308,7 +307,7 @@ if(!is_open) is_open = TRUE to_chat(user, "You open the sterile mesh package.") - update_icon() + update_appearance() playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) return . = ..() @@ -324,10 +323,9 @@ grind_results = list(/datum/reagent/consumable/aloejuice = 1) /obj/item/stack/medical/mesh/advanced/update_icon_state() - if(!is_open) - icon_state = "aloe_mesh_closed" - else + if(is_open) return ..() + icon_state = "aloe_mesh_closed" /obj/item/stack/medical/aloe name = "aloe cream" diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 79fb483a8c17..f0be0cdd7e81 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -32,13 +32,14 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/Initialize(mapload, new_amount, merge = TRUE) . = ..() - update_icon() + update_appearance() /obj/item/stack/rods/get_main_recipes() . = ..() . += GLOB.rod_recipes /obj/item/stack/rods/update_icon_state() + . = ..() var/amount = get_amount() if(amount <= 5) icon_state = "rods-[amount]" diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 396ebb114075..ec750eb66aca 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -72,7 +72,7 @@ var/list/temp = SSmaterials.rigid_stack_recipes.Copy() recipes += temp update_weight() - update_icon() + update_appearance() var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = .proc/on_movable_entered_occupied_turf, @@ -93,13 +93,15 @@ /obj/item/stack/update_icon_state() if(novariants) - return + return ..() if(amount <= (max_amount * (1/3))) icon_state = initial(icon_state) - else if (amount <= (max_amount * (2/3))) + return ..() + if (amount <= (max_amount * (2/3))) icon_state = "[initial(icon_state)]_2" - else - icon_state = "[initial(icon_state)]_3" + return ..() + icon_state = "[initial(icon_state)]_3" + return ..() /obj/item/stack/examine(mob/user) . = ..() @@ -332,7 +334,7 @@ return TRUE for(var/i in mats_per_unit) custom_materials[i] = amount * mats_per_unit[i] - update_icon() + update_appearance() update_weight() return TRUE @@ -374,7 +376,7 @@ for(var/i in mats_per_unit) custom_materials[i] = mats_per_unit[i] * src.amount set_custom_materials() //Refresh - update_icon() + update_appearance() update_weight() /** Checks whether this stack can merge itself into another stack. diff --git a/code/game/objects/items/stacks/tickets.dm b/code/game/objects/items/stacks/tickets.dm index f525794a6e4e..477b349f4b16 100644 --- a/code/game/objects/items/stacks/tickets.dm +++ b/code/game/objects/items/stacks/tickets.dm @@ -9,9 +9,10 @@ /obj/item/stack/arcadeticket/Initialize(mapload, new_amount, merge = TRUE) . = ..() - update_icon() + update_appearance() /obj/item/stack/arcadeticket/update_icon_state() + . = ..() var/amount = get_amount() switch(amount) if(12 to INFINITY) diff --git a/code/game/objects/items/stacks/tiles/tile_reskinning.dm b/code/game/objects/items/stacks/tiles/tile_reskinning.dm index 2af074e8ff5f..92a68ed15b79 100644 --- a/code/game/objects/items/stacks/tiles/tile_reskinning.dm +++ b/code/game/objects/items/stacks/tiles/tile_reskinning.dm @@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(tile_reskin_lists) icon_state = initial(choice.icon_state) turf_type = initial(choice.turf_type) merge_type = initial(choice.merge_type) - update_icon() + update_appearance() return choice = new choice(user.drop_location(), amount) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index c97d50eaf719..910ea174c3a6 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -60,6 +60,7 @@ icon_state = "[initial(icon_state)]1" else icon_state = "[initial(icon_state)]" + return ..() /obj/item/storage/bag/trash/cyborg insertable = FALSE @@ -68,7 +69,7 @@ if(insertable) J.put_in_cart(src, user) J.mybag=src - J.update_icon() + J.update_appearance() else to_chat(user, "You are unable to fit your [name] into the [J.name].") return @@ -344,7 +345,7 @@ if(ishuman(M) || ismonkey(M)) if(prob(10)) M.Paralyze(40) - update_icon() + update_appearance() /obj/item/storage/bag/tray/proc/do_scatter(obj/item/I) for(var/i in 1 to rand(1,2)) @@ -362,11 +363,11 @@ /obj/item/storage/bag/tray/Entered() . = ..() - update_icon() + update_appearance() /obj/item/storage/bag/tray/Exited() . = ..() - update_icon() + update_appearance() /obj/item/storage/bag/tray/cafeteria name = "cafeteria tray" diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index ddcd04b26454..05b02e77f8b1 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -18,13 +18,15 @@ /obj/item/storage/belt/update_overlays() . = ..() - if(content_overlays) - for(var/obj/item/I in contents) - . += I.get_belt_overlay() + if(!content_overlays) + return + for(var/obj/item/I in contents) + . += I.get_belt_overlay() + /obj/item/storage/belt/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/storage/belt/utility name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing. @@ -225,7 +227,7 @@ new /obj/item/reagent_containers/syringe(src) new /obj/item/reagent_containers/glass/bottle/epinephrine(src) new /obj/item/reagent_containers/glass/bottle/formaldehyde(src) - update_icon() + update_appearance() /obj/item/storage/belt/medical/webbing/paramedic/PopulateContents() new /obj/item/sensor_device(src) @@ -234,7 +236,7 @@ new /obj/item/reagent_containers/syringe(src) new /obj/item/reagent_containers/glass/bottle/epinephrine(src) new /obj/item/reagent_containers/glass/bottle/formaldehyde(src) - update_icon() + update_appearance() /obj/item/storage/belt/medical/surgery/PopulateContents() new /obj/item/scalpel(src) @@ -244,7 +246,7 @@ new /obj/item/cautery(src) new /obj/item/hemostat(src) new /obj/item/hypospray/mkii(src) - update_icon() + update_appearance() /obj/item/storage/belt/security name = "security belt" @@ -286,7 +288,7 @@ new /obj/item/grenade/flashbang(src) new /obj/item/assembly/flash/handheld(src) new /obj/item/melee/baton/loaded(src) - update_icon() + update_appearance() /obj/item/storage/belt/security/webbing name = "security webbing" @@ -778,7 +780,7 @@ var/obj/item/I = contents[1] user.visible_message("[user] takes [I] out of [src].", "You take [I] out of [src].") user.put_in_hands(I) - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") @@ -788,10 +790,11 @@ if(contents.len) icon_state += "-sabre" item_state += "-sabre" + return ..() /obj/item/storage/belt/sabre/PopulateContents() new /obj/item/melee/sabre(src) - update_icon() + update_appearance() /obj/item/storage/belt/sabre/solgov name = "solarian sabre sheath" @@ -814,7 +817,7 @@ /obj/item/storage/belt/sabre/solgov/PopulateContents() new /obj/item/melee/sabre/solgov(src) - update_icon() + update_appearance() /obj/item/storage/belt/security/webbing/inteq name = "inteq webbing" diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 0cf59262a96a..98fa24e97379 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -36,7 +36,7 @@ /obj/item/storage/box/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/item/storage/box/ComponentInitialize() . = ..() @@ -930,6 +930,7 @@ icon_state = "[item_state]" else icon_state = "[item_state]_closed" + return ..() /obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index c5ac53600652..58f10b2ccd8d 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -2,9 +2,6 @@ * The 'fancy' path is for objects like donut boxes that show how many items are in the storage item on the sprite itself * .. Sorry for the shitty path name, I couldnt think of a better one. * - * WARNING: var/icon_type is used for both examine text and sprite name. Please look at the procs below and adjust your sprite names accordingly - * TODO: Cigarette boxes should be ported to this standard - * * Contains: * Donut Box * Egg Box @@ -16,12 +13,19 @@ /obj/item/storage/fancy icon = 'icons/obj/food/containers.dmi' + icon_state = "donutbox" + base_icon_state = "donutbox" resistance_flags = FLAMMABLE - var/icon_type = "donut" + /// Used by examine to report what this thing is holding. + var/contents_tag = "errors" + /// What type of thing to fill this storage with. var/spawn_type = null - var/fancy_open = FALSE + /// Whether the container is open or not + var/is_open = FALSE /obj/item/storage/fancy/PopulateContents() + if(!spawn_type) + return var/datum/component/storage/STR = GetComponent(/datum/component/storage) if(!spawn_type) return @@ -29,33 +33,32 @@ new spawn_type(src) /obj/item/storage/fancy/update_icon_state() - if(fancy_open) - icon_state = "[icon_type]box[contents.len]" - else - icon_state = "[icon_type]box" + icon_state = "[base_icon_state][is_open ? contents.len : null]" + return ..() /obj/item/storage/fancy/examine(mob/user) . = ..() - if(fancy_open) - if(length(contents) == 1) - . += "There is one [icon_type] left." - else - . += "There are [contents.len <= 0 ? "no" : "[contents.len]"] [icon_type]s left." + if(!is_open) + return + if(length(contents) == 1) + . += "There is one [contents_tag] left." + else + . += "There are [contents.len <= 0 ? "no" : "[contents.len]"] [contents_tag]s left." /obj/item/storage/fancy/attack_self(mob/user) - fancy_open = !fancy_open - update_icon() + is_open = !is_open + update_appearance() . = ..() /obj/item/storage/fancy/Exited() . = ..() - fancy_open = TRUE - update_icon() + is_open = TRUE + update_appearance() /obj/item/storage/fancy/Entered() . = ..() - fancy_open = TRUE - update_icon() + is_open = TRUE + update_appearance() #define DONUT_INBOX_SPRITE_WIDTH 3 @@ -68,10 +71,11 @@ desc = "Mmm. Donuts." icon = 'icons/obj/food/donuts.dmi' icon_state = "donutbox_inner" - icon_type = "donut" + base_icon_state = "donutbox" spawn_type = /obj/item/reagent_containers/food/snacks/donut - fancy_open = TRUE + is_open = TRUE appearance_flags = KEEP_TOGETHER + contents_tag = "donut" /obj/item/storage/fancy/donut_box/ComponentInitialize() . = ..() @@ -81,23 +85,21 @@ /obj/item/storage/fancy/donut_box/PopulateContents() . = ..() - update_icon() + update_appearance() /obj/item/storage/fancy/donut_box/update_icon_state() - if(fancy_open) - icon_state = "donutbox_inner" - else - icon_state = "donutbox" + . = ..() + icon_state = "[base_icon_state][is_open ? "_inner" : null]" /obj/item/storage/fancy/donut_box/update_overlays() . = ..() - if (!fancy_open) + if(!is_open) return var/donuts = 0 - for (var/_donut in contents) + for(var/_donut in contents) var/obj/item/reagent_containers/food/snacks/donut/donut = _donut if (!istype(donut)) continue @@ -105,7 +107,7 @@ . += image(icon = initial(icon), icon_state = donut.in_box_sprite(), pixel_x = donuts * DONUT_INBOX_SPRITE_WIDTH) donuts += 1 - . += image(icon = initial(icon), icon_state = "donutbox_top") + . += image(icon = initial(icon), icon_state = "[base_icon_state]_top") #undef DONUT_INBOX_SPRITE_WIDTH @@ -117,12 +119,13 @@ icon = 'icons/obj/food/containers.dmi' item_state = "eggbox" icon_state = "eggbox" - icon_type = "egg" + base_icon_state = "eggbox" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' name = "egg box" desc = "A carton for containing eggs." spawn_type = /obj/item/reagent_containers/food/snacks/egg + contents_tag = "egg" /obj/item/storage/fancy/egg_box/ComponentInitialize() . = ..() @@ -139,12 +142,13 @@ desc = "A pack of red candles." icon = 'icons/obj/candle.dmi' icon_state = "candlebox5" - icon_type = "candle" + base_icon_state = "candlebox" item_state = "candlebox5" throwforce = 2 slot_flags = ITEM_SLOT_BELT spawn_type = /obj/item/candle - fancy_open = TRUE + is_open = TRUE + contents_tag = "candle" /obj/item/storage/fancy/candle_box/ComponentInitialize() . = ..() @@ -161,15 +165,16 @@ name = "\improper Space Cigarettes packet" desc = "The most popular brand of cigarettes, sponsors of the Space Olympics." icon = 'icons/obj/cigarettes.dmi' + base_icon_state = "cig" icon_state = "cig" item_state = "cigpacket" w_class = WEIGHT_CLASS_TINY throwforce = 0 slot_flags = ITEM_SLOT_BELT - icon_type = "cigarette" spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette var/candy = FALSE //for cigarette overlay custom_price = 75 + contents_tag = "cigarette" /obj/item/storage/fancy/cigarettes/ComponentInitialize() . = ..() @@ -191,99 +196,108 @@ contents -= W to_chat(user, "You take \a [W] out of the pack.") else - to_chat(user, "There are no [icon_type]s left in the pack.") + to_chat(user, "There are no [contents_tag]s left in the pack.") /obj/item/storage/fancy/cigarettes/update_icon_state() - if(fancy_open || !contents.len) - if(!contents.len) - icon_state = "[initial(icon_state)]_empty" - else - icon_state = initial(icon_state) + . = ..() + icon_state = "[base_icon_state][contents.len ? null : "_empty"]" + return /obj/item/storage/fancy/cigarettes/update_overlays() . = ..() - if(fancy_open && contents.len) - . += "[icon_state]_open" - var/cig_position = 1 - for(var/C in contents) - var/mutable_appearance/inserted_overlay = mutable_appearance(icon) - - if(istype(C, /obj/item/lighter/greyscale)) - inserted_overlay.icon_state = "lighter_in" - else if(istype(C, /obj/item/lighter)) - inserted_overlay.icon_state = "zippo_in" - else if(candy) - inserted_overlay.icon_state = "candy" - else - inserted_overlay.icon_state = "cigarette" - - inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]" - . += inserted_overlay - cig_position++ - -/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - if(!ismob(M)) + if(!is_open || !contents.len) return - var/obj/item/clothing/mask/cigarette/cig = locate(/obj/item/clothing/mask/cigarette) in contents - if(cig) - if(M == user && contents.len > 0 && !user.wear_mask) - var/obj/item/clothing/mask/cigarette/W = cig - SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, W, M) - M.equip_to_slot_if_possible(W, ITEM_SLOT_MASK) - contents -= W - to_chat(user, "You take \a [W] out of the pack.") + + . += "[icon_state]_open" + var/cig_position = 1 + for(var/C in contents) + var/mutable_appearance/inserted_overlay = mutable_appearance(icon) + + if(istype(C, /obj/item/lighter/greyscale)) + inserted_overlay.icon_state = "lighter_in" + else if(istype(C, /obj/item/lighter)) + inserted_overlay.icon_state = "zippo_in" + else if(candy) + inserted_overlay.icon_state = "candy" else - ..() - else - to_chat(user, "There are no [icon_type]s left in the pack.") + inserted_overlay.icon_state = "cigarette" + + inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]" + . += inserted_overlay + cig_position++ + +/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/target, mob/living/carbon/user) + if(!istype(target)) + return + + var/obj/item/clothing/mask/cigarette/cig = locate() in contents + if(!cig) + to_chat(user, "There are no [contents_tag]s left in the pack.") + return + if(target != user || !contents.len || user.wear_mask) + return ..() + + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, cig, target) + target.equip_to_slot_if_possible(cig, ITEM_SLOT_MASK) + contents -= cig + to_chat(user, "You take \a [cig] out of the pack.") + return /obj/item/storage/fancy/cigarettes/dromedaryco name = "\improper DromedaryCo packet" desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" icon_state = "dromedary" + base_icon_state = "dromedary" spawn_type = /obj/item/clothing/mask/cigarette/dromedary /obj/item/storage/fancy/cigarettes/cigpack_uplift name = "\improper Uplift Smooth packet" desc = "Your favorite brand, now menthol flavored." icon_state = "uplift" + base_icon_state = "uplift" spawn_type = /obj/item/clothing/mask/cigarette/uplift /obj/item/storage/fancy/cigarettes/cigpack_robust name = "\improper Robust packet" desc = "Smoked by the robust." icon_state = "robust" + base_icon_state = "robust" spawn_type = /obj/item/clothing/mask/cigarette/robust /obj/item/storage/fancy/cigarettes/cigpack_robustgold name = "\improper Robust Gold packet" desc = "Smoked by the truly robust." icon_state = "robustg" + base_icon_state = "robustg" spawn_type = /obj/item/clothing/mask/cigarette/robustgold /obj/item/storage/fancy/cigarettes/cigpack_carp name = "\improper Carp Classic packet" desc = "Since 2313." icon_state = "carp" + base_icon_state = "carp" spawn_type = /obj/item/clothing/mask/cigarette/carp /obj/item/storage/fancy/cigarettes/cigpack_syndicate name = "cigarette packet" desc = "An obscure brand of cigarettes." icon_state = "syndie" + base_icon_state = "syndie" spawn_type = /obj/item/clothing/mask/cigarette/syndicate /obj/item/storage/fancy/cigarettes/cigpack_midori name = "\improper Midori Tabako packet" desc = "You can't understand the runes, but the packet smells funny." icon_state = "midori" + base_icon_state = "midori" spawn_type = /obj/item/clothing/mask/cigarette/rollie/nicotine /obj/item/storage/fancy/cigarettes/cigpack_candy name = "\improper Timmy's First Candy Smokes packet" desc = "Unsure about smoking? Want to bring your children safely into the family tradition? Look no more with this special packet! Includes 100%* Nicotine-Free candy cigarettes." icon_state = "candy" - icon_type = "candy cigarette" + base_icon_state = "candy" + contents_tag = "candy cigarette" spawn_type = /obj/item/clothing/mask/cigarette/candy candy = TRUE @@ -296,24 +310,28 @@ name = "\improper Shady Jim's Super Slims packet" desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" icon_state = "shadyjim" + base_icon_state = "shadyjim" spawn_type = /obj/item/clothing/mask/cigarette/shadyjims /obj/item/storage/fancy/cigarettes/cigpack_xeno name = "\improper Xeno Filtered packet" desc = "Loaded with 100% pure slime. And also nicotine." icon_state = "slime" + base_icon_state = "slime" spawn_type = /obj/item/clothing/mask/cigarette/xeno /obj/item/storage/fancy/cigarettes/cigpack_cannabis name = "\improper Freak Brothers' Special packet" desc = "A label on the packaging reads, \"Endorsed by Phineas, Freddy and Franklin.\"" icon_state = "midori" + base_icon_state = "midori" spawn_type = /obj/item/clothing/mask/cigarette/rollie/cannabis /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker name = "\improper Leary's Delight packet" desc = "Banned in over 36 galaxies." icon_state = "shadyjim" + base_icon_state = "shadyjim" spawn_type = /obj/item/clothing/mask/cigarette/rollie/mindbreaker /obj/item/storage/fancy/rollingpapers @@ -322,8 +340,8 @@ w_class = WEIGHT_CLASS_TINY icon = 'icons/obj/cigarettes.dmi' icon_state = "cig_paper_pack" - ///The value in here has NOTHING to do with icons. It needs to be this for the proper examine. - icon_type = "rolling paper" + base_icon_state = "cig_paper_pack" + contents_tag = "rolling paper" spawn_type = /obj/item/rollingpaper custom_price = 25 @@ -335,12 +353,13 @@ ///Overrides to do nothing because fancy boxes are fucking insane. /obj/item/storage/fancy/rollingpapers/update_icon_state() + SHOULD_CALL_PARENT(FALSE) return /obj/item/storage/fancy/rollingpapers/update_overlays() . = ..() if(!contents.len) - . += "[icon_state]_empty" + . += "[base_icon_state]_empty" /obj/item/storage/fancy/cigarettes/derringer name = "\improper Robust packet" @@ -391,7 +410,7 @@ icon = 'icons/obj/cigarettes.dmi' icon_state = "cigarcase" w_class = WEIGHT_CLASS_NORMAL - icon_type = "premium cigar" + base_icon_state = "cigarcase" spawn_type = /obj/item/clothing/mask/cigarette/cigar /obj/item/storage/fancy/cigarettes/cigars/ComponentInitialize() @@ -401,30 +420,31 @@ STR.set_holdable(list(/obj/item/clothing/mask/cigarette/cigar)) /obj/item/storage/fancy/cigarettes/cigars/update_icon_state() - if(fancy_open) - icon_state = "[initial(icon_state)]_open" - else - icon_state = "[initial(icon_state)]" + . = ..() + icon_state = "[base_icon_state][is_open ? "_open" : null]" /obj/item/storage/fancy/cigarettes/cigars/update_overlays() . = ..() - if(fancy_open) - var/cigar_position = 1 //generate sprites for cigars in the box - for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) - var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]_[cigar_position]") - . += cigar_overlay - cigar_position++ + if(!is_open) + return + var/cigar_position = 1 //generate sprites for cigars in the box + for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) + var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]_[cigar_position]") + . += cigar_overlay + cigar_position++ /obj/item/storage/fancy/cigarettes/cigars/cohiba name = "\improper Cohiba Robusto cigar case" desc = "A case of imported Cohiba cigars, renowned for their strong flavor." icon_state = "cohibacase" + base_icon_state = "cohibacase" spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba /obj/item/storage/fancy/cigarettes/cigars/havana name = "\improper premium Havanian cigar case" desc = "A case of classy Havanian cigars." icon_state = "cohibacase" + base_icon_state = "cohibacase" spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana /* @@ -437,10 +457,11 @@ icon = 'icons/obj/food/containers.dmi' item_state = "chocolatebox" icon_state = "chocolatebox" - icon_type = "chocolate" + base_icon_state = "chocolatebox" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' spawn_type = /obj/item/reagent_containers/food/snacks/tinychocolate + contents_tag = "chocolate" /obj/item/storage/fancy/heart_box/ComponentInitialize() . = ..() @@ -454,7 +475,8 @@ desc = "A cardboard box used for holding chicken nuggies." icon = 'icons/obj/food/containers.dmi' icon_state = "nuggetbox" - icon_type = "nugget" + base_icon_state = "nuggetbox" + contents_tag = "nugget" spawn_type = /obj/item/reagent_containers/food/snacks/nugget /obj/item/storage/fancy/nugget_box/ComponentInitialize() diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 6c8d6a304b7f..dc9aea782406 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -8,6 +8,7 @@ /* * First Aid Kits */ + /obj/item/storage/firstaid name = "first-aid kit" desc = "It's an emergency medical kit for those serious boo-boos." @@ -142,10 +143,6 @@ item_state = "firstaid-ointment" damagetype_healed = BURN -/obj/item/storage/firstaid/fire/Initialize(mapload) - . = ..() - icon_state = pick("ointment","firefirstaid") - /obj/item/storage/firstaid/fire/PopulateContents() if(empty) return @@ -164,10 +161,6 @@ item_state = "firstaid-toxin" damagetype_healed = TOX -/obj/item/storage/firstaid/toxin/Initialize(mapload) - . = ..() - icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2") - /obj/item/storage/firstaid/toxin/PopulateContents() if(empty) return @@ -180,6 +173,28 @@ ) generate_items_inside(items_inside,src) +/obj/item/storage/firstaid/radiation + name = "radiation treatment kit" + desc = "Used to treat severe radiation poisoning." + icon_state = "antitoxin" + item_state = "firstaid-toxin" + damagetype_healed = TOX + +/obj/item/storage/firstaid/radiation/Initialize(mapload) + . = ..() + icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2") + +/obj/item/storage/firstaid/radiation/PopulateContents() + if(empty) + return + var/static/items_inside = list( + /obj/item/healthanalyzer = 1, + /obj/item/storage/pill_bottle/potassiodide = 2, + /obj/item/reagent_containers/hypospray/medipen/penacid = 2, + /obj/item/reagent_containers/hypospray/medipen/anti_rad = 4 + ) + generate_items_inside(items_inside,src) + /obj/item/storage/firstaid/o2 name = "oxygen deprivation treatment kit" desc = "A box full of oxygen goodies." @@ -187,10 +202,6 @@ item_state = "firstaid-o2" damagetype_healed = OXY -/obj/item/storage/firstaid/o2/Initialize(mapload) - . = ..() - icon_state = pick("o2","o2second") - /obj/item/storage/firstaid/o2/PopulateContents() if(empty) return @@ -210,10 +221,6 @@ damagetype_healed = BRUTE custom_price = 600 -/obj/item/storage/firstaid/brute/Initialize(mapload) - . = ..() - icon_state = pick("brute","brute2") - /obj/item/storage/firstaid/brute/PopulateContents() if(empty) return @@ -279,13 +286,15 @@ var/obj/item/bot_assembly/medbot/A = new if(istype(src, /obj/item/storage/firstaid/fire)) - A.set_skin("ointment") + A.set_skin("medibot_burn") else if(istype(src, /obj/item/storage/firstaid/toxin)) - A.set_skin("tox") + A.set_skin("medibot_toxin") else if(istype(src, /obj/item/storage/firstaid/o2)) - A.set_skin("o2") + A.set_skin("medibot_o2") else if(istype(src, /obj/item/storage/firstaid/brute)) - A.set_skin("brute") + A.set_skin("medibot_brute") + else if(istype(src, /obj/item/storage/firstaid/tactical)) + A.set_skin("medibot_bezerk") user.put_in_hands(A) to_chat(user, "You add [S] to [src].") A.robot_arm = S.type diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index 505db0812137..6d6690106b4d 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -62,12 +62,12 @@ /obj/item/storage/lockbox/Entered() . = ..() open = TRUE - update_icon() + update_appearance() /obj/item/storage/lockbox/Exited() . = ..() open = TRUE - update_icon() + update_appearance() /obj/item/storage/lockbox/loyalty name = "lockbox of mindshield implants" @@ -113,7 +113,7 @@ if(user.canUseTopic(src, BE_CLOSE)) if(!SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) open = (open ? FALSE : TRUE) - update_icon() + update_appearance() ..() /obj/item/storage/lockbox/medal/PopulateContents() @@ -131,12 +131,14 @@ var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) if(locked) icon_state = "medalbox+l" - else - icon_state = "medalbox" - if(open) - icon_state += "open" - if(broken) - icon_state += "+b" + return ..() + + icon_state = "medalbox" + if(open) + icon_state += "open" + if(broken) + icon_state += "+b" + return ..() /obj/item/storage/lockbox/medal/update_overlays() . = ..() diff --git a/code/game/objects/items/storage/sixpack.dm b/code/game/objects/items/storage/sixpack.dm index 08e39df8e413..1a229909aa82 100644 --- a/code/game/objects/items/storage/sixpack.dm +++ b/code/game/objects/items/storage/sixpack.dm @@ -11,10 +11,11 @@ /obj/item/storage/cans/update_icon_state() icon_state = "[initial(icon_state)][contents.len]" + return ..() /obj/item/storage/cans/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/storage/cans/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 171d89fa0a52..1daf6cf922a1 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -27,7 +27,7 @@ latches = "double_latch" if(prob(1)) latches = "triple_latch" - update_icon() + update_appearance() /obj/item/storage/toolbox/ComponentInitialize() . = ..() @@ -267,7 +267,7 @@ /obj/item/storage/toolbox/ammo/shotgun/PopulateContents() name = "ammo can (12ga)" for (var/i in 1 to 4) - new /obj/item/storage/box/lethalshot(src) + new /obj/item/ammo_box/a12g(src) /obj/item/storage/toolbox/infiltrator name = "insidious case" @@ -335,7 +335,7 @@ if(/obj/item/storage/toolbox/syndicate) B.toolbox_color = "s" user.put_in_hands(B) - B.update_icon() + B.update_appearance() to_chat(user, "You add the tiles into the empty [name]. They protrude from the top.") qdel(src) else diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 62c2e0c2ecbf..91f47f56cdd5 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -56,7 +56,7 @@ var/mob/living/carbon/human/H = loc if(H.wear_id == src) H.sec_hud_set_ID() - update_icon() + update_appearance() update_label() /obj/item/storage/wallet/Entered(atom/movable/AM) @@ -66,10 +66,11 @@ /obj/item/storage/wallet/update_overlays() . = ..() cached_flat_icon = null - if(front_id) - . += mutable_appearance(front_id.icon, front_id.icon_state) - . += front_id.overlays - . += mutable_appearance(icon, "wallet_overlay") + if(!front_id) + return + . += mutable_appearance(front_id.icon, front_id.icon_state) + . += front_id.overlays + . += mutable_appearance(icon, "wallet_overlay") /obj/item/storage/wallet/proc/get_cached_flat_icon() if(!cached_flat_icon) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 6102d67ec00f..e494392ee911 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -46,7 +46,7 @@ log_mapping("[src] at [AREACOORD(src)] had an invalid preload_cell_type: [preload_cell_type].") else cell = new preload_cell_type(src) - update_icon() + update_appearance() RegisterSignal(src, COMSIG_PARENT_ATTACKBY, .proc/convert) @@ -73,7 +73,7 @@ if(A == cell) cell = null turned_on = FALSE - update_icon() + update_appearance() return ..() /obj/item/melee/baton/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) @@ -93,17 +93,19 @@ if(turned_on && cell.charge < cell_hit_cost) //we're below minimum, turn off turned_on = FALSE - update_icon() + update_appearance() playsound(src, activate_sound, 75, TRUE, -1) /obj/item/melee/baton/update_icon_state() if(turned_on) icon_state = "[initial(icon_state)]_active" - else if(!cell) + return ..() + if(!cell) icon_state = "[initial(icon_state)]_nocell" - else - icon_state = "[initial(icon_state)]" + return ..() + icon_state = "[initial(icon_state)]" + return ..() /obj/item/melee/baton/examine(mob/user) . = ..() @@ -125,7 +127,7 @@ return cell = W to_chat(user, "You install a cell in [src].") - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_SCREWDRIVER) tryremovecell(user) @@ -134,12 +136,12 @@ /obj/item/melee/baton/proc/tryremovecell(mob/user) if(cell && can_remove_cell) - cell.update_icon() + cell.update_appearance() cell.forceMove(get_turf(src)) cell = null to_chat(user, "You remove the cell from [src].") turned_on = FALSE - update_icon() + update_appearance() /obj/item/melee/baton/attack_self(mob/user) toggle_on(user) @@ -155,7 +157,7 @@ to_chat(user, "[src] does not have a power source!") else to_chat(user, "[src] is out of charge.") - update_icon() + update_appearance() add_fingerprint(user) /obj/item/melee/baton/proc/clumsy_check(mob/living/carbon/human/user) @@ -326,14 +328,5 @@ else return ..() - -/obj/item/melee/baton/boomerang/update_icon_state() - if(turned_on) - icon_state = "[initial(icon_state)]_active" - else if(!cell) - icon_state = "[initial(icon_state)]_nocell" - else - icon_state = "[initial(icon_state)]" - /obj/item/melee/baton/boomerang/loaded //Same as above, comes with a cell. preload_cell_type = /obj/item/stock_parts/cell/high diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 6b27a51f58ac..0f4f5adee562 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -420,7 +420,7 @@ var/used_amount = injection_amount/usage_ratio reagents.trans_to(user,used_amount,multiplier=usage_ratio, method = INJECT) - update_icon() + update_appearance() user.update_inv_back() //for overlays update //Operator backpack spray diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 92480c9dae29..cb6b8d3abe9f 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -134,7 +134,7 @@ return FALSE forceMove(tongs) tongs.sliver = src - tongs.update_icon() + tongs.update_appearance() to_chat(user, "You carefully pick up [src] with [tongs].") else if(istype(W, /obj/item/scalpel/supermatter) || istype(W, /obj/item/nuke_core_container/supermatter/)) // we don't want it to dust return @@ -225,6 +225,7 @@ icon_state = "supermatter_tongs_loaded" else icon_state = "supermatter_tongs" + return ..() /obj/item/hemostat/supermatter/afterattack(atom/O, mob/user, proximity) . = ..() @@ -238,7 +239,7 @@ sliver.forceMove(loc) visible_message("\The [sliver] falls out of \the [src] as it hits the ground.") sliver = null - update_icon() + update_appearance() ..() /obj/item/hemostat/supermatter/proc/Consume(atom/movable/AM, mob/user) @@ -258,4 +259,4 @@ radiation_pulse(src, 500, 2) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) QDEL_NULL(sliver) - update_icon() + update_appearance() diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 69cc65f93a28..26509776dd16 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -68,11 +68,36 @@ to_chat(user, "You attach the cutting jaws to [src].") usesound = 'sound/items/jaws_cut.ogg' icon_state = "jaws_cutter" + update_appearance() else tool_behaviour = TOOL_CROWBAR to_chat(user, "You attach the prying jaws to [src].") usesound = 'sound/items/jaws_pry.ogg' icon_state = "jaws_pry" + update_appearance() + +/obj/item/crowbar/power/attack_hand(mob/user) + . = ..() + update_appearance() + +/obj/item/crowbar/power/pickup(mob/user) + . = ..() + update_appearance() + +/obj/item/crowbar/power/dropped(mob/user) + . = ..() + update_appearance() + +/obj/item/crowbar/power/update_overlays() + . = ..() + if(ismob(loc)) + var/mode_ovelay + switch(tool_behaviour) + if (TOOL_CROWBAR) + mode_ovelay = "jaw_pry" + if (TOOL_WIRECUTTER) + mode_ovelay = "jaw_cut" + . += mode_ovelay /obj/item/crowbar/power/attack(mob/living/carbon/C, mob/user) if(istype(C) && C.handcuffed && tool_behaviour == TOOL_WIRECUTTER) diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index f1122cc2b1a1..3e4ab0d15de1 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -40,7 +40,7 @@ icon_state = "screwdriver" var/our_color = pick(screwdriver_colors) add_atom_colour(screwdriver_colors[our_color], FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() if(prob(75)) pixel_y = rand(0, 16) @@ -109,10 +109,35 @@ tool_behaviour = TOOL_WRENCH to_chat(user, "You attach the bolt bit to [src].") icon_state = "drill_bolt" + update_appearance() else tool_behaviour = TOOL_SCREWDRIVER to_chat(user, "You attach the screw bit to [src].") icon_state = "drill_screw" + update_appearance() + +/obj/item/screwdriver/power/attack_hand(mob/user) + . = ..() + update_appearance() + +/obj/item/screwdriver/power/pickup(mob/user) + . = ..() + update_appearance() + +/obj/item/screwdriver/power/dropped(mob/user) + . = ..() + update_appearance() + +/obj/item/screwdriver/power/update_overlays() + . = ..() + if(ismob(loc)) + var/mode_ovelay + switch(tool_behaviour) + if (TOOL_SCREWDRIVER) + mode_ovelay = "bit_screw" + if (TOOL_WRENCH) + mode_ovelay = "bit_bolt" + . += mode_ovelay /obj/item/screwdriver/cyborg name = "automated screwdriver" diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 83f503cad3c2..c792af38486a 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -48,7 +48,7 @@ create_reagents(max_fuel) if(start_full) reagents.add_reagent(/datum/reagent/fuel, max_fuel) - update_icon() + update_appearance() /obj/item/weldingtool/ComponentInitialize() . = ..() @@ -60,7 +60,7 @@ item_state = "[initial(item_state)]1" else item_state = "[initial(item_state)]" - + return ..() /obj/item/weldingtool/update_overlays() . = ..() @@ -77,7 +77,7 @@ if(0) force = 3 damtype = "brute" - update_icon() + update_appearance() if(!can_off_process) STOP_PROCESSING(SSobj, src) return @@ -88,7 +88,7 @@ ++burned_fuel_for if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) use(1) - update_icon() + update_appearance() //This is to start fires. process() is only called if the welder is on. open_flame() @@ -100,7 +100,7 @@ flamethrower_rods(I, user) else . = ..() - update_icon() + update_appearance() /obj/item/weldingtool/proc/explode() var/turf/T = get_turf(loc) @@ -145,7 +145,7 @@ if(!status && O.is_refillable()) reagents.trans_to(O, reagents.total_volume, transfered_by = user) to_chat(user, "You empty [src]'s fuel tank into [O].") - update_icon() + update_appearance() /obj/item/weldingtool/attack_qdeleted(atom/O, mob/user, proximity) . = ..() @@ -168,7 +168,7 @@ explode() switched_on(user) - update_icon() + update_appearance() // Ah fuck, I can't believe you've done this @@ -211,7 +211,7 @@ if(get_fuel() <= 0 && welding) set_light_on(FALSE) switched_on(user) - update_icon() + update_appearance() return 0 return 1 @@ -228,7 +228,7 @@ force = 15 damtype = "fire" hitsound = 'sound/items/welder.ogg' - update_icon() + update_appearance() START_PROCESSING(SSobj, src) else to_chat(user, "You need more fuel!") @@ -245,7 +245,7 @@ force = 3 damtype = "brute" hitsound = "swing_hit" - update_icon() + update_appearance() /obj/item/weldingtool/examine(mob/user) diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index d2a420664df0..235e267e43c3 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -40,7 +40,7 @@ icon_state = "cutters" var/our_color = pick(wirecutter_colors) add_atom_colour(wirecutter_colors[our_color], FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() /obj/item/wirecutters/update_overlays() . = ..() diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 805a06945983..3e9898d87508 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -83,7 +83,7 @@ hitsound = 'sound/weapons/blade1.ogg' playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) to_chat(user, "[src] is now active. Woe onto your enemies!") - update_icon() + update_appearance() /obj/item/wrench/combat/update_icon_state() if(on) @@ -92,6 +92,7 @@ else icon_state = "[initial(icon_state)]" item_state = "[initial(item_state)]" + return ..() /obj/item/wrench/syndie name = "suspicious-looking wrench" diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 78890682f79f..0046ece63058 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -68,7 +68,7 @@ A.reagents.trans_to(src, 10, transfered_by = user) to_chat(user, "You fill the balloon with the contents of [A].") desc = "A translucent balloon with some form of liquid sloshing around in it." - update_icon() + update_appearance() /obj/item/toy/waterballoon/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/glass)) @@ -81,7 +81,7 @@ desc = "A translucent balloon with some form of liquid sloshing around in it." to_chat(user, "You fill the balloon with the contents of [I].") I.reagents.trans_to(src, 10, transfered_by = user) - update_icon() + update_appearance() else if(I.get_sharpness()) balloon_burst() else @@ -106,13 +106,13 @@ qdel(src) /obj/item/toy/waterballoon/update_icon_state() - if(src.reagents.total_volume >= 1) + if(reagents.total_volume >= 1) icon_state = "waterballoon" item_state = "balloon" else icon_state = "waterballoon-e" item_state = "balloon-empty" - + return ..() #define BALLOON_COLORS list("red", "blue", "green", "yellow") /obj/item/toy/balloon @@ -217,7 +217,7 @@ to_chat(user, text("You reload [] cap\s.", 7 - src.bullets)) A.amount_left -= 7 - src.bullets src.bullets = 7 - A.update_icon() + A.update_appearance() return 1 else return ..() @@ -253,6 +253,7 @@ /obj/item/toy/ammo/gun/update_icon_state() icon_state = "357OLD-[amount_left]" + return ..() /obj/item/toy/ammo/gun/examine(mob/user) . = ..() @@ -659,7 +660,7 @@ H.pickup(user) user.put_in_hands(H) user.visible_message("[user] draws a card from the deck.", "You draw a card from the deck.") - update_icon() + update_appearance() return H /obj/item/toy/cards/deck/update_icon_state() @@ -672,6 +673,7 @@ icon_state = "deck_[deckstyle]_low" else icon_state = "deck_[deckstyle]_empty" + return ..() /obj/item/toy/cards/deck/attack_self(mob/user) if(cooldown < world.time - 50) @@ -692,7 +694,7 @@ qdel(SC) else to_chat(user, "You can't mix cards from other decks!") - update_icon() + update_appearance() else if(istype(I, /obj/item/toy/cards/cardhand)) var/obj/item/toy/cards/cardhand/CH = I if(CH.parentdeck == src) @@ -704,7 +706,7 @@ qdel(CH) else to_chat(user, "You can't mix cards from other decks!") - update_icon() + update_appearance() else return ..() diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 42d0f2fe40c2..d6955ff244ba 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -741,6 +741,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 //HF blade /obj/item/vibro_weapon icon_state = "hfrequency0" + base_icon_state = "hfrequency" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' name = "vibro sword" @@ -765,7 +766,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/vibro_weapon/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 20, 105) - AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="hfrequency1") + AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/vibro_weapon/proc/on_wield(obj/item/source, mob/user) @@ -780,7 +781,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 wielded = FALSE /obj/item/vibro_weapon/update_icon_state() - icon_state = "hfrequency0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/vibro_weapon/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(wielded) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index ef538159b018..61acce5c9d0a 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -175,7 +175,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(!acid_level) SSacid.processing[src] = src - update_icon() + update_appearance() var/acid_cap = acidpwr * 300 //so we cannot use huge amounts of weak acids to do as well as strong acids. if(acid_level < acid_cap) acid_level = min(acid_level + acidpwr * acid_volume, acid_cap) @@ -211,7 +211,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE) && !(resistance_flags & FIRE_PROOF)) resistance_flags |= ON_FIRE SSfire_burning.processing[src] = src - update_icon() + update_appearance() return 1 return ..() @@ -225,7 +225,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/proc/extinguish() if(resistance_flags & ON_FIRE) resistance_flags &= ~ON_FIRE - update_icon() + update_appearance() SSfire_burning.processing -= src ///Called when the obj is hit by a tesla bolt. diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index fc6ac6355c0c..f59e29dd3b9a 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -22,7 +22,7 @@ circuit = null if((state != GLASS_CORE) && (state != AI_READY_CORE)) state = EMPTY_CORE - update_icon() + update_appearance() if(A == brain) brain = null . = ..() @@ -111,7 +111,7 @@ return playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) to_chat(user, "You place the circuit board inside the frame.") - update_icon() + update_appearance() state = CIRCUIT_CORE circuit = P return @@ -120,13 +120,13 @@ P.play_tool_sound(src) to_chat(user, "You screw the circuit board into place.") state = SCREWED_CORE - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) to_chat(user, "You remove the circuit board.") state = EMPTY_CORE - update_icon() + update_appearance() circuit.forceMove(loc) circuit = null return @@ -135,7 +135,7 @@ P.play_tool_sound(src) to_chat(user, "You unfasten the circuit board.") state = CIRCUIT_CORE - update_icon() + update_appearance() return if(istype(P, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = P @@ -145,7 +145,7 @@ if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5)) to_chat(user, "You add cables to the frame.") state = CABLED_CORE - update_icon() + update_appearance() else to_chat(user, "You need five lengths of cable to wire the AI core!") return @@ -157,7 +157,7 @@ P.play_tool_sound(src) to_chat(user, "You remove the cables.") state = SCREWED_CORE - update_icon() + update_appearance() new /obj/item/stack/cable_coil(drop_location(), 5) return @@ -169,7 +169,7 @@ if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2)) to_chat(user, "You put in the glass panel.") state = GLASS_CORE - update_icon() + update_appearance() else to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!") return @@ -197,7 +197,7 @@ brain = M to_chat(user, "You add [M.name] to the frame.") - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR && brain) @@ -205,7 +205,7 @@ to_chat(user, "You remove the brain.") brain.forceMove(loc) brain = null - update_icon() + update_appearance() return if(GLASS_CORE) @@ -213,7 +213,7 @@ P.play_tool_sound(src) to_chat(user, "You remove the glass panel.") state = CABLED_CORE - update_icon() + update_appearance() new /obj/item/stack/sheet/rglass(loc, 2) return @@ -238,7 +238,7 @@ qdel(src) else state = AI_READY_CORE - update_icon() + update_appearance() return if(AI_READY_CORE) @@ -250,7 +250,7 @@ P.play_tool_sound(src) to_chat(user, "You disconnect the monitor.") state = GLASS_CORE - update_icon() + update_appearance() return return ..() @@ -271,6 +271,7 @@ icon_state = "4" if(AI_READY_CORE) icon_state = "ai-empty" + return ..() /obj/structure/AIcore/deconstruct(disassembled = TRUE) if(state == GLASS_CORE) diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index cab897e263fb..03cff6da3f82 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -117,7 +117,7 @@ var/y = text2num(params["y"]) grid[x][y] = color used = TRUE - update_icon() + update_appearance() . = TRUE if("finalize") . = TRUE @@ -132,17 +132,19 @@ /obj/item/canvas/update_overlays() . = ..() - if(!icon_generated) - if(used) - var/mutable_appearance/detail = mutable_appearance(icon,"[icon_state]wip") - detail.pixel_x = 1 - detail.pixel_y = 1 - . += detail - else + if(icon_generated) var/mutable_appearance/detail = mutable_appearance(generated_icon) detail.pixel_x = 1 detail.pixel_y = 1 . += detail + return + if(!used) + return + + var/mutable_appearance/detail = mutable_appearance(icon, "[icon_state]wip") + detail.pixel_x = 1 + detail.pixel_y = 1 + . += detail /obj/item/canvas/proc/generate_proper_overlay() if(icon_generated) @@ -153,7 +155,7 @@ CRASH("Error generating painting png : [result]") generated_icon = new(png_filename) icon_generated = TRUE - update_icon() + update_appearance() /obj/item/canvas/proc/get_data_string() var/list/data = list() @@ -274,7 +276,7 @@ C.forceMove(drop_location()) C = null to_chat(user, "You remove the painting from the frame.") - update_icon() + update_appearance() return TRUE /obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas) @@ -283,7 +285,7 @@ if(!C.finalized) C.finalize(user) to_chat(user,"You frame [C].") - update_icon() + update_appearance() /obj/structure/sign/painting/proc/try_rename(mob/user) if(!C.painting_name) @@ -295,6 +297,7 @@ icon_state = null else icon_state = "frame-empty" + return ..() /obj/structure/sign/painting/update_overlays() . = ..() @@ -336,7 +339,7 @@ new_canvas.painting_name = title new_canvas.author_ckey = author C = new_canvas - update_icon() + update_appearance() /obj/structure/sign/painting/proc/save_persistent() if(!persistence_id || !C) diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 6743d815a797..bc1155ec34aa 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -455,11 +455,12 @@ LINEN BINS icon_state = "linenbin-half" else icon_state = "linenbin-full" + return ..() /obj/structure/bedsheetbin/fire_act(exposed_temperature, exposed_volume) if(amount) amount = 0 - update_icon() + update_appearance() ..() /obj/structure/bedsheetbin/attackby(obj/item/I, mob/user, params) @@ -469,7 +470,7 @@ LINEN BINS sheets.Add(I) amount++ to_chat(user, "You put [I] in [src].") - update_icon() + update_appearance() else if(default_unfasten_wrench(user, I, 5)) return @@ -518,7 +519,7 @@ LINEN BINS B.forceMove(drop_location()) user.put_in_hands(B) to_chat(user, "You take [B] out of [src].") - update_icon() + update_appearance() if(hidden) hidden.forceMove(drop_location()) @@ -541,7 +542,7 @@ LINEN BINS B.forceMove(drop_location()) to_chat(user, "You telekinetically remove [B] from [src].") - update_icon() + update_appearance() if(hidden) hidden.forceMove(drop_location()) diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index c115e1161c76..36b764590609 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -20,7 +20,7 @@ /obj/structure/catwalk/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/catwalk/over layer = CATWALK_LAYER //over pipes, duh @@ -38,7 +38,7 @@ plated_tile = /obj/item/stack/tile/plasteel/white icon_state = "catwalk_platedwhite" -/obj/structure/catwalk/update_icon() +/obj/structure/catwalk/update_appearance() ..() cut_overlays() icon_state = hatch_open ? "open" : "catwalk" @@ -69,7 +69,7 @@ else playsound(src, 'sound/items/Deconstruct.ogg', 100, 2) to_chat(user, "You shut \the [src]'s maintenance hatch.") - update_icon() + update_appearance() return if(istype(C, /obj/item/stack/tile) && !plated_tile) var/obj/item/stack/tile/plasteel/ST = C @@ -80,7 +80,7 @@ src.add_fingerprint(user) if(ST.use(1)) plated_tile = ST.type - update_icon() + update_appearance() return return ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 12fd3d1b1242..6d283a653a37 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -48,7 +48,7 @@ if (mapload && !opened) . = INITIALIZE_HINT_LATELOAD - update_icon() + update_appearance() if(populate) PopulateContents() @@ -69,12 +69,17 @@ dump_contents() return ..() +/obj/structure/closet/update_appearance(updates=ALL) + . = ..() + if(opened || broken || !secure) + luminosity = 0 + return + luminosity = 1 + /obj/structure/closet/update_icon() . = ..() - if(!opened) - layer = OBJ_LAYER - else - layer = BELOW_OBJ_LAYER + + layer = opened ? BELOW_OBJ_LAYER : OBJ_LAYER /obj/structure/closet/update_overlays() . = ..() @@ -82,28 +87,19 @@ /obj/structure/closet/proc/closet_update_overlays(list/new_overlays) . = new_overlays - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 - if(!opened) - if(icon_door) - . += "[icon_door]_door" - else - . += "[icon_state]_door" - if(welded) - . += icon_welded - if(secure && !broken) - //Overlay is similar enough for both that we can use the same mask for both - luminosity = 1 - SSvis_overlays.add_vis_overlay(src, icon, "locked", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - if(locked) - . += "locked" - else - . += "unlocked" - else - if(icon_door_override) - . += "[icon_door]_open" - else - . += "[icon_state]_open" + if(opened) + . += "[icon_door_override ? icon_door : icon_state]_open" + return + + . += "[icon_door || icon_state]_door" + if(welded) + . += icon_welded + + if(broken || !secure) + return + //Overlay is similar enough for both that we can use the same mask for both + SSvis_overlays.add_vis_overlay(src, icon, "locked", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) + . += locked ? "locked" : "unlocked" /obj/structure/closet/examine(mob/user) . = ..() @@ -182,7 +178,7 @@ density = FALSE climb_time *= 0.5 //it's faster to climb onto an open thing dump_contents() - update_icon() + update_appearance() return TRUE /obj/structure/closet/proc/insert(atom/movable/AM) @@ -234,7 +230,7 @@ climb_time = initial(climb_time) opened = FALSE density = TRUE - update_icon() + update_appearance() return TRUE /obj/structure/closet/proc/toggle(mob/living/user) @@ -297,7 +293,7 @@ user.visible_message("[user] [welded ? "welds shut" : "unwelded"] \the [src].", "You [welded ? "weld" : "unwelded"] \the [src] with \the [W].", "You hear welding.") - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_WRENCH && anchorable) if(isinspace() && !anchored) return @@ -474,7 +470,7 @@ locked = !locked user.visible_message("[user] [locked ? null : "un"]locks [src].", "You [locked ? null : "un"]lock [src].") - update_icon() + update_appearance() else if(!silent) to_chat(user, "Access Denied.") else if(secure && broken) @@ -489,7 +485,7 @@ playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) broken = TRUE locked = FALSE - update_icon() + update_appearance() /obj/structure/closet/get_remote_view_fullscreens(mob/user) if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) @@ -505,7 +501,7 @@ if(secure && !broken && !(. & EMP_PROTECT_SELF)) if(prob(50 / severity)) locked = !locked - update_icon() + update_appearance() if(prob(20 / severity) && !opened) if(!locked) open() diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 1ffe0f0a5b23..23e3bde31173 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -39,7 +39,7 @@ if(t) name = "body bag - [t]" tagged = 1 - update_icon() + update_appearance() else name = "body bag" return @@ -47,7 +47,7 @@ to_chat(user, "You cut the tag off [src].") name = "body bag" tagged = 0 - update_icon() + update_appearance() /obj/structure/closet/body_bag/update_overlays() . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 4e003189da7c..e221117f74a9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -48,7 +48,7 @@ if(allowed(user) || !registered_name || (istype(I) && (registered_name == I.registered_name))) //they can open all lockers, or nobody owns this, or they own this locker locked = !locked - update_icon() + update_appearance() if(!registered_name) registered_name = I.registered_name diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index b57129620226..70b61cfa8d08 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -23,7 +23,7 @@ . = ..() if(icon_state == "[initial(icon_state)]open") opened = TRUE - update_icon() + update_appearance() /obj/structure/closet/crate/CanAllowThrough(atom/movable/mover, border_dir) . = ..() @@ -37,6 +37,7 @@ /obj/structure/closet/crate/update_icon_state() icon_state = "[initial(icon_state)][opened ? "open" : ""]" + return ..() /obj/structure/closet/crate/closet_update_overlays(list/new_overlays) . = new_overlays @@ -57,7 +58,7 @@ playsound(src, 'sound/items/poster_ripped.ogg', 75, TRUE) manifest.forceMove(get_turf(src)) manifest = null - update_icon() + update_appearance() /obj/structure/closet/crate/proc/tear_manifest(mob/user) to_chat(user, "You tear the manifest off of [src].") @@ -67,7 +68,7 @@ if(ishuman(user)) user.put_in_hands(manifest) manifest = null - update_icon() + update_appearance() /obj/structure/closet/crate/coffin name = "coffin" diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm index 6b8e3ac6586e..26335320c2b3 100644 --- a/code/game/objects/structures/crates_lockers/crates/bins.dm +++ b/code/game/objects/structures/crates_lockers/crates/bins.dm @@ -10,16 +10,17 @@ /obj/structure/closet/crate/bin/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/closet/crate/bin/update_overlays() . = ..() if(contents.len == 0) . += "largebing" - else if(contents.len >= storage_capacity) + return + if(contents.len >= storage_capacity) . += "largebinr" - else - . += "largebino" + return + . += "largebino" /obj/structure/closet/crate/bin/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/storage/bag/trash)) @@ -27,7 +28,7 @@ to_chat(user, "You fill the bag.") for(var/obj/item/O in src) SEND_SIGNAL(T, COMSIG_TRY_STORAGE_INSERT, O, user, TRUE) - T.update_icon() + T.update_appearance() do_animate() return TRUE else @@ -40,4 +41,4 @@ /obj/structure/closet/crate/bin/proc/do_close() playsound(loc, close_sound, 15, TRUE, -3) - update_icon() + update_appearance() diff --git a/code/game/objects/structures/crates_lockers/crates/critter.dm b/code/game/objects/structures/crates_lockers/crates/critter.dm index 78bb1b06234a..8ca58d9e20a5 100644 --- a/code/game/objects/structures/crates_lockers/crates/critter.dm +++ b/code/game/objects/structures/crates_lockers/crates/critter.dm @@ -27,16 +27,18 @@ return ..() /obj/structure/closet/crate/critter/update_icon_state() + SHOULD_CALL_PARENT(FALSE) return /obj/structure/closet/crate/critter/update_overlays() . = ..() if(opened) . += "crittercrate_door_open" - else - . += "crittercrate_door" - if(manifest) - . += "manifest" + return + + . += "crittercrate_door" + if(manifest) + . += "manifest" /obj/structure/closet/crate/critter/return_air() if(tank) diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 93a11342e274..63d9b6552c16 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -13,10 +13,11 @@ . = ..() if(broken) . += "securecrateemag" - else if(locked) + return + if(locked) . += "securecrater" - else - . += "securecrateg" + return + . += "securecrateg" /obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) if(prob(tamperproof) && damage_amount >= DAMAGE_PRECISION) @@ -92,7 +93,7 @@ user.visible_message("[user] unlocks [src]'s privacy lock.", "You unlock [src]'s privacy lock.") privacy_lock = FALSE - update_icon() + update_appearance() else if(!silent) to_chat(user, "Bank account does not match with buyer!") else if(!silent) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 1a2b80ee78fc..4884a757453e 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -30,7 +30,7 @@ trophy_message = showpiece_entry["trophy_message"] if(start_showpiece_type) showpiece = new start_showpiece_type (src) - update_icon() + update_appearance() /obj/structure/displaycase/Destroy() if(electronics) @@ -75,7 +75,7 @@ broken = 1 new /obj/item/shard(src.loc) playsound(src, "shatter", 70, TRUE) - update_icon() + update_appearance() trigger_alarm() /obj/structure/displaycase/proc/trigger_alarm() @@ -85,7 +85,7 @@ alarmed.burglaralert(src) playsound(src, 'sound/effects/alert.ogg', 50, TRUE) -/obj/structure/displaycase/update_icon() +/obj/structure/displaycase/update_appearance() var/icon/I if(open) I = icon('icons/obj/stationobjs.dmi',"glassbox_open") @@ -98,7 +98,7 @@ S.Scale(17,17) I.Blend(S,ICON_UNDERLAY,8,8) src.icon = I - return + return ..() /obj/structure/displaycase/attackby(obj/item/W, mob/user, params) if(W.GetID() && !broken && openable) @@ -115,7 +115,7 @@ to_chat(user, "You begin repairing [src]...") if(W.use_tool(src, user, 40, amount=5, volume=50)) obj_integrity = max_integrity - update_icon() + update_appearance() to_chat(user, "You repair [src].") else to_chat(user, "[src] is already in good condition!") @@ -139,7 +139,7 @@ if(user.transferItemToLoc(W, src)) showpiece = W to_chat(user, "You put [W] on display.") - update_icon() + update_appearance() else if(glass_fix && broken && istype(W, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = W if(G.get_amount() < 2) @@ -150,13 +150,13 @@ G.use(2) broken = 0 obj_integrity = max_integrity - update_icon() + update_appearance() else return ..() /obj/structure/displaycase/proc/toggle_lock(mob/user) open = !open - update_icon() + update_appearance() /obj/structure/displaycase/attack_paw(mob/user) return attack_hand(user) @@ -171,7 +171,7 @@ log_combat(user, src, "deactivates the hover field of") dump() src.add_fingerprint(user) - update_icon() + update_appearance() return else //prevents remote "kicks" with TK @@ -318,7 +318,7 @@ to_chat(user, "You insert [W] into the case.") showpiece = W added_roundstart = FALSE - update_icon() + update_appearance() placer_key = user.ckey @@ -379,7 +379,7 @@ ///The Account which will receive payment for purchases. Set by the first ID to swipe the tray. var/datum/bank_account/payments_acc = null -/obj/structure/displaycase/forsale/update_icon() //remind me to fix my shitcode later +/obj/structure/displaycase/forsale/update_appearance() //remind me to fix my shitcode later var/icon/I if(open) I = icon('icons/obj/stationobjs.dmi',"laserboxb0") @@ -394,7 +394,7 @@ S.Scale(17,17) I.Blend(S,ICON_UNDERLAY,8,12) src.icon = I - return + return ..() /obj/structure/displaycase/forsale/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -456,7 +456,7 @@ icon = 'icons/obj/stationobjs.dmi' flick("laserbox_vend", src) showpiece = null - update_icon() + update_appearance() SStgui.update_uis(src) return TRUE if("Open") @@ -522,7 +522,7 @@ if(do_after(user, 20, target = src)) broken = 0 obj_integrity = max_integrity - update_icon() + update_appearance() return TRUE /obj/structure/displaycase/forsale/wrench_act(mob/living/user, obj/item/I) @@ -562,7 +562,7 @@ if(!broken && !(flags_1 & NODECONSTRUCT_1)) broken = TRUE playsound(src, "shatter", 70, TRUE) - update_icon() + update_appearance() trigger_alarm() //In case it's given an alarm anyway. /obj/structure/displaycase/forsale/kitchen diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm index d81a6ac4a863..f5e50fc57d06 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -40,8 +40,8 @@ last_process = world.time to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20) - update_icon() - addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses) + update_appearance() + addtimer(CALLBACK(src, /atom/.proc/update_appearance), time_between_uses) /obj/structure/healingfountain/update_icon_state() @@ -49,3 +49,4 @@ icon_state = "fountain" else icon_state = "fountain-red" + return ..() diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 61aa5929d55f..4246075e49f6 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -22,8 +22,8 @@ /obj/structure/door_assembly/Initialize() . = ..() - update_icon() - update_door_name() + update_appearance() + update_name() /obj/structure/door_assembly/examine(mob/user) . = ..() @@ -271,12 +271,12 @@ door.name = base_name door.previous_airlock = previous_assembly electronics.forceMove(door) - door.update_icon() + door.update_appearance() qdel(src) else return ..() update_name() - update_icon() + update_appearance() /obj/structure/door_assembly/update_overlays() . = ..() @@ -286,7 +286,7 @@ . += get_airlock_overlay("glass_construction", overlays_file) . += get_airlock_overlay("panel_c[state+1]", overlays_file) -/obj/structure/door_assembly/proc/update_door_name() +/obj/structure/door_assembly/update_name() name = "" switch(state) if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) @@ -297,6 +297,7 @@ if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) name = "near finished " name += "[heat_proof_finished ? "heat-proofed " : ""][glass ? "window " : ""][base_name] assembly" + return ..() /obj/structure/door_assembly/proc/transfer_assembly_vars(obj/structure/door_assembly/source, obj/structure/door_assembly/target, previous = FALSE) target.glass = source.glass @@ -309,8 +310,8 @@ if(electronics) target.electronics = source.electronics source.electronics.forceMove(target) - target.update_icon() - target.update_door_name() + target.update_appearance() + target.update_name() qdel(source) /obj/structure/door_assembly/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 962b2e1b8afd..89796ad80e1f 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -27,7 +27,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) opened = TRUE else stored_extinguisher = new /obj/item/extinguisher(src) - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/examine(mob/user) . = ..() @@ -52,7 +52,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) /obj/structure/extinguisher_cabinet/handle_atom_del(atom/A) if(A == stored_extinguisher) stored_extinguisher = null - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH && !stored_extinguisher) @@ -72,7 +72,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) return stored_extinguisher = I to_chat(user, "You place [I] in [src].") - update_icon() + update_appearance() return TRUE else toggle_cabinet(user) @@ -95,7 +95,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) if(!opened) opened = 1 playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) - update_icon() + update_appearance() else toggle_cabinet(user) @@ -107,7 +107,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) stored_extinguisher = null opened = 1 playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) - update_icon() + update_appearance() else toggle_cabinet(user) @@ -126,7 +126,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) else playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) opened = !opened - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/update_overlays() . = ..() @@ -147,7 +147,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 28) if(stored_extinguisher) stored_extinguisher.forceMove(loc) stored_extinguisher = null - update_icon() + update_appearance() /obj/structure/extinguisher_cabinet/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 0cc0adf3e35a..1bd6325e60a5 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -38,10 +38,15 @@ return opening = TRUE - update_icon() + update_appearance() if(!density) - var/srcturf = get_turf(src) - for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield + var/turf/srcturf = get_turf(src) + if(locate(/mob/living) in srcturf) //Stop people from using this as a shield + opening = FALSE + return + for(var/atom/blocker as anything in srcturf) + if(!blocker.density) //Doesn't block + continue opening = FALSE return addtimer(CALLBACK(src, /obj/structure/falsewall/proc/toggle_open), 5) @@ -51,24 +56,27 @@ density = !density set_opacity(density) opening = FALSE - update_icon() + update_appearance() air_update_turf(TRUE) /obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open + . = ..() + if(!density) + return + if(opening) - if(density) - icon_state = "fwall_opening" - smoothing_flags = NONE - clear_smooth_overlays() - else - icon_state = "fwall_closing" + smoothing_flags = NONE + clear_smooth_overlays() else - if(density) - icon_state = "[base_icon_state]-[smoothing_junction]" - smoothing_flags = SMOOTH_BITMASK - QUEUE_SMOOTH(src) - else - icon_state = "fwall_open" + smoothing_flags = SMOOTH_BITMASK + QUEUE_SMOOTH(src) + +/obj/structure/falsewall/update_icon_state() + if(opening) + icon_state = "fwall_[density ? "opening" : "closing"]" + return ..() + icon_state = density ? "[base_icon_state]-[smoothing_junction]" : "fwall_open" + return ..() /obj/structure/falsewall/proc/ChangeToWall(delete = 1) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 2410e478d557..f6de885caf77 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -15,7 +15,7 @@ /obj/structure/fireaxecabinet/Initialize() . = ..() fireaxe = new - update_icon() + update_appearance() /obj/structure/fireaxecabinet/Destroy() if(fireaxe) @@ -33,7 +33,7 @@ to_chat(user, "You begin repairing [src].") if(I.use_tool(src, user, 40, volume=50, amount=2)) obj_integrity = max_integrity - update_icon() + update_appearance() to_chat(user, "You repair [src].") else to_chat(user, "[src] is already in good condition!") @@ -47,7 +47,7 @@ if(do_after(user, 20, target = src) && G.use(2)) broken = 0 obj_integrity = max_integrity - update_icon() + update_appearance() else if(open || broken) if(istype(I, /obj/item/fireaxe) && !fireaxe) var/obj/item/fireaxe/F = I @@ -58,7 +58,7 @@ return fireaxe = F to_chat(user, "You place the [F.name] back in the [name].") - update_icon() + update_appearance() return else if(!broken) toggle_open() @@ -80,11 +80,11 @@ return . = ..() if(.) - update_icon() + update_appearance() /obj/structure/fireaxecabinet/obj_break(damage_flag) if(!broken && !(flags_1 & NODECONSTRUCT_1)) - update_icon() + update_appearance() broken = TRUE playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE) new /obj/item/shard(loc) @@ -114,14 +114,14 @@ fireaxe = null to_chat(user, "You take the fire axe from the [name].") src.add_fingerprint(user) - update_icon() + update_appearance() return if(locked) to_chat(user, "The [name] won't budge!") return else open = !open - update_icon() + update_appearance() return /obj/structure/fireaxecabinet/attack_paw(mob/living/user) @@ -137,33 +137,31 @@ return else open = !open - update_icon() + update_appearance() return /obj/structure/fireaxecabinet/update_overlays() . = ..() if(fireaxe) . += "axe" - if(!open) - var/hp_percent = obj_integrity/max_integrity * 100 - if(broken) - . += "glass4" - else - switch(hp_percent) - if(-INFINITY to 40) - . += "glass3" - if(40 to 60) - . += "glass2" - if(60 to 80) - . += "glass1" - if(80 to INFINITY) - . += "glass" - if(locked) - . += "locked" - else - . += "unlocked" - else + if(open) . += "glass_raised" + return + var/hp_percent = obj_integrity/max_integrity * 100 + if(broken) + . += "glass4" + else + switch(hp_percent) + if(-INFINITY to 40) + . += "glass3" + if(40 to 60) + . += "glass2" + if(60 to 80) + . += "glass1" + if(80 to INFINITY) + . += "glass" + + . += locked ? "locked" : "unlocked" /obj/structure/fireaxecabinet/proc/toggle_lock(mob/user) to_chat(user, "Resetting circuitry...") @@ -171,7 +169,7 @@ if(do_after(user, 20, target = src)) to_chat(user, "You [locked ? "disable" : "re-enable"] the locking modules.") locked = !locked - update_icon() + update_appearance() /obj/structure/fireaxecabinet/verb/toggle_open() set name = "Open/Close" @@ -183,5 +181,5 @@ return else open = !open - update_icon() + update_appearance() return diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index e761ae2dbc44..8c9c0ca9f64e 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -71,20 +71,21 @@ /obj/structure/fireplace/update_overlays() . = ..() - if(lit) - switch(burn_time_remaining()) - if(0 to 500) - . += "fireplace_fire0" - if(500 to 1000) - . += "fireplace_fire1" - if(1000 to 1500) - . += "fireplace_fire2" - if(1500 to 2000) - . += "fireplace_fire3" - if(2000 to MAXIMUM_BURN_TIMER) - . += "fireplace_fire4" - . += "fireplace_glow" + if(!lit) + return + switch(burn_time_remaining()) + if(0 to 500) + . += "fireplace_fire0" + if(500 to 1000) + . += "fireplace_fire1" + if(1000 to 1500) + . += "fireplace_fire2" + if(1500 to 2000) + . += "fireplace_fire3" + if(2000 to MAXIMUM_BURN_TIMER) + . += "fireplace_fire4" + . += "fireplace_glow" /obj/structure/fireplace/proc/adjust_light() if(!lit) set_light(0) @@ -112,7 +113,7 @@ playsound(src, 'sound/effects/comfyfire.ogg',50,FALSE, FALSE, TRUE) var/turf/T = get_turf(src) T.hotspot_expose(700, 5) - update_icon() + update_appearance() adjust_light() /obj/structure/fireplace/extinguish() @@ -142,11 +143,11 @@ desc = "A large stone brick fireplace, warm and cozy." flame_expiry_timer = world.time + fuel_added fuel_added = 0 - update_icon() + update_appearance() adjust_light() /obj/structure/fireplace/proc/put_out() lit = FALSE - update_icon() + update_appearance() adjust_light() desc = initial(desc) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 49af3722923c..2c56b9d7a095 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -111,22 +111,24 @@ desc = "A remarkably tall tree." icon_state = "pine_1" -/obj/structure/flora/tree/dead/barren/Initialize() - . = ..() - icon_state = "pine_[rand(1, 2)]" - /obj/structure/flora/tree/tall/whitesands color = "#846996" + icon_state = "pine_1" -/obj/structure/flora/tree/dead/barren/Initialize() +/obj/structure/flora/tree/tall/whitesands/Initialize() . = ..() color = pick( "#846996", "#7b4e99", "#924fab") + icon_state = "pine_[rand(1, 2)]" /obj/structure/flora/tree/dead icon = 'icons/obj/flora/deadtrees.dmi' desc = "A dead tree. How it died, you know not." icon_state = "tree_1" +/obj/structure/flora/tree/dead/Initialize() + icon_state = "tree_[rand(1, 6)]" + . = ..() + /obj/structure/flora/tree/palm icon = 'icons/misc/beach2.dmi' desc = "A tree straight from the tropics." @@ -149,10 +151,6 @@ icon_state = "anchored_rod" anchored = TRUE -/obj/structure/flora/tree/dead/Initialize() - icon_state = "tree_[rand(1, 6)]" - . = ..() - /obj/structure/flora/tree/jungle name = "tree" icon = 'icons/obj/flora/jungletrees.dmi' @@ -417,7 +415,8 @@ //and now these defines /obj/structure/flora/rock - icon_state = "basalt" + icon_state = "basalt1" + base_icon_state = "basalt" desc = "A volcanic rock. Pioneers used to ride these babies for miles." icon = 'icons/obj/flora/rocks.dmi' resistance_flags = FIRE_PROOF @@ -427,7 +426,7 @@ /obj/structure/flora/rock/Initialize() . = ..() - icon_state = "[icon_state][rand(1,3)]" + icon_state = "[base_icon_state][rand(1,3)]" /obj/structure/flora/rock/attackby(obj/item/W, mob/user, params) if(mineResult && (!(flags_1 & NODECONSTRUCT_1))) @@ -452,7 +451,8 @@ playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) /obj/structure/flora/rock/pile - icon_state = "lavarocks" + icon_state = "lavarocks1" + base_icon_state = "lavarocks" desc = "A pile of rocks." //Jungle grass @@ -474,14 +474,15 @@ //Jungle rocks /obj/structure/flora/rock/jungle - icon_state = "rock" + icon_state = "rock1" + base_icon_state = "rock" desc = "A pile of rocks." icon = 'icons/obj/flora/jungleflora.dmi' density = FALSE /obj/structure/flora/rock/jungle/Initialize() . = ..() - icon_state = "[initial(icon_state)][rand(1,5)]" + icon_state = "[base_icon_state][rand(1,5)]" //Jungle bushes @@ -491,16 +492,19 @@ desc = "A wild plant that is found in jungles." icon = 'icons/obj/flora/jungleflora.dmi' icon_state = "busha" + base_icon_state = "busha" /obj/structure/flora/junglebush/Initialize() - icon_state = "[icon_state][rand(1, 3)]" + icon_state = "[base_icon_state][rand(1, 3)]" . = ..() /obj/structure/flora/junglebush/b icon_state = "bushb" + base_icon_state = "bushb" /obj/structure/flora/junglebush/c icon_state = "bushc" + base_icon_state = "bushc" /obj/structure/flora/junglebush/large icon_state = "bush" @@ -818,7 +822,8 @@ name = "lavatic rock" desc = "A volcanic rock. Lava is gushing from it. " icon = 'icons/obj/flora/lavarocks.dmi' - icon_state = "basalt" + icon_state = "basalt1" + base_icon_state = "basalt" light_color = "#ab4907" light_power = 3 light_range = 2 @@ -827,7 +832,8 @@ name = "rock shards" desc = "Jagged shards of volcanic rock protuding from the ground." icon = 'icons/obj/flora/lavarocks.dmi' - icon_state = "lavarocks" + icon_state = "lavarocks1" + base_icon_state = "lavarocks" gender = PLURAL /obj/structure/flora/rock/asteroid @@ -882,7 +888,7 @@ name = "maguaro cactus" desc = "A hardy species of modified Saguaro cacti, originating from the Sol system. Initially planted on Mars to help prevent soil erosion, it can now be found on frigid tundras across known space." icon = 'icons/obj/flora/bigtrees.dmi' - icon_state = "cactus" + icon_state = "cactus1" density = TRUE /obj/structure/flora/tree/cactus/Initialize() @@ -892,13 +898,15 @@ /obj/structure/flora/rock/hell name = "rock" desc = "A volcanic rock, one of the few familiar things on this planet." - icon_state = "basalt" + icon_state = "basalt1" + base_icon_state = "basalt" icon = 'icons/obj/flora/rocks.dmi' /obj/structure/flora/rock/beach name = "sea stack" desc = "A column of rock, formed by wave erosion." - icon_state = "basalt" + icon_state = "basalt1" + base_icon_state = "basalt" icon = 'icons/obj/flora/rocks.dmi' /obj/structure/flora/tree/dead/barren @@ -906,6 +914,7 @@ desc = "An ancient trunk, mummified by the passage of time. This one still has some purple to it." color = "#846996" icon = 'icons/obj/flora/barren_tree.dmi' + icon_state = "barren_large" /obj/structure/flora/tree/dead/barren/Initialize() . = ..() @@ -916,12 +925,13 @@ name = "driftwood" desc = "Floatsam, jetsam, all molded down in the unforgiving sea." icon = 'icons/obj/flora/grass-sticks.dmi' - icon_state = "stick" + icon_state = "stick2" + base_icon_state = "stick" density = FALSE /obj/structure/flora/driftwood/Initialize() . = ..() - icon_state = "[icon_state][rand(1, 4)]" + icon_state = "[base_icon_state][rand(1, 4)]" /obj/structure/flora/driftlog name = "driftwood log" @@ -932,27 +942,31 @@ /obj/structure/flora/rock/rockplanet name = "russet stone" - icon_state = "redrock" + icon_state = "redrock1" + base_icon_state = "redrock" desc = "A raised knurl of red rock." mineResult = /obj/item/stack/ore/glass/rockplanet /obj/structure/flora/rock/pile/rockplanet name = "russet stones" desc = "A pile of rust-red rocks." - icon_state = "redrocks" + icon_state = "redrocks1" + base_icon_state = "redrocks" mineResult = /obj/item/stack/ore/glass/rockplanet /obj/structure/flora/grass/rockplanet name = "cottongrass" desc= "A variety of cold-loving prarie grass. This variety seems to thrive the frigid rockworld enviroment, so long as water can be found nearby." icon = 'icons/obj/flora/grass-sticks.dmi' - icon_state = "tall_grass" + icon_state = "tall_grass_1" + base_icon_state = "tall_grass" /obj/structure/flora/grass/rockplanet/Initialize() . = ..() - icon_state = "[icon_state]_[rand(1, 2)]" + icon_state = "[base_icon_state]_[rand(1, 2)]" /obj/structure/flora/grass/rockplanet/dead name = "dry cottongrass" desc= "This patch seems to have run dry on life-giving water." - icon_state = "dry_grass" + icon_state = "dry_grass_1" + base_icon_state = "dry_grass" diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 9a8e3b8750fd..56f50eb1768e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -3,6 +3,7 @@ name = "grille" icon = 'icons/obj/structures.dmi' icon_state = "grille" + base_icon_state = "grille" density = TRUE anchored = TRUE pass_flags_self = PASSGRILLE @@ -29,21 +30,20 @@ /obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() - update_icon() + update_appearance() -/obj/structure/grille/update_icon() +/obj/structure/grille/update_appearance(updates) if(QDELETED(src) || broken) return - var/ratio = obj_integrity / max_integrity - ratio = CEILING(ratio*4, 1) * 25 + . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) - if(ratio > 50) - return - icon_state = "grille50_[rand(0,3)]" +/obj/structure/grille/update_icon_state() + icon_state = "[base_icon_state][((obj_integrity / max_integrity) <= 0.5) ? "50_[rand(0, 3)]" : null]" + return ..() /obj/structure/grille/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index 9588691c214e..571f5ca0d3a3 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -20,7 +20,7 @@ I.forceMove(src) if(contents.len >= capacity) break - update_icon() + update_appearance() /obj/structure/guncase/update_overlays() . = ..() @@ -29,10 +29,7 @@ for(var/i in 1 to contents.len) gun_overlay.pixel_x = 3 * (i - 1) . += new /mutable_appearance(gun_overlay) - if(open) - . += "[icon_state]_open" - else - . += "[icon_state]_door" + . += "[icon_state]_[open ? "open" : "door"]" /obj/structure/guncase/attackby(obj/item/I, mob/user, params) if(iscyborg(user) || isalien(user)) @@ -42,14 +39,14 @@ if(!user.transferItemToLoc(I, src)) return to_chat(user, "You place [I] in [src].") - update_icon() + update_appearance() else to_chat(user, "[src] is full.") return else if(user.a_intent != INTENT_HARM) open = !open - update_icon() + update_appearance() else return ..() @@ -63,7 +60,7 @@ show_menu(user) else open = !open - update_icon() + update_appearance() /** * show_menu: Shows a radial menu to a user consisting of an available weaponry for taking @@ -95,7 +92,7 @@ return if(!user.put_in_hands(weapon)) weapon.forceMove(get_turf(src)) - update_icon() + update_appearance() /** * check_menu: Checks if we are allowed to interact with a radial menu @@ -113,7 +110,7 @@ return TRUE /obj/structure/guncase/handle_atom_del(atom/A) - update_icon() + update_appearance() /obj/structure/guncase/contents_explosion(severity, target) for(var/atom/A in contents) diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index ffdaf86bde55..aff870c6eedf 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -16,8 +16,7 @@ /obj/structure/headpike/CheckParts(list/parts_list) ..() victim = locate(/obj/item/bodypart/head) in parts_list - name = "[victim.name] on a spear" - update_icon() + update_appearance() if(bonespear) spear = locate(/obj/item/spear/bonespear) in parts_list else @@ -27,6 +26,11 @@ . = ..() pixel_x = rand(-8, 8) +/obj/structure/headpike/Destroy() + QDEL_NULL(victim) + QDEL_NULL(spear) + return ..() + /obj/structure/headpike/update_overlays() . = ..() var/obj/item/bodypart/head/H = locate() in contents @@ -47,3 +51,17 @@ spear.forceMove(drop_location()) spear = null qdel(src) + +/obj/structure/headpike/update_name() + name = "[victim.real_name] on a [spear]" + return ..() + +/obj/structure/headpike/update_overlays() + . = ..() + if(!victim) + return + var/mutable_appearance/MA = new() + MA.copy_overlays(victim) + MA.pixel_y = 12 + MA.pixel_x = pixel_x + . += victim diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 48da6f8126e6..f97624af0e0d 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -67,7 +67,7 @@ if(!myspray) put_in_cart(I, user) myspray=I - update_icon() + update_appearance() else to_chat(user, fail_msg) else if(istype(I, /obj/item/lightreplacer)) @@ -80,7 +80,7 @@ if(signs < max_signs) put_in_cart(I, user) signs++ - update_icon() + update_appearance() else to_chat(user, "[src] can't hold any more signs!") else if(mybag) @@ -159,7 +159,7 @@ WARNING("Signs ([signs]) didn't match contents") signs = 0 - update_icon() + update_appearance() updateUsrDialog() diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 088c7fdcae79..4ba59605eb0d 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -15,11 +15,11 @@ if (up) src.up = up up.down = src - up.update_icon() + up.update_appearance() if (down) src.down = down down.up = src - down.update_icon() + down.update_appearance() return INITIALIZE_HINT_LATELOAD /obj/structure/ladder/Destroy(force) @@ -39,35 +39,30 @@ if(crafted == L.crafted) down = L L.up = src // Don't waste effort looping the other way - L.update_icon() + L.update_appearance() if (!up) L = locate() in T.above() if (L) if(crafted == L.crafted) up = L L.down = src // Don't waste effort looping the other way - L.update_icon() + L.update_appearance() - update_icon() + update_appearance() /obj/structure/ladder/proc/disconnect() if(up && up.down == src) up.down = null - up.update_icon() + up.update_appearance() if(down && down.up == src) down.up = null - down.update_icon() + down.update_appearance() up = down = null /obj/structure/ladder/update_icon_state() - if(up && down) - icon_state = "ladder11" - else if(up) - icon_state = "ladder10" - else if(down) - icon_state = "ladder01" - else //wtf make your ladders properly assholes - icon_state = "ladder00" + icon_state = "ladder[up ? 1 : 0][down ? 1 : 0]" + return ..() + /obj/structure/ladder/singularity_pull() if (!(resistance_flags & INDESTRUCTIBLE)) @@ -171,7 +166,7 @@ /obj/structure/ladder/unbreakable/LateInitialize() // Override the parent to find ladders based on being height-linked if (!id || (up && down)) - update_icon() + update_appearance() return for (var/O in GLOB.ladders) @@ -181,17 +176,17 @@ if (!down && L.height == height - 1) down = L L.up = src - L.update_icon() + L.update_appearance() if (up) break // break if both our connections are filled else if (!up && L.height == height + 1) up = L L.down = src - L.update_icon() + L.update_appearance() if (down) break // break if both our connections are filled - update_icon() + update_appearance() /obj/structure/ladder/crafted crafted = TRUE diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index 3a0cb6bd6db5..7e562976e1af 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -37,7 +37,7 @@ user.visible_message("[user] touches [src]. It seems to respond to [user.p_their()] presence!", "You create a connection between you and [src].") linked_minds |= user.mind - update_icon() + update_appearance() float(linked_minds.len) if(linked_minds.len) START_PROCESSING(SSobj, src) @@ -47,10 +47,8 @@ set_light(0) /obj/structure/life_candle/update_icon_state() - if(linked_minds.len) - icon_state = icon_state_active - else - icon_state = icon_state_inactive + icon_state = linked_minds.len ? icon_state_active : icon_state_inactive + return ..() /obj/structure/life_candle/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 4b3a4e440faf..3cd67b47d74e 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -95,7 +95,7 @@ door_opened = TRUE layer = OPEN_DOOR_LAYER air_update_turf(1) - update_icon() + update_appearance() isSwitchingStates = FALSE if(close_delay != -1) @@ -116,11 +116,12 @@ door_opened = FALSE layer = initial(layer) air_update_turf(1) - update_icon() + update_appearance() isSwitchingStates = FALSE /obj/structure/mineral_door/update_icon_state() icon_state = "[initial(icon_state)][door_opened ? "open":""]" + return ..() /obj/structure/mineral_door/attackby(obj/item/I, mob/user) if(pickaxe_door(user, I)) diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 457bd0faf4d0..3ccf6486fa1e 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -19,10 +19,10 @@ reagents.trans_to(I, 5, transfered_by = user) to_chat(user, "You wet [I] in [src].") playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - update_icon() + update_appearance() else . = ..() - update_icon() + update_appearance() /obj/structure/mopbucket/update_overlays() . = ..() diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 5d1bd152ad3f..2e8c7508d594 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -37,16 +37,12 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an GLOB.bodycontainers -= src open() if(connected) - qdel(connected) - connected = null + QDEL_NULL(connected) return ..() /obj/structure/bodycontainer/on_log(login) ..() - update_icon() - -/obj/structure/bodycontainer/update_icon() - return + update_appearance() /obj/structure/bodycontainer/relaymove(mob/living/user, direction) if(user.stat || !isturf(loc)) @@ -130,7 +126,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an connected.setDir(dir) for(var/atom/movable/AM as anything in src) AM.forceMove(T) - update_icon() + update_appearance() /obj/structure/bodycontainer/proc/close() playsound(src, 'sound/effects/roll.ogg', 5, TRUE) @@ -141,7 +137,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an continue AM.forceMove(src) recursive_organ_check(src) - update_icon() + update_appearance() /obj/structure/bodycontainer/get_remote_view_fullscreens(mob/user) if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) @@ -154,9 +150,12 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an desc = "Used to keep bodies in until someone fetches them. Now includes a high-tech alert system." icon_state = "morgue1" dir = EAST + /// Whether or not this morgue beeps to alert parameds of revivable corpses. var/beeper = TRUE - var/beep_cooldown = 50 - var/next_beep = 0 + /// The minimum time between beeps. + var/beep_cooldown = 5 SECONDS + /// The cooldown to prevent this from spamming beeps. + COOLDOWN_DECLARE(next_beep) /obj/structure/bodycontainer/morgue/Initialize() . = ..() @@ -174,28 +173,31 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an beeper = !beeper to_chat(user, "You turn the speaker function [beeper ? "on" : "off"].") -/obj/structure/bodycontainer/morgue/update_icon() - if (!connected || connected.loc != src) // Open or tray is gone. +/obj/structure/bodycontainer/morgue/update_icon_state() + if(!connected || connected.loc != src) // Open or tray is gone. icon_state = "morgue0" - else - if(contents.len == 1) // Empty - icon_state = "morgue1" - else - icon_state = "morgue2" // Dead, brainded mob. - var/list/compiled = GetAllContents(/mob/living) // Search for mobs in all contents. - if(!length(compiled)) // No mobs? - icon_state = "morgue3" - return - - for(var/mob/living/M in compiled) - var/mob/living/mob_occupant = get_mob_or_brainmob(M) - if(mob_occupant.client && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)) && !mob_occupant.hellbound) - icon_state = "morgue4" // Revivable - if(mob_occupant.stat == DEAD && beeper) - if(world.time > next_beep) - playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks - next_beep = world.time + beep_cooldown - break + return ..() + + if(contents.len == 1) // Empty + icon_state = "morgue1" + return ..() + + var/list/compiled = GetAllContents(/mob/living) // Search for mobs in all contents. + if(!length(compiled)) // No mobs? + icon_state = "morgue3" + return ..() + + for(var/mob/living/M in compiled) + var/mob/living/mob_occupant = get_mob_or_brainmob(M) + if(mob_occupant.client && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)) && !mob_occupant.hellbound) + icon_state = "morgue4" // Revivable + if(mob_occupant.stat == DEAD && beeper && COOLDOWN_FINISHED(src, next_beep)) + playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Revive them you blind fucks + COOLDOWN_START(src, next_beep, beep_cooldown) + return ..() + + icon_state = "morgue2" // Dead, brainded mob. + return ..() /obj/item/paper/guides/jobs/medical/morgue @@ -210,6 +212,7 @@ GLOBAL_LIST_EMPTY(crematoriums) name = "crematorium" desc = "A human incinerator. Works well on barbecue nights." icon_state = "crema1" + base_icon_state = "crema" dir = SOUTH var/id = 1 @@ -233,20 +236,15 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/bodycontainer/crematorium/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) id = "[REF(port)][id]" -/obj/structure/bodycontainer/crematorium/update_icon() +/obj/structure/bodycontainer/crematorium/update_icon_state() if(!connected || connected.loc != src) - icon_state = "crema0" - else - - if(src.contents.len > 1) - src.icon_state = "crema2" - else - src.icon_state = "crema1" - - if(locked) - src.icon_state = "crema_active" - - return + icon_state = "[base_icon_state]0" + return ..() + if(locked) + icon_state = "[base_icon_state]_active" + return ..() + icon_state = "[base_icon_state][(contents.len > 1) ? 2 : 1]" + return ..() /obj/structure/bodycontainer/crematorium/proc/cremate(mob/user) if(locked) @@ -262,7 +260,7 @@ GLOBAL_LIST_EMPTY(crematoriums) audible_message("You hear a roar as the crematorium activates.") locked = TRUE - update_icon() + update_appearance() for(var/mob/living/M in conts) if (M.stat != DEAD) @@ -287,7 +285,7 @@ GLOBAL_LIST_EMPTY(crematoriums) if(!QDELETED(src)) locked = FALSE - update_icon() + update_appearance() playsound(src.loc, 'sound/machines/ding.ogg', 50, TRUE) //you horrible people /obj/structure/bodycontainer/crematorium/creamatorium @@ -321,7 +319,7 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/tray/Destroy() if(connected) connected.connected = null - connected.update_icon() + connected.update_appearance() connected = null return ..() diff --git a/code/game/objects/structures/poddoor_assembly.dm b/code/game/objects/structures/poddoor_assembly.dm index 919a92b11128..c8cf1931c701 100644 --- a/code/game/objects/structures/poddoor_assembly.dm +++ b/code/game/objects/structures/poddoor_assembly.dm @@ -21,7 +21,7 @@ /obj/structure/poddoor_assembly/Initialize() . = ..() - update_icon() + update_appearance() update_door_name() /obj/structure/poddoor_assembly/ComponentInitialize() @@ -190,12 +190,12 @@ door.name = base_name door.assemblytype = previous_assembly electronics.forceMove(door) - door.update_icon() + door.update_appearance() qdel(src) else return ..() update_door_name() - update_icon() + update_appearance() /obj/structure/poddoor_assembly/proc/update_door_name() diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 38cc7d7942d4..0df440340eed 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -57,10 +57,8 @@ FLOOR SAFES I.forceMove(src) /obj/structure/safe/update_icon_state() - if(open) - icon_state = "[initial(icon_state)]-open" - else - icon_state = initial(icon_state) + icon_state = "[initial(icon_state)][open ? "-open" : null]" + return ..() /obj/structure/safe/attackby(obj/item/I, mob/user, params) if(open) @@ -147,7 +145,7 @@ FLOOR SAFES return to_chat(user, "You [open ? "close" : "open"] [src].") open = !open - update_icon() + update_appearance() return TRUE if("turnright") if(open) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 9a4ef44f0f02..a2c5d59af916 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -34,7 +34,7 @@ /obj/machinery/shower/interact(mob/M) on = !on - update_icon() + update_appearance() handle_mist() add_fingerprint(M) if(on) diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index dcbbc63b0090..3e496f06252a 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -51,12 +51,12 @@ update_surrounding() /obj/structure/stairs/proc/update_surrounding() - update_icon() + update_appearance() for(var/i in GLOB.cardinals) var/turf/T = get_step(get_turf(src), i) var/obj/structure/stairs/S = locate() in T if(S) - S.update_icon() + S.update_appearance() /obj/structure/stairs/proc/on_exit(datum/source, atom/movable/leaving, direction) SIGNAL_HANDLER @@ -75,10 +75,8 @@ return ..() /obj/structure/stairs/update_icon_state() - if(isTerminator()) - icon_state = "stairs_t" - else - icon_state = "stairs" + icon_state = "stairs[isTerminator() ? "_t" : null]" + return ..() /obj/structure/stairs/proc/stair_ascend(atom/movable/AM) var/turf/checking = get_step_multiz(get_turf(src), UP) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 0621a8ff17bd..3bf44bdfc0d8 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -51,6 +51,7 @@ return "The top is screwed on, but the main bolts are also visible." /obj/structure/table/update_icon() + . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) QUEUE_SMOOTH_NEIGHBORS(src) diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 568f18678311..1be5f857e155 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -23,7 +23,7 @@ new /obj/item/tank/internals/oxygen(src) for(var/i in 1 to plasmatanks) new /obj/item/tank/internals/plasma(src) - update_icon() + update_appearance() /obj/structure/tank_dispenser/update_overlays() . = ..() @@ -65,7 +65,7 @@ if(!user.transferItemToLoc(I, src)) return to_chat(user, "You put [I] in [src].") - update_icon() + update_appearance() /obj/structure/tank_dispenser/ui_state(mob/user) return GLOB.physical_state @@ -100,7 +100,7 @@ usr.put_in_hands(tank) oxygentanks-- . = TRUE - update_icon() + update_appearance() /obj/structure/tank_dispenser/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 4de8ad772eba..570ead69ead7 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -38,7 +38,7 @@ for(var/obj/structure/transit_tube_pod/pod in loc) if(!pod.moving) AM.forceMove(pod) - pod.update_icon() + pod.update_appearance() return @@ -249,7 +249,7 @@ playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE) pod.setDir(turn(src.dir, -90)) AM.forceMove(pod) - pod.update_icon() + pod.update_appearance() launch_pod() /obj/structure/transit_tube/station/dispenser/pod_stopped(obj/structure/transit_tube_pod/pod, from_dir) diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index c557c9037ee5..7c744154c0d6 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -21,10 +21,8 @@ return ..() /obj/structure/transit_tube_pod/update_icon_state() - if(contents.len) - icon_state = occupied_icon_state - else - icon_state = initial(icon_state) + icon_state = contents.len ? occupied_icon_state : initial(icon_state) + return ..() /obj/structure/transit_tube_pod/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_CROWBAR) @@ -88,7 +86,7 @@ location = get_turf(src) for(var/atom/movable/M in contents) M.forceMove(location) - update_icon() + update_appearance() /obj/structure/transit_tube_pod/Process_Spacemove() if(moving) //No drifting while moving in the tubes @@ -201,7 +199,7 @@ if(direction == turn(station.boarding_dir,180)) if(station.open_status == STATION_TUBE_OPEN) mob.forceMove(loc) - update_icon() + update_appearance() else station.open_animation() diff --git a/code/game/objects/structures/tribal_torch.dm b/code/game/objects/structures/tribal_torch.dm index abec3409e470..0c093662a5aa 100644 --- a/code/game/objects/structures/tribal_torch.dm +++ b/code/game/objects/structures/tribal_torch.dm @@ -19,7 +19,7 @@ burning = FALSE icon_state = "torch_unlit" set_light(0) - update_icon() + update_appearance() return if(!burning) user.visible_message("[user] starts to pull [src] free from the ground....", "You start to pull [src] free from the ground...") @@ -33,7 +33,7 @@ /obj/structure/destructible/tribal_torch/attackby(obj/item/W, mob/user, params) if(W.get_temperature()) StartBurning() - update_icon() + update_appearance() user.visible_message("[user] lights [src] with [W].", "You light [src] with [W].") return @@ -42,7 +42,7 @@ burning = TRUE icon_state = "torch_lit" set_light(7) - update_icon() + update_appearance() return /obj/structure/destructible/tribal_torch/fire_act(exposed_temperature, exposed_volume) diff --git a/code/game/objects/structures/votingbox.dm b/code/game/objects/structures/votingbox.dm index b8aec9fd280f..3376272e8e06 100644 --- a/code/game/objects/structures/votingbox.dm +++ b/code/game/objects/structures/votingbox.dm @@ -71,7 +71,7 @@ switch(href_list["act"]) if("toggle_vote") voting_active = !voting_active - update_icon() + update_appearance() if("toggle_auth") id_auth = !id_auth if("reset_voted") @@ -217,6 +217,7 @@ /obj/structure/votebox/update_icon_state() icon_state = "votebox_[voting_active ? "active" : "maint"]" + return ..() #undef VOTE_TEXT_LIMIT #undef MAX_VOTES diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 511473f06d1c..377c40d4e7ce 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -15,7 +15,7 @@ /obj/structure/toilet/Initialize() . = ..() open = round(rand(0, 1)) - update_icon() + update_appearance() /obj/structure/toilet/attack_hand(mob/living/user) @@ -71,11 +71,12 @@ w_items -= I.w_class else open = !open - update_icon() + update_appearance() /obj/structure/toilet/update_icon_state() icon_state = "toilet[open][cistern]" + return ..() /obj/structure/toilet/deconstruct() if(!(flags_1 & NODECONSTRUCT_1)) @@ -95,7 +96,7 @@ if(I.use_tool(src, user, 30)) user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", "You hear grinding porcelain.") cistern = !cistern - update_icon() + update_appearance() else if(I.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) I.play_tool_sound(src) deconstruct() @@ -436,20 +437,20 @@ /obj/structure/curtain/proc/toggle() open = !open - update_icon() - -/obj/structure/curtain/update_icon() - if(!open) - icon_state = "[icon_type]-closed" + if(open) + layer = SIGN_LAYER + density = FALSE + set_opacity(FALSE) + else layer = WALL_OBJ_LAYER - open = FALSE if(opaque_closed) set_opacity(TRUE) - else - icon_state = "[icon_type]-open" - layer = SIGN_LAYER - open = TRUE - set_opacity(FALSE) + + update_appearance() + +/obj/structure/curtain/update_icon_state() + icon_state = "[icon_type]-[open ? "open" : "closed"]" + return ..() /obj/structure/curtain/attackby(obj/item/W, mob/user) if (istype(W, /obj/item/toy/crayon)) diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 58929f73b922..200aaf35700d 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -55,6 +55,7 @@ /obj/structure/windoor_assembly/update_icon_state() icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]" + return ..() /obj/structure/windoor_assembly/CanAllowThrough(atom/movable/mover, border_dir) . = ..() @@ -318,7 +319,7 @@ return ..() //Update to reflect changes(if applicable) - update_icon() + update_appearance() @@ -339,7 +340,7 @@ return TRUE /obj/structure/windoor_assembly/proc/after_rotation(mob/user) - update_icon() + update_appearance() //Flips the windoor assembly, determines whather the door opens to the left or the right /obj/structure/windoor_assembly/verb/flip() @@ -361,5 +362,5 @@ facing = "l" to_chat(usr, "The windoor will now slide to the left.") - update_icon() + update_appearance() return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index e1b8a733e05e..92a72b7261be 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -328,28 +328,26 @@ //This proc is used to update the icons of nearby windows. /obj/structure/window/proc/update_nearby_icons() - update_icon() + update_appearance() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH_NEIGHBORS(src) //merges adjacent full-tile windows into one /obj/structure/window/update_overlays() . = ..() - if(!QDELETED(src)) - if(!fulltile) - return - - var/ratio = obj_integrity / max_integrity - ratio = CEILING(ratio*4, 1) * 25 + if(QDELETED(src) || !fulltile) + return - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) - QUEUE_SMOOTH(src) + if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + QUEUE_SMOOTH(src) - cut_overlay(crack_overlay) - if(ratio > 75) - return - crack_overlay = mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1)) - . += crack_overlay + var/ratio = obj_integrity / max_integrity + ratio = CEILING(ratio*4, 1) * 25 + cut_overlay(crack_overlay) + if(ratio > 75) + return + crack_overlay = mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1)) + . += crack_overlay /obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) @@ -775,7 +773,7 @@ /obj/structure/window/paperframe/Initialize() . = ..() - update_icon() + update_appearance() /obj/structure/window/paperframe/examine(mob/user) . = ..() @@ -797,24 +795,25 @@ user.visible_message("[user] knocks on [src].") playsound(src, "pageturn", 50, TRUE) else - take_damage(4,BRUTE,"melee", 0) + take_damage(4, BRUTE, "melee", 0) playsound(src, hitsound, 50, TRUE) if(!QDELETED(src)) user.visible_message("[user] tears a hole in [src].") - update_icon() + update_appearance() + +/obj/structure/window/paperframe/update_appearance(updates) + . = ..() + set_opacity(obj_integrity >= max_integrity) + /obj/structure/window/paperframe/update_icon() - if(obj_integrity < max_integrity) - cut_overlay(paper) - add_overlay(torn) - set_opacity(FALSE) - else - cut_overlay(torn) - add_overlay(paper) - set_opacity(TRUE) + . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) +/obj/structure/window/paperframe/update_overlays() + . = ..() + . += (obj_integrity < max_integrity) ? torn : paper /obj/structure/window/paperframe/attackby(obj/item/W, mob/user) if(W.get_temperature()) @@ -829,10 +828,10 @@ qdel(W) user.visible_message("[user] patches some of the holes in \the [src].") if(obj_integrity == max_integrity) - update_icon() + update_appearance() return ..() - update_icon() + update_appearance() /obj/structure/window/bronze name = "brass window" diff --git a/code/game/say.dm b/code/game/say.dm index 993df5135af1..a5e180c4d67a 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -18,6 +18,8 @@ GLOBAL_LIST_INIT(freqtospan, list( "[FREQ_CTF_BLUE]" = "blueteamradio" )) +GLOBAL_LIST_INIT(freqcolor, list()) + /atom/movable/proc/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) if(!can_speak()) return @@ -43,7 +45,7 @@ GLOBAL_LIST_INIT(freqtospan, list( /atom/movable/proc/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), face_name = FALSE) //This proc uses text() because it is faster than appending strings. Thanks BYOND. //Basic span - var/spanpart1 = "" + var/spanpart1 = "" //Start name span. var/spanpart2 = "" //Radio freq/name display @@ -134,16 +136,27 @@ GLOBAL_LIST_INIT(freqtospan, list( return "makes a strange sound." /proc/get_radio_span(freq) + if(!freq) // If there's no freq attached to the message, then it's not for a radio. + return "class='game say'" var/returntext = GLOB.freqtospan["[freq]"] - if(returntext) - return returntext - return "radio" + if(returntext) // If we find a pre-defined span for the freq, use that instead. + return "class='[returntext]'" + else if(freq != FREQ_COMMON) // We don't want to change the color of Common. + var/returncolor = GLOB.freqcolor["[freq]"] + if(returncolor) // If we've already picked a color for this channel, don't do it again. + return "style='color:[returncolor]' class='radio'" + else // If we haven't picked a color for this channel, pick one now. + returncolor = colorize_string("[freq]", 1, 0.85) + GLOB.freqcolor["[freq]"] = returncolor + return "style='color:[returncolor]' class='radio'" + else // This should only handle Common. + return "class='radio'" /proc/get_radio_name(freq) var/returntext = GLOB.reverseradiochannels["[freq]"] if(returntext) return returntext - return "[copytext_char("[freq]", 1, 4)].[copytext_char("[freq]", 4, 5)]" + return "Custom" /proc/attach_spans(input, list/spans) return "[message_spans_start(spans)][input]" diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index b64f9585d495..8a54ba60939a 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -235,32 +235,31 @@ /turf/closed/indestructible/rock name = "dense rock" desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this." - icon = 'icons/turf/mining.dmi' - icon_state = "rock" + icon = 'icons/turf/walls/rock_wall.dmi' + icon_state = "rock_wall-0" + base_icon_state = "rock_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) + no_connector_typecache = list(/turf/closed/mineral, /turf/closed/indestructible/rock) + connector_icon = 'icons/turf/connectors/smoothrocks_connector.dmi' + connector_icon_state = "smoothrocks_connector" + pixel_x = -4 + pixel_y = -4 /turf/closed/indestructible/rock/snow name = "mountainside" - desc = "An extremely densely-packed rock, sheeted over with centuries worth of ice and snow." - icon = 'icons/turf/walls.dmi' - icon_state = "snowrock" - bullet_sizzle = TRUE - bullet_bounce_sound = null - -/turf/closed/indestructible/rock/snow/ice - name = "iced rock" desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold." - icon = 'icons/turf/walls.dmi' - icon_state = "icerock" - -/turf/closed/indestructible/rock/snow/ice/ore icon = 'icons/turf/walls/icerock_wall.dmi' icon_state = "icerock_wall-0" base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) pixel_x = -4 pixel_y = -4 - + bullet_sizzle = TRUE + bullet_bounce_sound = null /turf/closed/indestructible/paper name = "thick paper wall" diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index eaba5a92ada4..ebc3b5164505 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -2,8 +2,8 @@ /turf/closed/mineral //wall piece name = "rock" - icon = 'icons/turf/mining.dmi' - icon_state = "rock" + icon = 'icons/turf/walls/smoothrocks.dmi' + icon_state = "smoothrocks-0" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) @@ -186,7 +186,6 @@ Spread_Vein(path) /turf/closed/mineral/random/high_chance - icon_state = "rock_highchance" mineralChance = 25 mineralSpawnChanceList = list( /obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45, @@ -209,7 +208,6 @@ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" /turf/closed/mineral/random/low_chance - icon_state = "rock_lowchance" mineralChance = 6 mineralSpawnChanceList = list( /obj/item/stack/ore/uranium = 2, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4, /obj/item/stack/ore/titanium = 4, @@ -220,6 +218,7 @@ /turf/closed/mineral/random/volcanic name = "basalt" desc = "Eruptions stack like layer-cake, forming vast oceans of dried magma." + icon_state = "smoothrocks-0" environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface @@ -246,7 +245,7 @@ icon_state = "rockwall_icemoon-0" base_icon_state = "rockwall_icemoon" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) environment_type = "snow_cavern" turf_type = /turf/open/floor/plating/asteroid/icerock baseturfs = /turf/open/floor/plating/asteroid/icerock @@ -295,7 +294,6 @@ /obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 8, /obj/item/stack/ore/titanium = 8, /obj/item/stack/ore/silver = 20, /obj/item/stack/ore/plasma = 30, /obj/item/stack/ore/iron = 95, /turf/closed/mineral/gibtonite = 2) - icon_state = "rock_labor" /turf/closed/mineral/random/labormineral/volcanic @@ -312,9 +310,7 @@ // Subtypes for mappers placing ores manually. /turf/closed/mineral/random/labormineral/ice name = "snowy mountainside" - icon = 'icons/turf/mining.dmi' smooth_icon = 'icons/turf/walls/mountain_wall.dmi' - icon_state = "mountainrock" base_icon_state = "mountain_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS connector_icon = 'icons/turf/connectors/mountain_wall_connector.dmi' @@ -337,7 +333,8 @@ /turf/closed/mineral/iron/ice environment_type = "snow_cavern" - icon_state = "icerock_iron" + icon = 'icons/turf/walls/icerock_wall.dmi' + icon_state = "icerock_wall-0" smooth_icon = 'icons/turf/walls/icerock_wall.dmi' base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS @@ -387,7 +384,8 @@ /turf/closed/mineral/plasma/ice environment_type = "snow_cavern" - icon_state = "icerock_plasma" + icon = 'icons/turf/walls/icerock_wall.dmi' + icon_state = "icerock_wall-0" smooth_icon = 'icons/turf/walls/icerock_wall.dmi' base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS @@ -721,6 +719,7 @@ name = "limestone" desc = "The powdered remains of what once lived here, under the endless sea." icon = 'icons/turf/walls/ws_walls.dmi' + icon_state = "smoothrocks-0" smooth_icon = 'icons/turf/walls/ws_walls.dmi' environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands @@ -734,6 +733,7 @@ /turf/closed/mineral/random/high_chance icon = 'icons/turf/walls/ws_walls.dmi' + icon_state = "smoothrocks-0" smooth_icon = 'icons/turf/walls/ws_walls.dmi' environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands @@ -770,7 +770,7 @@ icon_state = "jungle_wall-0" base_icon_state = "jungle_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) turf_type = /turf/open/floor/plating/dirt/jungle baseturfs = /turf/open/floor/plating/dirt/jungle mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 8, /obj/item/stack/ore/diamond = 8, /obj/item/stack/ore/gold = 10, @@ -778,14 +778,16 @@ /obj/item/stack/ore/bluespace_crystal = 5) /turf/closed/mineral/random/beach + name = "coastal marl" + desc = "Water eats away at the shoreline, forming rippling scars in softening stone." baseturfs = /turf/open/floor/plating/asteroid/sand/dense initial_gas_mix = OPENTURF_DEFAULT_ATMOS -/turf/closed/mineral/random/asteroid/rockplanet +/turf/closed/mineral/random/rockplanet name = "hematite" desc = "Iron grit rusts softly, bringing forth a crimson hue." - icon = 'icons/turf/mining.dmi' - icon_state = "redrock" + icon = 'icons/turf/walls/red_wall.dmi' + icon_state = "red_wall-0" smooth_icon = 'icons/turf/walls/red_wall.dmi' base_icon_state = "red_wall" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS @@ -797,16 +799,16 @@ /turf/closed/mineral/gibtonite/rockplanet name = "hematite" desc = "Iron grit rusts softly, bringing forth a crimson hue." - icon = 'icons/turf/mining.dmi' - icon_state = "redrock" + icon = 'icons/turf/walls/red_wall.dmi' + icon_state = "red_wall-0" smooth_icon = 'icons/turf/walls/red_wall.dmi' base_icon_state = "red_wall" -/turf/closed/mineral/random/asteroid/wasteplanet +/turf/closed/mineral/random/wasteplanet name = "polluted rock" desc = "Whatever once held sway, the poison is all that remains." icon = 'icons/turf/walls/wasteplanet.dmi' - icon_state = "wasteplanet-255" + icon_state = "wasteplanet-0" smooth_icon = 'icons/turf/walls/wasteplanet.dmi' base_icon_state = "wasteplanet" initial_gas_mix = OPENTURF_DEFAULT_ATMOS diff --git a/code/game/turfs/closed/wall/conc_walls.dm b/code/game/turfs/closed/wall/conc_walls.dm index 47ccf5e6a659..6f0487ff39b7 100644 --- a/code/game/turfs/closed/wall/conc_walls.dm +++ b/code/game/turfs/closed/wall/conc_walls.dm @@ -118,7 +118,7 @@ /turf/closed/wall/concrete/proc/update_stats() // explosion block is diminished on a damaged / soft wall explosion_block = (health / max_health) * harden_lvl * initial(explosion_block) - update_icon() + update_appearance() /turf/closed/wall/concrete/proc/alter_health(delta) // 8x as vulnerable when unhardened diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index a0f803ddc983..1bd8f6783fd5 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -73,7 +73,7 @@ if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) d_state = SUPPORT_LINES - update_icon() + update_appearance() to_chat(user, "You cut the outer grille.") return 1 @@ -84,14 +84,14 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) return 1 d_state = COVER - update_icon() + update_appearance() to_chat(user, "You unsecure the support lines.") return 1 else if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) d_state = INTACT - update_icon() + update_appearance() to_chat(user, "You repair the outer grille.") return 1 @@ -104,7 +104,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = CUT_COVER - update_icon() + update_appearance() to_chat(user, "You press firmly on the cover, dislodging it.") return 1 @@ -114,7 +114,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = SUPPORT_LINES - update_icon() + update_appearance() to_chat(user, "The support lines have been secured.") return 1 @@ -125,7 +125,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return 1 d_state = ANCHOR_BOLTS - update_icon() + update_appearance() to_chat(user, "You pry off the cover.") return 1 @@ -137,7 +137,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE d_state = COVER - update_icon() + update_appearance() to_chat(user, "The metal cover has been welded securely to the frame.") return 1 @@ -148,7 +148,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = SUPPORT_RODS - update_icon() + update_appearance() to_chat(user, "You remove the bolts anchoring the support rods.") return 1 @@ -158,7 +158,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = CUT_COVER - update_icon() + update_appearance() to_chat(user, "The metal cover has been pried back into place.") return 1 @@ -171,7 +171,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = SHEATH - update_icon() + update_appearance() to_chat(user, "You slice through the support rods.") return 1 @@ -182,7 +182,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = ANCHOR_BOLTS - update_icon() + update_appearance() to_chat(user, "You tighten the bolts anchoring the support rods.") return 1 @@ -204,7 +204,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE d_state = SUPPORT_RODS - update_icon() + update_appearance() to_chat(user, "You weld the support rods back together.") return 1 return 0 @@ -220,16 +220,21 @@ switch(d_state) if(SUPPORT_LINES, COVER) icon = 'icons/turf/walls/rwalls/reinforced_wall_2.dmi' + return ..() if(CUT_COVER) icon = 'icons/turf/walls/rwalls/reinforced_wall_3.dmi' + return ..() if(ANCHOR_BOLTS, SUPPORT_RODS) icon = 'icons/turf/walls/rwalls/reinforced_wall_4.dmi' + return ..() if(SHEATH) icon = 'icons/turf/walls/rwalls/reinforced_wall_5.dmi' + return ..() else icon = initial(icon) base_icon_state = initial(base_icon_state) icon_state = "[base_icon_state]-[smoothing_junction]" + return ..() /turf/closed/wall/r_wall/wall_singularity_pull(current_size) if(current_size >= STAGE_FIVE) diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 4b03b9c462f3..7be9fb0e21d6 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -52,7 +52,7 @@ var/turf/closed/wall/wall_copy = T if(LAZYLEN(dent_decals)) wall_copy.dent_decals = dent_decals.Copy() - wall_copy.update_icon() + wall_copy.update_appearance() /turf/closed/wall/update_overlays() . = ..() @@ -213,7 +213,7 @@ if(iswallturf(src) && LAZYLEN(dent_decals)) to_chat(user, "You fix some dents on the wall.") dent_decals = null - update_icon() + update_appearance() return TRUE return FALSE @@ -316,6 +316,6 @@ decal.pixel_x = x decal.pixel_y = y LAZYADD(dent_decals, decal) - update_icon() + update_appearance() #undef MAX_DENT_DECALS diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 981ed32ad090..b8931f740c4b 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -21,7 +21,7 @@ intact = TRUE tiled_dirt = TRUE - // initiailized as null to stop turfs that update_icon() before Initialize() (in late ruin loading) from getting "stuck" as plating + // initiailized as null to stop turfs that update_appearance() before Initialize() (in late ruin loading) from getting "stuck" as plating var/icon_plating = null var/broken = FALSE var/burnt = FALSE diff --git a/code/game/turfs/open/floor/conc_floor.dm b/code/game/turfs/open/floor/conc_floor.dm index 229cfabb61e9..6a4908a4889b 100644 --- a/code/game/turfs/open/floor/conc_floor.dm +++ b/code/game/turfs/open/floor/conc_floor.dm @@ -32,7 +32,7 @@ /turf/open/floor/concrete/Initialize() . = ..() check_harden() - update_icon() + update_appearance() /turf/open/floor/concrete/examine(mob/user) . = ..() @@ -86,7 +86,7 @@ var/turf/open/floor/concrete/newconc = ChangeTurf(choice, flags = CHANGETURF_INHERIT_AIR) newconc.harden_lvl = old_harden newconc.check_harden() - newconc.update_icon() + newconc.update_appearance() return TRUE /turf/open/floor/concrete/proc/check_menu(mob/living/user) @@ -102,7 +102,7 @@ return if(!(entered_dirs & AM.dir)) entered_dirs |= AM.dir - update_icon() + update_appearance() /turf/open/floor/concrete/Exited(atom/movable/AM) . = ..() @@ -110,7 +110,7 @@ return if(!(exited_dirs & AM.dir)) exited_dirs |= AM.dir - update_icon() + update_appearance() /turf/open/floor/concrete/update_icon() . = ..() @@ -161,7 +161,7 @@ if(old_exited_dirs & Ddir) exited_dirs |= NDir - update_icon() + update_appearance() return ..() /turf/open/floor/concrete/proc/check_harden() @@ -173,7 +173,7 @@ harden_lvl = min(harden_lvl + (wait/time_to_harden), 1) if(harden_lvl == 1) STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() /turf/open/floor/concrete/break_tile() if(harden_lvl < 0.8) @@ -186,7 +186,7 @@ return harden_lvl = 1 // burning while soft instantly hardens STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return /turf/open/floor/concrete/try_replace_tile(obj/item/stack/tile/T, mob/user, params) diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index 7686d70612ab..37c369a3d8c9 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -231,9 +231,10 @@ /turf/open/floor/carpet/Initialize(mapload, inherited_virtual_z) . = ..() - update_icon() + update_appearance() /turf/open/floor/carpet/update_icon() + . = ..() if(!..()) return 0 if(!broken && !burnt) @@ -441,11 +442,11 @@ /turf/open/floor/carpet/break_tile() broken = TRUE - update_icon() + update_appearance() /turf/open/floor/carpet/burn_tile() burnt = TRUE - update_icon() + update_appearance() /turf/open/floor/carpet/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index 2eb01418bf8b..9157bfecc5b0 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -49,38 +49,50 @@ /turf/open/floor/light/Initialize(mapload, inherited_virtual_z) . = ..() - update_icon() + update_appearance() if(!length(lighttile_designs)) populate_lighttile_designs() /turf/open/floor/light/break_tile() ..() state = pick(LIGHTFLOOR_FLICKER, LIGHTFLOOR_BREAKING, LIGHTFLOOR_BROKEN)/// pick a broken state - update_icon() + update_appearance() -/turf/open/floor/light/update_icon() - ..() - if(on) - switch(state) - if(LIGHTFLOOR_FINE) - icon_state = "light_on-[LAZYFIND(coloredlights, currentcolor)]" - set_light_color(currentcolor) - set_light(5) - light_range = 3 - if(LIGHTFLOOR_FLICKER) - icon_state = "light_on_flicker-[LAZYFIND(coloredlights, currentcolor)]" - set_light_color(currentcolor) - set_light(3) - light_range = 2 - if(LIGHTFLOOR_BREAKING) - icon_state = "light_on_broken" - set_light(1) - if(LIGHTFLOOR_BROKEN) - icon_state = "light_off" - set_light(0) - else +/turf/open/floor/light/update_appearance(updates) + . = ..() + if(!on) set_light(0) + return + + switch(state) + if(LIGHTFLOOR_FINE) + set_light_color(currentcolor) + set_light(5) + light_range = 3 + if(LIGHTFLOOR_FLICKER) + set_light_color(currentcolor) + set_light(3) + light_range = 2 + if(LIGHTFLOOR_BREAKING) + set_light(1) + if(LIGHTFLOOR_BROKEN) + set_light(0) + +/turf/open/floor/light/update_icon_state() + if(!on) icon_state = "light_off" + return ..() + + switch(state) + if(LIGHTFLOOR_FINE) + icon_state = "light_on-[LAZYFIND(coloredlights, currentcolor)]" + if(LIGHTFLOOR_FLICKER) + icon_state = "light_on_flicker-[LAZYFIND(coloredlights, currentcolor)]" + if(LIGHTFLOOR_BREAKING) + icon_state = "light_on_broken" + if(LIGHTFLOOR_BROKEN) + icon_state = "light_off" + return ..() /turf/open/floor/light/ChangeTurf(path, new_baseturf, flags) set_light(0) @@ -91,7 +103,7 @@ if(!can_modify_colour) return on = !on - update_icon() + update_appearance() /turf/open/floor/light/multitool_act(mob/living/user, obj/item/I) . = ..() @@ -103,7 +115,7 @@ if(!choice) return FALSE currentcolor = choice - update_icon() + update_appearance() /turf/open/floor/light/attackby(obj/item/C, mob/user, params) if(..()) @@ -116,7 +128,7 @@ if(state && user.temporarilyRemoveItemFromInventory(C)) qdel(C) state = LIGHTFLOOR_FINE //fixing it by bashing it with a light bulb, fun eh? - update_icon() + update_appearance() to_chat(user, "You replace the light bulb.") else to_chat(user, "The light bulb seems fine, no need to replace it.") @@ -131,7 +143,7 @@ if(prob(50)) state++ currentcolor = pick(coloredlights) - update_icon() + update_appearance() //Cycles through all of the colours /turf/open/floor/light/colour_cycle diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm index 55bc1404b0b9..476a69fa468d 100644 --- a/code/game/turfs/open/floor/mineral_floor.dm +++ b/code/game/turfs/open/floor/mineral_floor.dm @@ -23,12 +23,10 @@ icons = typelist("icons", icons) -/turf/open/floor/mineral/update_icon() - if(!..()) - return 0 - if(!broken && !burnt) - if(!(icon_state in icons)) - icon_state = initial(icon_state) +/turf/open/floor/mineral/update_icon_state() + if(!broken && !burnt && !(icon_state in icons)) + icon_state = initial(icon_state) + return ..() //PLASMA diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index 8f9185d16ba9..525221000f86 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -20,25 +20,25 @@ /turf/open/floor/circuit/Initialize(mapload, inherited_virtual_z) SSmapping.nuke_tiles += src - update_icon() + update_appearance() . = ..() /turf/open/floor/circuit/Destroy() SSmapping.nuke_tiles -= src return ..() -/turf/open/floor/circuit/update_icon() - if(on) - if(LAZYLEN(SSmapping.nuke_threats)) - icon_state = "rcircuitanim" - set_light_color(LIGHT_COLOR_FLARE) - else - icon_state = icon_normal - set_light_color(initial(light_color)) - set_light(1.4, 0.5) - else - icon_state = "[icon_normal]off" +/turf/open/floor/circuit/update_appearance(updates) + . = ..() + if(!on) set_light(0) + return + + set_light_color(LAZYLEN(SSmapping.nuke_threats) ? LIGHT_COLOR_FLARE : initial(light_color)) + set_light(1.4, 0.5) + +/turf/open/floor/circuit/update_icon_state() + icon_state = on ? (LAZYLEN(SSmapping.nuke_threats) ? "rcircuitanim" : icon_normal) : "[icon_normal]off" + return ..() /turf/open/floor/circuit/off icon_state = "bcircuitoff" diff --git a/code/game/turfs/open/floor/plasteel_floor.dm b/code/game/turfs/open/floor/plasteel_floor.dm index 3f0c6a662055..10760b3af5cf 100644 --- a/code/game/turfs/open/floor/plasteel_floor.dm +++ b/code/game/turfs/open/floor/plasteel_floor.dm @@ -12,8 +12,9 @@ /turf/open/floor/plasteel/update_icon_state() if(broken || burnt) - return + return ..() icon_state = base_icon_state + return ..() /turf/open/floor/plasteel/airless initial_gas_mix = AIRLESS_ATMOS diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index 80e98dde6a6e..5a41e234f53f 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -44,7 +44,7 @@ else icon_plating = initial(icon_state) -/turf/open/floor/plating/update_icon() +/turf/open/floor/plating/update_appearance() if(!..()) return if(!broken && !burnt && icon_plating) diff --git a/code/game/turfs/open/floor/plating/icemoon.dm b/code/game/turfs/open/floor/plating/icemoon.dm index 1b67a5404ea7..2b1892d5a4ed 100644 --- a/code/game/turfs/open/floor/plating/icemoon.dm +++ b/code/game/turfs/open/floor/plating/icemoon.dm @@ -27,7 +27,7 @@ return if(!(entered_dirs & AM.dir)) entered_dirs |= AM.dir - update_icon() + update_appearance() /turf/open/floor/plating/asteroid/snow/Exited(atom/movable/AM) . = ..() @@ -35,7 +35,7 @@ return if(!(exited_dirs & AM.dir)) exited_dirs |= AM.dir - update_icon() + update_appearance() // adapted version of footprints' update_icon code /turf/open/floor/plating/asteroid/snow/update_overlays() @@ -72,7 +72,7 @@ if(old_exited_dirs & Ddir) exited_dirs |= NDir - update_icon() + update_appearance() return ..() /turf/open/floor/plating/asteroid/snow/getDug() diff --git a/code/game/turfs/open/floor/plating/lavaland.dm b/code/game/turfs/open/floor/plating/lavaland.dm index 42579678d320..1dd8d49d746d 100644 --- a/code/game/turfs/open/floor/plating/lavaland.dm +++ b/code/game/turfs/open/floor/plating/lavaland.dm @@ -96,3 +96,9 @@ baseturfs = /turf/open/floor/plating/grass/lava/purple icon = 'icons/turf/floors/lava_grass_purple.dmi' smooth_icon = 'icons/turf/floors/lava_grass_purple.dmi' + +/turf/open/floor/concrete/pavement/lava + initial_gas_mix = LAVALAND_DEFAULT_ATMOS + light_range = 2 + light_power = 0.6 + light_color = LIGHT_COLOR_FIRE diff --git a/code/game/turfs/open/floor/plating/whitesands.dm b/code/game/turfs/open/floor/plating/whitesands.dm index 43cc65be4b79..6d7d0e3343f9 100644 --- a/code/game/turfs/open/floor/plating/whitesands.dm +++ b/code/game/turfs/open/floor/plating/whitesands.dm @@ -51,7 +51,7 @@ name = "purple grass" desc = "The few known flora on Whitesands are in a purplish color." icon = 'icons/turf/floors/lava_grass_purple.dmi' //PLACEHOLDER ICON, YELL AT LOCAL MOTH WOMAN - icon_state = "grass0" + icon_state = "grass-0" base_icon_state = "grass" baseturfs = /turf/open/floor/plating/asteroid/whitesands turf_type = /turf/open/floor/plating/asteroid/whitesands/grass diff --git a/code/game/turfs/open/space/transit.dm b/code/game/turfs/open/space/transit.dm index 6f3146215815..dc1c9cf282d1 100644 --- a/code/game/turfs/open/space/transit.dm +++ b/code/game/turfs/open/space/transit.dm @@ -50,7 +50,7 @@ /turf/open/space/transit/Initialize(mapload, inherited_virtual_z) . = ..() - update_icon() + update_appearance() for(var/atom/movable/AM in src) AM.throw_atom_into_space() @@ -60,6 +60,7 @@ /turf/open/space/transit/update_icon_state() icon_state = "speedspace_ns_[get_transit_state(src)]" + return ..() /proc/get_transit_state(turf/T) var/p = 9 diff --git a/code/modules/NTNet/relays.dm b/code/modules/NTNet/relays.dm index 54fd9d3f370a..9a1b01403eda 100644 --- a/code/modules/NTNet/relays.dm +++ b/code/modules/NTNet/relays.dm @@ -59,10 +59,8 @@ /obj/machinery/ntnet_relay/update_icon_state() - if(is_operational) - icon_state = "bus" - else - icon_state = "bus_off" + icon_state = "bus[is_operational ? null : "_off"]" + return ..() /obj/machinery/ntnet_relay/process() if(is_operational) @@ -70,7 +68,7 @@ else use_power = IDLE_POWER_USE - update_icon() + update_appearance() if(dos_overload) dos_overload = max(0, dos_overload - dos_dissipate) @@ -78,12 +76,12 @@ // If DoS traffic exceeded capacity, crash. if((dos_overload > dos_capacity) && !dos_failure) set_dos_failure(TRUE) - update_icon() + update_appearance() SSnetworks.station_network.add_log("Quantum relay switched from normal operation mode to overload recovery mode.") // If the DoS buffer reaches 0 again, restart. if((dos_overload == 0) && dos_failure) set_dos_failure(FALSE) - update_icon() + update_appearance() SSnetworks.station_network.add_log("Quantum relay switched from overload recovery mode to normal operation mode.") ..() @@ -109,13 +107,13 @@ if("restart") dos_overload = 0 set_dos_failure(FALSE) - update_icon() + update_appearance() SSnetworks.station_network.add_log("Quantum relay manually restarted from overload recovery mode to normal operation mode.") return TRUE if("toggle") set_relay_enabled(!relay_enabled) SSnetworks.station_network.add_log("Quantum relay manually [relay_enabled ? "enabled" : "disabled"].") - update_icon() + update_appearance() return TRUE /obj/machinery/ntnet_relay/Initialize() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 0cde04128326..b79f78b56008 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -572,7 +572,6 @@ SSredbot.send_discord_message("ooc", "**OOC has been [GLOB.ooc_allowed ? "enabled" : "disabled"] on the server.**") SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle OOC", "[GLOB.ooc_allowed ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -//BeginWS Edit /datum/admins/proc/toggleooclocal() set category = "Server" set desc="Toggle dat bitch" @@ -581,7 +580,6 @@ log_admin("[key_name(usr)] toggled LOOC.") message_admins("[key_name_admin(usr)] toggled LOOC.") SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Local OOC", "[GLOB.looc_allowed ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -//EndWS Edit /datum/admins/proc/toggleoocdead() set category = "Server" diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 524cd800f698..63f0fc81bc87 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -216,7 +216,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/obj/item/storage/wallet/W = worn W.front_id = id id.forceMove(W) - W.update_icon() + W.update_appearance() else H.equip_to_slot(id,ITEM_SLOT_ID) @@ -549,7 +549,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that F.power = 250 F.warming_up = 3 F.start_fields() - F.update_icon() + F.update_appearance() spawn(30) for(var/obj/machinery/the_singularitygen/G in GLOB.machines) diff --git a/code/modules/admin/verbs/manipulate_organs.dm b/code/modules/admin/verbs/manipulate_organs.dm index a3b7e4247c1d..0695777a6897 100644 --- a/code/modules/admin/verbs/manipulate_organs.dm +++ b/code/modules/admin/verbs/manipulate_organs.dm @@ -71,4 +71,4 @@ var/obj/item/implantcase/case = new(get_turf(C)) case.imp = I I.forceMove(case) - case.update_icon() + case.update_appearance() diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 85bc5a9522c5..8d0149bf7950 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -485,9 +485,10 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(!turned_on) toggle_on(user) to_chat(usr, "You switch the baton to [txt] mode.") - update_icon() + update_appearance() /obj/item/melee/baton/abductor/update_icon_state() + . = ..() switch(mode) if(BATON_STUN) icon_state = "wonderprodStun" @@ -501,6 +502,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(BATON_PROBE) icon_state = "wonderprodProbe" item_state = "wonderprodProbe" + return ..() /obj/item/melee/baton/abductor/attack(mob/target, mob/living/user) if(!AbductorCheck(user)) diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index 0f8b770db4be..f0e68a84a95f 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -183,7 +183,5 @@ return /obj/machinery/abductor/experiment/update_icon_state() - if(state_open) - icon_state = "experiment-open" - else - icon_state = "experiment" + icon_state = "experiment[state_open ? "-open" : null]" + return ..() diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm index 78a86cf79a3f..29060afd8f6a 100644 --- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm +++ b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/ overmind.color = complementary_color for(var/BL in GLOB.blobs) var/obj/structure/blob/B = BL - B.update_icon() + B.update_appearance() for(var/BLO in overmind.blob_mobs) var/mob/living/simple_animal/hostile/blob/BM = BLO BM.update_icons() //If it's getting a new strain, tell it what it does! diff --git a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm index f6bd6c9ef525..4800aed698d2 100644 --- a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm +++ b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm @@ -17,7 +17,7 @@ var/obj/structure/blob/newB = B.expand(null, null, 0) if(newB) newB.obj_integrity = B.obj_integrity - damage - newB.update_icon() + newB.update_appearance() return ..() diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index e1e1127f2311..7fb5cc39016c 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) set_strain(BS) color = blobstrain.complementary_color if(blob_core) - blob_core.update_icon() + blob_core.update_appearance() announcement_time = world.time + 6000 . = ..() START_PROCESSING(SSobj, src) @@ -179,7 +179,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) var/obj/structure/blob/B = BL if(B && B.overmind == src) B.overmind = null - B.update_icon() //reset anything that was ours + B.update_appearance() //reset anything that was ours for(var/BLO in blob_mobs) var/mob/living/simple_animal/hostile/blob/BM = BLO if(BM) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm index b119dc500208..2fba8e460e22 100644 --- a/code/modules/antagonists/blob/powers.dm +++ b/code/modules/antagonists/blob/powers.dm @@ -55,7 +55,7 @@ core.overmind = src blobs_legit += src blob_core = core - core.update_icon() + core.update_appearance() update_health_hud() placed = 1 return 1 @@ -181,7 +181,7 @@ if(LAZYLEN(candidates)) //if we got at least one candidate, they're a blobbernaut now. B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health B.obj_integrity = min(B.obj_integrity, B.max_integrity) - B.update_icon() + B.update_appearance() B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") playsound(B.loc, 'sound/effects/splat.ogg', 50, TRUE) var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 39c0ff8a7f01..9fa04c7b6754 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -30,7 +30,7 @@ overmind.blobs_legit += src GLOB.blobs += src //Keep track of the blob in the normal list either way setDir(pick(GLOB.cardinals)) - update_icon() + update_appearance() if(atmosblock) air_update_turf(1) ConsumeTile() @@ -72,6 +72,7 @@ return !atmosblock /obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. + . = ..() if(overmind) add_atom_colour(overmind.blobstrain.color, FIXED_COLOUR_PRIORITY) else @@ -92,7 +93,7 @@ var/obj/structure/blob/B = L if(!B.overmind && !istype(B, /obj/structure/blob/core) && prob(30)) B.overmind = pulsing_overmind //reclaim unclaimed, non-core blobs. - B.update_icon() + B.update_appearance() var/distance = get_dist(get_turf(src), get_turf(B)) var/expand_probablity = max(20 - distance * 8, 1) if(B.Adjacent(src)) @@ -116,7 +117,7 @@ if(heal_timestamp <= world.time) obj_integrity = min(max_integrity, obj_integrity+health_regen) heal_timestamp = world.time + 20 - update_icon() + update_appearance() pulse_timestamp = world.time + 10 return 1 //we did it, we were pulsed! return 0 //oh no we failed @@ -174,7 +175,7 @@ if(T.Enter(B,src)) //NOW we can attempt to move into the tile B.density = initial(B.density) B.forceMove(T) - B.update_icon() + B.update_appearance() if(B.overmind && expand_reaction) B.overmind.blobstrain.expand_reaction(src, B, T, controller) return B @@ -279,7 +280,7 @@ /obj/structure/blob/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() if(. && obj_integrity > 0) - update_icon() + update_appearance() /obj/structure/blob/obj_destruction(damage_flag) if(overmind) @@ -291,7 +292,7 @@ CRASH("change_to(): invalid type for blob") var/obj/structure/blob/B = new type(src.loc, controller) B.creation_action() - B.update_icon() + B.update_appearance() B.setDir(dir) qdel(src) return B @@ -334,20 +335,27 @@ return "Currently weak to brute damage." return "N/A" -/obj/structure/blob/normal/update_icon() - ..() +/obj/structure/blob/normal/update_name() + . = ..() + name = "[(obj_integrity <= 15) ? "fragile " : (overmind ? null : "dead ")][initial(name)]" + +/obj/structure/blob/normal/update_desc() + . = ..() if(obj_integrity <= 15) - icon_state = "blob_damaged" - name = "fragile blob" desc = "A thin lattice of slightly twitching tendrils." + else if(overmind) + desc = "A thick wall of writhing tendrils." + else + desc = "A thick wall of lifeless tendrils." + +/obj/structure/blob/normal/update_icon_state() + icon_state = "blob[(obj_integrity <= 15) ? "_damaged" : null]" + + /// - [] TODO: Move this elsewhere + if(obj_integrity <= 15) brute_resist = 0.5 else if (overmind) - icon_state = "blob" - name = "blob" - desc = "A thick wall of writhing tendrils." brute_resist = 0.25 else - icon_state = "blob" - name = "dead blob" - desc = "A thick wall of lifeless tendrils." brute_resist = 0.25 + return ..() diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm index 37c5cf42a90d..ebebdc336676 100644 --- a/code/modules/antagonists/blob/structures/core.dm +++ b/code/modules/antagonists/blob/structures/core.dm @@ -14,31 +14,34 @@ GLOB.blob_cores += src START_PROCESSING(SSobj, src) GLOB.poi_list |= src - update_icon() //so it atleast appears + update_appearance() //so it atleast appears if(!placed && !overmind) return INITIALIZE_HINT_QDEL if(overmind) - update_icon() + update_appearance() . = ..() +/obj/structure/blob/special/core/Destroy() + GLOB.blob_cores -= src + if(overmind) + overmind.blob_core = null + overmind = null + STOP_PROCESSING(SSobj, src) + return ..() + /obj/structure/blob/core/scannerreport() return "Directs the blob's expansion, gradually expands, and sustains nearby blob spores and blobbernauts." -/obj/structure/blob/core/update_icon() - cut_overlays() - color = null +/obj/structure/blob/special/core/update_overlays() + . = ..() var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") if(overmind) blob_overlay.color = overmind.blobstrain.color - add_overlay(blob_overlay) - add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay")) + . += blob_overlay + . += mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay") -/obj/structure/blob/core/Destroy() - GLOB.blob_cores -= src - if(overmind) - overmind.blob_core = null - overmind = null - STOP_PROCESSING(SSobj, src) +/obj/structure/blob/special/core/update_appearance() + color = null GLOB.poi_list -= src return ..() diff --git a/code/modules/antagonists/blob/structures/node.dm b/code/modules/antagonists/blob/structures/node.dm index 8a8645c1518d..de7c674b807c 100644 --- a/code/modules/antagonists/blob/structures/node.dm +++ b/code/modules/antagonists/blob/structures/node.dm @@ -19,13 +19,16 @@ return "Gradually expands and sustains nearby blob spores and blobbernauts." /obj/structure/blob/node/update_icon() - cut_overlays() color = null + return ..() + +/obj/structure/blob/special/node/update_overlays() + . = ..() var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") if(overmind) blob_overlay.color = overmind.blobstrain.color - add_overlay(blob_overlay) - add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay")) + . += blob_overlay + . += mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay") /obj/structure/blob/node/Destroy() GLOB.blob_nodes -= src diff --git a/code/modules/antagonists/blob/structures/shield.dm b/code/modules/antagonists/blob/structures/shield.dm index bd0e8c62c683..f0a01f70e1a8 100644 --- a/code/modules/antagonists/blob/structures/shield.dm +++ b/code/modules/antagonists/blob/structures/shield.dm @@ -19,19 +19,23 @@ /obj/structure/blob/shield/core point_return = 0 -/obj/structure/blob/shield/update_icon() - ..() - if(obj_integrity < max_integrity * 0.5) - icon_state = "[initial(icon_state)]_damaged" - name = "weakened [initial(name)]" - desc = "[damaged_desc]" - atmosblock = FALSE - else - icon_state = initial(icon_state) - name = initial(name) - desc = initial(desc) - atmosblock = TRUE - air_update_turf(1) +/obj/structure/blob/shield/update_name(updates) + . = ..() + name = "[(obj_integrity < (max_integrity * 0.5)) ? "weakened " : null][initial(name)]" + +/obj/structure/blob/shield/update_desc(updates) + . = ..() + desc = (obj_integrity < (max_integrity * 0.5)) ? "[damaged_desc]" : initial(desc) + +/obj/structure/blob/shield/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir) + . = ..() + if(. && obj_integrity > 0) + atmosblock = obj_integrity < (max_integrity * 0.5) + air_update_turf(TRUE, atmosblock) + +/obj/structure/blob/shield/update_icon_state() + icon_state = "[initial(icon_state)][(obj_integrity < (max_integrity * 0.5)) ? "_damaged" : null]" + return ..() /obj/structure/blob/shield/reflective name = "reflective blob" diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index df33ca984e39..7323160deceb 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -384,6 +384,7 @@ /obj/item/sharpener/cult/update_icon_state() icon_state = "cult_sharpener[used ? "_used" : ""]" + return ..() /obj/item/clothing/suit/hooded/cultrobes/cult_shield name = "empowered cultist armor" @@ -585,6 +586,7 @@ name = "blood halberd" desc = "A sickening spear composed entirely of crystallized blood." icon_state = "bloodspear0" + base_icon_state = "occultpoleaxe" lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' slot_flags = 0 @@ -607,7 +609,7 @@ /obj/item/cult_spear/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 100, 90) - AddComponent(/datum/component/two_handed, force_unwielded=17, force_wielded=24, icon_wielded="bloodspear1") + AddComponent(/datum/component/two_handed, force_unwielded=17, force_wielded=24, icon_wielded="[base_icon_state]1") /// triggered on wield of two handed item /obj/item/cult_spear/proc/on_wield(obj/item/source, mob/user) @@ -622,7 +624,8 @@ wielded = FALSE /obj/item/cult_spear/update_icon_state() - icon_state = "bloodspear0" + icon_state = "[base_icon_state]0" + return ..() /obj/item/cult_spear/Destroy() if(spear_act) diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index f2f6856755d6..8c60f724215d 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -58,10 +58,11 @@ . = ..() if(isnull(.)) return - update_icon() + update_appearance() /obj/structure/destructible/cult/update_icon_state() icon_state = "[initial(icon_state)][anchored ? null : "_off"]" + return ..() /obj/structure/destructible/cult/attackby(obj/I, mob/user, params) if(istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user)) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 9f5b2b7d0e68..c3595010981f 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -37,7 +37,7 @@ GLOB.nuke_list += src core = new /obj/item/nuke_core(src) STOP_PROCESSING(SSobj, core) - update_icon() + update_appearance() GLOB.poi_list |= src previous_level = get_security_level() @@ -109,7 +109,7 @@ if(I.use_tool(src, user, 60, volume=100)) deconstruction_state = NUKESTATE_UNSCREWED to_chat(user, "You remove the screws from [src]'s front panel.") - update_icon() + update_appearance() return if(NUKESTATE_PANEL_REMOVED) @@ -120,7 +120,7 @@ if(I.use_tool(src, user, 80, volume=100, amount=1)) to_chat(user, "You cut [src]'s inner plate.") deconstruction_state = NUKESTATE_WELDED - update_icon() + update_appearance() return if(NUKESTATE_CORE_EXPOSED) if(istype(I, /obj/item/nuke_core_container)) @@ -130,7 +130,7 @@ if(core_box.load(core, user)) to_chat(user, "You load the plutonium core into [core_box].") deconstruction_state = NUKESTATE_CORE_REMOVED - update_icon() + update_appearance() core = null else to_chat(user, "You fail to load the plutonium core into [core_box]. [core_box] has already been used!") @@ -144,7 +144,7 @@ to_chat(user, "You repair [src]'s inner metal plate. The radiation is contained.") deconstruction_state = NUKESTATE_PANEL_REMOVED STOP_PROCESSING(SSobj, core) - update_icon() + update_appearance() return . = ..() @@ -156,14 +156,14 @@ if(tool.use_tool(src, user, 30, volume=100)) to_chat(user, "You remove [src]'s front panel.") deconstruction_state = NUKESTATE_PANEL_REMOVED - update_icon() + update_appearance() return TRUE if(NUKESTATE_WELDED) to_chat(user, "You start prying off [src]'s inner plate...") if(tool.use_tool(src, user, 30, volume=100)) to_chat(user, "You pry off [src]'s inner plate. You can see the core's green glow!") deconstruction_state = NUKESTATE_CORE_EXPOSED - update_icon() + update_appearance() START_PROCESSING(SSobj, core) return TRUE @@ -180,7 +180,7 @@ /obj/machinery/nuclearbomb/update_icon_state() if(deconstruction_state != NUKESTATE_INTACT) icon_state = "nuclearbomb_base" - return + return ..() switch(get_nuke_state()) if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) icon_state = "nuclearbomb_base" @@ -188,6 +188,7 @@ icon_state = "nuclearbomb_timing" if(NUKE_ON_EXPLODING) icon_state = "nuclearbomb_exploding" + return ..() /obj/machinery/nuclearbomb/update_overlays() . += ..() @@ -407,7 +408,7 @@ timing = FALSE detonation_timer = null countdown.stop() - update_icon() + update_appearance() /obj/machinery/nuclearbomb/proc/set_active() if(safety) @@ -427,7 +428,7 @@ S.switch_mode_to(initial(S.mode)) S.alert = FALSE countdown.stop() - update_icon() + update_appearance() /obj/machinery/nuclearbomb/proc/get_time_left() if(timing) @@ -454,7 +455,7 @@ exploding = TRUE yes_code = FALSE safety = TRUE - update_icon() + update_appearance() sound_to_playing_players('sound/machines/alarm.ogg') if(SSticker && SSticker.mode) SSticker.roundend_check_paused = TRUE @@ -550,7 +551,7 @@ S.switch_mode_to(initial(S.mode)) S.alert = FALSE countdown.stop() - update_icon() + update_appearance() /obj/machinery/nuclearbomb/beer/proc/fizzbuzz() var/datum/reagents/R = new/datum/reagents(1000) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 88cdc68a2c8b..8a9200fb08d0 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -146,7 +146,7 @@ to_chat(admin, "Repairing flash failed!") else flash.burnt_out = FALSE - flash.update_icon() + flash.update_appearance() /datum/antagonist/rev/head/proc/admin_demote(datum/mind/target,mob/user) message_admins("[key_name_admin(user)] has demoted [key_name_admin(owner)] from head revolutionary.") diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 27a10e7db427..0add31c60b74 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -637,7 +637,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) /datum/action/innate/ai/break_fire_alarms/Activate() for(var/obj/machinery/firealarm/F in GLOB.machines) F.obj_flags |= EMAGGED - F.update_icon() + F.update_appearance() to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 49497bdfed7e..5c1324bdcfe9 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -18,8 +18,12 @@ throw_range = 7 drop_sound = 'sound/items/handling/component_drop.ogg' pickup_sound = 'sound/items/handling/component_pickup.ogg' - var/is_position_sensitive = FALSE //set to true if the device has different icons for each position. - //This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_icon() + + + //Set to true if the device has different icons for each position. + //This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance() + + var/is_position_sensitive = FALSE var/secured = TRUE var/list/attached_overlays = null var/obj/item/assembly_holder/holder = null @@ -96,7 +100,7 @@ /obj/item/assembly/proc/toggle_secure() secured = !secured - update_icon() + update_appearance() return secured /obj/item/assembly/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index bbbd54feed12..ab64cdc86700 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -26,10 +26,13 @@ /obj/item/onetankbomb/examine(mob/user) return bombtank.examine(user) +/obj/item/onetankbomb/update_icon(updates) + icon = bombtank?.icon || initial(icon) + return ..() + /obj/item/onetankbomb/update_icon_state() - if(bombtank) - icon = bombtank.icon - icon_state = bombtank.icon_state + icon_state = bombtank?.icon_state || initial(icon_state) + return ..() /obj/item/onetankbomb/update_overlays() . = ..() @@ -142,7 +145,7 @@ master = bomb forceMove(bomb) - bomb.update_icon() + bomb.update_appearance() user.put_in_hands(bomb) //Equips the bomb if possible, or puts it on the floor. to_chat(user, "You attach [assembly] to [src].") diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index f7fb2164dfe3..40a10a168ea0 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -61,7 +61,7 @@ if(specialfunctions & BOLTS) if(!D.wires.is_cut(WIRE_BOLTS) && D.hasPower()) D.locked = !D.locked - D.update_icon() + D.update_appearance() if(specialfunctions & SHOCK) if(D.secondsElectrified) D.set_electrified(MACHINE_ELECTRIFIED_PERMANENT, usr) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index c67baf3f24d5..dd2cc1fff834 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -14,6 +14,9 @@ light_color = COLOR_WHITE light_power = FLASH_LIGHT_POWER light_on = FALSE + /// Whether we currently have the flashing overlay. + var/flashing = FALSE + /// The overlay we use for flashing. var/flashing_overlay = "flash-f" var/times_used = 0 //Number of times it's been used. var/burnt_out = FALSE //Is the flash burnt out? @@ -22,18 +25,22 @@ var/cooldown = 0 var/last_trigger = 0 //Last time it was successfully triggered. -/obj/item/assembly/flash/update_icon(flash = FALSE) - cut_overlays() +/obj/item/assembly/flash/update_icon(updates=ALL, flash = FALSE) + flashing = flash + . = ..() + if(flash) + addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) + holder?.update_icon(updates) + +/obj/item/assembly/flash/update_overlays() attached_overlays = list() + . = ..() if(burnt_out) - add_overlay("flashburnt") + . += "flashburnt" attached_overlays += "flashburnt" - if(flash) - add_overlay(flashing_overlay) + if(flashing) + . += flashing_overlay attached_overlays += flashing_overlay - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) - if(holder) - holder.update_icon() /obj/item/assembly/flash/proc/clown_check(mob/living/carbon/human/user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) @@ -44,7 +51,7 @@ /obj/item/assembly/flash/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something. if(!burnt_out) burnt_out = TRUE - update_icon() + update_appearance() if(ismob(loc)) var/mob/M = loc M.visible_message("[src] burns out!","[src] burns out!") @@ -93,7 +100,7 @@ addtimer(CALLBACK(src, .proc/flash_end), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) times_used++ flash_recharge() - update_icon(TRUE) + update_icon(ALL, TRUE) if(user && !clown_check(user)) return FALSE return TRUE @@ -144,7 +151,7 @@ else if(issilicon(M)) var/mob/living/silicon/robot/R = M log_combat(user, R, "flashed", src) - update_icon(1) + update_icon(ALL, TRUE) R.Paralyze(rand(80,120)) var/diff = 5 * CONFUSION_STACK_MAX_MULTIPLIER - M.confused R.confused += min(5, diff) @@ -244,7 +251,7 @@ overheat = TRUE addtimer(CALLBACK(src, .proc/cooldown), flashcd) playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) - update_icon(1) + update_icon(ALL, TRUE) return TRUE diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 0af6c85fb6b5..2a07737e2c63 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -27,7 +27,7 @@ else scanning = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return secured /obj/item/assembly/health/AltClick(mob/living/user) diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index cf517fa4eb55..4d2ffdac5d4e 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -34,7 +34,7 @@ attach(A,user) attach(A2,user) name = "[A.name]-[A2.name] assembly" - update_icon() + update_appearance() SSblackbox.record_feedback("tally", "assembly_made", 1, "[initial(A.name)]-[initial(A2.name)]") /obj/item/assembly_holder/proc/attach(obj/item/assembly/A, mob/user) @@ -51,27 +51,31 @@ a_right = A A.holder_movement() -/obj/item/assembly_holder/update_icon() - cut_overlays() +/obj/item/assembly_holder/update_appearance(updates=ALL) + . = ..() + master?.update_appearance(updates) + +/obj/item/assembly_holder/update_overlays() + . = ..() if(a_left) - add_overlay("[a_left.icon_state]_left") - for(var/O in a_left.attached_overlays) - add_overlay("[O]_l") + . += "[a_left.icon_state]_left" + for(var/left_overlay in a_left.attached_overlays) + . += "[left_overlay]_l" + if(!a_right) + return - if(a_right) - if(a_right.is_position_sensitive) - add_overlay("[a_right.icon_state]_right") - for(var/O in a_right.attached_overlays) - add_overlay("[O]_r") - else - var/mutable_appearance/right = mutable_appearance(icon, "[a_right.icon_state]_left") - right.transform = matrix(-1, 0, 0, 0, 1, 0) - for(var/O in a_right.attached_overlays) - right.add_overlay("[O]_l") - add_overlay(right) + if(a_right.is_position_sensitive) + . += "[a_right.icon_state]_right" + for(var/right_overlay in a_right.attached_overlays) + . += "[right_overlay]_r" + return + + var/mutable_appearance/right = mutable_appearance(icon, "[a_right.icon_state]_left") + right.transform = matrix(-1, 0, 0, 0, 1, 0) + for(var/right_overlay in a_right.attached_overlays) + right.add_overlay("[right_overlay]_l") + . += right - if(master) - master.update_icon() /obj/item/assembly_holder/proc/on_entered(datum/source, atom/movable/AM as mob|obj) SIGNAL_HANDLER diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 734a14220c2a..bc8fdcc3d908 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -42,7 +42,7 @@ return FALSE //Cooldown check on = !on refreshBeam() - update_icon() + update_appearance() return TRUE /obj/item/assembly/infra/toggle_secure() @@ -53,22 +53,23 @@ else QDEL_LIST(beams) STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return secured -/obj/item/assembly/infra/update_icon() - cut_overlays() - attached_overlays = list() - if(on) - add_overlay("infrared_on") - attached_overlays += "infrared_on" - if(visible && secured) - add_overlay("infrared_visible") - attached_overlays += "infrared_visible" +/obj/item/assembly/infra/update_appearance(updates=ALL) + . = ..() + holder?.update_appearance(updates) - if(holder) - holder.update_icon() - return +/obj/item/assembly/infra/update_overlays() + . = ..() + attached_overlays = list() + if(!on) + return + . += "infrared_on" + attached_overlays += "infrared_on" + if(visible && secured) + . += "infrared_visible" + attached_overlays += "infrared_visible" /obj/item/assembly/infra/dropped() . = ..() @@ -211,7 +212,7 @@ visible = !visible . = TRUE - update_icon() + update_appearance() refreshBeam() /***************************IBeam*********************************/ diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index e96d602c3cae..bf9353a658d9 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -24,16 +24,16 @@ if((HAS_TRAIT(user, TRAIT_DUMB) || HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) to_chat(user, "Your hand slips, setting off the trigger!") pulse(FALSE) - update_icon() + update_appearance() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) -/obj/item/assembly/mousetrap/update_icon() - if(armed) - icon_state = "mousetraparmed" - else - icon_state = "mousetrap" - if(holder) - holder.update_icon() +/obj/item/assembly/mousetrap/update_icon_state() + icon_state = "mousetrap[armed ? "armed" : ""]" + return ..() + +/obj/item/assembly/mousetrap/update_icon(updates=ALL) + . = ..() + holder?.update_icon(updates) /obj/item/assembly/mousetrap/proc/triggered(mob/target, type = "feet") if(!armed) @@ -44,7 +44,7 @@ if(HAS_TRAIT(H, TRAIT_PIERCEIMMUNE)) playsound(src, 'sound/effects/snap.ogg', 50, TRUE) armed = FALSE - update_icon() + update_appearance() pulse(FALSE) return FALSE switch(type) @@ -65,7 +65,7 @@ M.splat() playsound(src, 'sound/effects/snap.ogg', 50, TRUE) armed = FALSE - update_icon() + update_appearance() pulse(FALSE) @@ -85,7 +85,7 @@ return to_chat(user, "You disarm [src].") armed = !armed - update_icon() + update_appearance() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 99c4afaca743..08b603058563 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -34,7 +34,7 @@ timing = !timing else scanning = FALSE - update_icon() + update_appearance() return TRUE /obj/item/assembly/prox_sensor/on_detach() @@ -55,7 +55,7 @@ else START_PROCESSING(SSobj, src) proximity_monitor.set_host(loc,src) - update_icon() + update_appearance() return secured /obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj) @@ -87,7 +87,7 @@ return FALSE scanning = scan proximity_monitor.set_range(scanning ? sensitivity : 0) - update_icon() + update_appearance() /obj/item/assembly/prox_sensor/proc/sensitivity_change(value) var/sense = min(max(sensitivity + value, 0), 5) @@ -95,18 +95,19 @@ if(scanning && proximity_monitor.set_range(sense)) sense() -/obj/item/assembly/prox_sensor/update_icon() - cut_overlays() +/obj/item/assembly/prox_sensor/update_appearance() + . = ..() + holder?.update_appearance() + +/obj/item/assembly/prox_sensor/update_overlays() + . = ..() attached_overlays = list() if(timing) add_overlay("prox_timing") - attached_overlays += "prox_timing" + . += "prox_timing" if(scanning) add_overlay("prox_scanning") - attached_overlays += "prox_scanning" - if(holder) - holder.update_icon() - return + . += "prox_scanning" /obj/item/assembly/prox_sensor/ui_status(mob/user) if(is_secured(user)) @@ -144,7 +145,7 @@ . = TRUE if("time") timing = !timing - update_icon() + update_appearance() . = TRUE if("input") var/value = text2num(params["adjust"]) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index fc2f42864f91..0ff3fadae733 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -31,10 +31,9 @@ signal() return TRUE -/obj/item/assembly/signaler/update_icon() - if(holder) - holder.update_icon() - return +/obj/item/assembly/signaler/update_appearance() + . = ..() + holder?.update_appearance() /obj/item/assembly/signaler/ui_status(mob/user) if(is_secured(user)) @@ -80,7 +79,7 @@ code = initial(code) . = TRUE - update_icon() + update_appearance() /obj/item/assembly/signaler/attackby(obj/item/W, mob/user, params) if(issignaler(W)) @@ -255,6 +254,13 @@ name = "\improper static anomaly core" desc = "The neutralized core of a static anomaly. Your head hurts just staring at it" +/obj/item/assembly/signaler/anomaly/melter + name = "\improper melter anomaly core" + desc = "The neutralized core of a melter anomaly. It sizzles and crackles. It'd probably be valuable for research." + icon_state = "pyro core" + + + /obj/item/assembly/signaler/anomaly/attack_self() return diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 152c5f6bb5ec..90f45df20179 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -29,7 +29,7 @@ if(!..()) return FALSE//Cooldown check timing = !timing - update_icon() + update_appearance() return TRUE /obj/item/assembly/timer/toggle_secure() @@ -39,7 +39,7 @@ else timing = FALSE STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() return secured /obj/item/assembly/timer/proc/timer_end() @@ -51,7 +51,7 @@ hearing_mob.playsound_local(get_turf(src), 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE) if(loop) timing = TRUE - update_icon() + update_appearance() /obj/item/assembly/timer/process() if(!timing) @@ -62,14 +62,16 @@ timer_end() time = saved_time -/obj/item/assembly/timer/update_icon() - cut_overlays() +/obj/item/assembly/timer/update_appearance() + . = ..() + holder?.update_appearance() + +/obj/item/assembly/timer/update_overlays() + . = ..() attached_overlays = list() if(timing) - add_overlay("timer_timing") + . += "timer_timing" attached_overlays += "timer_timing" - if(holder) - holder.update_icon() /obj/item/assembly/timer/ui_status(mob/user) if(is_secured(user)) @@ -100,7 +102,7 @@ timing = !timing if(timing && istype(holder, /obj/item/transfer_valve)) log_bomber(usr, "activated a", src, "attachment on [holder]") - update_icon() + update_appearance() . = TRUE if("repeat") loop = !loop diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index cc9e94b91567..bef2f277f7e1 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -221,7 +221,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(name == initial(name)) name = "[get_area_name(src)] Air Alarm" - update_icon() + update_appearance() /obj/machinery/airalarm/Destroy() SSradio.remove_object(src, frequency) @@ -467,7 +467,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) investigate_log("has had its setpoint changed to [heating_temp_setpoint] by [key_name(usr)]",INVESTIGATE_ATMOS) . = TRUE - update_icon() + update_appearance() /obj/machinery/airalarm/proc/reset(wire) @@ -475,7 +475,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(WIRE_POWER) if(!wires.is_cut(WIRE_POWER)) shorted = FALSE - update_icon() + update_appearance() if(WIRE_AI) if(!wires.is_cut(WIRE_AI)) aidisabled = FALSE @@ -656,7 +656,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) icon_state = "alarm_b2" if(0) icon_state = "alarm_b1" - return + return ..() icon_state = "alarm" return ..() @@ -801,7 +801,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(A.atmosalert(new_area_danger_level,src)) //if area was in normal state or if area was in alert state post_alert(new_area_danger_level) - update_icon() + update_appearance() /obj/machinery/airalarm/attackby(obj/item/W, mob/user, params) switch(buildstage) @@ -811,13 +811,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) to_chat(user, "You cut the final wires.") new /obj/item/stack/cable_coil(loc, 5) buildstage = 1 - update_icon() + update_appearance() return else if(W.tool_behaviour == TOOL_SCREWDRIVER) // Opening that Air Alarm up. W.play_tool_sound(src) panel_open = !panel_open to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") - update_icon() + update_appearance() return else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))// trying to unlock the interface with an ID card togglelock(user) @@ -836,7 +836,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) new /obj/item/electronics/airalarm(src.loc) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) buildstage = 0 - update_icon() + update_appearance() return if(istype(W, /obj/item/stack/cable_coil)) @@ -857,14 +857,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) shorted = 0 post_alert(0) buildstage = 2 - update_icon() + update_appearance() return if(0) if(istype(W, /obj/item/electronics/airalarm)) if(user.temporarilyRemoveItemFromInventory(W)) to_chat(user, "You insert the circuit.") buildstage = 1 - update_icon() + update_appearance() qdel(W) return @@ -875,7 +875,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt an air alarm circuit and slot it into the assembly.") buildstage = 1 - update_icon() + update_appearance() return if(W.tool_behaviour == TOOL_WRENCH) @@ -898,7 +898,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) user.visible_message("[user] fabricates a circuit and places it into [src].", \ "You adapt an air alarm circuit and slot it into the assembly.") buildstage = 1 - update_icon() + update_appearance() return TRUE return FALSE diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 050a8be4139b..e5a2490b609d 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -137,11 +137,11 @@ if(can_be_node(target, i)) nodes[i] = target break - update_icon() + update_appearance() /obj/machinery/atmospherics/proc/setPipingLayer(new_layer) piping_layer = (pipe_flags & PIPING_DEFAULT_LAYER_ONLY) ? PIPING_LAYER_DEFAULT : new_layer - update_icon() + update_appearance() /obj/machinery/atmospherics/proc/can_be_node(obj/machinery/atmospherics/target, iteration) return connection_check(target, piping_layer) @@ -193,7 +193,7 @@ var/ref_position = nodes.Find(reference) if(ref_position) nodes[ref_position] = null - update_icon() + update_appearance() /obj/machinery/atmospherics/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pipe)) //lets you autodrop diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index 88edcf9cf699..9f2d582be256 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -38,7 +38,7 @@ /obj/machinery/atmospherics/components/binary/circulator/Initialize(mapload) .=..() component_parts = list(new /obj/item/circuitboard/machine/circulator) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/circulator/ComponentInitialize() . = ..() @@ -84,7 +84,7 @@ ..() update_icon_nopipes() -/obj/machinery/atmospherics/components/binary/circulator/update_icon() +/obj/machinery/atmospherics/components/binary/circulator/update_appearance() cut_overlays() if(anchored) @@ -190,7 +190,7 @@ node2.addMember(src) SSair.add_to_rebuild_queue(src) - update_icon() + update_appearance() return TRUE @@ -258,7 +258,7 @@ generator.cold_circ = null else generator.hot_circ = null - generator.update_icon() + generator.update_appearance() generator = null /obj/machinery/atmospherics/components/binary/circulator/setPipingLayer(new_layer) @@ -283,5 +283,5 @@ /obj/machinery/atmospherics/components/binary/circulator/obj_break(damage_flag) if(generator) generator.kill_circs() - generator.update_icon() + generator.update_appearance() ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm index ed4eb50b253a..0d93d554c47f 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm @@ -202,7 +202,7 @@ addtimer(CALLBACK(src, .proc/broadcast_status), 2) if(!("status" in signal.data)) //do not update_icon - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/dp_vent_pump/welder_act(mob/living/user, obj/item/I) ..() @@ -216,7 +216,7 @@ else user.visible_message("[user] unwelded the vent.", "You unweld the vent.", "You hear welding.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE investigate_log("was [welded ? "welded shut" : "unwelded"] by [key_name(user)]", INVESTIGATE_ATMOS) @@ -246,7 +246,7 @@ return user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE playsound(loc, 'sound/weapons/bladeslice.ogg', 100, TRUE) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm index 4b3da9179662..4078c9ef38c2 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -30,7 +30,7 @@ Passive gate is similar to the regular pump except: if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/passive_gate/AltClick(mob/user) @@ -38,7 +38,7 @@ Passive gate is similar to the regular pump except: target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the pressure output on [src] to [target_pressure] kPa.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/passive_gate/Destroy() @@ -115,7 +115,7 @@ Passive gate is similar to the regular pump except: if(.) target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/passive_gate/atmosinit() ..() @@ -145,7 +145,7 @@ Passive gate is similar to the regular pump except: return broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/passive_gate/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm index c8a00c3445ef..fd98028ca306 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm @@ -20,7 +20,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pressure_valve/AltClick(mob/user) @@ -28,7 +28,7 @@ target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, span_notice("pressure output set to [target_pressure] kPa.")) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pressure_valve/update_icon_nopipes() @@ -88,7 +88,7 @@ if(.) target_pressure = clamp(pressure, 0, ONE_ATMOSPHERE*100) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/pressure_valve/can_unwrench(mob/user) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 5556149b908c..8579d70a1165 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -31,7 +31,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pump/AltClick(mob/user) @@ -39,7 +39,7 @@ target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the pressure output on [src] to [target_pressure] kPa.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/pump/Destroy() @@ -123,7 +123,7 @@ if(.) target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/pump/atmosinit() ..() @@ -153,7 +153,7 @@ return broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/pump/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm index 8ef01b857653..91c22fd0a884 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm @@ -104,4 +104,4 @@ if(.) close_pressure = clamp(pressure, 0, open_pressure) investigate_log("close pressure was set to [close_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm index 190ad024652e..cdc0f75c6781 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm @@ -23,7 +23,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/temperature_gate/AltClick(mob/user) @@ -31,7 +31,7 @@ target_temperature = max_temperature investigate_log("was set to [target_temperature] K by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You set the target temperature on [src] to [target_temperature] K.") - update_icon() + update_appearance() return ..() @@ -108,7 +108,7 @@ if(.) target_temperature = clamp(minimum_temperature, temperature, max_temperature) investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/temperature_gate/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm index 6d09aeb2b143..eff2a0525230 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm @@ -18,14 +18,14 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/temperature_pump/AltClick(mob/user) if(can_interact(user) && !(heat_transfer_rate == max_heat_transfer_rate)) heat_transfer_rate = max_heat_transfer_rate investigate_log("was set to [heat_transfer_rate]% by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/temperature_pump/update_icon_nopipes() @@ -91,4 +91,4 @@ if(.) heat_transfer_rate = clamp(rate, 0, max_heat_transfer_rate) investigate_log("was set to [heat_transfer_rate]% by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index 12a07cba9f5f..3cbd43897878 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -32,7 +32,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/volume_pump/AltClick(mob/user) @@ -40,7 +40,7 @@ transfer_rate = MAX_TRANSFER_RATE investigate_log("was set to [transfer_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the volume output on [src] to [transfer_rate] L/s.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/binary/volume_pump/Destroy() @@ -143,7 +143,7 @@ if(.) transfer_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/volume_pump/receive_signal(datum/signal/signal) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) @@ -169,7 +169,7 @@ return //do not update_icon broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/binary/volume_pump/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 2569d4795845..1fdc91effb44 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -36,7 +36,7 @@ /obj/machinery/atmospherics/components/proc/hide_pipe(datum/source, covered) showpipe = !covered - update_icon() + update_appearance() /obj/machinery/atmospherics/components/update_icon() update_icon_nopipes() @@ -45,7 +45,7 @@ plane = showpipe ? FLOOR_PLANE : FLOOR_PLANE if(!showpipe) - return + return ..() var/connected = 0 //Direction bitset @@ -62,6 +62,7 @@ if(!shift_underlay_only) PIPING_LAYER_SHIFT(src, piping_layer) + return ..() /obj/machinery/atmospherics/components/proc/get_pipe_underlay(state, dir, color = null) if(color) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 1797b361539b..404ecbf46eb2 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -18,7 +18,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/filter/AltClick(mob/user) @@ -26,7 +26,7 @@ transfer_rate = MAX_TRANSFER_RATE investigate_log("was set to [transfer_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the volume output on [src] to [transfer_rate] L/s.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/filter/proc/set_frequency(new_frequency) @@ -39,22 +39,13 @@ SSradio.remove_object(src,frequency) return ..() -/obj/machinery/atmospherics/components/trinary/filter/update_icon() - cut_overlays() +/obj/machinery/atmospherics/components/trinary/filter/update_overlays() + . = ..() for(var/direction in GLOB.cardinals) if(!(direction & initialize_directions)) continue var/obj/machinery/atmospherics/node = findConnecting(direction) - - var/image/cap - if(node) - cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer, trinary = TRUE) - else - cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer, trinary = TRUE) - - add_overlay(cap) - - return ..() + . += getpipeimage(icon, "cap", direction, node?.pipe_color, piping_layer, TRUE) /obj/machinery/atmospherics/components/trinary/filter/update_icon_nopipes() var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational @@ -145,7 +136,7 @@ filter_name = GLOB.gas_data.names[gas] investigate_log("was set to filter [filter_name] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE - update_icon() + update_appearance() /obj/machinery/atmospherics/components/trinary/filter/can_unwrench(mob/user) . = ..() diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 47ec5369254a..c21aaf7ccd79 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -20,7 +20,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/trinary/mixer/AltClick(mob/user) @@ -28,25 +28,17 @@ target_pressure = MAX_OUTPUT_PRESSURE investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the pressure output on [src] to [target_pressure] kPa.") - update_icon() + update_appearance() return ..() -/obj/machinery/atmospherics/components/trinary/mixer/update_icon() - cut_overlays() +/obj/machinery/atmospherics/components/trinary/mixer/update_overlays() + . = ..() for(var/direction in GLOB.cardinals) if(!(direction & initialize_directions)) continue - var/obj/machinery/atmospherics/node = findConnecting(direction) - - var/image/cap - if(node) - cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer, trinary = TRUE) - else - cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer, trinary = TRUE) - add_overlay(cap) - - return ..() + var/obj/machinery/atmospherics/node = findConnecting(direction) + . += getpipeimage(icon, "cap", direction, node?.pipe_color, piping_layer, TRUE) /obj/machinery/atmospherics/components/trinary/mixer/update_icon_nopipes() var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational @@ -168,7 +160,7 @@ adjust_node1_value(100 - value) investigate_log("was set to [node2_concentration] % on node 2 by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE - update_icon() + update_appearance() /obj/machinery/atmospherics/components/trinary/mixer/proc/adjust_node1_value(newValue) node1_concentration = newValue / 100 diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 2fccbc914f91..3864bc2ada18 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -53,7 +53,7 @@ var/oldoccupant = occupant . = ..() // Parent proc takes care of removing occupant if necessary if (AM == oldoccupant) - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/cryo_cell/on_construction() ..(dir, dir) @@ -102,7 +102,7 @@ beaker = null /obj/machinery/atmospherics/components/unary/cryo_cell/update_icon() - + . = ..() cut_overlays() if(panel_open) @@ -172,7 +172,7 @@ if(old_value) //Turned off on = FALSE end_processing() - update_icon() + update_appearance() else //Turned on begin_processing() @@ -190,7 +190,7 @@ if(mob_occupant.health >= mob_occupant.getMaxHealth()) // Don't bother with fully healed people. on = FALSE - update_icon() + update_appearance() playsound(src, 'sound/machines/cryo_warning.ogg', volume) // Bug the doctors. var/msg = "Patient fully restored." if(autoeject) // Eject if configured. @@ -225,7 +225,7 @@ if(!nodes[1] || !airs[1] || air1.get_moles(GAS_O2) < 5) // Turn off if the machine won't work due to not having enough moles to operate. on = FALSE - update_icon() + update_appearance() return if(occupant) @@ -320,7 +320,7 @@ || default_change_direction_wrench(user, I) \ || default_pry_open(I) \ || default_deconstruction_crowbar(I)) - update_icon() + update_appearance() return else if(I.tool_behaviour == TOOL_SCREWDRIVER) to_chat(user, "You can't access the maintenance panel while the pod is " \ @@ -398,7 +398,7 @@ on = FALSE else if(!state_open) on = TRUE - update_icon() + update_appearance() . = TRUE if("door") if(state_open) @@ -420,7 +420,7 @@ /obj/machinery/atmospherics/components/unary/cryo_cell/CtrlClick(mob/user) if(can_interact(user) && !state_open) on = !on - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/unary/cryo_cell/AltClick(mob/user) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm b/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm index 26c473c975f7..a73d70bb99f7 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm @@ -23,13 +23,15 @@ piping_layer = 4 icon_state = "he_map-4" +/obj/machinery/atmospherics/components/unary/heat_exchanger/update_icon_state() + icon_state = "he[nodes[1] ? 1 : 0]" + return ..() + /obj/machinery/atmospherics/components/unary/heat_exchanger/update_icon() + . = ..() if(nodes[1]) - icon_state = "he1" var/obj/machinery/atmospherics/node = nodes[1] add_atom_colour(node.color, FIXED_COLOUR_PRIORITY) - else - icon_state = "he0" PIPING_LAYER_SHIFT(src, piping_layer) /obj/machinery/atmospherics/components/unary/heat_exchanger/atmosinit() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index 1d596e91ae44..d70e91b29de7 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -28,7 +28,7 @@ if(can_interact(user)) on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/unary/outlet_injector/AltClick(mob/user) @@ -36,7 +36,7 @@ volume_rate = MAX_TRANSFER_RATE investigate_log("was set to [volume_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS) to_chat(user, "You maximize the volume output on [src] to [volume_rate] L/s.") - update_icon() + update_appearance() return ..() /obj/machinery/atmospherics/components/unary/outlet_injector/Destroy() @@ -136,7 +136,7 @@ addtimer(CALLBACK(src, .proc/broadcast_status), 2) if(!("status" in signal.data)) //do not update_icon - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/outlet_injector/ui_interact(mob/user, datum/tgui/ui) @@ -173,7 +173,7 @@ if(.) volume_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [volume_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() broadcast_status() /obj/machinery/atmospherics/components/unary/outlet_injector/can_unwrench(mob/user) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm b/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm index 2c6bbe4ce939..7c890dfb8425 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm @@ -100,4 +100,4 @@ if(.) close_pressure = clamp(pressure, 0, open_pressure) investigate_log("close pressure was set to [close_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index 15edb1917d95..1b6df20c721e 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -40,17 +40,20 @@ B += M.rating heat_capacity = 5000 * ((B - 1) ** 2) -/obj/machinery/atmospherics/components/unary/thermomachine/update_icon() - cut_overlays() +/obj/machinery/atmospherics/components/unary/thermomachine/update_icon_state() if(panel_open) icon_state = icon_state_open - else if(on && is_operational) + return ..() + if(on && is_operational) icon_state = icon_state_on - else - icon_state = icon_state_off + return ..() + icon_state = icon_state_off + return ..() - add_overlay(getpipeimage(icon, "pipe", dir, , piping_layer)) +/obj/machinery/atmospherics/components/unary/thermomachine/update_overlays() + . = ..() + . += getpipeimage(icon, "pipe", dir, , piping_layer) /obj/machinery/atmospherics/components/unary/thermomachine/update_icon_nopipes() cut_overlays() @@ -169,7 +172,7 @@ target_temperature = clamp(target, min_temperature, max_temperature) investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() //WS Edit - Update from Cit's Thermomachine - PR #8800, adds additional info to ctrl and alt clicks - BFAT @@ -180,7 +183,7 @@ return on = !on investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - update_icon() + update_appearance() investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) message_admins("[src.name] was turned [on ? "on" : "off"] [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]") diff --git a/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm b/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm index 136f540d4b96..4904d2b3a4ec 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm @@ -18,7 +18,7 @@ /obj/machinery/atmospherics/components/unary/on_construction() ..() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/proc/assign_uid_vents() uid = num2text(gl_uid++) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index a3109fb98bdf..3a878409d0e2 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -250,7 +250,7 @@ // log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]") broadcast_status() - update_icon() + update_appearance() /obj/machinery/atmospherics/components/unary/vent_pump/welder_act(mob/living/user, obj/item/I) ..() @@ -264,7 +264,7 @@ else user.visible_message("[user] unwelded the vent.", "You unweld the vent.", "You hear welding.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE investigate_log("was [welded ? "welded shut" : "unwelded"] by [key_name(user)]", INVESTIGATE_ATMOS) @@ -294,7 +294,7 @@ return user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE playsound(loc, 'sound/weapons/bladeslice.ogg', 100, TRUE) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 6cd9be66ee65..0e5e7dc1c74a 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -224,7 +224,7 @@ return //do not update_icon broadcast_status() - update_icon() + update_appearance() return /obj/machinery/atmospherics/components/unary/vent_scrubber/power_change() @@ -243,7 +243,7 @@ else user.visible_message("[user] unwelds the scrubber.", "You unweld the scrubber.", "You hear welding.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE investigate_log("was [welded ? "welded shut" : "unwelded"] by [key_name(user)]", INVESTIGATE_ATMOS) @@ -269,7 +269,7 @@ return user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the scrubber.", "You hear loud scraping noises.") welded = FALSE - update_icon() + update_appearance() pipe_vision_img = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) pipe_vision_img.plane = ABOVE_HUD_PLANE playsound(loc, 'sound/weapons/bladeslice.ogg', 100, TRUE) diff --git a/code/modules/atmospherics/machinery/other/miner.dm b/code/modules/atmospherics/machinery/other/miner.dm index 5500e1bed375..37045635cf1a 100644 --- a/code/modules/atmospherics/machinery/other/miner.dm +++ b/code/modules/atmospherics/machinery/other/miner.dm @@ -72,12 +72,12 @@ /obj/machinery/atmospherics/miner/proc/set_active(setting) if(active != setting) active = setting - update_icon() + update_appearance() /obj/machinery/atmospherics/miner/proc/set_broken(setting) if(broken != setting) broken = setting - update_icon() + update_appearance() /obj/machinery/atmospherics/miner/proc/update_power() if(!active) @@ -113,7 +113,9 @@ . = ..() if(broken) . += "broken" - else if(active) + return + + if(active) var/mutable_appearance/on_overlay = mutable_appearance(icon, "on") on_overlay.color = overlay_color . += on_overlay diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm index ebb23870d2af..b7fca049449c 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm @@ -30,9 +30,9 @@ return ..(target, given_layer, FALSE) //we want a normal pipe instead return ..(target, given_layer, TRUE) -/obj/machinery/atmospherics/pipe/heat_exchanging/junction/update_icon() +/obj/machinery/atmospherics/pipe/heat_exchanging/junction/update_icon_state() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" - update_layer() + return ..() /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm index 675ef020ba22..61d909c7fc71 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm @@ -26,18 +26,16 @@ initialize_directions = ALL_CARDINALS initialize_directions &= ~dir -/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/update_overlays() + . = ..() PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) - - update_layer() + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) /obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm index 366edcece03f..57e9b6ea797b 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm @@ -24,18 +24,16 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/SetInitDirections() initialize_directions = initial(initialize_directions) -/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/manifold4w/update_overlays() + . = ..() PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) - - update_layer() + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm index d80caf175a12..debbe9350c14 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm @@ -24,9 +24,9 @@ if(EAST, WEST) initialize_directions = EAST|WEST -/obj/machinery/atmospherics/pipe/heat_exchanging/simple/update_icon() +/obj/machinery/atmospherics/pipe/heat_exchanging/simple/update_icon_state() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" - update_layer() + return ..() /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer1 piping_layer = 1 diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index 2ea600ab532f..1f6e9cab5383 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -42,34 +42,34 @@ /obj/machinery/atmospherics/pipe/layer_manifold/proc/get_all_connected_nodes() return front_nodes + back_nodes + nodes -/obj/machinery/atmospherics/pipe/layer_manifold/update_icon() //HEAVILY WIP FOR UPDATE ICONS!! - cut_overlays() +/obj/machinery/atmospherics/pipe/layer_manifold/update_layer() layer = initial(layer) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE) //This is above everything else. +/obj/machinery/atmospherics/pipe/layer_manifold/update_overlays() + . = ..() + for(var/node in front_nodes) - add_attached_images(node) + . += get_attached_images(node) for(var/node in back_nodes) - add_attached_images(node) + . += get_attached_images(node) -/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_images(obj/machinery/atmospherics/A) +/obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_images(obj/machinery/atmospherics/A) if(!A) return + + . = list() if(istype(A, /obj/machinery/atmospherics/pipe/layer_manifold)) for(var/i in PIPING_LAYER_MIN to PIPING_LAYER_MAX) - add_attached_image(get_dir(src, A), i) - return - add_attached_image(get_dir(src, A), A.piping_layer, A.pipe_color) + . += get_attached_image(get_dir(src, A), i) + return + . += get_attached_image(get_dir(src, A), A.piping_layer, A.pipe_color) -/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_image(p_dir, p_layer, p_color = null) - var/image/I +/obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_image(p_dir, p_layer, p_color = null) - if(p_color) - I = getpipeimage(icon, "pipe", p_dir, p_color, piping_layer = p_layer) - else - I = getpipeimage(icon, "pipe", p_dir, piping_layer = p_layer) + var/image/I = getpipeimage(icon, "pipe-3", p_dir, p_color, p_layer) I.layer = layer - 0.01 - add_overlay(I) + return I /obj/machinery/atmospherics/pipe/layer_manifold/SetInitDirections() switch(dir) @@ -96,7 +96,7 @@ new_nodes += foundfront if(foundback && !QDELETED(foundback)) new_nodes += foundback - update_icon() + update_appearance() return new_nodes /obj/machinery/atmospherics/pipe/layer_manifold/atmosinit() @@ -123,7 +123,7 @@ if(reference in back_nodes) var/i = back_nodes.Find(reference) back_nodes[i] = null - update_icon() + update_appearance() /obj/machinery/atmospherics/pipe/layer_manifold/relaymove(mob/living/user, direction) if(initialize_directions & direction) diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index 9316e14d398a..106c7b8c7693 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -22,7 +22,7 @@ var/mutable_appearance/center -/* We use New() instead of Initialize() because these values are used in update_icon() +/* We use New() instead of Initialize() because these values are used in update_appearance() * in the mapping subsystem init before Initialize() is called in the atoms subsystem init. * This is true for the other manifolds (the 4 ways and the heat exchanges) too. */ @@ -35,16 +35,15 @@ initialize_directions = ALL_CARDINALS initialize_directions &= ~dir -/obj/machinery/atmospherics/pipe/manifold/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/manifold/update_overlays() + . = ..() + if(!center) center = mutable_appearance(icon, "manifold_center") PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) - - update_layer() + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm index c00f36cdbfff..f52f0daa53b7 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm @@ -29,16 +29,16 @@ /obj/machinery/atmospherics/pipe/manifold4w/SetInitDirections() initialize_directions = initial(initialize_directions) -/obj/machinery/atmospherics/pipe/manifold4w/update_icon() - cut_overlays() +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_overlays() + . = ..() if(!center) center = mutable_appearance(icon, "manifold_center") PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer) - add_overlay(center) + . += center //Add non-broken pieces for(var/i in 1 to device_type) if(nodes[i]) - add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i]))) + . += getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) update_layer() diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 8f28258c57b9..7daaf9273558 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -97,6 +97,10 @@ qdel(meter) . = ..() +/obj/machinery/atmospherics/pipe/update_icon() + . = ..() + update_layer() + /obj/machinery/atmospherics/pipe/proc/update_node_icon() for(var/i in 1 to device_type) if(nodes[i]) diff --git a/code/modules/atmospherics/machinery/pipes/simple.dm b/code/modules/atmospherics/machinery/pipes/simple.dm index 3c945933dd18..0fdba0c1dd0b 100644 --- a/code/modules/atmospherics/machinery/pipes/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/simple.dm @@ -31,6 +31,6 @@ if(EAST, WEST) initialize_directions = EAST|WEST -/obj/machinery/atmospherics/pipe/simple/update_icon() +/obj/machinery/atmospherics/pipe/simple/update_icon_state() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" - update_layer() + return ..() diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 18601d8efc9c..6b0f025b6b89 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -168,7 +168,7 @@ timing = !timing if(timing) valve_timer = world.time + (timer_set * 10) - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/canister/proto name = "prototype canister" @@ -200,7 +200,7 @@ air_contents.copy_from(existing_mixture) else create_gas() - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/canister/proc/create_gas() @@ -219,6 +219,7 @@ /obj/machinery/portable_atmospherics/canister/update_icon_state() if(machine_stat & BROKEN) icon_state = "[icon_state]-1" + return ..() /obj/machinery/portable_atmospherics/canister/update_overlays() . = ..() @@ -293,7 +294,7 @@ if(.) if(close_valve) valve_open = FALSE - update_icon() + update_appearance() investigate_log("Valve was closed by [key_name(user)].", INVESTIGATE_ATMOS) else if(valve_open && holding) investigate_log("[key_name(user)] started a transfer into [holding].", INVESTIGATE_ATMOS) @@ -314,7 +315,7 @@ if(air_contents.release_gas_to(target_air, release_pressure) && !holding) air_update_turf() - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/canister/ui_state(mob/user) return GLOB.physical_state @@ -459,4 +460,4 @@ investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transferring into the air.", INVESTIGATE_ATMOS) replace_tank(usr, FALSE) . = TRUE - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index d107ed723a74..db17acc4fa6c 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -68,7 +68,7 @@ anchored = TRUE //Prevent movement pixel_x = new_port.pixel_x pixel_y = new_port.pixel_y - update_icon() + update_appearance() return TRUE /obj/machinery/portable_atmospherics/Move() @@ -84,7 +84,7 @@ connected_port = null pixel_x = 0 pixel_y = 0 - update_icon() + update_appearance() return TRUE /obj/machinery/portable_atmospherics/AltClick(mob/living/user) @@ -109,7 +109,7 @@ holding = null if(new_tank) holding = new_tank - update_icon() + update_appearance() return TRUE /obj/machinery/portable_atmospherics/attackby(obj/item/W, mob/user, params) @@ -121,7 +121,7 @@ to_chat(user, "[holding ? "In one smooth motion you pop [holding] out of [src]'s connector and replace it with [T]" : "You insert [T] into [src]"].") investigate_log("had its internal [holding] swapped with [T] by [key_name(user)].", INVESTIGATE_ATMOS) replace_tank(user, FALSE, T) - update_icon() + update_appearance() else if(W.tool_behaviour == TOOL_WRENCH) if(!(machine_stat & BROKEN)) if(connected_port) @@ -132,7 +132,7 @@ "[user] disconnects [src].", \ "You unfasten [src] from the port.", \ "You hear a ratchet.") - update_icon() + update_appearance() return else var/obj/machinery/atmospherics/components/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/components/unary/portables_connector) in loc @@ -147,7 +147,7 @@ "[user] connects [src].", \ "You fasten [src] to the port.", \ "You hear a ratchet.") - update_icon() + update_appearance() investigate_log("was connected to [possible_port] by [key_name(user)].", INVESTIGATE_ATMOS) else return ..() diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 317a55e47d55..4cff27388903 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -32,6 +32,7 @@ /obj/machinery/portable_atmospherics/pump/update_icon_state() icon_state = "psiphon:[on]" + return ..() /obj/machinery/portable_atmospherics/pump/update_overlays() . = ..() @@ -69,7 +70,7 @@ if(prob(100 / severity)) direction = PUMP_OUT pump.target_pressure = rand(0, 100 * ONE_ATMOSPHERE) - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/pump/replace_tank(mob/living/user, close_valve) . = ..() @@ -77,7 +78,7 @@ if(close_valve) if(on) on = FALSE - update_icon() + update_appearance() else if(on && holding && direction == PUMP_OUT) investigate_log("[key_name(user)] started a transfer into [holding].", INVESTIGATE_ATMOS) @@ -151,4 +152,4 @@ if(holding) replace_tank(usr, FALSE) . = TRUE - update_icon() + update_appearance() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index fddd2d362fa7..b608d5849e38 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -18,6 +18,7 @@ /obj/machinery/portable_atmospherics/scrubber/update_icon_state() icon_state = "pscrubber:[on]" + return ..() /obj/machinery/portable_atmospherics/scrubber/update_overlays() . = ..() @@ -54,7 +55,7 @@ if(is_operational) if(prob(50 / severity)) on = !on - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/scrubber/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -87,7 +88,7 @@ if(close_valve) if(on) on = FALSE - update_icon() + update_appearance() else if(on && holding) investigate_log("[key_name(user)] started a transfer into [holding].", INVESTIGATE_ATMOS) @@ -106,7 +107,7 @@ if("toggle_filter") scrubbing ^= params["val"] . = TRUE - update_icon() + update_appearance() /obj/machinery/portable_atmospherics/scrubber/huge name = "huge air scrubber" @@ -130,11 +131,12 @@ /obj/machinery/portable_atmospherics/scrubber/huge/update_icon_state() icon_state = "scrubber:[on]" + return ..() /obj/machinery/portable_atmospherics/scrubber/huge/process_atmos() if((!anchored && !movable) || !is_operational) on = FALSE - update_icon() + update_appearance() use_power = on ? ACTIVE_POWER_USE : IDLE_POWER_USE if(!on) return diff --git a/code/modules/atmospherics/multiz.dm b/code/modules/atmospherics/multiz.dm index 41a40b332f80..e0daf4c61654 100644 --- a/code/modules/atmospherics/multiz.dm +++ b/code/modules/atmospherics/multiz.dm @@ -4,14 +4,16 @@ icon_state = "multiz_pipe" icon = 'icons/obj/atmos.dmi' -/obj/machinery/atmospherics/pipe/simple/multiz/update_icon() +/obj/machinery/atmospherics/pipe/multiz/update_layer() + return // Noop because we're moving this to /obj/machinery/atmospherics/pipe + +/obj/machinery/atmospherics/pipe/multiz/update_overlays() . = ..() - cut_overlays() //This adds the overlay showing it's a multiz pipe. This should go above turfs and such var/image/multiz_overlay_node = new(src) //If we have a firing state, light em up! multiz_overlay_node.icon = 'icons/obj/atmos.dmi' multiz_overlay_node.icon_state = "multiz_pipe" multiz_overlay_node.layer = HIGH_OBJ_LAYER - add_overlay(multiz_overlay_node) + . += multiz_overlay_node ///Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet /obj/machinery/atmospherics/pipe/simple/multiz/pipeline_expansion(datum/pipeline/reference) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 6a7b2b6f74e0..189fe1ebfd11 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -176,7 +176,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /obj/machinery/gateway/Initialize() generate_destination() - update_icon() + update_appearance() portal_visuals = new vis_contents += portal_visuals return ..() @@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) dest.deactivate(src) QDEL_NULL(portal) use_power = IDLE_POWER_USE - update_icon() + update_appearance() portal_visuals.reset_visuals() /obj/machinery/gateway/process() @@ -222,7 +222,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) portal_visuals.setup_visuals(target) generate_bumper() use_power = ACTIVE_POWER_USE - update_icon() + update_appearance() /obj/machinery/gateway/proc/Transfer(atom/movable/AM) if(!target || !target.incoming_pass_check(AM)) diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index 4df8fbf32f89..05d079220151 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -20,6 +20,7 @@ desc = "A heavy duty industrial laser." icon = 'icons/obj/singularity.dmi' icon_state = "emitter_+a" + base_icon_state = "emitter_+a" anchored = TRUE density = TRUE resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index c17c7a46bc79..453ef1468f88 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -134,12 +134,12 @@ close_switchstates() mode = new newmode(src) mode.enter_mode(src) - modebutton.update_icon() + modebutton.update_appearance() /datum/buildmode/proc/change_dir(newdir) build_dir = newdir close_dirswitch() - dirbutton.update_icon() + dirbutton.update_appearance() return 1 /datum/buildmode/proc/InterceptClickOn(mob/user, params, atom/object) diff --git a/code/modules/buildmode/buttons.dm b/code/modules/buildmode/buttons.dm index 25132f957a96..a1893b4b6232 100644 --- a/code/modules/buildmode/buttons.dm +++ b/code/modules/buildmode/buttons.dm @@ -24,11 +24,12 @@ else if(LAZYACCESS(modifiers, RIGHT_CLICK)) bd.mode.change_settings(usr.client) - update_icon() + update_appearance() return 1 /atom/movable/screen/buildmode/mode/update_icon_state() icon_state = bd.mode.get_button_iconstate() + return ..() /atom/movable/screen/buildmode/help icon_state = "buildhelp" @@ -46,10 +47,11 @@ /atom/movable/screen/buildmode/bdir/update_icon_state() dir = bd.build_dir + return ..() /atom/movable/screen/buildmode/bdir/Click() bd.toggle_dirswitch() - update_icon() + update_appearance() return 1 // used to switch between modes diff --git a/code/modules/cargo/bounty_console.dm b/code/modules/cargo/bounty_console.dm index 097c9e84807e..f8017122b040 100644 --- a/code/modules/cargo/bounty_console.dm +++ b/code/modules/cargo/bounty_console.dm @@ -26,7 +26,7 @@ /obj/item/paper/bounty_printout/Initialize() . = ..() default_raw_text = "

    Nanotrasen Cargo Bounties


    " - update_icon() + update_appearance() for(var/datum/bounty/bounty as anything in GLOB.bounties_list) if(bounty.claimed) diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index fccc26b521b8..3e5938bbaa55 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -557,7 +557,7 @@ return var/obj/structure/closet/supplypod/centcompod/toLaunch = DuplicateObject(temp_pod) //Duplicate the temp_pod (which we have been varediting or configuring with the UI) and store the result toLaunch.bay = bay //Bay is currently a nonstatic expression, so it cant go into toLaunch using DuplicateObject - toLaunch.update_icon()//we update_icon() here so that the door doesnt "flicker on" right after it lands + toLaunch.update_appearance()//we update_appearance() here so that the door doesnt "flicker on" right after it lands var/shippingLane = GLOB.areas_by_type[/area/centcom/supplypod/flyMeToTheMoon] toLaunch.forceMove(shippingLane) if (launchClone) //We arent launching the actual items from the bay, rather we are creating clones and launching those diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 533bd895ceee..9074a87d7bbe 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -245,7 +245,7 @@ rank = "Silicon" var/datum/supply_order/SO = new(pack, name, rank, usr.ckey, "") new /obj/effect/DPtarget(landing_turf, podType, SO) - update_icon() // ?????????????????? + update_appearance() // ?????????????????? return TRUE if("mission-act") diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index fd429ed98223..d75b06d49f40 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -42,6 +42,7 @@ icon_state = "gondolapod_open" else icon_state = "gondolapod" + return ..() /mob/living/simple_animal/pet/gondola/gondolapod/verb/deliver() set name = "Release Contents" @@ -68,12 +69,12 @@ /mob/living/simple_animal/pet/gondola/gondolapod/proc/setOpened() opened = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/setClosed), 50) /mob/living/simple_animal/pet/gondola/gondolapod/proc/setClosed() opened = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/pet/gondola/gondolapod/death() QDEL_NULL(linked_pod) //Will cause the open() proc for the linked supplypod to be called with the "broken" parameter set to true, meaning that it will dump its contents on death diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 0a22afd51495..56ff80d77018 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -6,22 +6,60 @@ Pistol ammo */ -/datum/supply_pack/ammo/co9mm_ammo - name = "9mm Commander Ammo Crate" +/datum/supply_pack/ammo/co9mm_mag + name = "9mm Commander Magazine Crate" desc = "Contains three 9mm magazines for the standard-issue Commander pistol, each containing ten rounds." contains = list(/obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm) cost = 1500 -/datum/supply_pack/ammo/m10mm_ammo - name = "10mm Stechkin Ammo Crate" +/datum/supply_pack/ammo/m45_mag + name = ".45 ACP M1911 Magazine Crate" + desc = "Contains three .45 ACP magazines for the M1911 pistol, each containing eight rounds." + contains = list(/obj/item/ammo_box/magazine/m45, + /obj/item/ammo_box/magazine/m45, + /obj/item/ammo_box/magazine/m45) + cost = 1500 + +/datum/supply_pack/ammo/c38_mag + name = ".38 Speedloader Crate" + desc = "Contains four .38 speedloaders for revolvers, each containing six rounds." + contains = list(/obj/item/ammo_box/c38, + /obj/item/ammo_box/c38, + /obj/item/ammo_box/c38, + /obj/item/ammo_box/c38) + cost = 1500 + +/datum/supply_pack/ammo/m10mm_mag + name = "10mm Stechkin Magazine Crate" desc = "Contains three 10mm magazines for the stechkin pistol, each containing eight rounds." contains = list(/obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm) cost = 1500 +/datum/supply_pack/ammo/a357_mag + name = ".357 Speedloader Crate" + desc = "Contains two .357 speedloaders for revolvers, each containing seven rounds." + contains = list(/obj/item/ammo_box/a357, + /obj/item/ammo_box/a357) + cost = 1500 + +/datum/supply_pack/ammo/mag_556mm + name = "5.56 Pistole C Magazine Crate" + desc = "Contains two 5.56mm magazines for the Pistole C, each containing twelve rounds." + contains = list(/obj/item/ammo_box/magazine/pistol556mm, + /obj/item/ammo_box/magazine/pistol556mm) + cost = 1500 + +/datum/supply_pack/ammo/fms_mag + name = "Ferromagnetic Slug Magazine Crate" + desc = "Contains two ferromagnetic slug magazines for the Model H pistol, each containing ten rounds." + contains = list(/obj/item/ammo_box/magazine/modelh, + /obj/item/ammo_box/magazine/modelh) + cost = 1500 + /* Shotgun ammo */ @@ -47,23 +85,15 @@ /datum/supply_pack/ammo/winchester_ammo name = "Winchester and Detective Special .38 Ammo Boxes" desc = "Contains two 30 round ammo boxes for refilling .38 weapons." - cost = 2500 + cost = 1000 contains = list(/obj/item/ammo_box/c38_box, /obj/item/ammo_box/c38_box) crate_name = "ammo crate" -/datum/supply_pack/ammo/winchester_hunting_ammo - name = "Winchester and Detective Special .38 Hunting Ammo Boxes" - desc = "Contains two 30 round .38 ammo boxes which deal extra damage to wildlife." - cost = 2000 - contains = list(/obj/item/ammo_box/c38_box/hunting, - /obj/item/ammo_box/c38_box/hunting) - crate_name = "ammo crate" - /datum/supply_pack/ammo/match name = ".38 Match Grade Speedloader" desc = "Contains one speedloader of match grade .38 ammunition, perfect for showing off trickshots." - cost = 1200 + cost = 200 small_item = TRUE contains = list(/obj/item/ammo_box/c38/match) crate_name = ".38 match crate" @@ -71,7 +101,7 @@ /datum/supply_pack/ammo/dumdum name = ".38 DumDum Speedloader" desc = "Contains one speedloader of .38 DumDum ammunition, good for embedding in soft targets." - cost = 1200 + cost = 200 small_item = TRUE contains = list(/obj/item/ammo_box/c38/dumdum) crate_name = ".38 match crate" @@ -94,3 +124,58 @@ cost = 2500 contains = list(/obj/item/ammo_box/magazine/wt550m9/wtap, /obj/item/ammo_box/magazine/wt550m9/wtic) + +/* + Rifle ammo +*/ + +/datum/supply_pack/ammo/gal308_ammo + name = "CM-GAL .308 Magazine Crate" + desc = "Contains two .308 CM-GAL magazines for the CM-GAL rifle, each containing ten rounds." + contains = list(/obj/item/ammo_box/magazine/gal, + /obj/item/ammo_box/magazine/gal) + cost = 2000 + +/datum/supply_pack/ammo/gar_ammo + name = "GAR Ferromagnetic Lance Magazine Crate" + desc = "Contains two ferromagnetic lance magazines for the GAR rifle, each containing thirty two rounds." + contains = list(/obj/item/ammo_box/magazine/gar, + /obj/item/ammo_box/magazine/gar) + cost = 2000 + +/datum/supply_pack/ammo/claris_ammo + name = "Claris Ferromagnetic Pellet Speedloader Crate" + desc = "Contains two ferromagnetic pellet speedloaders for the Claris rifle, each containing twenty two rounds." + contains = list(/obj/item/ammo_box/amagpellet_claris, + /obj/item/ammo_box/amagpellet_claris) + cost = 2000 + +/datum/supply_pack/ammo/ebr_ammo + name = "M514 EBR .308 Magazine Crate" + desc = "Contains two .308 magazines for the M514 EBR rifle, each containing ten rounds." + contains = list(/obj/item/ammo_box/magazine/ebr, + /obj/item/ammo_box/magazine/ebr) + cost = 2000 + +/datum/supply_pack/ammo/ak47_ammo + name = "AKM 7.62x39mm FMJ Magazine Crate" + desc = "Contains two 7.62x39mm FMJ magazines for the AKM rifle, each containing twenty rounds." + contains = list(/obj/item/ammo_box/magazine/ak47, + /obj/item/ammo_box/magazine/ak47) + cost = 2000 + +/datum/supply_pack/ammo/p16_ammo + name = "P-16 5.56mm Magazine Crate" + desc = "Contains two 5.56mm magazines for the P-16 rifle, each containing thirty rounds." + contains = list(/obj/item/ammo_box/magazine/p16, + /obj/item/ammo_box/magazine/p16) + cost = 2000 + +/datum/supply_pack/ammo/a762_ammo + name = "7.62x54mm Stripper Clip Crate" + desc = "Contains four 7.62x54mm stripper clips for rifles like the illestren rifle, each containing five rounds." + contains = list(/obj/item/ammo_box/a762, + /obj/item/ammo_box/a762, + /obj/item/ammo_box/a762, + /obj/item/ammo_box/a762) + cost = 1000 diff --git a/code/modules/cargo/packs/chemistry.dm b/code/modules/cargo/packs/chemistry.dm index 2375328b2bc1..5c7ae4a20ab9 100644 --- a/code/modules/cargo/packs/chemistry.dm +++ b/code/modules/cargo/packs/chemistry.dm @@ -42,6 +42,13 @@ /obj/item/stock_parts/micro_laser) crate_name = "chemistry tools crate" +/datum/supply_pack/chemistry/press + name = "Pill Press Crate" + desc = "Contains one standard press for making pills by hand." + cost = 500 + contains = list(/obj/machinery/chem_press) + crate_name = "pill press crate" + /* Bulk materials */ diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 85126afed15a..4cdebc0bdcb4 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -102,26 +102,6 @@ crate_name = "original costume crate" crate_type = /obj/structure/closet/crate/wooden -/datum/supply_pack/costumes_toys/costume - name = "Standard Costume Crate" - desc = "Supply the sector's entertainers with the equipment of their trade with these hilarious costumes! Contains a full clown and mime outfit, along with a bike horn and a bottle of nothing." - cost = 1000 - contains = list(/obj/item/storage/backpack/clown, - /obj/item/clothing/shoes/clown_shoes, - /obj/item/clothing/mask/gas/clown_hat, - /obj/item/clothing/under/rank/civilian/clown, - /obj/item/bikehorn, - /obj/item/clothing/under/rank/civilian/mime, - /obj/item/clothing/shoes/sneakers/black, - /obj/item/clothing/gloves/color/white, - /obj/item/clothing/mask/gas/mime, - /obj/item/clothing/head/frenchberet, - /obj/item/clothing/suit/toggle/suspenders, - /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, - /obj/item/storage/backpack/mime) - crate_name = "standard costume crate" - crate_type = /obj/structure/closet/crate/wooden - /datum/supply_pack/costumes_toys/mafia name = "Cosa Nostra Starter Pack" desc = "This crate contains everything you need to set up your own ethnicity-based racketeering operation." diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index e4c49778d75e..249535824738 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -26,11 +26,27 @@ /datum/supply_pack/gun/makarovs name = "Stechkin pistol crate" - desc = "Contains two concealable soviet-era stechkin pistols, produced by the Gorlex Marauders and chambered in 10mm." + desc = "Contains two concealable stechkin pistols, produced by the Gorlex Marauders and chambered in 10mm." cost = 2000 contains = list(/obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/automatic/pistol) +/datum/supply_pack/gun/revolver + name = "Scarbourgh Revolver crate" + desc = "Contains two concealable Scarbourgh revolvers, chambered in .357." + cost = 2500 + contains = list(/obj/item/gun/ballistic/revolver, + /obj/item/gun/ballistic/revolver) + +/datum/supply_pack/gun/detrevolver + name = "Revolver crate" + desc = "Contains two concealable Solarian revolvers, chambered in .38." + cost = 2000 + contains = list(/obj/item/gun/ballistic/revolver/detective, + /obj/item/gun/ballistic/revolver/detective) + + + /* Energy */ @@ -87,12 +103,21 @@ /datum/supply_pack/gun/winchester name = "Winchester Lever Action Rifle Crate" desc = "Contains three antiquated lever action rifles intended for hunting wildlife. Chambered in .38 rounds." - cost = 2000 + cost = 1500 contains = list(/obj/item/gun/ballistic/shotgun/winchester, /obj/item/gun/ballistic/shotgun/winchester, /obj/item/gun/ballistic/shotgun/winchester) crate_name = "rifle crate" +/datum/supply_pack/gun/illestren + name = "Illestren Rifle Crate" + desc = "Contains three expertly made bolt action rifles intended for hunting wildlife. Chambered in 7.62x54 rounds." + cost = 4000 + contains = list(/obj/item/gun/ballistic/rifle/boltaction, + /obj/item/gun/ballistic/rifle/boltaction, + /obj/item/gun/ballistic/rifle/boltaction) + crate_name = "rifle crate" + /datum/supply_pack/gun/wt550 name = "WT-550 Auto Rifle Crate" desc = "Contains two high-powered, semiautomatic rifles chambered in 4.6x30mm." @@ -101,6 +126,22 @@ /obj/item/gun/ballistic/automatic/smg/wt550) crate_name = "auto rifle crate" +/datum/supply_pack/gun/p16 + name = "P16 Assault Rifle Crate" + desc = "Contains two high-powered, automatic rifles chambered in 5.56mm." + cost = 8000 + contains = list(/obj/item/gun/ballistic/automatic/assualt/p16, + /obj/item/gun/ballistic/automatic/assualt/p16) + crate_name = "auto rifle crate" + +/datum/supply_pack/gun/ak + name = "SVG-67 Rifle Crate" + desc = "Contains two high-powered, automatic rifles chambered in 7.62x39mm." + cost = 6000 + contains = list(/obj/item/gun/ballistic/automatic/assualt/ak47, + /obj/item/gun/ballistic/automatic/assualt/ak47) + crate_name = "auto rifle crate" + /* Firing pins */ @@ -113,22 +154,6 @@ /obj/item/storage/box/firingpins) crate_name = "firing pins crate" -/datum/supply_pack/gun/paywall_pins - name = "Paywall Firing Pins Crate" - desc = "Specialized firing pins with a built-in configurable paywall." - cost = 1500 - contains = list(/obj/item/storage/box/firingpins/paywall, - /obj/item/storage/box/firingpins/paywall) - crate_name = "paywall firing pins crate" - -/datum/supply_pack/gun/clown_pin - name = "Hilarious Firing Pin Crate" - desc = "I uh... I'm not really sure what this does. Wanna buy it?" - cost = 1500 - contains = list(/obj/item/firing_pin/clown) - crate_name = "toy crate" // It's /technically/ a toy. For the clown, at least. - crate_type = /obj/structure/closet/crate/wooden - /datum/supply_pack/gun/lasertag_pins name = "Laser Tag Firing Pins Crate" desc = "Three laser tag firing pins used in laser-tag units to ensure users are wearing their vests." diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm new file mode 100644 index 000000000000..c4608f693b80 --- /dev/null +++ b/code/modules/cargo/packs/mechs.dm @@ -0,0 +1,183 @@ +/datum/supply_pack/mech + group = "Mech and Exosuit Construction" + crate_type = /obj/structure/closet/crate/large + + +/* +Completed Suits +*/ + +/datum/supply_pack/mech/ripley + name = "Surplus APLU MK-I" + desc = "A worn cargo loader that has aged out of active use. Comes with an attachable drill." + cost = 2000 + contains = list( + /obj/mecha/working/ripley/cargo, + ) + crate_name= "APLU MK-I crate" + +/* +Build Your Own Suit +*/ + +/datum/supply_pack/mech/ripley_parts + name = "APLU construction kit" + desc = "All the chassis components you would need to make a Ripley MK-I Powerloader" + cost = 3000 + contains = list( + /obj/item/mecha_parts/chassis/ripley, + /obj/item/mecha_parts/part/ripley_torso, + /obj/item/mecha_parts/part/ripley_left_arm, + /obj/item/mecha_parts/part/ripley_right_arm, + /obj/item/mecha_parts/part/ripley_left_leg, + /obj/item/mecha_parts/part/ripley_right_leg, + /obj/item/circuitboard/mecha/ripley/peripherals, + /obj/item/circuitboard/mecha/ripley/main + ) + crate_name = "APLU construction kit" + +/datum/supply_pack/mech/odysseus_parts + name = "Odysseus construction kit" + desc = "DeForest Medical's premier solution to on the go medical treatment. Some assembly required." + cost = 5000 + contains = list( + /obj/item/mecha_parts/chassis/odysseus, + /obj/item/mecha_parts/part/odysseus_head, + /obj/item/mecha_parts/part/odysseus_torso, + /obj/item/mecha_parts/part/odysseus_left_arm, + /obj/item/mecha_parts/part/odysseus_left_arm, + /obj/item/mecha_parts/part/odysseus_right_arm, + /obj/item/mecha_parts/part/odysseus_left_leg, + /obj/item/mecha_parts/part/odysseus_right_leg, + /obj/item/circuitboard/mecha/odysseus/peripherals, + /obj/item/circuitboard/mecha/odysseus/main + ) + crate_name = "Odysseus Construction Kit" + +/datum/supply_pack/mech/gygax_parts + name = "Gygax construction kit" + desc = "An agile exosuit made famous by Nanotrasen security personnel during the ICW. Or at least the parts to it." + cost = 12000 + contains = list( + /obj/item/mecha_parts/chassis/gygax, + /obj/item/mecha_parts/part/gygax_head, + /obj/item/mecha_parts/part/gygax_torso, + /obj/item/mecha_parts/part/gygax_left_arm, + /obj/item/mecha_parts/part/gygax_right_arm, + /obj/item/mecha_parts/part/gygax_left_leg, + /obj/item/mecha_parts/part/gygax_right_leg, + /obj/item/mecha_parts/part/gygax_armor, + /obj/item/circuitboard/mecha/gygax/peripherals, + /obj/item/circuitboard/mecha/gygax/main, + /obj/item/circuitboard/mecha/gygax/targeting + ) + crate_name = "Gygax Construction Kit" + +/datum/supply_pack/mech/durand_parts + name = "Durand construction kit" + desc = "The kit to a bulky suit most frequently used by the Colonial Minutemen, older models tend to find themselves disassembled and sold off." + cost = 15000 + contains = list( + /obj/item/mecha_parts/chassis/durand, + /obj/item/mecha_parts/part/durand_head, + /obj/item/mecha_parts/part/durand_torso, + /obj/item/mecha_parts/part/durand_left_arm, + /obj/item/mecha_parts/part/durand_right_arm, + /obj/item/mecha_parts/part/durand_left_leg, + /obj/item/mecha_parts/part/durand_right_leg, + /obj/item/mecha_parts/part/durand_armor, + /obj/item/circuitboard/mecha/durand/peripherals, + /obj/item/circuitboard/mecha/durand/main, + /obj/item/circuitboard/mecha/durand/targeting + ) + crate_name = "Durand Construction Kit" + +/* +Mech Equipment +*/ + +/datum/supply_pack/mech/equipment + name = "Mech equipment crate" + crate_type = /obj/structure/closet/crate/secure/gear + crate_name = "mech equipment" + +/datum/supply_pack/mech/equipment/drill + name = "Mech drill kit" + desc = "A trio of mechanized drills" + cost = 1500 + contains = list( + /obj/item/mecha_parts/mecha_equipment/drill, + /obj/item/mecha_parts/mecha_equipment/drill, + /obj/item/mecha_parts/mecha_equipment/drill + ) + +/datum/supply_pack/mech/equipment/scanners + name = "Mech scanner kit" + desc = "A trio of electronic mining scanners, graded to interface with a mech" + cost = 1000 + contains = list( + /obj/item/mecha_parts/mecha_equipment/mining_scanner, + /obj/item/mecha_parts/mecha_equipment/mining_scanner, + /obj/item/mecha_parts/mecha_equipment/mining_scanner + ) + +/datum/supply_pack/mech/equipment/plasma_gen + name = "Mech generator kit" + desc = "A plasma-fueled generator for a mech, ideal for long operations." + cost = 1000 + contains = list( + /obj/item/mecha_parts/mecha_equipment/generator + ) + +/datum/supply_pack/mech/equipment/clamp + name = "Mech clamp kit" + desc = "Two clamps designed for mechanized freight hauling." + cost = 700 + contains = list( + /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, + /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp + ) + +/datum/supply_pack/mech/equipment/rcs + name = "Mech RCS kit" + desc = "A gas fueled RCS pack, ideal for mechanized space operation." + cost = 800 + contains = list( + /obj/item/mecha_parts/mecha_equipment/thrusters/gas + ) + +/datum/supply_pack/mech/equipment/ripley_upgrade + name = "APLU upgrade kit" + desc = "The components needed to upgrade an APLU MK-I to be spaceworthy" + cost = 1500 + contains = list( + /obj/item/mecha_parts/mecha_equipment/conversion_kit/ripley + ) + +/* +weapons +*/ + +/datum/supply_pack/mech/equipment/pka + name = "Proto-Kinetic Accelerator kit" + desc = "A ranged mining attachment for any mech." + cost = 1500 + contains = list( + /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun + ) + +/datum/supply_pack/mech/equipment/laser + name = "Immolator kit" + desc = "A light laser cannon designed for combat usage." + cost = 1000 + contains = list( + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser + ) + +/datum/supply_pack/mech/equipment/laser + name = "Solaris kit" + desc = "A heavy laser cannon designed for combat usage." + cost = 2000 + contains = list( + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy + ) diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index e5b72b4b5c4f..090041f06382 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -41,6 +41,13 @@ small_item = TRUE contains = list(/obj/item/storage/firstaid/toxin) +/datum/supply_pack/medical/firstaid_rad_single + name = "Radiation Treatment Kit Single-Pack" + desc = "Contains one first aid kit focused on reducing the damage done by radiation." + cost = 1000 + small_item = TRUE + contains = list(/obj/item/storage/firstaid/radiation) + /* Tools */ diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index e4c9a9ef4554..2afbe0e85c2f 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -15,15 +15,6 @@ crate_name = "ATV crate" crate_type = /obj/structure/closet/crate/large -/datum/supply_pack/tools/ripley - name = "Surplus APLU MK-I" - desc = "A worn cargo loader that has aged out of active use. Comes with an attachable drill." - cost = 3000 - contains = list(/obj/mecha/working/ripley/cargo, - /obj/item/mecha_parts/mecha_equipment/drill) - crate_name= "APLU MK-I crate" - crate_type = /obj/structure/closet/crate/large - /* Actual tools */ @@ -69,6 +60,17 @@ ) crate_name = "basic mining crate" +/datum/supply_pack/tools/jackhammers + name = "Jackhammer Crate" + desc = "Contains two jackhammers, ideal for breaking rocks and breaking hull." + cost = 3500 + contains = list( + /obj/item/pickaxe/drill/jackhammer, + /obj/item/pickaxe/drill/jackhammer, + ) + crate_name = "jackhammer crate" + + /datum/supply_pack/tools/metalfoam name = "Metal Foam Grenade Crate" desc = "Seal up those pesky hull breaches with 7 metal foam grenades." diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index d79eead9444f..c56710260084 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -98,7 +98,7 @@ if (!adminNamed && !specialised) //We dont want to name it ourselves if it has been specifically named by an admin using the centcom_podlauncher datum name = POD_STYLES[chosenStyle][POD_NAME] desc = POD_STYLES[chosenStyle][POD_DESC] - update_icon() + update_appearance() /obj/structure/closet/supplypod/tool_interact(obj/item/W, mob/user) if(bluespace) //We dont want to worry about interacting with bluespace pods, as they are due to delete themselves soon anyways. @@ -212,7 +212,7 @@ playsound(get_turf(holder), openingSound, soundVolume, FALSE, FALSE) //Special admin sound to play INVOKE_ASYNC(holder, .proc/setOpened) //Use the INVOKE_ASYNC proc to call setOpened() on whatever the holder may be, without giving the atom/movable base class a setOpened() proc definition if (style == STYLE_SEETHROUGH) - update_icon() + update_appearance() for (var/atom/movable/O in holder.contents) //Go through the contents of the holder O.forceMove(T) //move everything from the contents of the holder to the turf of the holder if (!effectQuiet && !openingSound && style != STYLE_SEETHROUGH) //If we aren't being quiet, play the default pod open sound @@ -254,10 +254,10 @@ handleReturningClose(holder, FALSE) /obj/structure/closet/supplypod/proc/setOpened() //Proc exists here, as well as in any atom that can assume the role of a "holder" of a supplypod. Check the open() proc for more details - update_icon() + update_appearance() /obj/structure/closet/supplypod/proc/setClosed() //Ditto - update_icon() + update_appearance() /obj/structure/closet/supplypod/Destroy() open_pod(holder = src, broken = TRUE) //Lets dump our contents by opening up @@ -351,7 +351,7 @@ addtimer(CALLBACK(src, .proc/endLaunch), pod.fallDuration, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation /obj/effect/DPtarget/proc/endLaunch() - pod.update_icon() + pod.update_appearance() pod.forceMove(drop_location()) //The fallingPod animation is over, now's a good time to forceMove the actual pod into position QDEL_NULL(fallingPod) //Delete the falling pod effect, because at this point its animation is over. We dont use temp_visual because we want to manually delete it as soon as the pod appears for (var/mob/living/M in src) //Remember earlier (initialization) when we moved mobs into the DPTarget so they wouldnt get lost in nullspace? Time to get them out diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 31cb4a7f82a1..b5ae8023bb4d 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -29,16 +29,19 @@ playsound(src,'sound/machines/synth_no.ogg',50,FALSE) if (SP_UNREADY) ready = FALSE - update_icon() + update_appearance() /obj/item/supplypod_beacon/update_overlays() . = ..() - if (launched) + if(launched) . += "sp_green" - else if (ready) + return + if(ready) . += "sp_yellow" - else if (linked) + return + if(linked) . += "sp_orange" + return /obj/item/supplypod_beacon/proc/endLaunch() launched = FALSE diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 6b1d5f097840..b12e7cdf3d00 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -283,7 +283,6 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings, listen_ooc)() /datum/verbs/menu/Settings/listen_ooc/Get_checked(client/C) return C.prefs.chat_toggles & CHAT_OOC -//BeginWS Edit TOGGLE_CHECKBOX(/datum/verbs/menu/settings, listen_looc)() set name = "Show/Hide LOOC" set category = "Preferences" @@ -294,7 +293,6 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/settings, listen_looc)() SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle Seeing LOOC", "[usr.client.prefs.chat_toggles & CHAT_LOOC ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/verbs/menu/Settings/listen_looc/Get_checked(client/C) return C.prefs.chat_toggles & CHAT_LOOC -//EndWS Edit TOGGLE_CHECKBOX(/datum/verbs/menu/Settings, chat_ghostckey)() set name = "Show/Hide ckey in deadchat" @@ -334,7 +332,7 @@ GLOBAL_LIST_INIT(ghost_forms, sortList(list("ghost","ghostking","ghostian2","ske prefs.save_preferences() if(isobserver(mob)) var/mob/dead/observer/O = mob - O.update_icon(new_form) + O.update_icon(ALL, new_form) GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOST_ORBIT_SQUARE,GHOST_ORBIT_HEXAGON,GHOST_ORBIT_PENTAGON)) @@ -363,7 +361,7 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.save_preferences() if(isobserver(mob)) var/mob/dead/observer/O = mob - O.update_icon() + O.update_appearance() /client/verb/pick_ghost_customization() set name = "Ghost Customization" diff --git a/code/modules/client/verbs/looc.dm b/code/modules/client/verbs/looc.dm index f9aba25c97e7..47d4e0e82aec 100644 --- a/code/modules/client/verbs/looc.dm +++ b/code/modules/client/verbs/looc.dm @@ -7,70 +7,112 @@ GLOBAL_VAR_INIT(normal_looc_colour, "#6699CC") set category = "OOC" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, " Speech is currently admin-disabled.") + to_chat(usr, span_danger("Speech is currently admin-disabled")) return if(!mob) return + if(!holder) + if(!GLOB.looc_allowed) + to_chat(src, span_danger("LOOC is globally muted.")) + return + if(prefs.muted & MUTE_OOC) + to_chat(src, span_danger("You cannot use LOOC (muted).")) + return + if(is_banned_from(ckey, "OOC")) + to_chat(src, span_danger("You have been banned from OOC.")) + return + if(QDELETED(src)) + return + msg = copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN) + var/raw_msg = msg + if(!msg) return - if(!(prefs.toggles & CHAT_OOC)) - to_chat(src, " You have OOC muted.") - return - if(is_banned_from(ckey, "OOC")) - to_chat(src, "You have been banned from OOC.") - return + msg = emoji_parse(msg) - if(!holder) - if(!GLOB.looc_allowed) - to_chat(src, " LOOC is globally muted") - return - if(prefs.muted & MUTE_OOC) - to_chat(src, " You cannot use OOC (muted).") + if((msg[1] in list(".",";",":","#")) || findtext_char(msg, "say", 1, 5)) + if(alert("Your message \"[raw_msg]\" looks like it was meant for in game communication, say it in LOOC?", "Meant for LOOC?", "Yes", "No") != "Yes") return + + if(!holder) if(handle_spam_prevention(msg,MUTE_OOC)) return if(findtext(msg, "byond://")) - to_chat(src, "Advertising other servers is not allowed.") + to_chat(src, span_bold("Advertising other servers is not allowed.")) log_admin("[key_name(src)] has attempted to advertise in LOOC: [msg]") + message_admins("[key_name_admin(src)] has attempted to advertise in LOOC: [msg]") return if(mob.stat) - to_chat(src, "You cannot salt in LOOC while unconscious or dead.") + to_chat(src, span_danger("You cannot use LOOC while unconscious or dead.")) return if(istype(mob, /mob/dead)) - to_chat(src, "You cannot use LOOC while ghosting.") + to_chat(src, span_danger("You cannot use LOOC while ghosting.")) return - msg = emoji_parse(msg) + if(!(prefs.chat_toggles & CHAT_LOOC)) + to_chat(src, span_danger("You have OOC muted.")) + return - mob.log_talk(msg,LOG_OOC, tag="(LOOC)") + mob.log_talk(raw_msg, LOG_LOOC, tag = "(LOOC)") var/list/heard = get_hearers_in_view(7, get_top_level_mob(src.mob)) for(var/mob/M in heard) if(!M.client) continue var/client/C = M.client - if (C in GLOB.admins) - continue //they are handled after that - if (isobserver(M)) - continue //Also handled later. + if(key in C.prefs.ignoring) + continue + + if(holder?.fakekey in C.prefs.ignoring) + continue + + if(!(C.prefs.chat_toggles & CHAT_LOOC)) + continue + + //Handled before admins so that they see this if they're in range anyways + if(C.prefs.chat_on_map && mob.invisibility <= M.see_invisible) + M.create_chat_message(mob, null, "\[LOOC: [raw_msg]\]", null, LOOC_MESSAGE) + + if(C in GLOB.admins) + continue //handled in the next loop - if(C.prefs.toggles & CHAT_OOC) - if(GLOB.LOOC_COLOR) - to_chat(C, "LOOC: [src.mob.name]: [msg]") - else - to_chat(C, "LOOC: [src.mob.name]: [msg]") + if(GLOB.LOOC_COLOR) + to_chat(C, "LOOC: [src.mob.name]: [msg]", MESSAGE_TYPE_LOOC) + else + to_chat(C, "LOOC: [src.mob.name]: [msg]", MESSAGE_TYPE_LOOC) for(var/client/C in GLOB.admins) - if(C.prefs.toggles & CHAT_OOC) - var/prefix = "(R)LOOC" - if (C.mob in heard) - prefix = "LOOC" - if(GLOB.LOOC_COLOR) - to_chat(C, "[ADMIN_FLW(usr)] [prefix]: [src.key]/[src.mob.name]: [msg]") - else - to_chat(C, "[ADMIN_FLW(usr)] [prefix]: [src.key]/[src.mob.name]: [msg]") + if(key in C.prefs.ignoring) + continue + + if(holder?.fakekey in C.prefs.ignoring) + continue + + if(!(C.prefs.chat_toggles & CHAT_LOOC)) + continue + + var/prefix = "(R)LOOC" + if (C.mob in heard) + prefix = "LOOC" + if(GLOB.LOOC_COLOR) + to_chat(C, "[ADMIN_FLW(usr)] [prefix]: [src.key]/[src.mob.name]: [msg]", MESSAGE_TYPE_LOOC) + else + to_chat(C, "[ADMIN_FLW(usr)] [prefix]: [src.key]/[src.mob.name]: [msg]", MESSAGE_TYPE_LOOC) + +/proc/toggle_looc(toggle = null) + if(toggle == null) + GLOB.looc_allowed = !GLOB.looc_allowed + return + if(toggle != GLOB.looc_allowed) + GLOB.looc_allowed = toggle + +/client/proc/set_looc(newColor as color) + set name = "Set Player LOOC Color" + set desc = "Modifies player LOOC Color" + set category = "Server" + GLOB.LOOC_COLOR = sanitize_ooccolor(newColor) diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index d31534636ca3..ea626f397e58 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -69,23 +69,23 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(holder) if(!holder.fakekey || C.holder) if(check_rights_for(src, R_ADMIN)) - to_chat(C, "[CONFIG_GET(flag/allow_admin_ooccolor) && prefs.ooccolor ? "" :"" ]OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") + to_chat(C, "[CONFIG_GET(flag/allow_admin_ooccolor) && prefs.ooccolor ? "" :"" ]OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]", MESSAGE_TYPE_OOC) else - to_chat(C, "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") + to_chat(C, "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]", MESSAGE_TYPE_OOC) else if(GLOB.OOC_COLOR) - to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") + to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]", MESSAGE_TYPE_OOC) else - to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") + to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]", MESSAGE_TYPE_OOC) else if(!(key in C.prefs.ignoring)) if(GLOB.OOC_COLOR) if(check_mentor()) - to_chat(C, "OOC: [keyname]: [msg]") + to_chat(C, "OOC: [keyname]: [msg]", MESSAGE_TYPE_OOC) else - to_chat(C, "OOC: [keyname]: [msg]") + to_chat(C, "OOC: [keyname]: [msg]", MESSAGE_TYPE_OOC) else - to_chat(C, "OOC: [keyname]: [msg]") + to_chat(C, "OOC: [keyname]: [msg]", MESSAGE_TYPE_OOC) /proc/toggle_ooc(toggle = null) if(toggle != null) //if we're specifically en/disabling ooc @@ -97,17 +97,6 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") GLOB.ooc_allowed = !GLOB.ooc_allowed to_chat(world, "The OOC channel has been globally [GLOB.ooc_allowed ? "enabled" : "disabled"].") -//BeginWS Edit -/proc/toggle_looc(toggle = null) - if(toggle != null) - if(toggle != GLOB.looc_allowed) - GLOB.looc_allowed = toggle - else - return - else - GLOB.looc_allowed = !GLOB.looc_allowed -//EndWS Edit - /proc/toggle_dooc(toggle = null) if(toggle != null) if(toggle != GLOB.dooc_allowed) @@ -153,8 +142,8 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(!is_content_unlocked()) return - prefs.ooccolor = initial(prefs.ooccolor) - prefs.save_preferences() + prefs.ooccolor = initial(prefs.ooccolor) + prefs.save_preferences() //Checks admin notice /client/verb/admin_notice() diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 1b10fb109c40..f8ee83b60b0c 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -278,7 +278,7 @@ var/obj/item/pda/agent_pda = target if(istype(agent_pda)) agent_pda.update_label() - agent_pda.update_icon() + agent_pda.update_appearance() /datum/action/item_action/chameleon/change/pda/apply_job_data(datum/job/job_datum) ..() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 9c70b89c2924..9a5ad91cef0e 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -262,18 +262,19 @@ /obj/item/clothing/update_overlays() . = ..() - if(damaged_clothes) - var/index = "[REF(initial(icon))]-[initial(icon_state)]" - var/static/list/damaged_clothes_icons = list() - var/icon/damaged_clothes_icon = damaged_clothes_icons[index] - if(!damaged_clothes_icon) - damaged_clothes_icon = icon(initial(icon), initial(icon_state), , 1) //we only want to apply damaged effect to the initial icon_state for each object - damaged_clothes_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) - damaged_clothes_icon.Blend(icon('icons/effects/item_damage.dmi', "itemdamaged"), ICON_MULTIPLY) //adds damage effect and the remaining white areas become transparant - damaged_clothes_icon = fcopy_rsc(damaged_clothes_icon) - damaged_clothes_icons[index] = damaged_clothes_icon - . += damaged_clothes_icon + if(!damaged_clothes) + return + var/index = "[REF(initial(icon))]-[initial(icon_state)]" + var/static/list/damaged_clothes_icons = list() + var/icon/damaged_clothes_icon = damaged_clothes_icons[index] + if(!damaged_clothes_icon) + damaged_clothes_icon = icon(initial(icon), initial(icon_state), , 1) //we only want to apply damaged effect to the initial icon_state for each object + damaged_clothes_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) + damaged_clothes_icon.Blend(icon('icons/effects/item_damage.dmi', "itemdamaged"), ICON_MULTIPLY) //adds damage effect and the remaining white areas become transparant + damaged_clothes_icon = fcopy_rsc(damaged_clothes_icon) + damaged_clothes_icons[index] = damaged_clothes_icon + . += damaged_clothes_icon /* * SEE_SELF // can see self, no matter what * SEE_MOBS // can see all mobs, no matter what diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 778ab19c266c..a94a18bce614 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -329,11 +329,12 @@ /obj/item/clothing/glasses/blindfold/white/visual_equipped(mob/living/carbon/human/user, slot) if(ishuman(user) && slot == ITEM_SLOT_EYES) - update_icon(user) + update_icon(ALL, user) user.update_inv_glasses() //Color might have been changed by update_icon. ..() -/obj/item/clothing/glasses/blindfold/white/update_icon(mob/living/carbon/human/user) +/obj/item/clothing/glasses/blindfold/white/update_icon(updates = ALL, mob/living/carbon/human/user) + . = ..() if(ishuman(user) && !colored_before) add_atom_colour("#[user.eye_color]", FIXED_COLOUR_PRIORITY) colored_before = TRUE diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index db7611262a96..05ec517c4afc 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -25,7 +25,7 @@ /obj/item/clothing/glasses/meson/engine/Initialize() . = ..() START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/clothing/glasses/meson/engine/ComponentInitialize() . = ..() @@ -66,7 +66,7 @@ if(H.glasses == src) H.update_sight() - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() @@ -133,6 +133,7 @@ /obj/item/clothing/glasses/meson/engine/update_icon_state() icon_state = item_state = "trayson-[mode]" + return ..() /obj/item/clothing/glasses/meson/engine/tray //atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves name = "optical t-ray scanner" diff --git a/code/modules/clothing/head/berets.dm b/code/modules/clothing/head/berets.dm index 2612bc533b53..0e0d04b40f07 100644 --- a/code/modules/clothing/head/berets.dm +++ b/code/modules/clothing/head/berets.dm @@ -227,6 +227,13 @@ icon_state = "inteq_beret" item_state = "inteq_beret" +/obj/item/clothing/head/beret/sec/hos/inteq/honorable + name = "honorable vanguard beret" + desc = "A snow white beret with an air of distinction around it, emblazoned with the golden shield of the IRMG as the badge." + icon_state = "inteq_honorable_beret" + item_state = "inteq_honorable_beret" + armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + /obj/item/clothing/head/beret/sec/frontier name = "\improper Frontiersmen beret" desc = "A scratchy olive green beret, worn by Frontiersmen who want to look good while intimidating freighter crew." diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 6cfbbd0921a8..7885e4636823 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -46,7 +46,7 @@ turn_on(user) else turn_off(user) - update_icon() + update_appearance() /obj/item/clothing/head/hardhat/update_icon_state() if(on) @@ -55,6 +55,7 @@ else icon_state = "[initial(icon_state)]" item_state = "[initial(icon_state)]" + return ..() /obj/item/clothing/head/hardhat/proc/turn_on(mob/user) set_light_on(TRUE) @@ -158,7 +159,7 @@ /obj/item/clothing/head/hardhat/weldhat/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/clothing/head/hardhat/weldhat/attack_self(mob/living/user) toggle_helmet_light(user) @@ -170,7 +171,7 @@ /obj/item/clothing/head/hardhat/weldhat/proc/toggle_welding_screen(mob/living/user) if(weldingvisortoggle(user)) playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing - update_icon() + update_appearance() /obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands) . = ..() diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 8a1b48b49c58..35960c36bbab 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -47,7 +47,7 @@ if(A == attached_light) set_attached_light(null) update_helmlight() - update_icon() + update_appearance() QDEL_NULL(action_light) qdel(A) return ..() @@ -105,7 +105,7 @@ return to_chat(user, "You click [attaching_seclite] into place on [src].") set_attached_light(attaching_seclite) - update_icon() + update_appearance() update_helmlight() action_light = new(src) if(loc == user) @@ -125,7 +125,7 @@ var/obj/item/flashlight/removed_light = set_attached_light(null) update_helmlight() removed_light.update_brightness(user) - update_icon() + update_appearance() user.update_inv_head() QDEL_NULL(action_light) return TRUE @@ -150,7 +150,7 @@ /obj/item/clothing/head/helmet/proc/update_helmlight() if(attached_light) - update_icon() + update_appearance() for(var/datum/action/action as anything in actions) action.UpdateButtonIcon() @@ -229,7 +229,7 @@ /obj/item/clothing/head/helmet/marine/Initialize(mapload) set_attached_light(new /obj/item/flashlight/seclite) update_helmlight() - update_icon() + update_appearance() . = ..() /obj/item/clothing/head/helmet/marine/security diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 43de2185bc31..5507e8049698 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -482,6 +482,15 @@ icon_state = "inteqheadband" item_state = "inteqheadband" +/obj/item/clothing/head/inteq_peaked + name = "inteq peaked cap" + desc = "A peaked cap for Vanguards with a commanding authority, emblazoned with the golden badge of the IRMG." + icon_state = "inteq_peaked" + item_state = "inteq_peaked" + flags_inv = 0 + armor = list("melee" = 40, "bullet" = 30, "laser" = 25, "energy" = 35, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 60) + strip_delay = 60 + /obj/item/clothing/head/maidheadband name = "maid headband" desc = "Just like from one of those chinese cartoons!" @@ -501,3 +510,8 @@ desc = "You feel ashamed about what you had to do to get this hat" icon_state = "cowboy" item_state = "cowboy" + +/obj/item/clothing/head/solgov_surgery + name = "SolGov surgery cap" + desc = "It's a surgery cap utilized by solarian doctors." + icon_state = "solgov_surgery" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 795a06443f4e..94cd299b3cc0 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -173,11 +173,12 @@ /obj/item/clothing/head/kitty/visual_equipped(mob/living/carbon/human/user, slot) if(ishuman(user) && slot == ITEM_SLOT_HEAD) - update_icon(user) + update_icon(ALL, user) user.update_inv_head() //Color might have been changed by update_icon. ..() -/obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user) +/obj/item/clothing/head/kitty/update_icon(updates=ALL, mob/living/carbon/human/user) + . = ..() if(ishuman(user)) add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) @@ -232,7 +233,7 @@ /obj/item/clothing/head/wig/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/item/clothing/head/wig/update_icon_state() var/datum/sprite_accessory/S = GLOB.hairstyles_list[hairstyle] @@ -242,6 +243,7 @@ else icon = S.icon icon_state = S.icon_state + return ..() /obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, file2use) . = list() @@ -264,7 +266,7 @@ user.visible_message("[user] changes \the [src]'s hairstyle to [new_style].", "You change \the [src]'s hairstyle to [new_style].") if(newcolor && newcolor != color) // only update if necessary add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() /obj/item/clothing/head/wig/afterattack(mob/living/carbon/human/target, mob/user) . = ..() @@ -272,7 +274,7 @@ to_chat(user, "You adjust the [src] to look just like [target.name]'s [target.hairstyle].") add_atom_colour("#[target.hair_color]", FIXED_COLOUR_PRIORITY) hairstyle = target.hairstyle - update_icon() + update_appearance() /obj/item/clothing/head/wig/random/Initialize(mapload) hairstyle = pick(GLOB.hairstyles_list - "Bald") //Don't want invisible wig @@ -295,7 +297,7 @@ if(ishuman(user) && slot == ITEM_SLOT_HEAD) if (color != "#[user.hair_color]") // only update if necessary add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() user.update_inv_head() /obj/item/clothing/head/bronze diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 96f5d8d7737b..dd689223380c 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -136,13 +136,6 @@ soft_type = "paramedic" dog_fashion = null -/obj/item/clothing/head/soft/solgov - name = "SolGov surgery cap" - desc = "It's a surgery cap utilized by solarian doctors." - icon_state = "solgov_surgery" - soft_type = "solgov_surgery" - dog_fashion = null - /obj/item/clothing/head/soft/cybersun name = "cybersun medic cap" desc = "A turquoise baseball hat emblazoned with a reflective cross. Typical of Cybersun Industries field medics." diff --git a/code/modules/clothing/outfits/solgov.dm b/code/modules/clothing/outfits/solgov.dm index 94024240e308..56addfb34813 100644 --- a/code/modules/clothing/outfits/solgov.dm +++ b/code/modules/clothing/outfits/solgov.dm @@ -126,7 +126,7 @@ uniform = /obj/item/clothing/under/solgov/formal accessory = /obj/item/clothing/accessory/armband/medblue shoes = /obj/item/clothing/shoes/laceup - head = /obj/item/clothing/head/soft/solgov + head = /obj/item/clothing/head/solgov_surgery suit = /obj/item/clothing/suit/solgov/jacket l_hand = /obj/item/storage/firstaid/medical diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 2fba27020e62..6fdeb20b53e1 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -149,31 +149,6 @@ W.registered_name = H.real_name W.update_label() -/datum/outfit/tunnel_clown - name = "Tunnel Clown" - - uniform = /obj/item/clothing/under/rank/civilian/clown - shoes = /obj/item/clothing/shoes/clown_shoes - gloves = /obj/item/clothing/gloves/color/black - mask = /obj/item/clothing/mask/gas/clown_hat - ears = /obj/item/radio/headset - glasses = /obj/item/clothing/glasses/thermal/monocle - suit = /obj/item/clothing/suit/hooded/chaplain_hoodie - l_pocket = /obj/item/reagent_containers/food/snacks/grown/banana - r_pocket = /obj/item/bikehorn - id = /obj/item/card/id - r_hand = /obj/item/fireaxe - -/datum/outfit/tunnel_clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access = get_all_accesses() - W.assignment = "Tunnel Clown!" - W.registered_name = H.real_name - W.update_label() - /datum/outfit/assassin name = "Assassin" @@ -462,3 +437,26 @@ backpack_contents = list( /obj/item/gun/energy/e_gun/adv_stopping = 1 ) + +/datum/outfit/job/hos/inteq_honorable + name = "Inteq Honorable vanguard" + head = /obj/item/clothing/head/beret/sec/hos/inteq/honorable + uniform = /obj/item/clothing/under/syndicate/inteq/honorable + suit = /obj/item/clothing/suit/armor/hos/inteq/honorable + mask = /obj/item/clothing/mask/gas/sechailer/inteq + gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat + ears = /obj/item/radio/headset/inteq/alt + belt = /obj/item/storage/belt/military/assault + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq + +/datum/outfit/job/hos/inteq_honorable/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(visualsOnly) + return + + var/obj/item/card/id/W = H.wear_id + W.access = get_all_accesses() + W.assignment = "Honorable Vanguard" + W.registered_name = H.real_name + W.update_label() + ..() diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index 28bbd8b969d7..a09ea07a3250 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -28,7 +28,7 @@ on = !on if(!always_noslip) clothing_flags &= ~NOSLIP - update_icon() + update_appearance() to_chat(loc, "You ran out of bananium!") else new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(wearer.dir, 180))) //honk @@ -50,7 +50,7 @@ var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) if(bananium.get_material_amount(/datum/material/bananium)) on = !on - update_icon() + update_appearance() to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") if(!always_noslip) if(on) @@ -65,3 +65,4 @@ icon_state = "clown_prototype_on" else icon_state = "clown_prototype_off" + return ..() diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 9946d67b859e..1cdcec95d05f 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -334,6 +334,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon_state() icon_state = "hardsuit[on]-[hardsuit_type]" + return ..() /obj/item/clothing/head/helmet/space/hardsuit/syndi/Initialize() . = ..() @@ -369,7 +370,7 @@ else flags_cover &= ~(HEADCOVERSMOUTH) flags_inv &= ~visor_flags_inv - update_icon() + update_appearance() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) toggle_hardsuit_mode(user) user.update_inv_head() @@ -398,7 +399,7 @@ linkedsuit.flags_inv &= ~(HIDEGLOVES | HIDESHOES | HIDEJUMPSUIT) linkedsuit.icon_state = "hardsuit[on]-[hardsuit_type]" - linkedsuit.update_icon() + linkedsuit.update_appearance() user.update_inv_wear_suit() user.update_inv_w_uniform() user.update_equipment_speed_mods() @@ -986,7 +987,7 @@ turn_on(user) else turn_off(user) - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/light/update_icon_state() if(on) @@ -995,6 +996,7 @@ else icon_state = "[initial(icon_state)]" item_state = "[initial(icon_state)]" + return ..() /obj/item/clothing/head/helmet/space/light/proc/turn_on(mob/user) set_light_on(TRUE) @@ -1118,6 +1120,7 @@ /obj/item/clothing/head/helmet/space/pilot/update_icon_state() icon_state = "space-pilot-[skin][up]" + return ..() /obj/item/clothing/head/helmet/space/pilot/New() ..() @@ -1167,7 +1170,7 @@ flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) flags_inv &= ~visor_flags_inv cold_protection &= ~HEAD - update_icon() + update_appearance() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) user.update_inv_head() if(iscarbon(user)) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 74b9161c521f..e6e15c51aecc 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -71,7 +71,7 @@ /obj/item/clothing/head/helmet/space/plasmaman/Initialize() . = ..() visor_toggling() - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/plasmaman/AltClick(mob/user) if(user.canUseTopic(src, BE_CLOSE)) @@ -83,10 +83,10 @@ to_chat(user, "Your helmet's torch can't pass through your welding visor!") helmet_on = FALSE playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing - update_icon() + update_appearance() else playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/plasmaman/update_overlays() . = ..() @@ -102,7 +102,7 @@ smile = TRUE smile_color = CR.paint_color to_chat(user, "You draw a smiley on the helmet visor.") - update_icon() + update_appearance() else to_chat(user, "Seems like someone already drew something on this helmet's visor!") @@ -121,7 +121,7 @@ . = ..() if(smile && (clean_types & CLEAN_TYPE_PAINT)) smile = FALSE - update_icon() + update_appearance() return TRUE /obj/item/clothing/head/helmet/space/plasmaman/attack_self(mob/user) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index cb35c4090bd8..4692811baecf 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -341,6 +341,14 @@ item_state = "inteq_battlecoat" supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION | KEPORI_VARIATION +/obj/item/clothing/suit/armor/hos/inteq/honorable //Basically CC higherup clothing for inteq + name = "honorable vanguard battlecoat" + desc = "A sleek black coat with snow white fur trims made to order for honorable vanguards of the IRMG, It feels even tougher than the typical battlecoat." + icon_state = "armor_inteq_honorable_battlecoat" + item_state = "inteq_honorable_battlecoat" + armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | KEPORI_VARIATION + /obj/item/clothing/suit/armor/inteq/corpsman name = "inteq corpsman vest" desc = "A shortened brown labcoat with an armor vest under it, for the IRMG's support division Corpsmen." diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm index 77f1f9cccae4..82e4d86bc3d3 100644 --- a/code/modules/clothing/suits/hoodies.dm +++ b/code/modules/clothing/suits/hoodies.dm @@ -13,6 +13,7 @@ /obj/item/radio, ) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/hooded/hood/ name = "hood" @@ -20,6 +21,7 @@ body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEEARS armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/hooded/hoodie/black name = "black hoodie" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 0d0a9baece0a..c1ae9679effb 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -222,6 +222,9 @@ uplink_type = /obj/item/uplink/nuclear uplink_slot = ITEM_SLOT_BELT +//INTEQ +//maybe split it into it's own file? + /obj/item/clothing/under/syndicate/inteq name = "inteq turtleneck" desc = "A rich brown turtleneck with black pants, it has a small 'IRMG' embroidered onto the shoulder." @@ -281,3 +284,10 @@ . = ..() var/obj/item/clothing/accessory/maidapron/inteq/A = new (src) attach_accessory(A) + +/obj/item/clothing/under/syndicate/inteq/honorable + name = "honorable vanguard turtleneck" + desc = "a midnight black turtleneck worn by honorable Vanguards of the IRMG." + icon_state = "inteq_honorable" + item_state = "inteq_honorable" + supports_variations = KEPORI_VARIATION | DIGITIGRADE_VARIATION diff --git a/code/modules/disks/disk.dm b/code/modules/disks/disk.dm index 9d2f4aac8232..f3d9939becfe 100644 --- a/code/modules/disks/disk.dm +++ b/code/modules/disks/disk.dm @@ -32,7 +32,7 @@ add_atom_colour(random_disk_colors[our_color], FIXED_COLOUR_PRIORITY) else add_atom_colour(color, FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() update_overlays() /obj/item/disk/update_overlays() diff --git a/code/modules/donator/_donator.dm b/code/modules/donator/_donator.dm index ee596645d7ca..02631ee8ea28 100644 --- a/code/modules/donator/_donator.dm +++ b/code/modules/donator/_donator.dm @@ -290,7 +290,7 @@ GLOBAL_PROTECT(donators) reward.icon = initial(reward.icon) reward.icon_state = reskin_target - reward.update_icon() + reward.update_appearance() return TRUE if(REWARD_CONV) diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm index 5adb1fe27f93..8e3fe9b0a94a 100644 --- a/code/modules/events/prison_break.dm +++ b/code/modules/events/prison_break.dm @@ -47,7 +47,7 @@ if(istype(O, /obj/structure/closet/secure_closet)) var/obj/structure/closet/secure_closet/temp = O temp.locked = FALSE - temp.update_icon() + temp.update_appearance() else if(istype(O, /obj/machinery/door/airlock)) var/obj/machinery/door/airlock/temp = O if(temp.critical_machine) //Skip doors in critical positions, such as the SM chamber. diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm index 905de941d211..4c740ad924ae 100644 --- a/code/modules/events/stray_cargo.dm +++ b/code/modules/events/stray_cargo.dm @@ -49,7 +49,7 @@ var/datum/supply_pack/SP = new pack_type var/obj/structure/closet/crate/crate = SP.generate(null) crate.locked = FALSE //Unlock secure crates - crate.update_icon() + crate.update_appearance() var/obj/structure/closet/supplypod/pod = make_pod() new /obj/effect/DPtarget(LZ, pod, crate) diff --git a/code/modules/fishing/fishing_portal_machine.dm b/code/modules/fishing/fishing_portal_machine.dm index d85565ced0bb..0cbeae7c3dac 100644 --- a/code/modules/fishing/fishing_portal_machine.dm +++ b/code/modules/fishing/fishing_portal_machine.dm @@ -36,12 +36,12 @@ /obj/machinery/fishing_portal_generator/proc/activate() active = AddComponent(/datum/component/fishing_spot, fishing_source) use_power = ACTIVE_POWER_USE - update_icon() + update_appearance() /obj/machinery/fishing_portal_generator/proc/deactivate() QDEL_NULL(active) use_power = IDLE_POWER_USE - update_icon() + update_appearance() /obj/machinery/fishing_portal_generator/on_set_is_operational(old_value) if(old_value) diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index 08b71999d548..1c4c0aa5377f 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -54,7 +54,7 @@ /obj/item/fishing_rod/proc/consume_bait() if(bait) QDEL_NULL(bait) - update_icon() + update_appearance() /obj/item/fishing_rod/attack_self(mob/user) if(currently_hooked_item) @@ -303,7 +303,7 @@ // Trying to remove the item if(!new_item && current_item) user.put_in_hands(current_item) - update_icon() + update_appearance() return // Trying to insert item into empty slot if(new_item && !current_item) @@ -317,7 +317,7 @@ hook = new_item if(ROD_SLOT_LINE) line = new_item - update_icon() + update_appearance() /// Trying to swap item if(new_item && current_item) if(!slot_check(new_item,slot)) @@ -331,7 +331,7 @@ if(ROD_SLOT_LINE) line = new_item user.put_in_hands(current_item) - update_icon() + update_appearance() /obj/item/fishing_rod/Exited(atom/movable/gone, direction) @@ -361,7 +361,7 @@ . = ..() var/obj/item/reagent_containers/food/snacks/bait/doughball/synthetic/infinite_supply_of_bait = new(src) bait = infinite_supply_of_bait - update_icon() + update_appearance() /obj/item/fishing_rod/tech/consume_bait() return diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index b15b71ee6c15..7c604a15c22b 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -126,7 +126,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(target.client) target.client.images |= current_image -/obj/effect/hallucination/simple/update_icon(new_state,new_icon,new_px=0,new_py=0) +/obj/effect/hallucination/simple/update_icon(updates=ALL, new_state,new_icon,new_px=0,new_py=0) image_state = new_state if(new_icon) image_icon = new_icon @@ -134,6 +134,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( image_icon = initial(image_icon) px = new_px py = new_py + . = ..() Show() /obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 57849b9c43b1..d9098da4b410 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -344,7 +344,7 @@ list_reagents = list(random_reagent.type = 50) . = ..() desc += "The writing reads '[random_reagent.name]'." - update_icon() + update_appearance() /obj/item/reagent_containers/food/drinks/beer name = "space beer" diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 88c743afd278..65c3ac05dd5b 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -661,7 +661,7 @@ /obj/item/storage/bottles/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/storage/bottles/ComponentInitialize() . = ..() @@ -681,6 +681,7 @@ icon_state = "[initial(icon_state)]_seal" else icon_state = "[initial(icon_state)]_[contents.len]" + return ..() /obj/item/storage/bottles/examine(mob/user) . = ..() @@ -696,7 +697,7 @@ sealed = FALSE S.locked = FALSE new /obj/item/stack/sheet/mineral/wood(get_turf(src), 1) - update_icon() + update_appearance() return TRUE /obj/item/storage/bottles/sandblast diff --git a/code/modules/food_and_drinks/drinks/drinks/modglass.dm b/code/modules/food_and_drinks/drinks/drinks/modglass.dm index 8d519ac2e11e..01ec56b6ca86 100644 --- a/code/modules/food_and_drinks/drinks/drinks/modglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/modglass.dm @@ -82,7 +82,7 @@ GLOBAL_LIST_EMPTY(glass_variants) if(!choice || choice == icon_state) return icon_state = choice - update_icon() + update_appearance() //if the object is a garnish, with a valid garnish_state, and there isnt already a garnish of the same type, add it to the list at the index of its layer /obj/item/reagent_containers/food/drinks/modglass/attackby(obj/item/garnish/garnish, mob/user, params) @@ -94,13 +94,13 @@ GLOBAL_LIST_EMPTY(glass_variants) to_chat(user, "Theres already something on this part of the glass!") return ..() garnishes["[garnish.garnish_layer]"] = garnish.garnish_state - update_icon() + update_appearance() qdel(garnish) //clear garnishes on wash /obj/item/reagent_containers/food/drinks/modglass/wash(clean_types) garnishes = list() - update_icon() + update_appearance() /** * for each layer a garnish can be on, if there is a garnish in that layers index, apply a mutable appearance of its type and our rim size diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 0326ffb96555..b1b53adff787 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -40,7 +40,7 @@ . = ..() possible_states = typelist("possible_states", possible_states) - update_icon() + update_appearance() /obj/item/reagent_containers/food/condiment/update_icon() cut_overlays() @@ -120,7 +120,7 @@ playsound(src, 'sound/items/glass_transfer.ogg', 50, 1) /obj/item/reagent_containers/food/condiment/on_reagent_change(changetype) - update_icon() + update_appearance() /obj/item/reagent_containers/food/condiment/enzyme name = "universal enzyme" @@ -235,7 +235,8 @@ ) /obj/item/reagent_containers/food/condiment/pack/update_icon() - return + SHOULD_CALL_PARENT(FALSE) + return ..() /obj/item/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. return diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index e17257a6505b..465b7939c0b7 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -325,11 +325,12 @@ /obj/item/reagent_containers/glass/bowl/on_reagent_change(changetype) ..() - update_icon() + update_appearance() /obj/item/reagent_containers/glass/bowl/update_icon_state() if(!reagents || !reagents.total_volume) icon_state = "bowl" + return ..() /obj/item/reagent_containers/glass/bowl/update_overlays() . = ..() diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index ce0aef118ce1..95ef84ae5cb7 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -222,14 +222,14 @@ /obj/item/reagent_containers/food/snacks/popsicle/update_overlays() . = ..() - if(bitecount) - . += "[initial(overlay_state)]_[min(bitecount, 3)]" - else + if(!bitecount) . += initial(overlay_state) + return + . += "[initial(overlay_state)]_[min(bitecount, 3)]" /obj/item/reagent_containers/food/snacks/popsicle/On_Consume(mob/living/eater) . = ..() - update_icon() + update_appearance() /obj/item/popsicle_stick name = "popsicle stick" diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index e27e92e402af..6cedb2a98142 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -769,15 +769,22 @@ /obj/item/reagent_containers/food/snacks/pancakes/Initialize() . = ..() - update_icon() + update_appearance() + +/obj/item/food/pancakes/update_name() + name = contents.len ? "stack of pancakes" : initial(name) + return ..() + +/obj/item/food/pancakes/update_icon(updates=ALL) + if(!(updates & UPDATE_OVERLAYS)) + return ..() + + updates &= ~UPDATE_OVERLAYS + . = ..() // Don't update overlays. We're doing that here -/obj/item/reagent_containers/food/snacks/pancakes/update_icon() - if(contents.len) - name = "stack of pancakes" - else - name = initial(name) if(contents.len < LAZYLEN(overlays)) - overlays-=overlays[overlays.len] + overlays -= overlays[overlays.len] + . |= UPDATE_OVERLAYS /obj/item/reagent_containers/food/snacks/pancakes/examine(mob/user) var/ingredients_listed = "" @@ -835,14 +842,14 @@ pancake.pixel_x = rand(-1,1) pancake.pixel_y = 3 * contents.len - 1 add_overlay(pancake) - update_icon() + update_appearance() /obj/item/reagent_containers/food/snacks/pancakes/attack(mob/M, mob/user, def_zone, stacked = TRUE) if(user.a_intent == INTENT_HARM || !contents.len || !stacked) return ..() var/obj/item/O = contents[contents.len] . = O.attack(M, user, def_zone, FALSE) - update_icon() + update_appearance() #undef PANCAKE_MAX_STACK diff --git a/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm b/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm index 89af54550e7f..b0d91d370ab1 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm @@ -71,7 +71,7 @@ for(var/obj/target_item as anything in contents) target_item.forceMove(get_turf(src)) - update_icon() + update_appearance() /obj/item/cutting_board/wrench_act(mob/living/user, obj/item/I) . = ..() @@ -102,7 +102,7 @@ processed_thing.reagents.copy_to(new_food_item, processed_thing.reagents.total_volume)//, multiplier = 1 / food_multiplier) qdel(processed_thing) - update_icon() + update_appearance() /obj/item/cutting_board/attackby(obj/item/attacking_item, mob/living/user, params) if(user.a_intent == INTENT_HARM) @@ -135,7 +135,7 @@ attacking_item.forceMove(src) balloon_alert(user, "placed [attacking_item] on board") - update_icon() + update_appearance() return //if(IS_EDIBLE(attacking_item)) //We may have failed but the user wants some feedback on why they can't put x food item on the board diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index cd0f59140894..3a7c7245955c 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -99,7 +99,7 @@ user.visible_message("[user] stuffs [C] into the gibber!") C.forceMove(src) occupant = C - update_icon() + update_appearance() else startgibbing(user) @@ -133,7 +133,7 @@ /obj/machinery/gibber/proc/go_out() dropContents() - update_icon() + update_appearance() /obj/machinery/gibber/proc/startgibbing(mob/user) if(src.operating) @@ -145,7 +145,7 @@ audible_message("You hear a loud squelchy grinding sound.") playsound(src.loc, 'sound/machines/juicer.ogg', 50, TRUE) operating = TRUE - update_icon() + update_appearance() var/offset = prob(50) ? -2 : 2 animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking @@ -221,7 +221,7 @@ pixel_x = base_pixel_x //return to its spot after shaking operating = FALSE - update_icon() + update_appearance() //auto-gibs anything that bumps into it /obj/machinery/gibber/autogibber diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index fd4f6b07d6c9..4c1a8695d838 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -20,11 +20,13 @@ /obj/machinery/grill/update_icon_state() if(grilled_item) icon_state = "grill" + return ..() else if(grill_fuel) icon_state = "grill_on" + return ..() else icon_state = "grill_open" - + return ..() /obj/machinery/grill/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood)) var/obj/item/stack/S = I @@ -35,7 +37,7 @@ else grill_fuel += (50 * stackamount) S.use(stackamount) - update_icon() + update_appearance() return if(I.resistance_flags & INDESTRUCTIBLE) to_chat(user, "You don't feel it would be wise to grill [I]...") @@ -55,7 +57,7 @@ grilled_item = food_item grilled_item.foodtype |= GRILLED to_chat(user, "You put the [grilled_item] on [src].") - update_icon() + update_appearance() grill_loop.start() return else @@ -63,13 +65,13 @@ grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy))) to_chat(user, "You pour the Monkey Energy in [src].") I.reagents.remove_reagent(/datum/reagent/consumable/monkey_energy, I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy)) - update_icon() + update_appearance() return ..() /obj/machinery/grill/process() ..() - update_icon() + update_appearance() if(!grill_fuel) return else @@ -119,7 +121,7 @@ if(grilled_item) to_chat(user, "You take out [grilled_item] from [src].") grilled_item.forceMove(drop_location()) - update_icon() + update_appearance() return return ..() @@ -162,6 +164,7 @@ icon_state = "catgrill_on" else icon_state = "catgrill_open" + return ..() /obj/machinery/grill/cat/proc/owoify() var/static/regex/owo = new("r|l", "g") diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index 404dfb79a77a..1d4e366ad6d9 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -131,7 +131,7 @@ replace_beaker(user, B) to_chat(user, "You add [B] to [src].") updateUsrDialog() - update_icon() + update_appearance() return else if(O.is_drainable()) return diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 5a03c5097266..288f745399b1 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -92,16 +92,22 @@ /obj/machinery/microwave/update_icon_state() if(broken) icon_state = "mwb" + return ..() else if(dirty_anim_playing) icon_state = "mwbloody1" + return ..() else if(dirty == 100) icon_state = "mwbloody" + return ..() else if(operating) icon_state = "mw1" + return ..() else if(panel_open) icon_state = "mw-o" + return ..() else icon_state = "mw" + return ..() /obj/machinery/microwave/attackby(obj/item/O, mob/user, params) if(operating) @@ -111,7 +117,7 @@ if(dirty < 100) if(default_deconstruction_screwdriver(user, icon_state, icon_state, O) || default_unfasten_wrench(user, O)) - update_icon() + update_appearance() return if(panel_open && is_wire_tool(O)) @@ -129,7 +135,7 @@ if(O.use_tool(src, user, 20)) user.visible_message("[user] fixes \the [src].", "You fix \the [src].") broken = 0 - update_icon() + update_appearance() return FALSE //to use some fuel else to_chat(user, "It's broken!") @@ -143,7 +149,7 @@ playsound(loc, 'sound/effects/spray3.ogg', 50, TRUE, -6) user.visible_message("[user] cleans \the [src].", "You clean \the [src].") dirty = 0 - update_icon() + update_appearance() else to_chat(user, "You need more space cleaner!") return TRUE @@ -154,7 +160,7 @@ if(do_after(user, P.cleanspeed, target = src)) user.visible_message("[user] cleans \the [src].", "You clean \the [src].") dirty = 0 - update_icon() + update_appearance() return TRUE if(dirty == 100) // The microwave is all dirty so can't be used! @@ -260,7 +266,7 @@ set_light(1.5) soundloop.start() - update_icon() + update_appearance() /obj/machinery/microwave/proc/spark() visible_message("Sparks fly around [src]!") @@ -284,7 +290,7 @@ wzhzhzh() playsound(src.loc, 'sound/effects/splat.ogg', 50, TRUE) dirty_anim_playing = TRUE - update_icon() + update_appearance() loop(MICROWAVE_MUCK, 4) /obj/machinery/microwave/proc/loop(type, time, wait = max(12 - 2 * efficiency, 2)) // standard wait is 10 @@ -352,7 +358,7 @@ /obj/machinery/microwave/proc/after_finish_loop() set_light(0) soundloop.stop() - update_icon() + update_appearance() #undef MICROWAVE_NORMAL #undef MICROWAVE_MUCK diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 9b7298c0d69c..ed1347fb5124 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -40,24 +40,29 @@ . += "The status display reads: This unit can hold a maximum of [max_n_of_items] items." /obj/machinery/smartfridge/update_icon_state() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!machine_stat) - SSvis_overlays.add_vis_overlay(src, icon, "smartfridge-light-mask", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) - if (visible_contents) - switch(contents.len) - if(0) - icon_state = "[initial(icon_state)]" - if(1 to 25) - icon_state = "[initial(icon_state)]1" - if(26 to 75) - icon_state = "[initial(icon_state)]2" - if(76 to INFINITY) - icon_state = "[initial(icon_state)]3" - else - icon_state = "[initial(icon_state)]" - else + if(machine_stat) icon_state = "[initial(icon_state)]-off" + return ..() + if(!visible_contents) + icon_state = "[initial(icon_state)]" + return ..() + + switch(contents.len) + if(0) + icon_state = "[initial(icon_state)]" + if(1 to 25) + icon_state = "[initial(icon_state)]1" + if(26 to 75) + icon_state = "[initial(icon_state)]2" + if(76 to INFINITY) + icon_state = "[initial(icon_state)]3" + return ..() + +/obj/machinery/smartfridge/update_overlays() + . = ..() + if(!machine_stat) + SSvis_overlays.add_vis_overlay(src, icon, "smartfridge-light-mask", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha) /******************* @@ -94,7 +99,7 @@ user.visible_message("[user] adds \the [O] to \the [src].", "You add \the [O] to \the [src].") updateUsrDialog() if (visible_contents) - update_icon() + update_appearance() return TRUE if(istype(O, /obj/item/storage/bag)) @@ -120,7 +125,7 @@ if(O.contents.len > 0) to_chat(user, "Some items are refused.") if (visible_contents) - update_icon() + update_appearance() return TRUE else to_chat(user, "There is nothing in [O] to put in [src]!") @@ -216,7 +221,7 @@ dispense(O, usr) break if (visible_contents) - update_icon() + update_appearance() return TRUE for(var/obj/item/O in src) @@ -226,7 +231,7 @@ dispense(O, usr) desired-- if (visible_contents) - update_icon() + update_appearance() return TRUE return FALSE @@ -273,7 +278,7 @@ /obj/machinery/smartfridge/drying_rack/ui_act(action, params) . = ..() if(.) - update_icon() // This is to handle a case where the last item is taken out manually instead of through drying pop-out + update_appearance() // This is to handle a case where the last item is taken out manually instead of through drying pop-out return switch(action) if("Dry") @@ -293,7 +298,7 @@ /obj/machinery/smartfridge/drying_rack/load() //For updating the filled overlay ..() - update_icon() + update_appearance() /obj/machinery/smartfridge/drying_rack/update_overlays() . = ..() @@ -307,7 +312,7 @@ if(drying) if(rack_dry())//no need to update unless something got dried SStgui.update_uis(src) - update_icon() + update_appearance() /obj/machinery/smartfridge/drying_rack/accept_check(obj/item/O) if(istype(O, /obj/item/reagent_containers/food/snacks/)) @@ -325,7 +330,7 @@ else drying = TRUE use_power = ACTIVE_POWER_USE - update_icon() + update_appearance() /obj/machinery/smartfridge/drying_rack/proc/rack_dry() for(var/obj/item/reagent_containers/food/snacks/S in src) @@ -523,7 +528,7 @@ return FALSE /obj/machinery/smartfridge/bloodbank/update_icon_state() - return + return ..() /obj/machinery/smartfridge/bloodbank/preloaded initial_contents = list( diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 209a8c93b772..772893e3ff16 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -12,6 +12,7 @@ icon = 'icons/obj/food/containers.dmi' icon_state = "pizzabox" item_state = "pizzabox" + base_icon_state = "pizzabox" lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' @@ -31,16 +32,17 @@ /obj/item/pizzabox/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/pizzabox/Destroy() unprocess() return ..() -/obj/item/pizzabox/update_icon() +/obj/item/pizzabox/update_desc() // Description desc = initial(desc) + . = ..() if(open) if(pizza) desc = "[desc] It appears to have \a [pizza] inside. Use your other hand to take it out." @@ -57,34 +59,41 @@ if(box.boxtag != "") desc = "[desc] The [boxes.len ? "top box" : "box"]'s tag reads: [box.boxtag]" - // Icon/Overlays - cut_overlays() +/obj/item/pizzabox/update_icon_state() + if(!open) + icon_state = "[base_icon_state]" + return ..() + + icon_state = pizza ? "[base_icon_state]_messy" : "[base_icon_state]_open" + bomb?.icon_state = "pizzabomb_[bomb_active ? "active" : "inactive"]" + return ..() + +/obj/item/pizzabox/update_overlays() + . = ..() if(open) - icon_state = "pizzabox_open" if(pizza) - icon_state = "pizzabox_messy" var/mutable_appearance/pizza_overlay = mutable_appearance(pizza.icon, pizza.icon_state) pizza_overlay.pixel_y = -3 - add_overlay(pizza_overlay) + . += pizza_overlay if(bomb) - bomb.icon_state = "pizzabomb_[bomb_active ? "active" : "inactive"]" var/mutable_appearance/bomb_overlay = mutable_appearance(bomb.icon, bomb.icon_state) bomb_overlay.pixel_y = 5 - add_overlay(bomb_overlay) - else - icon_state = "pizzabox" - var/current_offset = 3 - for(var/V in boxes) - var/obj/item/pizzabox/P = V - var/mutable_appearance/box_overlay = mutable_appearance(P.icon, P.icon_state) - box_overlay.pixel_y = current_offset - add_overlay(box_overlay) - current_offset += 3 - var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src - if(box.boxtag != "") - var/mutable_appearance/tag_overlay = mutable_appearance(icon, "pizzabox_tag") - tag_overlay.pixel_y = boxes.len * 3 - add_overlay(tag_overlay) + . += bomb_overlay + return + + var/box_offset = 0 + for(var/stacked_box in boxes) + box_offset += 3 + var/obj/item/pizzabox/box = stacked_box + var/mutable_appearance/box_overlay = mutable_appearance(box.icon, box.icon_state) + box_overlay.pixel_y = box_offset + . += box_overlay + + var/obj/item/pizzabox/box = LAZYLEN(boxes.len) ? boxes[boxes.len] : src + if(box.boxtag != "") + var/mutable_appearance/tag_overlay = mutable_appearance(icon, "pizzabox_tag") + tag_overlay.pixel_y = box_offset + . += tag_overlay /obj/item/pizzabox/worn_overlays(isinhands, icon_file) . = list() @@ -104,7 +113,7 @@ audible_message("[icon2html(src, hearers(src))] *beep*") bomb_active = TRUE START_PROCESSING(SSobj, src) - update_icon() + update_appearance() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/pizzabox/attack_hand(mob/user) @@ -115,13 +124,13 @@ user.put_in_hands(pizza) to_chat(user, "You take [pizza] out of [src].") pizza = null - update_icon() + update_appearance() else if(bomb) if(wires.is_all_cut() && bomb_defused) user.put_in_hands(bomb) to_chat(user, "You carefully remove the [bomb] from [src].") bomb = null - update_icon() + update_appearance() return else bomb_timer = input(user, "Set the [bomb] timer from [BOMB_TIMER_MIN] to [BOMB_TIMER_MAX].", bomb, bomb_timer) as num|null @@ -136,14 +145,14 @@ bomb.adminlog = "The [bomb.name] in [src.name] that [key_name(user)] activated has detonated!" to_chat(user, "You trap [src] with [bomb].") - update_icon() + update_appearance() else if(boxes.len) var/obj/item/pizzabox/topbox = boxes[boxes.len] boxes -= topbox user.put_in_hands(topbox) to_chat(user, "You remove the topmost [name] from the stack.") - topbox.update_icon() - update_icon() + topbox.update_appearance() + update_appearance() user.regenerate_icons() /obj/item/pizzabox/attackby(obj/item/I, mob/user, params) @@ -158,8 +167,8 @@ boxes += add newbox.boxes.Cut() to_chat(user, "You put [newbox] on top of [src]!") - newbox.update_icon() - update_icon() + newbox.update_appearance() + update_appearance() user.regenerate_icons() if(boxes.len >= 5) if(prob(10 * boxes.len)) @@ -179,7 +188,7 @@ return pizza = I to_chat(user, "You put [I] in [src].") - update_icon() + update_appearance() return else if(istype(I, /obj/item/bombcore/miniature/pizza)) if(open && !bomb) @@ -188,7 +197,7 @@ wires = new /datum/wires/explosive/pizza(src) bomb = I to_chat(user, "You put [I] in [src]. Sneeki breeki...") - update_icon() + update_appearance() return else if(bomb) to_chat(user, "[src] already has a bomb in it!") @@ -202,7 +211,7 @@ if(!user.canUseTopic(src, BE_CLOSE)) return to_chat(user, "You write with [I] on [src].") - update_icon() + update_appearance() return else if(is_wire_tool(I)) if(wires && bomb) @@ -248,9 +257,9 @@ fall_dir = pick(GLOB.alldirs) step(P.pizza, fall_dir) P.pizza = null - P.update_icon() + P.update_appearance() boxes -= P - update_icon() + update_appearance() if(isliving(loc)) var/mob/living/L = loc L.regenerate_icons() @@ -259,7 +268,7 @@ STOP_PROCESSING(SSobj, src) qdel(wires) wires = null - update_icon() + update_appearance() /obj/item/pizzabox/bomb/Initialize() . = ..() diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm index 339e64c8771d..b24749aa9a1a 100644 --- a/code/modules/games/cas.dm +++ b/code/modules/games/cas.dm @@ -78,7 +78,7 @@ H.pickup(user) user.put_in_hands(H) user.visible_message("[user] draws a card from the deck.", "You draw a card from the deck.") - update_icon() + update_appearance() /obj/item/toy/cards/deck/cas/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/toy/cards/singlecard/cas)) @@ -93,11 +93,12 @@ cards += RC user.visible_message("[user] adds a card to the bottom of the deck.","You add the card to the bottom of the deck.") qdel(SC) - update_icon() + update_appearance() /obj/item/toy/cards/deck/cas/update_icon_state() if(cards.len < 26) icon_state = "deck_[deckstyle]_low" + return ..() /obj/item/toy/cards/singlecard/cas name = "CAS card" @@ -129,7 +130,7 @@ else if(flipped) name = buffertext flipped = !flipped - update_icon() + update_appearance() /obj/item/toy/cards/singlecard/cas/AltClick(mob/living/user) if(!ishuman(user) || !user.canUseTopic(src, BE_CLOSE)) @@ -141,6 +142,7 @@ icon_state = "[card_face]_flipped" else icon_state = "[card_face]" + return ..() /obj/item/toy/cards/singlecard/cas/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/pen)) diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index 1f0a2c94e98f..92687709e7d9 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars,list( var/obj/item/I = O I.damtype = STAMINA // thou shalt not - N.update_icon() + N.update_appearance() if(ismachinery(O)) var/obj/machinery/M = O M.power_change() diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index be7dbcdf4bd7..9e89336ae08e 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -185,7 +185,7 @@ ready = !ready - update_icon() + update_appearance() var/numbuttons = 0 var/numready = 0 @@ -202,6 +202,7 @@ icon_state = "auth_on" else icon_state = "auth_off" + return ..() /obj/machinery/readybutton/proc/begin_event() diff --git a/code/modules/hydroponics/beekeeping/honeycomb.dm b/code/modules/hydroponics/beekeeping/honeycomb.dm index c0ce6dfb6db7..01208eb8eb7e 100644 --- a/code/modules/hydroponics/beekeeping/honeycomb.dm +++ b/code/modules/hydroponics/beekeeping/honeycomb.dm @@ -17,7 +17,7 @@ . = ..() pixel_x = rand(8,-8) pixel_y = rand(8,-8) - update_icon() + update_appearance() /obj/item/reagent_containers/honeycomb/update_overlays() @@ -37,4 +37,4 @@ reagents.add_reagent(R.type,5) else honey_color = "" - update_icon() + update_appearance() diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index ca61d071e0b5..e9e40fd167b8 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -42,7 +42,7 @@ ..() if(A == beaker) beaker = null - update_icon() + update_appearance() /obj/machinery/biogenerator/RefreshParts() var/E = 0 @@ -63,7 +63,7 @@ . += "The status display reads: Productivity at [productivity*100]%.
    Matter consumption reduced by [(efficiency*25)-25]%.
    Machine can hold up to [max_items] pieces of produce.
    " /obj/machinery/biogenerator/on_reagent_change(changetype) //When the reagents change, change the icon as well. - update_icon() + update_appearance() /obj/machinery/biogenerator/update_icon_state() if(panel_open) @@ -74,6 +74,7 @@ icon_state = "biogen-stand" else icon_state = "biogen-work" + return ..() /obj/machinery/biogenerator/attackby(obj/item/O, mob/user, params) if(user.a_intent == INTENT_HARM) @@ -88,7 +89,7 @@ var/obj/item/reagent_containers/glass/B = beaker B.forceMove(drop_location()) beaker = null - update_icon() + update_appearance() return if(default_deconstruction_crowbar(O)) @@ -104,7 +105,7 @@ return beaker = O to_chat(user, "You add the container to the machine.") - update_icon() + update_appearance() else to_chat(user, "Close the maintenance panel first.") return @@ -184,12 +185,12 @@ qdel(I) if(S) processing = TRUE - update_icon() + update_appearance() playsound(loc, 'sound/machines/blender.ogg', 50, TRUE) use_power(S * 30) sleep(S + 15 / productivity) processing = FALSE - update_icon() + update_appearance() /obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE) if(materials.len != 1 || materials[1] != SSmaterials.GetMaterialRef(/datum/material/biomass)) @@ -199,7 +200,7 @@ else if(remove_points) points -= materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency - update_icon() + update_appearance() return TRUE /obj/machinery/biogenerator/proc/check_container_volume(list/reagents, multiplier = 1) @@ -240,7 +241,7 @@ beaker.reagents.add_reagent(R, D.make_reagents[R]) . = 1 --i - update_icon() + update_appearance() return . /obj/machinery/biogenerator/proc/detach(mob/living/user) @@ -250,7 +251,7 @@ else beaker.drop_location(get_turf(src)) beaker = null - update_icon() + update_appearance() /obj/machinery/biogenerator/ui_status(mob/user) if(machine_stat & BROKEN || panel_open) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 8d996e6b17d9..4c9eb274dcb0 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -66,13 +66,14 @@ reagents.flags |= DRAINABLE reagents.flags &= ~(REFILLABLE) to_chat(user, "You close [src], letting you draw from its tap.") - update_icon() + update_appearance() /obj/structure/fermenting_barrel/update_icon_state() if(open) icon_state = "barrel_open" else icon_state = "barrel" + return ..() /datum/crafting_recipe/fermenting_barrel name = "Wooden Barrel" diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 250d33be2e77..a21e9f71afc4 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -58,6 +58,7 @@ icon_state = "dnamod-off" else icon_state = "dnamod" + return ..() /obj/machinery/plantgenes/update_overlays() . = ..() @@ -68,7 +69,7 @@ /obj/machinery/plantgenes/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "dnamod", "dnamod", I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) return @@ -327,7 +328,7 @@ disk.update_disk_name() qdel(seed) seed = null - update_icon() + update_appearance() if("replace") if(disk && disk.gene && istype(disk.gene, G.type) && istype(G, /datum/plant_gene/core)) seed.genes -= G @@ -359,7 +360,7 @@ S.forceMove(src) seed = S update_genes() - update_icon() + update_appearance() /obj/machinery/plantgenes/proc/eject_disk() if (disk && !operation) diff --git a/code/modules/hydroponics/grown/spaceflora.dm b/code/modules/hydroponics/grown/spaceflora.dm index 546beb027323..429817036be1 100644 --- a/code/modules/hydroponics/grown/spaceflora.dm +++ b/code/modules/hydroponics/grown/spaceflora.dm @@ -13,7 +13,12 @@ harvest_message_high = "You pick a pair of void melons." regrowth_time_low = 4800 regrowth_time_high = 7200 + num_sprites = 1 +/obj/structure/flora/ash/space/voidmelon/Initialize() + . = ..() + base_icon = "melon" + icon_state = base_icon /obj/item/seeds/voidmelon name = "pack of voidmelon seeds" desc = "These seeds grow into voidmelon plants." diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index d53303e6d201..fee6a3857d67 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -29,6 +29,9 @@ var/recent_bee_visit = FALSE //Have we been visited by a bee recently, so bees dont overpollinate one plant var/datum/weakref/lastuser //Last user to add reagents to a tray. Mostly for logging. var/self_sustaining = FALSE //If the tray generates nutrients and water on its own + ///The icon state for the overlay used to represent that this tray is self-sustaining. + var/self_sustaining_overlay_icon_state = "gaia_blessing" + // Here lies irrigation. You won't be missed, because you were never used. /obj/machinery/hydroponics/Initialize() @@ -120,7 +123,7 @@ visible_message("[name]'s auto-grow functionality shuts off!") idle_power_usage = 0 self_sustaining = FALSE - update_icon() + update_appearance() else if(self_sustaining) adjustWater(rand(1,2)) @@ -265,7 +268,7 @@ weedinvasion() // Weed invasion into empty tray needs_update = 1 if (needs_update) - update_icon() + update_appearance() if(myseed && prob(5 * (11-myseed.production))) for(var/g in myseed.genes) @@ -274,31 +277,28 @@ selectedtrait.on_grow(src) return -/obj/machinery/hydroponics/update_icon() - //Refreshes the icon and sets the luminosity - cut_overlays() +/obj/machinery/hydroponics/update_appearance(updates) + . = ..() if(self_sustaining) - if(istype(src, /obj/machinery/hydroponics/soil)) - add_atom_colour(rgb(255, 175, 0), FIXED_COLOUR_PRIORITY) - else - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "gaia_blessing")) set_light(3) + return + if(myseed?.get_gene(/datum/plant_gene/trait/glow)) // Hydroponics needs a refactor, badly. + var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) + set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) + return + set_light(0) +/obj/machinery/hydroponics/update_overlays() + . = ..() if(myseed) - update_icon_plant() - update_icon_lights() + . += update_plant_overlay() + . += update_status_light_overlays() - if(!self_sustaining) - if(myseed && myseed.get_gene(/datum/plant_gene/trait/glow)) - var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) - set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) - else - set_light(0) - - return + if(self_sustaining && self_sustaining_overlay_icon_state) + . += mutable_appearance(icon, self_sustaining_overlay_icon_state) -/obj/machinery/hydroponics/proc/update_icon_plant() +/obj/machinery/hydroponics/proc/update_plant_overlay() var/mutable_appearance/plant_overlay = mutable_appearance(myseed.growing_icon, layer = OBJ_LAYER + 0.01) if(dead) plant_overlay.icon_state = myseed.icon_dead @@ -311,19 +311,20 @@ var/t_growthstate = clamp(round((age / myseed.maturation) * myseed.growthstages), 1, myseed.growthstages) plant_overlay.icon_state = "[myseed.icon_grow][t_growthstate]" plant_overlay.pixel_y += 3 //to adjust the plant sprites to the new one without touching every single file - add_overlay(plant_overlay) + return plant_overlay -/obj/machinery/hydroponics/proc/update_icon_lights() +/obj/machinery/hydroponics/proc/update_status_light_overlays() + . = list() if(harvest) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_harvest3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_harvest3") if(plant_health <= (myseed.endurance / 2)) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowhealth3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowhealth3") if(weedlevel >= 5 || pestlevel >= 5 || toxic >= 40) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_alert3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_alert3") if(reagents.total_volume <= 2) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lownutri3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lownutri3") if(waterlevel <= 10) - add_overlay(mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowwater3")) + . += mutable_appearance('icons/obj/hydroponics/equipment.dmi', "over_lowwater3") /obj/machinery/hydroponics/examine(user) @@ -385,7 +386,7 @@ harvest = 0 weedlevel = 0 // Reset pestlevel = 0 // Reset - update_icon() + update_appearance() visible_message("The [oldPlantName] is overtaken by some [myseed.plantname]!") name = "hydroponics tray ([myseed.plantname])" if(myseed.product) @@ -421,7 +422,7 @@ weedlevel = 0 // Reset sleep(5) // Wait a while - update_icon() + update_appearance() visible_message("[oldPlantName] suddenly mutates into [myseed.plantname]!") TRAY_NAME_UPDATE @@ -441,7 +442,7 @@ weedlevel = 0 // Reset sleep(5) // Wait a while - update_icon() + update_appearance() visible_message("The mutated weeds in [src] spawn some [myseed.plantname]!") TRAY_NAME_UPDATE else @@ -458,7 +459,7 @@ pestlevel = 0 // Pests die lastproduce = 0 if(!dead) - update_icon() + update_appearance() dead = TRUE @@ -529,11 +530,11 @@ if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || istype(reagent_source, /obj/item/reagent_containers/pill)) qdel(reagent_source) lastuser = user - H.update_icon() + H.update_appearance() return 1 - H.update_icon() + H.update_appearance() if(reagent_source) // If the source wasn't composted and destroyed - reagent_source.update_icon() + reagent_source.update_appearance() return 1 else if(istype(O, /obj/item/seeds) && !istype(O, /obj/item/seeds/sample)) @@ -549,7 +550,7 @@ age = 1 plant_health = myseed.endurance lastcycle = world.time - update_icon() + update_appearance() return else to_chat(user, "[src] already has seeds in it!") @@ -582,7 +583,7 @@ if(weedlevel > 0) user.visible_message("[user] uproots the weeds.", "You remove the weeds from [src].") weedlevel = 0 - update_icon() + update_appearance() else to_chat(user, "This plot is completely devoid of weeds! It doesn't need uprooting.") @@ -612,7 +613,7 @@ name = initial(name) desc = initial(desc) weedlevel = 0 //Has a side effect of cleaning up those nasty weeds - update_icon() + update_appearance() else if(istype(O, /obj/item/gun/energy/floragun)) var/obj/item/gun/energy/floragun/flowergun = O if(flowergun.cell.charge < REVOLUTION_CHARGE) // In case an admin var edits the gun or guns gain the ability to have their cell upgraded @@ -638,7 +639,7 @@ myseed.mutatelist = list(fresh_mut_list[locked_mutation]) myseed.endurance = (myseed.endurance/2) flowergun.cell.use(REVOLUTION_CHARGE) - flowergun.update_icon() + flowergun.update_appearance() to_chat(user, "[myseed.plantname]'s mutation was set to [locked_mutation], depleting [flowergun]'s cell!") return else @@ -665,7 +666,7 @@ to_chat(user, "You remove the dead plant from [src].") qdel(myseed) myseed = null - update_icon() + update_appearance() TRAY_NAME_UPDATE else if(user) @@ -683,12 +684,12 @@ self_sustaining = !self_sustaining idle_power_usage = self_sustaining ? 1250 : 0 to_chat(user, "You [self_sustaining ? "activate" : "deactivated"] [src]'s autogrow function[self_sustaining ? ", maintaining the tray's health while using high amounts of power" : ""].") - update_icon() + update_appearance() /obj/machinery/hydroponics/AltClick(mob/user) . = ..() if(!anchored) - update_icon() + update_appearance() return FALSE var/warning = alert(user, "Are you sure you wish to empty the tray's nutrient beaker?","Empty Tray Nutrients?", "Yes", "No") if(warning == "Yes" && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) @@ -714,7 +715,7 @@ if(self_sustaining) //No reason to pay for an empty tray. idle_power_usage = 0 self_sustaining = FALSE - update_icon() + update_appearance() /// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds./// /obj/machinery/hydroponics/proc/adjustWater(adjustamt) @@ -753,8 +754,14 @@ use_power = NO_POWER_USE flags_1 = NODECONSTRUCT_1 unwrenchable = FALSE + self_sustaining_overlay_icon_state = null + +/obj/machinery/hydroponics/soil/update_icon(updates=ALL) + . = ..() + if(self_sustaining) + add_atom_colour(rgb(255, 175, 0), FIXED_COLOUR_PRIORITY) -/obj/machinery/hydroponics/soil/update_icon_lights() +/obj/machinery/hydroponics/soil/update_status_light_overlays() return // Has no lights /obj/machinery/hydroponics/soil/attackby(obj/item/O, mob/user, params) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 0a6264b8bda6..bc18ce87377b 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -276,8 +276,8 @@ C.charge = newcharge if(isobj(C.loc)) var/obj/O = C.loc - O.update_icon() //update power meters and such - C.update_icon() + O.update_appearance() //update power meters and such + C.update_appearance() batteries_recharged = 1 if(batteries_recharged) to_chat(target, "Your batteries are recharged!") @@ -481,7 +481,7 @@ HY.harvest = 0 HY.weedlevel = 0 // Reset HY.pestlevel = 0 // Reset - HY.update_icon() + HY.update_appearance() HY.visible_message("The [H.myseed.plantname] spreads!") /datum/plant_gene/trait/plant_type // Parent type diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index b4adea4b87b2..146d8e32d7e2 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -93,14 +93,14 @@ */ /obj/item/instrument/piano_synth/headphones/proc/start_playing() icon_state = "[initial(icon_state)]_on" - update_icon() + update_appearance() /** * Called by a component signal when our song stops playing. */ /obj/item/instrument/piano_synth/headphones/proc/stop_playing() icon_state = "[initial(icon_state)]" - update_icon() + update_appearance() /obj/item/instrument/piano_synth/headphones/spacepods name = "\improper Nanotrasen space pods" diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index cd8945e8c025..cdd44cab9ae8 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -205,7 +205,7 @@ if(0) return get_all_accesses() if(1) //station general - return list(ACCESS_KITCHEN,ACCESS_BAR, ACCESS_HYDROPONICS, ACCESS_JANITOR, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_LIBRARY, ACCESS_THEATRE, ACCESS_LAWYER, ACCESS_LP_VAULT, ACCESS_LP_AI, ACCESS_LP_OPERATING_ROOM, ACCESS_LP_FACILITIES) + return list(ACCESS_KITCHEN,ACCESS_BAR, ACCESS_HYDROPONICS, ACCESS_JANITOR, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_LIBRARY, ACCESS_THEATRE, ACCESS_LAWYER) if(2) //security return list(ACCESS_SEC_DOORS, ACCESS_WEAPONS, ACCESS_SECURITY, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_MECH_SECURITY, ACCESS_HOS) if(3) //medbay @@ -217,7 +217,7 @@ if(6) //supply return list(ACCESS_MAILSORTING, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MECH_MINING, ACCESS_MINERAL_STOREROOM, ACCESS_CARGO, ACCESS_QM, ACCESS_VAULT) if(7) //command - return list(ACCESS_HEADS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_TELEPORTER, ACCESS_EVA, ACCESS_GATEWAY, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_HOP, ACCESS_CAPTAIN, ACCESS_VAULT, ACCESS_SOLGOV, ACCESS_LP_LIEUTENANT, ACCESS_LP_COMMISSIONER, ACCESS_LP_BRIDGE, ACCESS_LP_SECURITY, ACCESS_LP_MEDIC, ACCESS_LP_ENGINEER) + return list(ACCESS_HEADS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_TELEPORTER, ACCESS_EVA, ACCESS_GATEWAY, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_HOP, ACCESS_CAPTAIN, ACCESS_VAULT, ACCESS_SOLGOV) /proc/get_region_accesses_name(code) switch(code) @@ -372,26 +372,6 @@ return "Science Mech Access" if(ACCESS_MECH_ENGINE) return "Engineering Mech Access" - if(ACCESS_LP_LIEUTENANT) - return "Away Team Lieutenant" - if(ACCESS_LP_COMMISSIONER) - return "Away Team Commissioner" - if(ACCESS_LP_VAULT) - return "Away Team Vault" - if(ACCESS_LP_AI) - return "Away Team AI Sat" - if(ACCESS_LP_OPERATING_ROOM) - return "Away Team Operating Room" - if(ACCESS_LP_BRIDGE) - return "Away Team Bridge" - if(ACCESS_LP_FACILITIES) - return "Away Team Facilities" - if(ACCESS_LP_SECURITY) - return "Away Team Security Specialist" - if(ACCESS_LP_MEDIC) - return "Away Team Medical Specialist" - if(ACCESS_LP_ENGINEER) - return "Away Team Engineering Specialist" //WS Begin if(ACCESS_CLONING) diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 41a5efc1698c..d9c410d39555 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -253,3 +253,21 @@ glasses = /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/pda/captain) + +/datum/outfit/job/captain/nt/lp_lieutenant + name = "LP Lieutenant" + + implants = list(/obj/item/implant/mindshield) + ears = /obj/item/radio/headset/nanotrasen/alt/captain + id = /obj/item/card/id/lplieu + belt = /obj/item/pda/captain + gloves = /obj/item/clothing/gloves/color/black + uniform = /obj/item/clothing/under/rank/security/head_of_security/alt/lp + alt_uniform = /obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp + dcoat = /obj/item/clothing/suit/jacket + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/beret/command + + satchel = /obj/item/storage/backpack/satchel/cap + duffelbag = /obj/item/storage/backpack/duffelbag/captain + courierbag = /obj/item/storage/backpack/messenger/com diff --git a/code/modules/jobs/job_types/lp_jobs.dm b/code/modules/jobs/job_types/lp_jobs.dm deleted file mode 100644 index 61b4481378bf..000000000000 --- a/code/modules/jobs/job_types/lp_jobs.dm +++ /dev/null @@ -1,187 +0,0 @@ -/datum/job/lp - -/datum/outfit/job/lp - implants = list(/obj/item/implant/mindshield) - -/datum/job/lp/lieutenant - access = list() - minimal_access = list() - outfit = /datum/outfit/job/lp/lieutenant - -/datum/job/lp/lieutenant/get_access() - return get_lplieu_access() - -/datum/outfit/job/lp/lieutenant - name = "LP Lieutenant" - jobtype = /datum/job/lp/lieutenant - - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lplieu - belt = /obj/item/pda/captain - gloves = /obj/item/clothing/gloves/color/black - uniform = /obj/item/clothing/under/rank/security/head_of_security/alt/lp - alt_uniform = /obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp - dcoat = /obj/item/clothing/suit/jacket - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/beret/command - backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) - - backpack = /obj/item/storage/backpack/ert - satchel = /obj/item/storage/backpack/satchel/cap - duffelbag = /obj/item/storage/backpack/duffelbag/captain - courierbag = /obj/item/storage/backpack/messenger/com - - -/datum/job/lp/security - access = list() - minimal_access = list() - outfit = /datum/outfit/job/lp/security - -/datum/job/lp/security/get_access() - return get_lpsec_access() - -/datum/outfit/job/lp/security - name = "LP Security Specialist" - jobtype = /datum/job/lp/security - - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lpsec - belt = /obj/item/pda/security - gloves = /obj/item/clothing/gloves/color/black - uniform = /obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp - alt_uniform = /obj/item/clothing/under/rank/security/head_of_security/nt/lp - dcoat = /obj/item/clothing/suit/hooded/wintercoat/security - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/beret/sec - backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) - - backpack = /obj/item/storage/backpack/ert/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/sec - courierbag = /obj/item/storage/backpack/messenger/sec - - -/datum/job/lp/engineer - access = list() - minimal_access = list() - outfit = /datum/outfit/job/lp/engineer - -/datum/job/lp/engineer/get_access() - return get_lpengi_access() - -/datum/outfit/job/lp/engineer - name = "LP Engineering Specialist" - jobtype = /datum/job/lp/engineer - - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lpengie - belt = /obj/item/pda/engineering - gloves = /obj/item/clothing/gloves/color/yellow - uniform = /obj/item/clothing/under/rank/engineering/engineer/lp - alt_uniform = /obj/item/clothing/under/rank/engineering/engineer/skirt/lp - dcoat = /obj/item/clothing/suit/hooded/wintercoat/engineering - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/beret/eng - backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) - - backpack = /obj/item/storage/backpack/ert/engineer - satchel = /obj/item/storage/backpack/satchel/eng - duffelbag = /obj/item/storage/backpack/duffelbag/engineering - courierbag = /obj/item/storage/backpack/messenger/engi - - -/datum/job/lp/medic - access = list() - minimal_access = list() - outfit = /datum/outfit/job/lp/medic - -/datum/job/lp/medic/get_access() - return get_lpmedic_access() - -/datum/outfit/job/lp/medic - name = "LP Medical specialist" - jobtype = /datum/job/lp/medic - - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lpmed - belt = /obj/item/pda/medical - gloves = /obj/item/clothing/gloves/color/latex/nitrile - uniform = /obj/item/clothing/under/rank/medical/paramedic/lp - alt_uniform = /obj/item/clothing/under/rank/medical/paramedic/skirt/lp - dcoat = /obj/item/clothing/suit/hooded/wintercoat/medical - shoes = /obj/item/clothing/shoes/sneakers/white - head = /obj/item/clothing/head/beret/med - backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) - - backpack = /obj/item/storage/backpack/ert/medical - satchel = /obj/item/storage/backpack/satchel/med - duffelbag = /obj/item/storage/backpack/duffelbag/med - courierbag = /obj/item/storage/backpack/messenger/med - box = /obj/item/storage/box/survival/medical - - -/datum/job/lp/commissioner - access = list() - minimal_access = list() - outfit = /datum/outfit/job/lp/commissioner - -/datum/job/lp/commissioner/get_access() - return get_lpcomm_access() - - -/datum/outfit/job/lp/commissioner - name = "LP Commissioner" - jobtype = /datum/job/lp/commissioner - - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lpcomm - belt = /obj/item/pda/heads/lp/commissioner - gloves = /obj/item/clothing/gloves/color/black - uniform = /obj/item/clothing/under/rank/civilian/lawyer/bluesuit - alt_uniform = /obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt - dcoat = /obj/item/clothing/suit/jacket - shoes = /obj/item/clothing/shoes/jackboots - head = /obj/item/clothing/head/beret/command - backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) - - backpack = /obj/item/storage/backpack/captain - satchel = /obj/item/storage/backpack/satchel/cap - duffelbag = /obj/item/storage/backpack/duffelbag/captain - courierbag = /obj/item/storage/backpack/messenger/com - - -/datum/job/scientist/lp - access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_AI, ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE) - minimal_access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_AI, ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE) - outfit = /datum/outfit/job/scientist/lp - -/datum/outfit/job/scientist/lp - ears = /obj/item/radio/headset/nanotrasen - jobtype = /datum/job/scientist/lp - -/datum/job/mining/lp - access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) - outfit = /datum/outfit/job/miner/lp - -/datum/outfit/job/miner/lp - ears = /obj/item/radio/headset/nanotrasen - jobtype = /datum/job/mining/lp - -/datum/job/doctor/lp - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_EVA, ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_OPERATING_ROOM) - minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_PHARMACY, ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES, ACCESS_LP_BRIDGE, ACCESS_LP_OPERATING_ROOM) - outfit = /datum/outfit/job/doctor/lp - -/datum/outfit/job/doctor/lp - ears = /obj/item/radio/headset/nanotrasen - jobtype = /datum/job/doctor/lp - -/datum/job/bartender/lp - access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM, ACCESS_THEATRE, ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES) - minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM, ACCESS_THEATRE, ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_LP_FACILITIES) - outfit = /datum/outfit/job/bartender/lp - -/datum/outfit/job/bartender/lp - ears = /obj/item/radio/headset/nanotrasen - jobtype = /datum/job/bartender/lp diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index a090a9c472c5..a1ea895ee0d6 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -155,3 +155,22 @@ ears = /obj/item/radio/headset/pirate r_pocket = /obj/item/kitchen/knife/combat/survival backpack_contents = list(/obj/item/storage/firstaid/medical,) + +/datum/outfit/job/doctor/lp + name = "LP Medical specialist" + + implants = list(/obj/item/implant/mindshield) + ears = /obj/item/radio/headset/nanotrasen/alt/captain + id = /obj/item/card/id/lpmed + belt = /obj/item/pda/medical + gloves = /obj/item/clothing/gloves/color/latex/nitrile + uniform = /obj/item/clothing/under/rank/medical/paramedic/lp + alt_uniform = /obj/item/clothing/under/rank/medical/paramedic/skirt/lp + dcoat = /obj/item/clothing/suit/hooded/wintercoat/medical + shoes = /obj/item/clothing/shoes/sneakers/white + head = /obj/item/clothing/head/beret/med + + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/med + courierbag = /obj/item/storage/backpack/messenger/med + box = /obj/item/storage/box/survival/medical diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index e4b22f989c3d..c0680de24236 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -311,4 +311,23 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S l_pocket = /obj/item/flashlight/seclite r_pocket = /obj/item/tank/internals/emergency_oxygen/double + +/datum/outfit/job/security/lp + name = "LP Security Specialist" + + implants = list(/obj/item/implant/mindshield) + ears = /obj/item/radio/headset/nanotrasen/alt/captain + id = /obj/item/card/id/lpsec + belt = /obj/item/pda/security + gloves = /obj/item/clothing/gloves/color/black + uniform = /obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp + alt_uniform = /obj/item/clothing/under/rank/security/head_of_security/nt/lp + dcoat = /obj/item/clothing/suit/hooded/wintercoat/security + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/beret/sec + + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/sec + courierbag = /obj/item/storage/backpack/messenger/sec + //Shiptest outfits end diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index 2b7f2ffa06f0..42a6e0774f2f 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -151,13 +151,19 @@ head = null backpack = /obj/item/storage/backpack - satchel = /obj/item/storage/backpack/satchel/ + satchel = /obj/item/storage/backpack/satchel duffelbag = /obj/item/storage/backpack/duffelbag courierbag = /obj/item/storage/backpack/messenger l_pocket = /obj/item/radio r_pocket = /obj/item/analyzer glasses = /obj/item/clothing/glasses/welding +/datum/outfit/job/engineer/independent/ship_engineer/salvage + belt = null + r_pocket = null + glasses = null + + /datum/outfit/job/engineer/syndicate/cybersun name = "Engineer (Cybersun)" @@ -190,3 +196,21 @@ l_pocket = /obj/item/radio r_pocket = /obj/item/analyzer + +/datum/outfit/job/engineer/lp + name = "LP Engineering Specialist" + + implants = list(/obj/item/implant/mindshield) + ears = /obj/item/radio/headset/nanotrasen/alt/captain + id = /obj/item/card/id/lpengie + belt = /obj/item/pda/engineering + gloves = /obj/item/clothing/gloves/color/yellow + uniform = /obj/item/clothing/under/rank/engineering/engineer/nt/lp + alt_uniform = /obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp + dcoat = /obj/item/clothing/suit/hooded/wintercoat/engineering + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/beret/eng + + satchel = /obj/item/storage/backpack/satchel/eng + duffelbag = /obj/item/storage/backpack/duffelbag/engineering + courierbag = /obj/item/storage/backpack/messenger/engi diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index fd2c512b5ef1..dd664843ed41 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -57,7 +57,7 @@ if(!isbook(I)) continue I.forceMove(src) - update_icon() + update_appearance() /obj/structure/bookcase/set_anchored(anchorvalue) . = ..() @@ -70,7 +70,7 @@ if(!isbook(I)) continue I.forceMove(Tsec) - update_icon() + update_appearance() /obj/structure/bookcase/attackby(obj/item/I, mob/user, params) switch(state) @@ -91,7 +91,7 @@ W.use(2) to_chat(user, "You add a shelf.") state = BOOKCASE_FINISHED - update_icon() + update_appearance() else if(I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 100) to_chat(user, "You unwrench the frame.") @@ -102,13 +102,13 @@ if(isbook(I)) if(!user.transferItemToLoc(I, src)) return - update_icon() + update_appearance() else if(STR) for(var/obj/item/T in I.contents) if(istype(T, /obj/item/book) || istype(T, /obj/item/spellbook)) STR.remove_from_storage(T, src) to_chat(user, "You empty \the [I] into \the [src].") - update_icon() + update_appearance() else if(istype(I, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You scribble illegibly on the side of [src]!") @@ -128,7 +128,7 @@ to_chat(user, "You pry the shelf out.") new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) state = BOOKCASE_ANCHORED - update_icon() + update_appearance() else return ..() @@ -152,7 +152,7 @@ user.put_in_hands(choice) else choice.forceMove(drop_location()) - update_icon() + update_appearance() /obj/structure/bookcase/deconstruct(disassembled = TRUE) @@ -168,13 +168,13 @@ /obj/structure/bookcase/update_icon_state() if(state == BOOKCASE_UNANCHORED) icon_state = "bookempty" - return + return ..() var/amount = contents.len if(load_random_books) amount += books_to_load icon_state = "book-[clamp(amount, 0, 5)]" - + return ..() /obj/structure/bookcase/manuals/engineering name = "engineering manuals bookcase" @@ -186,7 +186,7 @@ new /obj/item/book/manual/wiki/engineering_guide(src) new /obj/item/book/manual/wiki/engineering_singulo_tesla(src) new /obj/item/book/manual/wiki/robotics_cyborgs(src) - update_icon() + update_appearance() /obj/structure/bookcase/manuals/research_and_development @@ -195,7 +195,7 @@ /obj/structure/bookcase/manuals/research_and_development/Initialize() . = ..() new /obj/item/book/manual/wiki/research_and_development(src) - update_icon() + update_appearance() /* @@ -379,7 +379,7 @@ /obj/structure/bookcase/manuals/medical/Initialize() . = ..() new /obj/item/book/manual/wiki/medical_cloning(src) - update_icon() + update_appearance() #undef BOOKCASE_UNANCHORED #undef BOOKCASE_ANCHORED diff --git a/code/modules/library/random_books.dm b/code/modules/library/random_books.dm index d91ac014862e..d957c89e65a8 100644 --- a/code/modules/library/random_books.dm +++ b/code/modules/library/random_books.dm @@ -34,7 +34,7 @@ . = ..() if(books_to_load && isnum(books_to_load)) books_to_load += pick(-1,-1,0,1,1) - update_icon() + update_appearance() /proc/create_random_books(amount, location, fail_loud = FALSE, category = null, obj/item/book/existing_book) . = list() diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index eb894efcd29d..e9ac7662edab 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -245,7 +245,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) qdel(internal_organ) else internal_organ.organ_flags |= ORGAN_FROZEN - j.update_icon() + j.update_appearance() qdel(src) @@ -371,7 +371,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) var/obj/machinery/door/airlock/found_airlock = locate(/obj/machinery/door/airlock) in turf if(note_path) found_airlock.note = note_path - found_airlock.update_icon() + found_airlock.update_appearance() qdel(src) if(note_info) var/obj/item/paper/paper = new /obj/item/paper(src) @@ -380,7 +380,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) paper.add_raw_text("[note_info]") paper.update_appearance() paper.forceMove(found_airlock) - found_airlock.update_icon() + found_airlock.update_appearance() qdel(src) log_mapping("[src] at [x],[y] had no note_path or note_info, cannot place paper note.") qdel(src) diff --git a/code/modules/mentor/verbs/mentorsay.dm b/code/modules/mentor/verbs/mentorsay.dm index e01b718ffd73..80500dabc2a2 100644 --- a/code/modules/mentor/verbs/mentorsay.dm +++ b/code/modules/mentor/verbs/mentorsay.dm @@ -13,8 +13,8 @@ msg = "MENTOR: [key_name(usr, 0, 0)]: [msg]" to_chat(GLOB.mentors, - type = MESSAGE_TYPE_MODCHAT, - html = msg, + msg, + MESSAGE_TYPE_MENTORCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "mentor_verb", 1, "Msay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index ee0ec659a854..8bac57a8b764 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -98,7 +98,7 @@ /obj/item/clothing/head/helmet/space/hostile_environment/Initialize() . = ..() AddComponent(/datum/component/spraycan_paintable) - update_icon() + update_appearance() /obj/item/clothing/head/helmet/space/hostile_environment/update_overlays() . = ..() diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 1a35cf1642c7..f36c7c441bad 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -110,7 +110,7 @@ playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, TRUE) D.fire() charged = FALSE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/Recharge), charge_time) return if(proximity_flag && isliving(target)) @@ -142,17 +142,18 @@ /obj/item/kinetic_crusher/proc/Recharge() if(!charged) charged = TRUE - update_icon() + update_appearance() playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, TRUE) /obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) set_light_on(!light_on) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() /obj/item/kinetic_crusher/update_icon_state() item_state = "crusher[wielded]" // this is not icon_state and not supported by 2hcomponent + return ..() /obj/item/kinetic_crusher/update_overlays() . = ..() @@ -749,6 +750,7 @@ /obj/item/kinetic_crusher/old/update_icon_state() item_state = "crusherold[wielded]" // still not supported by 2hcomponent + return ..() //100% original syndicate oc, plz do not steal. More effective against human targets then the typical crusher, with a bit of block chance. /obj/item/kinetic_crusher/syndie_crusher @@ -807,6 +809,7 @@ /obj/item/kinetic_crusher/syndie_crusher/update_icon_state() item_state = "crushersyndie[wielded]" // this is not icon_state and not supported by 2hcomponent + return ..() /obj/item/kinetic_crusher/syndie_crusher/update_overlays() . = ..() diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index d4531fd1630a..74ed8ce30fbd 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/Initialize(mapload) . = ..() - update_icon() + update_appearance() /obj/item/stack/marker_beacon/examine(mob/user) . = ..() @@ -43,6 +43,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/update_icon_state() icon_state = "[initial(icon_state)][lowertext(picked_color)]" + return ..() /obj/item/stack/marker_beacon/attack_self(mob/user) if(!isturf(user.loc)) @@ -65,7 +66,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( return if(input_color) picked_color = input_color - update_icon() + update_appearance() /obj/structure/marker_beacon name = "marker beacon" @@ -85,25 +86,30 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( . = ..() if(set_color) picked_color = set_color - update_icon() + update_appearance() /obj/structure/marker_beacon/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color - M.update_icon() + M.update_appearance() qdel(src) /obj/structure/marker_beacon/examine(mob/user) . = ..() . += "Alt-click to select a color. Current color is [picked_color]." -/obj/structure/marker_beacon/update_icon() +/obj/structure/marker_beacon/update_appearance(updates) while(!picked_color || !GLOB.marker_beacon_colors[picked_color]) picked_color = pick(GLOB.marker_beacon_colors) - icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" + + . = ..() set_light(light_range, light_power, GLOB.marker_beacon_colors[picked_color]) +/obj/structure/marker_beacon/update_icon_state() + icon_state = "[initial(icon_state)][lowertext(picked_color)]-on" + return ..() + /obj/structure/marker_beacon/attack_hand(mob/living/user) . = ..() if(.) @@ -112,7 +118,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( if(do_after(user, remove_speed, target = src)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color - M.update_icon() + M.update_appearance() transfer_fingerprints_to(M) if(user.put_in_hands(M, TRUE)) //delete the beacon if it fails playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) @@ -145,4 +151,4 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( return if(input_color) picked_color = input_color - update_icon() + update_appearance() diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index c1ae174aa970..b8240b34ddd2 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -44,7 +44,7 @@ /obj/item/organ/regenerative_core/proc/preserved(implanted = 0) inert = FALSE preserved = TRUE - update_icon() + update_appearance() desc = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay." if(implanted) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "implanted")) @@ -56,7 +56,7 @@ name = "decayed regenerative core" desc = "All that remains of a hivelord. It has decayed, and is completely useless." SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "inert")) - update_icon() + update_appearance() /obj/item/organ/regenerative_core/ui_action_click() if(inert) @@ -139,10 +139,11 @@ /obj/item/organ/regenerative_core/legion/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/organ/regenerative_core/update_icon_state() icon_state = inert ? "legion_soul_inert" : "legion_soul" + return ..() /obj/item/organ/regenerative_core/update_overlays() . = ..() @@ -193,3 +194,4 @@ icon_state = inert ? "crystal_heart_inert" : "crystal_heart" if(preserved) icon_state = "crystal_heart_preserved" + return ..() diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 1bf858b8aa60..80c3d276d9b8 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -149,6 +149,7 @@ /obj/machinery/stasis/survival_pod icon = 'icons/obj/lavaland/survival_pod.dmi' icon_state = "sleeper" + base_icon_state = "sleeper" mattress_state = null buckle_lying = 270 diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 1311968c9f38..d88bddc3188c 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -26,8 +26,12 @@ /obj/structure/flora/ash/Initialize() . = ..() - base_icon = "[icon_state][rand(1, num_sprites)]" - icon_state = base_icon + if(num_sprites == 1) //stops unnecessary randomization of harvestable flora icons with only one variation. Remember to set num_sprites on your flora! + base_icon = "[icon_state]" + icon_state = base_icon + else + base_icon = "[icon_state][rand(1, num_sprites)]" //randomizing icons like this prevents the icon of the structure from loading properly in mapping tools. Works fine ingame. + icon_state = base_icon /obj/structure/flora/ash/proc/harvest(user) if(harvested) @@ -163,12 +167,12 @@ harvest_message_high = "You pluck quite a lot of curved fruit." regrowth_time_low = 2400 regrowth_time_high = 5500 - num_sprites = 2 + num_sprites = 1 /obj/structure/flora/ash/fern name = "cave fern" desc = "A species of fern with highly fibrous leaves." - icon_state = "fern" //needs new sprites. + icon_state = "cavefern" //needs new sprites. harvested_name = "cave fern stems" harvested_desc = "A few cave fern stems, missing their leaves." harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/fern @@ -199,7 +203,7 @@ /obj/structure/flora/ash/puce name = "Pucestal Growth" desc = "A collection of puce colored crystal growths." - icon_state = "puce" + icon_state = "pucetal" harvested_name = "Pucestal fragments" harvested_desc = "A few pucestal fragments, slowly regrowing." harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/puce @@ -217,7 +221,7 @@ name = "mushroom shavings" desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl." icon = 'icons/obj/lavaland/ash_flora.dmi' - icon_state = "mushroom_shavings" + icon_state = "l_mushroom" w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE max_integrity = 100 @@ -234,28 +238,28 @@ /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf name = "mushroom leaf" desc = "A leaf, from a mushroom." - icon_state = "mushroom_leaf" + icon_state = "s_mushroom" seed = /obj/item/seeds/lavaland/porcini wine_power = 40 /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap name = "mushroom cap" desc = "The cap of a large mushroom." - icon_state = "mushroom_cap" + icon_state = "r_mushroom" seed = /obj/item/seeds/lavaland/inocybe wine_power = 70 /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem name = "mushroom stem" desc = "A long mushroom stem. It's slightly glowing." - icon_state = "mushroom_stem" + icon_state = "t_mushroom" seed = /obj/item/seeds/lavaland/ember wine_power = 60 /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit name = "cactus fruit" desc = "A cactus fruit covered in a thick, reddish skin. And some ash." - icon_state = "cactus_fruit" + icon_state = "cactus" seed = /obj/item/seeds/lavaland/cactus wine_power = 50 @@ -465,6 +469,7 @@ /obj/item/reagent_containers/glass/bowl/mushroom_bowl/update_icon_state() if(!reagents || !reagents.total_volume) icon_state = "mushroom_bowl" + return ..() /obj/item/reagent_containers/glass/bowl/mushroom_bowl/attackby(obj/item/I,mob/user, params) if(istype(I, /obj/item/reagent_containers/food/snacks)) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 513346b5d70e..698e0a2dae25 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -949,7 +949,7 @@ . = ..() . += "This weapon contains a gradual heat accelerator that increases shot power as the weapon's energy stores are depleted. Shots at low power are significantly stronger, but also have incredibly short range." -/obj/item/gun/energy/spur/update_icon() +/obj/item/gun/energy/spur/update_appearance() if(!cell) chargesound = null recoil = 1 @@ -980,7 +980,8 @@ if(chargesound != oldsound) playsound(src, chargesound, 100) - return + return ..() + return ..() /obj/item/ammo_casing/energy/spur projectile_type = /obj/projectile/bullet/spur @@ -1672,11 +1673,12 @@ /obj/item/hierophant_club/update_icon_state() icon_state = item_state = "hierophant_club[timer <= world.time ? "_ready":""][(beacon && !QDELETED(beacon)) ? "":"_beacon"]" + return ..() /obj/item/hierophant_club/proc/prepare_icon_update() - update_icon() + update_appearance() sleep(timer - world.time) - update_icon() + update_appearance() /obj/item/hierophant_club/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/toggle_unfriendly_fire)) //toggle friendly fire... diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm index 67b554a2333a..8a73aff51a69 100644 --- a/code/modules/mining/lavaland/ruins/gym.dm +++ b/code/modules/mining/lavaland/ruins/gym.dm @@ -48,7 +48,7 @@ return else obj_flags |= IN_USE - update_icon() + update_appearance() user.setDir(SOUTH) user.Stun(80) user.forceMove(src.loc) @@ -58,7 +58,7 @@ playsound(user, 'sound/machines/click.ogg', 60, TRUE) obj_flags &= ~IN_USE - update_icon() + update_appearance() user.pixel_y = user.base_pixel_y var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!") SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) diff --git a/code/modules/mining/machine_bluespaceminer.dm b/code/modules/mining/machine_bluespaceminer.dm index f07d8a546caa..feffb562a7e0 100644 --- a/code/modules/mining/machine_bluespaceminer.dm +++ b/code/modules/mining/machine_bluespaceminer.dm @@ -41,6 +41,7 @@ icon_state = (active) ? "bsm_on" : "bsm_idle" else icon_state = "bsm_off" + return ..() /obj/machinery/power/bluespace_miner/RefreshParts() var/M_C = 0 //mining_chance @@ -100,7 +101,7 @@ return TRUE active = TRUE to_chat(user, "You turn on the [src].") - update_icon() + update_appearance() else to_chat(user, "[src] needs to be firmly secured to the floor first!") return TRUE @@ -115,7 +116,7 @@ if(!anchored || (!powernet && idle_power_usage)) powered = FALSE active = FALSE - update_icon() + update_appearance() return if(active) var/true_power_usage = idle_power_usage * power_coeff @@ -123,13 +124,13 @@ add_load(true_power_usage) if(!powered) powered = TRUE - update_icon() + update_appearance() if(prob(mining_chance)) mine() else if(powered) powered = FALSE - update_icon() + update_appearance() return /obj/machinery/power/bluespace_miner/can_be_unfasten_wrench(mob/user, silent) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 8194f93c50da..fd36a4bb4ab1 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -346,11 +346,10 @@ ..() /obj/machinery/mineral/ore_redemption/update_icon_state() - // WS Start - Directional ORM Sprites if (panel_open) icon_state = "[initial(icon_state)]-open" - // WS End - Directional ORM Sprites if(powered()) icon_state = initial(icon_state) else icon_state = "[initial(icon_state)]-off" + return ..() diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 90a613c37ee7..9af58c0def31 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -244,7 +244,7 @@ observer.real_name = observer.client.prefs.real_name observer.name = observer.real_name observer.client.init_verbs() - observer.update_icon() + observer.update_appearance() observer.stop_sound_channel(CHANNEL_LOBBYMUSIC) deadchat_broadcast(" has observed.", "[observer.real_name]", follow_target = observer, turf_target = get_turf(observer), message_type = DEADCHAT_DEATHRATTLE) QDEL_NULL(mind) @@ -479,21 +479,13 @@ */ /mob/dead/new_player/proc/register_for_interview() // First we detain them by removing all the verbs they have on client - for (var/v in client.verbs) - var/procpath/verb_path = v - if (!(verb_path in GLOB.stat_panel_verbs)) - remove_verb(client, verb_path) - - // Then remove those on their mob as well - for (var/v in verbs) - var/procpath/verb_path = v - if (!(verb_path in GLOB.stat_panel_verbs)) - remove_verb(src, verb_path) + for (var/procpath/client_verb as anything in client.verbs) + if(!(client_verb in GLOB.client_verbs_required)) + remove_verb(client, client_verb) // Then we create the interview form and show it to the client var/datum/interview/I = GLOB.interviews.interview_for_client(client) - if (I) - I.ui_interact(src) + I?.ui_interact(src) // Add verb for re-opening the interview panel, and re-init the verbs for the stat panel add_verb(src, /mob/dead/new_player/proc/open_interview) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm index 39f26ed52d6d..c71feb42c6de 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/underwear/underwear_torso.dm @@ -76,6 +76,10 @@ name = "Turtleneck (Greyscale)" icon_state = "turtle" +/datum/sprite_accessory/undershirt/turtle_crop + name = "Cropped Turtleneck (Greyscale)" + icon_state = "turtle_crop" + /datum/sprite_accessory/undershirt/turtle_sleeveless name = "Sleeveless Turtleneck (Greyscale)" icon_state = "turtle_sleeveless" diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index 2f3b164805f1..0e870bc68fe4 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -14,5 +14,5 @@ preferred_form = client.prefs.ghost_form ghost_orbit = client.prefs.ghost_orbit - update_icon(preferred_form) + update_icon(ALL, preferred_form) updateghostimages() diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 768d20870528..87b241dc8d53 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -112,7 +112,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) facial_hairstyle = body_human.facial_hairstyle facial_hair_color = brighten_color(body_human.facial_hair_color) - update_icon() + update_appearance() if(!T) var/list/turfs = get_areatype_turfs(/area/overmap) @@ -180,12 +180,12 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) /* * This proc will update the icon of the ghost itself, with hair overlays, as well as the ghost image. - * Please call update_icon(icon_state) from now on when you want to update the icon_state of the ghost, + * Please call update_icon(updates, icon_state) from now on when you want to update the icon_state of the ghost, * or you might end up with hair on a sprite that's not supposed to get it. * Hair will always update its dir, so if your sprite has no dirs the haircut will go all over the place. * |- Ricotez */ -/mob/dead/observer/update_icon(new_form) +/mob/dead/observer/update_icon(updates=ALL, new_form) . = ..() if(client) //We update our preferences in case they changed right before update_icon was called. @@ -799,7 +799,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp facial_hairstyle = client.prefs.facial_hairstyle facial_hair_color = brighten_color(client.prefs.facial_hair_color) - update_icon() + update_appearance() /mob/dead/observer/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE) return isAdminGhostAI(usr) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 4acd0873a556..d04b54fa2804 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -3,6 +3,7 @@ desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. Circuit board to brain." icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_off" + base_icon_state = "mmi" w_class = WEIGHT_CLASS_NORMAL var/braintype = "Cyborg" var/obj/item/radio/radio = null //Let's give it a radio. @@ -33,11 +34,12 @@ /obj/item/mmi/update_icon_state() if(!brain) - icon_state = "mmi_off" + icon_state = "[base_icon_state]_off" else if(istype(brain, /obj/item/organ/brain/alien)) - icon_state = "mmi_brain_alien" + icon_state = "[base_icon_state]_brain_alien" else - icon_state = "mmi_brain" + icon_state = "[base_icon_state]_brain" + return ..() /obj/item/mmi/update_overlays() . = ..() @@ -87,7 +89,7 @@ brain.organ_flags |= ORGAN_FROZEN name = "[initial(name)]: [brainmob.real_name]" - update_icon() + update_appearance() if(istype(brain, /obj/item/organ/brain/alien)) braintype = "Xenoborg" //HISS....Beep. else @@ -108,7 +110,7 @@ to_chat(user, "You toggle [src]'s radio system [radio.on==1 ? "on" : "off"].") else eject_brain(user) - update_icon() + update_appearance() name = initial(name) to_chat(user, "You unlock and upend [src], spilling the brain onto the floor.") @@ -153,7 +155,7 @@ brain.organ_flags |= ORGAN_FROZEN name = "[initial(name)]: [brainmob.real_name]" - update_icon() + update_appearance() if(istype(brain, /obj/item/organ/brain/alien)) braintype = "Xenoborg" //HISS....Beep. else diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 480672b405cf..a70520462f39 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -286,7 +286,7 @@ brainmob.set_stat(CONSCIOUS) //mmis are conscious brainmob.remove_from_dead_mob_list() brainmob.add_to_alive_mob_list() //mmis are technically alive I guess? - stored_mmi.update_icon() //update it because the brain is alive now + stored_mmi.update_appearance() //update it because the brain is alive now brainmob.reset_perspective() //resets perspective to the mmi brainmob = null //clears the brainmob var so it doesn't get deleted when the holder is destroyed diff --git a/code/modules/mob/living/brain/death.dm b/code/modules/mob/living/brain/death.dm index 7caff58d720a..32db2599c0b4 100644 --- a/code/modules/mob/living/brain/death.dm +++ b/code/modules/mob/living/brain/death.dm @@ -7,7 +7,7 @@ var/obj/item/mmi = container mmi.visible_message("[src]'s MMI flatlines!", \ "You hear something flatline.") - mmi.update_icon() + mmi.update_appearance() return ..() diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index a6d8ea948e99..06bc7e0bc886 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -5,6 +5,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) desc = "A cube of shining metal, four inches to a side and covered in shallow grooves." icon = 'icons/obj/assemblies.dmi' icon_state = "posibrain" + base_icon_state = "posibrain" w_class = WEIGHT_CLASS_NORMAL var/ask_role = "" ///Can be set to tell ghosts what the brain will be used for var/next_ask ///World time tick when ghost polling will be available again @@ -56,7 +57,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) ping_ghosts("requested", FALSE) next_ask = world.time + askDelay searching = TRUE - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/check_success), askDelay) /obj/item/mmi/posibrain/AltClick(mob/living/user) @@ -68,11 +69,11 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(input_seed) to_chat(user, "You set the personality seed to \"[input_seed]\".") ask_role = input_seed - update_icon() + update_appearance() /obj/item/mmi/posibrain/proc/check_success() searching = FALSE - update_icon() + update_appearance() if(QDELETED(brainmob)) return if(brainmob.client) @@ -122,7 +123,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) brainmob.mind.remove_all_antag() brainmob.mind.wipe_memory() - update_icon() + update_appearance() ///Moves the candidate from the ghost to the posibrain /obj/item/mmi/posibrain/proc/transfer_personality(mob/candidate) @@ -185,12 +186,15 @@ GLOBAL_VAR(posibrain_notify_cooldown) /obj/item/mmi/posibrain/update_icon_state() + . = ..() if(searching) - icon_state = "[initial(icon_state)]-searching" - else if(brainmob && brainmob.key) - icon_state = "[initial(icon_state)]-occupied" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state]-searching" + return + if(brainmob?.key) + icon_state = "[base_icon_state]-occupied" + return + icon_state = "[base_icon_state]" + return /obj/item/mmi/posibrain/add_mmi_overlay() return diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index 0c135007d17b..ec4105fde0ce 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -202,6 +202,7 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/neurotoxin/update_icon() action.button_icon_state = "alien_neurotoxin_[active]" action.UpdateButtonIcon() + return ..() /obj/effect/proc_holder/alien/neurotoxin/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) diff --git a/code/modules/mob/living/carbon/alien/utilities/structures.dm b/code/modules/mob/living/carbon/alien/utilities/structures.dm index cf314532f6e2..3ebba3ed7958 100644 --- a/code/modules/mob/living/carbon/alien/utilities/structures.dm +++ b/code/modules/mob/living/carbon/alien/utilities/structures.dm @@ -315,7 +315,7 @@ /obj/structure/alien/egg/Initialize(mapload) . = ..() - update_icon() + update_appearance() if(status == GROWING || status == GROWN) child = new(src) if(status == GROWING) @@ -332,6 +332,7 @@ icon_state = "[base_icon]" if(BURST) icon_state = "[base_icon]_hatched" + return ..() /obj/structure/alien/egg/attack_paw(mob/living/user) return attack_hand(user) @@ -364,7 +365,7 @@ /obj/structure/alien/egg/proc/Grow() status = GROWN - update_icon() + update_appearance() proximity_monitor.set_range(1) //drops and kills the hugger if any is remaining @@ -372,7 +373,7 @@ if(status == GROWN || status == GROWING) status = BURST proximity_monitor.set_range(0) - update_icon() + update_appearance() flick("egg_opening", src) addtimer(CALLBACK(src, .proc/finish_bursting, kill), 15) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 21866d240d3b..84f67c8f8814 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -34,10 +34,10 @@ var/atom/movable/screen/inventory/hand/H H = hud_used.hand_slots["[oindex]"] if(H) - H.update_icon() + H.update_appearance() H = hud_used.hand_slots["[held_index]"] if(H) - H.update_icon() + H.update_appearance() /mob/living/carbon/activate_hand(selhand) //l/r OR 1-held_items.len diff --git a/code/modules/mob/living/carbon/hologram/em_holopads.dm b/code/modules/mob/living/carbon/hologram/em_holopads.dm index 9829d68cfff4..96947ef44326 100644 --- a/code/modules/mob/living/carbon/hologram/em_holopads.dm +++ b/code/modules/mob/living/carbon/hologram/em_holopads.dm @@ -32,6 +32,7 @@ icon_state = "holopad1" else icon_state = "holopad3" + return ..() /obj/machinery/holopad/emergency/attack_ghost(mob/dead/observer/user) if(!SSticker.HasRoundStarted() || !loc || !em_starting || em) diff --git a/code/modules/mob/living/carbon/hologram/hologram.dm b/code/modules/mob/living/carbon/hologram/hologram.dm index 9a4e1f084374..840488a3c120 100644 --- a/code/modules/mob/living/carbon/hologram/hologram.dm +++ b/code/modules/mob/living/carbon/hologram/hologram.dm @@ -203,10 +203,10 @@ drop_all_held_items() //can't hold things when you don't actually exist dextrous = FALSE//see above comment to_chat(src, "You toggle your density [density ? "on" : "off"].") - update_icon() + update_appearance() update_gravity() -/mob/living/simple_animal/hologram/update_icon() +/mob/living/simple_animal/hologram/update_appearance() . = ..() alpha = density ? initial(alpha) : 100 //applies opacity effect if non-dense color = density ? initial(color) : "#77abff" //makes the hologram slightly blue diff --git a/code/modules/mob/living/carbon/hologram/hologram_inventory.dm b/code/modules/mob/living/carbon/hologram/hologram_inventory.dm index 0745de663690..f7f98bf5ebbe 100644 --- a/code/modules/mob/living/carbon/hologram/hologram_inventory.dm +++ b/code/modules/mob/living/carbon/hologram/hologram_inventory.dm @@ -106,10 +106,10 @@ var/atom/movable/screen/inventory/inv inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_LPOCKET) + 1] - inv.update_icon() + inv.update_appearance() inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_RPOCKET) + 1] - inv.update_icon() + inv.update_appearance() if(l_store) l_store.screen_loc = ui_storage1 diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 42dd3f9ba1e3..a260f164829f 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -1,6 +1,7 @@ /mob/living/carbon/human/examine(mob/user) //this is very slightly better than it was because you can use it more places. still can't do \his[src] though. var/t_He = p_they(TRUE) + var/t_he = p_they() var/t_His = p_their(TRUE) var/t_his = p_their() var/t_him = p_them() @@ -126,7 +127,7 @@ . += "[t_His] soul seems to have been ripped out of [t_his] body. Revival is impossible." . += "" if(getorgan(/obj/item/organ/brain) && !key && !get_ghost(FALSE, TRUE)) - . += "[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed..." + . += "[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_he] won't be coming back..." else . += "[t_He] [t_is] limp and unresponsive; there are no signs of life..." diff --git a/code/modules/mob/living/carbon/human/species_types/IPC.dm b/code/modules/mob/living/carbon/human/species_types/IPC.dm index c4c5814a087b..38eeeb9d9c18 100644 --- a/code/modules/mob/living/carbon/human/species_types/IPC.dm +++ b/code/modules/mob/living/carbon/human/species_types/IPC.dm @@ -73,12 +73,14 @@ mutantbrain = /obj/item/organ/brain/mmi_holder else mutantbrain = /obj/item/organ/brain/mmi_holder/posibrain + C.RegisterSignal(C, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, TYPE_PROC_REF(/mob/living/carbon, charge)) return ..() /datum/species/ipc/on_species_loss(mob/living/carbon/C) . = ..() if(change_screen) change_screen.Remove(C) + C.UnregisterSignal(C, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) /datum/species/ipc/spec_death(gibbed, mob/living/carbon/C) saved_screen = C.dna.features["ipc_screen"] @@ -239,3 +241,7 @@ BP.limb_id = chassis_of_choice.limbs_id BP.name = "\improper[chassis_of_choice.name] [parse_zone(BP.body_zone)]" BP.update_limb() + +/mob/living/carbon/proc/charge(datum/source, amount, repairs) + if(nutrition < NUTRITION_LEVEL_WELL_FED) + adjust_nutrition(amount / 10) // The original amount is capacitor_rating*100 diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index eb2663309517..f54c9dff634d 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -218,7 +218,7 @@ var/obj/item/pda/PDA = O PDA.set_light_on(FALSE) PDA.set_light_range(0) //It won't be turning on again. - PDA.update_icon() + PDA.update_appearance() visible_message("The light in [PDA] shorts out!") else visible_message("[O] is disintegrated by [src]!") diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index c74894d4c3be..d7d6754b0e5d 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -102,7 +102,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ICLOTHING) + 1] - inv.update_icon() + inv.update_appearance() if(istype(w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform @@ -159,7 +159,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ID) + 1] - inv.update_icon() + inv.update_appearance() var/mutable_appearance/id_overlay = overlays_standing[ID_LAYER] @@ -181,7 +181,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1] - inv.update_icon() + inv.update_appearance() //Bloody hands begin if(!gloves && blood_in_hands && (num_hands > 0)) @@ -231,7 +231,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EYES) + 1] - inv.update_icon() + inv.update_appearance() if(glasses) var/obj/item/I = glasses @@ -264,7 +264,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EARS) + 1] - inv.update_icon() + inv.update_appearance() if(ears) var/obj/item/I = ears @@ -297,7 +297,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_FEET) + 1] - inv.update_icon() + inv.update_appearance() if(shoes) var/obj/item/I = shoes @@ -335,7 +335,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_SUITSTORE) + 1] - inv.update_icon() + inv.update_appearance() if(s_store) var/obj/item/I = s_store @@ -357,7 +357,7 @@ There are several things that need to be remembered: remove_overlay(HEAD_LAYER) if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_HEAD) + 1] - inv.update_icon() + inv.update_appearance() if(head) var/obj/item/I = head @@ -390,7 +390,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BELT) + 1] - inv.update_icon() + inv.update_appearance() if(belt) var/obj/item/I = belt @@ -424,7 +424,7 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_OCLOTHING) + 1] - inv.update_icon() + inv.update_appearance() if(wear_suit) var/obj/item/I = wear_suit @@ -465,7 +465,7 @@ There are several things that need to be remembered: inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_LPOCKET) + 1] inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_RPOCKET) + 1] - inv.update_icon() + inv.update_appearance() if(l_store) l_store.screen_loc = ui_storage1 @@ -488,7 +488,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_mask) var/obj/item/I = wear_mask @@ -522,7 +522,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_neck) var/obj/item/I = wear_neck @@ -545,7 +545,7 @@ There are several things that need to be remembered: if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1] - inv.update_icon() + inv.update_appearance() if(back) var/obj/item/I = back diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index 7292436c4d68..308abdb92f36 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -120,7 +120,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_mask) if(!(ITEM_SLOT_MASK in check_obscured_slots())) @@ -134,7 +134,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1] - inv.update_icon() + inv.update_appearance() if(wear_neck) if(!(ITEM_SLOT_NECK in check_obscured_slots())) @@ -148,7 +148,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1] - inv.update_icon() + inv.update_appearance() if(back) overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi', mob_species = dna?.species) @@ -164,7 +164,7 @@ if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_HEAD) + 1] - inv.update_icon() + inv.update_appearance() if(head) overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi', mob_species = dna?.species) @@ -188,7 +188,7 @@ for(var/hand in hud_used.hand_slots) var/atom/movable/screen/inventory/hand/H = hud_used.hand_slots[hand] if(H) - H.update_icon() + H.update_appearance() //update whether our head item appears on our hud. /mob/living/carbon/proc/update_hud_head(obj/item/I) diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index d02e64391536..65bb3b762955 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -134,14 +134,14 @@ SIGNAL_HANDLER ADD_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_INCAPACITATED) ADD_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_INCAPACITATED) - update_icon() + update_appearance() /// Called when [TRAIT_INCAPACITATED] is removed from the mob. /mob/living/proc/on_incapacitated_trait_loss(datum/source) SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_INCAPACITATED) REMOVE_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_INCAPACITATED) - update_icon() + update_appearance() /// Called when [TRAIT_RESTRAINED] is added to the mob. diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index af35e62c538d..81d1cc78ca92 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -910,7 +910,7 @@ to_chat(src, "Hack aborted. The designated APC no longer exists on the power network.") playsound(get_turf(src), 'sound/machines/buzz-two.ogg', 50, TRUE, ignore_walls = FALSE) else if(apc.aidisabled) - to_chat(src, "Hack aborted. \The [apc] is no longer responding to our systems.") + to_chat(src, "Hack aborted. [apc] is no longer responding to our systems.") playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, TRUE, ignore_walls = FALSE) else malf_picker.processing_time += 10 @@ -921,8 +921,8 @@ apc.coverlocked = TRUE playsound(get_turf(src), 'sound/machines/ding.ogg', 50, TRUE, ignore_walls = FALSE) - to_chat(src, "Hack complete. \The [apc] is now under your exclusive control.") - apc.update_icon() + to_chat(src, "Hack complete. [apc] is now under your exclusive control.") + apc.update_appearance() /mob/living/silicon/ai/verb/deploy_to_shell(mob/living/silicon/robot/target) set category = "AI Commands" diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm index e40f5034437b..712450ec7dd2 100644 --- a/code/modules/mob/living/silicon/ai/multicam.dm +++ b/code/modules/mob/living/silicon/ai/multicam.dm @@ -168,14 +168,14 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) continue cameras_telegraphed -= C C.in_use_lights-- - C.update_icon() + C.update_appearance() for (var/V in add) var/obj/machinery/camera/C = V if(QDELETED(C)) continue cameras_telegraphed |= C C.in_use_lights++ - C.update_icon() + C.update_appearance() /mob/camera/aiEye/pic_in_pic/proc/disable_camera_telegraphing() telegraph_cameras = FALSE @@ -184,7 +184,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) if(QDELETED(C)) continue C.in_use_lights-- - C.update_icon() + C.update_appearance() cameras_telegraphed.Cut() /mob/camera/aiEye/pic_in_pic/Destroy() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 04a964e66f01..1af879fc878e 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -155,7 +155,7 @@ mmi.brainmob.name = src.real_name mmi.brainmob.real_name = src.real_name mmi.brainmob.container = mmi - mmi.update_icon() + mmi.update_appearance() INVOKE_ASYNC(src, .proc/updatename) @@ -184,7 +184,7 @@ mmi.brainmob.remove_from_dead_mob_list() mmi.brainmob.add_to_alive_mob_list() mind.transfer_to(mmi.brainmob) - mmi.update_icon() + mmi.update_appearance() else to_chat(src, "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.") ghostize() @@ -572,14 +572,14 @@ if(!(update_color && lamp_enabled) && (turn_off || lamp_enabled || update_color || !lamp_functional || stat || low_power_mode)) set_light_on(FALSE) lamp_enabled = FALSE - lampButton.update_icon() + lampButton.update_appearance() update_icons() return set_light_range(lamp_intensity) set_light_color(lamp_color) set_light_on(TRUE) lamp_enabled = TRUE - lampButton.update_icon() + lampButton.update_appearance() update_icons() /mob/living/silicon/robot/proc/deconstruct() @@ -607,7 +607,7 @@ robot_suit.head.flash2.burn_out() robot_suit.head.flash2 = null robot_suit.head = null - robot_suit.update_icon() + robot_suit.update_appearance() else new /obj/item/robot_suit(T) new /obj/item/bodypart/leg/left/robot(T) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 5f398d24b7b6..433c735a2784 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -292,7 +292,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real add_fingerprint(user) if(opened && !wiresexposed && !issilicon(user)) if(cell) - cell.update_icon() + cell.update_appearance() cell.add_fingerprint(user) user.put_in_active_hand(cell) to_chat(user, "You remove \the [cell].") diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 82af2a7afdcd..dee91ab20f81 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -143,7 +143,7 @@ var/obj/item/assembly/flash/F = I F.times_used = 0 F.burnt_out = FALSE - F.update_icon() + F.update_appearance() else if(istype(I, /obj/item/melee/baton)) var/obj/item/melee/baton/B = I if(B.cell) @@ -614,7 +614,7 @@ if(T.cell.charge < T.cell.maxcharge) var/obj/item/ammo_casing/energy/S = T.ammo_type[T.select] T.cell.give(S.e_cost * coeff) - T.update_icon() + T.update_appearance() else T.charge_tick = 0 diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm index 02136fee0f0e..b0c583b9c247 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -51,7 +51,7 @@ weapon.attack(C, src) playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1) if(C.stat == DEAD) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 2) + addtimer(CALLBACK(src, /atom/.proc/update_appearance), 2) back_to_idle() @@ -60,13 +60,13 @@ return switch(mode) if(BOT_IDLE) // idle - update_icon() + update_appearance() walk_to(src,0) look_for_perp() // see if any criminals are in range if(!mode && auto_patrol) // still idle, and set to patrol mode = BOT_START_PATROL // switch to patrol mode if(BOT_HUNT) // hunting for perp - update_icon() + update_appearance() playsound(src,'sound/effects/beepskyspinsabre.ogg',100,TRUE,-1) // general beepsky doesn't give up so easily, jedi scum if(frustration >= 20) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index f962780ed500..5b4d66893f5b 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -134,7 +134,7 @@ REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, POWER_LACK_TRAIT) REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) - update_icon() + update_appearance() diag_hud_set_botstat() return TRUE @@ -145,7 +145,7 @@ ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) bot_reset() //Resets an AI's call, should it exist. - update_icon() + update_appearance() /mob/living/simple_animal/bot/Initialize() . = ..() @@ -430,7 +430,7 @@ if(istype(dropped_item, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/dropped_cell = dropped_item dropped_cell.charge = 0 - dropped_cell.update_icon() + dropped_cell.update_appearance() else if(istype(dropped_item, /obj/item/storage)) var/obj/item/storage/S = dropped_item @@ -439,7 +439,7 @@ else if(istype(dropped_item, /obj/item/gun/energy)) var/obj/item/gun/energy/dropped_gun = dropped_item dropped_gun.cell.charge = 0 - dropped_gun.update_icon() + dropped_gun.update_appearance() //Generalized behavior code, override where needed! @@ -893,6 +893,7 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/update_icon_state() icon_state = "[initial(icon_state)][on]" + return ..() // Machinery to simplify topic and access calls /obj/machinery/bot_core @@ -1004,7 +1005,7 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/revive(full_heal = FALSE, admin_revive = FALSE) if(..()) - update_icon() + update_appearance() . = TRUE /mob/living/simple_animal/bot/ghost() diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 17a790477476..4a072df3ab8b 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -167,19 +167,30 @@ /obj/item/bot_assembly/floorbot/Initialize() . = ..() - update_icon() + update_appearance() -/obj/item/bot_assembly/floorbot/update_icon() - ..() +/obj/item/bot_assembly/floorbot/update_name() + . = ..() switch(build_step) - if(ASSEMBLY_FIRST_STEP) - desc = initial(desc) + if(ASSEMBLY_SECOND_STEP) + name = "incomplete floorbot assembly" + else name = initial(name) - icon_state = "[toolbox_color]toolbox_tiles" +/obj/item/bot_assembly/floorbot/update_desc() + . = ..() + switch(build_step) if(ASSEMBLY_SECOND_STEP) desc = "It's a toolbox with tiles sticking out the top and a sensor attached." - name = "incomplete floorbot assembly" + else + desc = initial(desc) + +/obj/item/bot_assembly/floorbot/update_icon_state() + . = ..() + switch(build_step) + if(ASSEMBLY_FIRST_STEP) + icon_state = "[toolbox_color]toolbox_tiles" + if(ASSEMBLY_SECOND_STEP) icon_state = "[toolbox_color]toolbox_tiles_sensor" /obj/item/bot_assembly/floorbot/attackby(obj/item/W, mob/user, params) @@ -192,7 +203,7 @@ to_chat(user, "You add [W] to [src].") qdel(W) build_step++ - update_icon() + update_appearance() if(ASSEMBLY_SECOND_STEP) if(istype(W, /obj/item/bodypart/l_arm/robot) || istype(W, /obj/item/bodypart/r_arm/robot)) diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index e7be1b12234a..4bfa9dd98a6c 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -59,7 +59,7 @@ /mob/living/simple_animal/bot/firebot/Initialize() . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - update_icon() + update_appearance() var/datum/job/engineer/J = new/datum/job/engineer access_card.access += J.get_access() prev_access = access_card.access @@ -98,11 +98,11 @@ /mob/living/simple_animal/bot/firebot/turn_on() . = ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/turn_off() ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/bot_reset() ..() @@ -110,14 +110,14 @@ old_target_fire = null ignore_list = list() anchored = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/proc/soft_reset() path = list() target_fire = null mode = BOT_IDLE last_found = world.time - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/set_custom_texts() text_hack = "You corrupt [name]'s safety protocols." @@ -174,7 +174,7 @@ stationary_mode = !stationary_mode update_controls() - update_icon() + update_appearance() /mob/living/simple_animal/bot/firebot/proc/is_burning(atom/target) if(ismob(target)) @@ -306,17 +306,18 @@ flick("firebot1_use", user) internal_ext.afterattack(target, user, null) -/mob/living/simple_animal/bot/firebot/update_icon() +/mob/living/simple_animal/bot/firebot/update_icon_state() + . = ..() if(!on) icon_state = "firebot0" return if(IsStun() || IsParalyzed()) icon_state = "firebots1" + return else if(stationary_mode) //Bot has yellow light to indicate stationary mode. icon_state = "firebots1" - else - icon_state = "firebot1" - + return + icon_state = "firebot1" /mob/living/simple_animal/bot/firebot/explode() on = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 401522e5dbe7..fa6faaa6a889 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -55,7 +55,7 @@ ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) if(new_toolbox_color) toolbox_color = new_toolbox_color - update_icon() + update_appearance() var/datum/job/engineer/J = new/datum/job/engineer access_card.access += J.get_access() prev_access = access_card.access @@ -65,11 +65,11 @@ /mob/living/simple_animal/bot/floorbot/turn_on() . = ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/floorbot/turn_off() ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/floorbot/bot_reset() ..() @@ -77,7 +77,7 @@ oldloc = null ignore_list = list() anchored = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/bot/floorbot/set_custom_texts() text_hack = "You corrupt [name]'s construction protocols." @@ -367,14 +367,14 @@ if(specialtiles == 0) speak("Requesting refill of custom floortiles to continue replacing.") mode = BOT_IDLE - update_icon() + update_appearance() anchored = FALSE target = null -/mob/living/simple_animal/bot/floorbot/update_icon() +/mob/living/simple_animal/bot/floorbot/update_icon_state() + . = ..() icon_state = "[toolbox_color]floorbot[on]" - /mob/living/simple_animal/bot/floorbot/explode() on = FALSE visible_message("[src] blows apart!") diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index d3dc66683c1d..02bf813396f8 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -38,7 +38,7 @@ /mob/living/simple_animal/bot/honkbot/Initialize() . = ..() - update_icon() + update_appearance() auto_patrol = TRUE var/datum/job/clown/J = new/datum/job/clown access_card.access += J.get_access() @@ -132,7 +132,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, oldtarget_name = user.name audible_message("[src] gives out an evil laugh!") playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 75, TRUE, -1) // evil laughter - update_icon() + update_appearance() /mob/living/simple_animal/bot/honkbot/bullet_act(obj/projectile/Proj) if((istype(Proj,/obj/projectile/beam)) || (istype(Proj,/obj/projectile/bullet) && (Proj.damage_type == BURN))||(Proj.damage_type == BRUTE) && (!Proj.nodamage && Proj.damage < health && ishuman(Proj.firer))) diff --git a/code/modules/mob/living/simple_animal/bot/hygienebot.dm b/code/modules/mob/living/simple_animal/bot/hygienebot.dm index cd05106f934e..af1ce80b2a88 100644 --- a/code/modules/mob/living/simple_animal/bot/hygienebot.dm +++ b/code/modules/mob/living/simple_animal/bot/hygienebot.dm @@ -4,6 +4,7 @@ desc = "A flying cleaning robot, he'll chase down people who can't shower properly!" icon = 'icons/obj/watercloset.dmi' icon_state = "drone" + base_icon_state = "hygienebot" density = FALSE anchored = FALSE health = 100 @@ -31,7 +32,7 @@ /mob/living/simple_animal/bot/hygienebot/Initialize() . = ..() - update_icon() + update_appearance() var/datum/job/janitor/J = new/datum/job/janitor access_card.access += J.get_access() prev_access = access_card.access @@ -200,11 +201,11 @@ /mob/living/simple_animal/bot/hygienebot/proc/start_washing() washing = TRUE - update_icon() + update_appearance() /mob/living/simple_animal/bot/hygienebot/proc/stop_washing() washing = FALSE - update_icon() + update_appearance() diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 4e6cf8fc9057..3a07ffc4cb8d 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -13,7 +13,10 @@ name = "\improper Medibot" desc = "A little medical robot. He looks somewhat underwhelmed." icon = 'icons/mob/aibots.dmi' - icon_state = "medibot0" + icon_state = "medibot" + base_icon_state = "medibot" + var/base_screen_state = "medibot" + var/stationary_suffix = null //for icon states density = FALSE anchored = FALSE health = 20 @@ -35,8 +38,6 @@ var/healthanalyzer = /obj/item/healthanalyzer /// drop determining variable var/firstaid = /obj/item/storage/firstaid -///based off medkit_X skins in aibots.dmi for your selection; X goes here IE medskin_tox means skin var should be "tox" - var/skin var/mob/living/carbon/patient var/mob/living/carbon/oldpatient var/oldloc @@ -67,16 +68,21 @@ ///The last time we were tipped/righted and said a voice line, to avoid spam var/last_tipping_action_voice = 0 + /mob/living/simple_animal/bot/medbot/mysterious name = "\improper Mysterious Medibot" desc = "International Medibot of mystery." - skin = "bezerk" + icon_state = "medibot_bezerk" + base_icon_state = "medibot_bezerk" + base_screen_state = "medibot" heal_amount = 10 /mob/living/simple_animal/bot/medbot/rockplanet name = "\improper Abandoned Medibot" desc = "A little medical robot. They look like they have some sort of bloodlust in their eyes." - skin = "evil" + icon_state = "medibot_evil" + base_icon_state = "medibot_evil" + base_screen_state = "medibot_evil" emagged = 2 remote_disabled = 1 locked = TRUE @@ -84,29 +90,43 @@ /mob/living/simple_animal/bot/medbot/derelict name = "\improper Old Medibot" - desc = "Looks like it hasn't been modified since the late 2080s." - skin = "bezerk" + desc = "Looks like it hasn't been modified since the early models." + icon_state = "medibot_bezerk" + base_icon_state = "medibot_bezerk" + base_screen_state = "medibot" heal_threshold = 0 declare_crit = 0 heal_amount = 5 /mob/living/simple_animal/bot/medbot/update_icon() + . = ..() cut_overlays() - if(skin) - add_overlay("medskin_[skin]") - if(!on) - icon_state = "medibot0" - return + var/mutable_appearance/screen_overlay = mutable_appearance(icon, null) + var/mutable_appearance/screen_overlay_2 = mutable_appearance(icon, null) + if(stationary_mode)//we add the stationary_suffix to the screen state name, if not dont add anythiung + stationary_suffix = "_stationary" + + icon_state = "[base_icon_state]" + screen_overlay.icon_state = null + screen_overlay_2.icon_state = null + + if(on) + screen_overlay_2.icon_state = "[base_screen_state][stationary_suffix]_idle" + if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) - icon_state = "medibota" - return + screen_overlay.icon_state = "[base_screen_state][stationary_suffix]_stunned" + if(mode == BOT_HEALING) - icon_state = "medibots[stationary_mode]" - return - else if(stationary_mode) //Bot has yellow light to indicate stationary mode. - icon_state = "medibot2" - else - icon_state = "medibot1" + icon_state = "[base_icon_state]_base_healing" + screen_overlay.icon_state = "[base_icon_state][stationary_suffix]_healing" + + if(declare_cooldown > world.time) //when the crit patient alert cooldown is going on, we show the other healing screen + screen_overlay_2.icon_state = "[base_screen_state][stationary_suffix]_healing_l2_crit" + else + screen_overlay_2.icon_state = "[base_screen_state][stationary_suffix]_healing_l2" + + add_overlay(screen_overlay) + add_overlay(screen_overlay_2) /mob/living/simple_animal/bot/medbot/Initialize(mapload, new_skin) . = ..() @@ -115,8 +135,8 @@ prev_access = access_card.access qdel(J) if(new_skin) - skin = new_skin - update_icon() + base_icon_state = new_skin + update_appearance() /mob/living/simple_animal/bot/medbot/Destroy() linked_techweb = null @@ -129,14 +149,14 @@ oldloc = null last_found = world.time declare_cooldown = 0 - update_icon() + update_appearance() /mob/living/simple_animal/bot/medbot/proc/soft_reset() //Allows the medibot to still actively perform its medical duties without being completely halted as a hard reset does. path = list() patient = null mode = BOT_IDLE last_found = world.time - update_icon() + update_appearance() /mob/living/simple_animal/bot/medbot/set_custom_texts() @@ -192,7 +212,7 @@ else if(href_list["stationary"]) stationary_mode = !stationary_mode path = list() - update_icon() + update_appearance() else if(href_list["hptech"]) if(!linked_techweb) @@ -253,6 +273,7 @@ var/message = pick(messagevoice) speak(message) playsound(src, messagevoice[message], 50, FALSE) + flick_overlay_static("[base_screen_state][stationary_suffix]_notice", src, 2 SECONDS) last_newpatient_speak = world.time return H else @@ -376,7 +397,7 @@ if(patient && (get_dist(src,patient) <= 1) && !tending) //Patient is next to us, begin treatment! if(mode != BOT_HEALING) mode = BOT_HEALING - update_icon() + update_appearance() frustration = 0 medicate_patient(patient) return @@ -493,9 +514,9 @@ var/mob/living/carbon/C = A patient = C mode = BOT_HEALING - update_icon() + update_appearance() medicate_patient(C) - update_icon() + update_appearance() else ..() @@ -519,6 +540,7 @@ speak(message) playsound(src, messagevoice[message], 50) oldpatient = patient + flick_overlay_static("[base_screen_state][stationary_suffix]_death", src, 6 SECONDS) soft_reset() return @@ -545,6 +567,7 @@ var/message = pick(messagevoice) speak(message) playsound(src, messagevoice[message], 50) + flick_overlay_static("[base_screen_state][stationary_suffix]_patched", src, 2 SECONDS) bot_reset() tending = FALSE else if(patient) @@ -573,7 +596,7 @@ else tending = FALSE - update_icon() + update_appearance() if(!tending) visible_message("[src] places its tools back into itself.") soft_reset() diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 77a29aadcd4b..e64b0b362e0a 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -134,7 +134,7 @@ if(open) turn_off() else - update_icon() //this is also handled by turn_off(), so no need to call this twice. + update_appearance() //this is also handled by turn_off(), so no need to call this twice. else if(istype(I, /obj/item/stock_parts/cell) && open) if(cell) to_chat(user, "[src] already has a power cell!") @@ -179,6 +179,7 @@ playsound(src, "sparks", 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE) /mob/living/simple_animal/bot/mulebot/update_icon_state() //if you change the icon_state names, please make sure to update /datum/wires/mulebot/on_pulse() as well. <3 + . = ..() icon_state = "[base_icon][on ? wires.is_cut(WIRE_AVOIDANCE) : 0]" /mob/living/simple_animal/bot/mulebot/update_overlays() @@ -447,7 +448,7 @@ load = AM mode = BOT_IDLE - update_icon() + update_appearance() /mob/living/simple_animal/bot/mulebot/proc/load_mob(mob/living/M) can_buckle = TRUE @@ -468,7 +469,7 @@ if(QDELETED(load)) if(load) //if our thing was qdel'd, there's likely a leftover reference. just clear it and remove the overlay. we'll let the bot keep moving around to prevent it abruptly stopping somewhere. load = null - update_icon() + update_appearance() return mode = BOT_IDLE @@ -487,7 +488,7 @@ if(dirn) //move the thing to the delivery point. cached_load.Move(get_step(loc,dirn), dirn) - update_icon() + update_appearance() /mob/living/simple_animal/bot/mulebot/get_status_tab_items() . = ..() @@ -766,7 +767,7 @@ new /obj/item/stack/cable_coil/cut(Tsec) if(cell) cell.forceMove(Tsec) - cell.update_icon() + cell.update_appearance() cell = null do_sparks(3, TRUE, src) @@ -842,7 +843,7 @@ load = AM mode = BOT_IDLE - update_icon() + update_appearance() /mob/living/simple_animal/bot/mulebot/paranormal/update_overlays() diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index f19bc24832c5..4629dd87c157 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -78,7 +78,7 @@ /mob/living/simple_animal/bot/secbot/Initialize() . = ..() weapon = new baton_type() - update_icon() + update_appearance() var/datum/job/detective/J = new/datum/job/detective access_card.access += J.get_access() prev_access = access_card.access @@ -91,11 +91,11 @@ QDEL_NULL(weapon) return ..() -/mob/living/simple_animal/bot/secbot/update_icon() +/mob/living/simple_animal/bot/secbot/update_icon_state() if(mode == BOT_HUNT) icon_state = "[initial(icon_state)]-c" return - ..() + return ..() /mob/living/simple_animal/bot/secbot/turn_off() ..() @@ -222,7 +222,7 @@ Auto Patrol: []"}, oldtarget_name = user.name audible_message("[src] buzzes oddly!") declare_arrests = FALSE - update_icon() + update_appearance() /mob/living/simple_animal/bot/secbot/bullet_act(obj/projectile/Proj) if(istype(Proj , /obj/projectile/beam)||istype(Proj, /obj/projectile/bullet)) @@ -454,7 +454,7 @@ Auto Patrol: []"}, new /obj/item/assembly/prox_sensor(Tsec) var/obj/item/gun/energy/disabler/G = new (Tsec) G.cell.charge = 0 - G.update_icon() + G.update_appearance() if(prob(50)) new /obj/item/bodypart/leg/left/robot(Tsec) if(prob(25)) diff --git a/code/modules/mob/living/simple_animal/bot/vibebot.dm b/code/modules/mob/living/simple_animal/bot/vibebot.dm index c5f65c4633cd..9a9d93163937 100644 --- a/code/modules/mob/living/simple_animal/bot/vibebot.dm +++ b/code/modules/mob/living/simple_animal/bot/vibebot.dm @@ -24,7 +24,7 @@ /mob/living/simple_animal/bot/vibebot/Initialize() . = ..() - update_icon() + update_appearance() /mob/living/simple_animal/bot/vibebot/get_controls(mob/user) var/list/dat = list() @@ -43,13 +43,13 @@ /mob/living/simple_animal/bot/vibebot/turn_off() . = ..() remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) - update_icon() + update_appearance() /mob/living/simple_animal/bot/vibebot/proc/Vibe() remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) add_atom_colour("#[random_color()]", TEMPORARY_COLOUR_PRIORITY) set_light_color(color) - update_icon() + update_appearance() /mob/living/simple_animal/bot/vibebot/proc/retaliate(mob/living/carbon/human/H) diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index fc83f1cbf005..09fdf0d763ba 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -410,6 +410,7 @@ /obj/effect/proc_holder/wrap/update_icon() action.button_icon_state = "wrap_[active]" action.UpdateButtonIcon() + return ..() /obj/effect/proc_holder/wrap/Click() if(!istype(usr, /mob/living/simple_animal/hostile/poison/giant_spider/nurse)) diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 9fa8ce52eb49..ca595d4d682f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -243,19 +243,19 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca var/obj/item/ammo_casing/energy/shot = Zapgun.ammo_type[Zapgun.select] if(Zapgun.cell.charge >= shot.e_cost) Zapgun.cell.use(shot.e_cost) - Zapgun.update_icon() + Zapgun.update_appearance() ..() else if(Zapstick) if(Zapstick.charges) Zapstick.charges-- - Zapstick.update_icon() + Zapstick.update_appearance() ..() else if(Pewgun) if(Pewgun.chambered) if(Pewgun.chambered.BB) qdel(Pewgun.chambered.BB) Pewgun.chambered.BB = null //because qdel takes too long, ensures icon update - Pewgun.chambered.update_icon() + Pewgun.chambered.update_appearance() ..() else visible_message("The [src] clears a jam!") @@ -264,7 +264,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) Pewgun.chambered = Pewgun.magazine.get_round(0) Pewgun.chambered.forceMove(Pewgun) - Pewgun.update_icon() + Pewgun.update_appearance() else if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) //only true for pumpguns i think Pewgun.chambered = Pewgun.magazine.get_round(0) Pewgun.chambered.forceMove(Pewgun) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index c957c704eb13..4376e9e0ae21 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -137,9 +137,9 @@ audible_message("[src]'s shell violently cracks as it's armor is shattered!") throw_message = "bounces off of" shell_snap_message = TRUE //so it doesnt repeat - update_icon() + update_appearance() return TRUE - update_icon() + update_appearance() return FALSE /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/CanAttack(atom/the_target) @@ -186,7 +186,7 @@ ..() cut_overlays() -/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/update_icon() +/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/update_appearance() . = ..() if(stat == CONSCIOUS) if(has_shell) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 1114dfddb416..aa2446ca108a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -1028,13 +1028,13 @@ suit = /obj/item/clothing/suit/armor/roumain head = /obj/item/clothing/head/cowboy/sec/roumain if(prob(25)) - suit_store = /obj/item/gun/ballistic/shotgun/winchester/lethal + suit_store = /obj/item/gun/ballistic/shotgun/winchester r_pocket = /obj/item/book/manual/trickwines_4_brewers belt = pick(list(/obj/item/kitchen/knife/hunting = 1, /obj/item/gun/ballistic/derringer = 1)) back = /obj/item/storage/backpack/cultpack backpack_contents = list() if(prob(75)) - backpack_contents += list(/obj/item/ammo_box/c38_box/hunting = 1) + backpack_contents += list(/obj/item/ammo_box/c38_box = 1) if(prob(75)) backpack_contents += list(pick(/obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageash, /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageice, /obj/item/reagent_containers/food/drinks/drinkingglass/breakawayflask/vintageshock) = 1) . = ..() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index bce19cb91aec..c21a2a6f365d 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -578,10 +578,10 @@ var/atom/movable/screen/inventory/hand/H H = hud_used.hand_slots["[hand_index]"] if(H) - H.update_icon() + H.update_appearance() H = hud_used.hand_slots["[oindex]"] if(H) - H.update_icon() + H.update_appearance() /mob/living/simple_animal/put_in_hands(obj/item/I, del_on_fail = FALSE, merge_stacks = TRUE) . = ..(I, del_on_fail, merge_stacks) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index ed0ab3335117..d8d34a804958 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -117,17 +117,18 @@ /mob/living/simple_animal/slime/proc/set_colour(new_colour) colour = new_colour - update_slime_name() + update_name() slime_mutation = mutation_table(colour) var/sanitizedcolour = replacetext(colour, " ", "") coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") regenerate_icons() -/mob/living/simple_animal/slime/proc/update_slime_name() +/mob/living/simple_animal/slime/update_name() if(slime_name_regex.Find(name)) number = rand(1, 1000) name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" real_name = name + return ..() /mob/living/simple_animal/slime/proc/random_colour() set_colour(pick(slime_colours)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3131c36a36e8..49fe6a0f059e 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -561,39 +561,6 @@ var/msg = "[src] makes eye contact with you." addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3) -/** - * Point at an atom - * - * mob verbs are faster than object verbs. See - * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) - * for why this isn't atom/verb/pointed() - * - * note: ghosts can point, this is intended - * - * visible_message will handle invisibility properly - * - * overridden here and in /mob/dead/observer for different point span classes and sanity checks - */ -/mob/verb/pointed(atom/A as mob|obj|turf in view()) - set name = "Point To" - set category = "Object" - - if(!src || !isturf(src.loc)) - return FALSE - if(client && !(A in view(client.view, src))) - return FALSE - if(istype(A, /obj/effect/temp_visual/point)) - return FALSE - - var/turf/tile = get_turf(A) - if (!tile) - return FALSE - - var/turf/our_tile = get_turf(src) - var/obj/visual = new /obj/effect/temp_visual/point(our_tile, invisibility) - animate(visual, pixel_x = (tile.x - our_tile.x) * world.icon_size + A.pixel_x, pixel_y = (tile.y - our_tile.y) * world.icon_size + A.pixel_y, time = 1.7, easing = EASE_OUT) - - return TRUE ///Can this mob resist (default FALSE) /mob/proc/can_resist() @@ -621,11 +588,11 @@ ///Update the pulling hud icon /mob/proc/update_pull_hud_icon() - hud_used?.pull_icon?.update_icon() + hud_used?.pull_icon?.update_appearance() ///Update the resting hud icon /mob/proc/update_rest_hud_icon() - hud_used?.rest_icon?.update_icon() + hud_used?.rest_icon?.update_appearance() /** * Verb to activate the object in your held hand diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 8416a88db726..0b68a919b17c 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -457,7 +457,7 @@ m_intent = MOVE_INTENT_RUN if(hud_used && hud_used.static_inventory) for(var/atom/movable/screen/mov_intent/selector in hud_used.static_inventory) - selector.update_icon() + selector.update_appearance() ///Moves a mob upwards in z level /mob/verb/up() diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 81c8577dfaf5..83bb19a33882 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -47,7 +47,7 @@ /* -SUBTLER //WS - Subtle emotes +SUBTLER */ /datum/emote/living/subtler @@ -97,9 +97,9 @@ SUBTLER //WS - Subtle emotes message = "[user] " + "[message]" if(emote_type == EMOTE_AUDIBLE) - user.audible_message(message=message,hearing_distance=1, ignored_mobs = GLOB.dead_mob_list) + user.audible_message(message = message, hearing_distance = 1) else - user.visible_message(message=message,self_message=message,vision_distance=1, ignored_mobs = GLOB.dead_mob_list) + user.visible_message(message = message, self_message = message, vision_distance = 1) ///////////////// VERB CODE /mob/living/verb/subtler() diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 3615797e8466..f78c7e36ac6d 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -55,7 +55,7 @@ physical = src comp_light_color = "#FFFFFF" idle_threads = list() - update_icon() + update_appearance() /obj/item/modular_computer/Destroy() @@ -157,20 +157,15 @@ . += get_modular_computer_parts_examine(user) /obj/item/modular_computer/update_icon_state() - if(!enabled) - icon_state = icon_state_unpowered - else - icon_state = icon_state_powered + icon_state = enabled ? icon_state_powered : icon_state_unpowered + return ..() /obj/item/modular_computer/update_overlays() . = ..() if(!display_overlays) return if(enabled) - if(active_program) - . += active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu - else - . += icon_state_menu + . += active_program?.program_icon_state || icon_state_menu if(obj_integrity <= integrity_failure * max_integrity) . += "bsod" @@ -204,7 +199,7 @@ else to_chat(user, "You press the power button and start up \the [src].") enabled = 1 - update_icon() + update_appearance() ui_interact(user) else // Unpowered if(issynth) @@ -338,7 +333,7 @@ var/mob/user = usr if(user && istype(user)) ui_interact(user) // Re-open the UI on this computer. It should show the main screen now. - update_icon() + update_appearance() // Returns 0 for No Signal, 1 for Low Signal and 2 for Good Signal. 3 is for wired connection (always-on) /obj/item/modular_computer/proc/get_ntnet_status(specific_action = 0) @@ -362,7 +357,7 @@ if(loud) physical.visible_message("\The [src] shuts down.") enabled = 0 - update_icon() + update_appearance() /obj/item/modular_computer/screwdriver_act(mob/user, obj/item/tool) if(!all_components.len) diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm index 03720bf52676..a1a67d019a11 100644 --- a/code/modules/modular_computers/computers/item/computer_components.dm +++ b/code/modules/modular_computers/computers/item/computer_components.dm @@ -42,7 +42,7 @@ H.on_remove(src, user) if(enabled && !use_power()) shutdown_computer() - update_icon() + update_appearance() return TRUE diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm index 63b8b42c1f5a..4729117052b6 100644 --- a/code/modules/modular_computers/computers/item/computer_ui.dm +++ b/code/modules/modular_computers/computers/item/computer_ui.dm @@ -108,7 +108,7 @@ active_program.program_state = PROGRAM_STATE_BACKGROUND // Should close any existing UIs active_program = null - update_icon() + update_appearance() if(user && istype(user)) ui_interact(user) // Re-open the UI on this computer. It should show the main screen now. @@ -147,7 +147,7 @@ active_program = P P.alert_pending = FALSE idle_threads.Remove(P) - update_icon() + update_appearance() return var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU] @@ -162,7 +162,7 @@ if(P.run_program(user)) active_program = P P.alert_pending = FALSE - update_icon() + update_appearance() return 1 if("PC_toggle_light") diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index fe0e5e8ff674..f7a518d3568f 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -37,15 +37,14 @@ /obj/item/modular_computer/laptop/update_icon_state() if(!screen_on) icon_state = icon_state_closed - else - . = ..() + return + return ..() /obj/item/modular_computer/laptop/update_overlays() - if(screen_on) - return ..() - else + if(!screen_on) cut_overlays() - icon_state = icon_state_closed + return + return ..() /obj/item/modular_computer/laptop/attack_self(mob/user) if(!screen_on) @@ -111,7 +110,7 @@ screen_on = !screen_on display_overlays = screen_on - update_icon() + update_appearance() diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 5670acaa76e8..ec4741851545 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -38,7 +38,7 @@ integrity_failure = machinery_computer.integrity_failure base_active_power_usage = machinery_computer.base_active_power_usage base_idle_power_usage = machinery_computer.base_idle_power_usage - machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) //when we update_icon, also update the computer + machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /obj/machinery/modular_computer/proc/relay_icon_update) //when we update_icon, also update the computer /obj/item/modular_computer/processor/relay_qdel() qdel(machinery_computer) @@ -54,7 +54,7 @@ if(!machinery_computer) return ..() - machinery_computer.update_icon() + machinery_computer.update_appearance() return /obj/item/modular_computer/processor/attack_ghost(mob/user) diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index e3ba9f80134d..9931e70ca1ba 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -2,9 +2,10 @@ name = "tablet computer" icon = 'icons/obj/modular_tablet.dmi' icon_state = "tablet-red" - icon_state_unpowered = "tablet" - icon_state_powered = "tablet" + icon_state_unpowered = "tablet-red" + icon_state_powered = "tablet-red" icon_state_menu = "menu" + base_icon_state = "tablet" hardware_flag = PROGRAM_TABLET max_hardware_size = 1 w_class = WEIGHT_CLASS_SMALL @@ -20,7 +21,8 @@ if(has_variants) if(!finish_color) finish_color = pick("red","blue","brown","green","black") - icon_state = icon_state_powered = icon_state_unpowered = "tablet-[finish_color]" + icon_state = icon_state_powered = icon_state_unpowered = "[base_icon_state]-[finish_color]" + return ..() /obj/item/modular_computer/tablet/syndicate_contract_uplink name = "contractor tablet" @@ -41,6 +43,8 @@ has_variants = FALSE device_theme = "syndicate" light_color = COLOR_RED + icon_state_powered = "tablet-syndicate" + icon_state_unpowered = "tablet-syndicate" /obj/item/modular_computer/tablet/nukeops/emag_act(mob/user) if(!enabled) @@ -53,6 +57,9 @@ /obj/item/modular_computer/tablet/integrated name = "modular interface" icon_state = "tablet-silicon" + icon_state_powered = "tablet-silicon" + icon_state_unpowered = "tablet-silicon" + base_icon_state = "tablet-silicon" has_light = FALSE //tablet light button actually enables/disables the borg lamp comp_light_luminosity = 0 has_variants = FALSE @@ -153,7 +160,8 @@ /obj/item/modular_computer/tablet/integrated/syndicate icon_state = "tablet-silicon-syndicate" device_theme = "syndicate" - + icon_state_powered = "tablet-silicon-syndicate" + icon_state_unpowered = "tablet-silicon-syndicate" /obj/item/modular_computer/tablet/integrated/syndicate/Initialize() . = ..() diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 3c2f2175a85a..b7f1a2f5d912 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -53,26 +53,25 @@ return FALSE return (cpu.emag_act(user)) -/obj/machinery/modular_computer/update_icon() - cut_overlays() - icon_state = icon_state_powered +/obj/machinery/modular_computer/update_appearance() + . = ..() + set_light(cpu?.enabled ? light_strength : 0) + +/obj/machinery/modular_computer/update_icon_state() + icon_state = (cpu?.enabled || (!(machine_stat & NOPOWER) && cpu?.use_power())) ? icon_state_powered : icon_state_unpowered + return ..() - if(!cpu || !cpu.enabled) +/obj/machinery/modular_computer/update_overlays() + . = ..() + if(!cpu?.enabled) if (!(machine_stat & NOPOWER) && (cpu && cpu.use_power())) - add_overlay(screen_icon_screensaver) - else - icon_state = icon_state_unpowered - set_light(0) + . += screen_icon_screensaver else - set_light(light_strength) - if(cpu.active_program) - add_overlay(cpu.active_program.program_icon_state ? cpu.active_program.program_icon_state : screen_icon_state_menu) - else - add_overlay(screen_icon_state_menu) + . += cpu.active_program?.program_icon_state || screen_icon_state_menu if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity) - add_overlay("bsod") - add_overlay("broken") + . += "bsod" + . += "broken" /obj/machinery/modular_computer/AltClick(mob/user) if(cpu) @@ -101,13 +100,13 @@ if(cpu) cpu.shutdown_computer(0) set_machine_stat(machine_stat | NOPOWER) - update_icon() + update_appearance() // Modular computers can have battery in them, we handle power in previous proc, so prevent this from messing it up for us. /obj/machinery/modular_computer/power_change() if(cpu && cpu.use_power()) // If MC_CPU still has a power source, PC wouldn't go offline. set_machine_stat(machine_stat & ~NOPOWER) - update_icon() + update_appearance() return . = ..() @@ -148,3 +147,8 @@ /obj/machinery/modular_computer/bullet_act(obj/projectile/Proj) if(cpu) cpu.bullet_act(Proj) + +/// Eats the "source" arg because update_icon actually expects args now. +/obj/machinery/modular_computer/proc/relay_icon_update(datum/source, updates, updated) + SIGNAL_HANDLER + return update_icon(updates) diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm index e9540c55e762..6213cba441a6 100644 --- a/code/modules/modular_computers/computers/machinery/modular_console.dm +++ b/code/modules/modular_computers/computers/machinery/modular_console.dm @@ -53,4 +53,4 @@ network_card.identification_string = "Unknown Console" if(cpu) cpu.screen_on = 1 - update_icon() + update_appearance() diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index aa50e2bad6e6..b784b1d848bc 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -64,7 +64,7 @@ // Relays icon update to the computer. /datum/computer_file/program/proc/update_computer_icon() if(computer) - computer.update_icon() + computer.update_appearance() // Attempts to create a log in global ntnet datum. Returns 1 on success, 0 on fail. /datum/computer_file/program/proc/generate_network_log(text) @@ -216,7 +216,7 @@ program_state = PROGRAM_STATE_BACKGROUND // Should close any existing UIs computer.active_program = null - computer.update_icon() + computer.update_appearance() ui.close() if(user && istype(user)) diff --git a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm index ba24a5ab3e0c..939cafb13f0c 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm @@ -26,7 +26,7 @@ computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.") computer.enabled = FALSE - computer.update_icon() + computer.update_appearance() var/obj/item/computer_hardware/hard_drive/hard_drive = computer.all_components[MC_HDD] var/obj/item/computer_hardware/battery/battery_module = computer.all_components[MC_CELL] var/obj/item/computer_hardware/recharger/recharger = computer.all_components[MC_CHARGE] diff --git a/code/modules/modular_computers/file_system/programs/arcade.dm b/code/modules/modular_computers/file_system/programs/arcade.dm index c6e1fc2d2f24..c220881365ec 100644 --- a/code/modules/modular_computers/file_system/programs/arcade.dm +++ b/code/modules/modular_computers/file_system/programs/arcade.dm @@ -32,7 +32,7 @@ game_active = FALSE program_icon_state = "arcade_off" if(istype(computer)) - computer.update_icon() + computer.update_appearance() ticket_count += 1 usr?.mind?.adjust_experience(/datum/skill/gaming, 50) sleep(10) @@ -42,7 +42,7 @@ game_active = FALSE program_icon_state = "arcade_off" if(istype(computer)) - computer.update_icon() + computer.update_appearance() usr?.mind?.adjust_experience(/datum/skill/gaming, 10) sleep(10) @@ -172,4 +172,4 @@ boss_id = rand(1,6) pause_state = FALSE if(istype(computer)) - computer.update_icon() + computer.update_appearance() diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm index 84dd8e9a122b..d082503a012d 100644 --- a/code/modules/modular_computers/file_system/programs/radar.dm +++ b/code/modules/modular_computers/file_system/programs/radar.dm @@ -15,7 +15,7 @@ var/atom/selected ///Used to store when the next scan is available. Updated by the scan() proc. var/next_scan = 0 - ///Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_icon() calls + ///Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls var/last_icon_state = "" ///Used by the tgui interface, themed NT or Syndicate. var/arrowstyle = "ntosradarpointer.png" @@ -174,7 +174,7 @@ if(!trackable(signal)) program_icon_state = "[initial(program_icon_state)]lost" if(last_icon_state != program_icon_state) - computer.update_icon() + computer.update_appearance() last_icon_state = program_icon_state return @@ -192,7 +192,7 @@ program_icon_state = "[initial(program_icon_state)]far" if(last_icon_state != program_icon_state) - computer.update_icon() + computer.update_appearance() last_icon_state = program_icon_state computer.setDir(get_dir(here_turf, target_turf)) diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm index 664b1a19cca1..d1c6335587a4 100644 --- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm @@ -27,7 +27,7 @@ ui_header = "smmon_[last_status].gif" program_icon_state = "smmon_[last_status]" if(istype(computer)) - computer.update_icon() + computer.update_appearance() /datum/computer_file/program/supermatter_monitor/run_program(mob/living/user) . = ..(user) diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm index 777c72e47dc2..2e3dac4fddbe 100644 --- a/code/modules/ninja/suit/ninjaDrainAct.dm +++ b/code/modules/ninja/suit/ninjaDrainAct.dm @@ -55,7 +55,7 @@ They *could* go in their appropriate files, but this is supposed to be modular playsound(loc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) obj_flags |= EMAGGED locked = FALSE - update_icon() + update_appearance() @@ -112,7 +112,7 @@ They *could* go in their appropriate files, but this is supposed to be modular S.cell.give(charge) charge = 0 corrupt() - update_icon() + update_appearance() /obj/machinery/proc/AI_notify_hack() var/alertstr = "Network Alert: Hacking attempt detected[get_area(src)?" in [get_area_name(src, TRUE)]":". Unable to pinpoint location"]." diff --git a/code/modules/ninja/suit/suit_attackby.dm b/code/modules/ninja/suit/suit_attackby.dm index fa20f9e50ef6..f9641a7a63ff 100644 --- a/code/modules/ninja/suit/suit_attackby.dm +++ b/code/modules/ninja/suit/suit_attackby.dm @@ -29,7 +29,7 @@ U.put_in_hands(old_cell) old_cell.add_fingerprint(U) old_cell.corrupt() - old_cell.update_icon() + old_cell.update_appearance() cell = CELL to_chat(U, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%") else diff --git a/code/modules/overmap/helm.dm b/code/modules/overmap/helm.dm index 6461d39d0361..e39b6bc88866 100644 --- a/code/modules/overmap/helm.dm +++ b/code/modules/overmap/helm.dm @@ -426,6 +426,12 @@ viewer = TRUE unique_icon = TRUE +/obj/machinery/computer/helm/viewscreen/computer + name = "viewscreen console" + icon_state = "oldcomp" + icon_screen = "oldcomp_retro_rnd" + density = TRUE + MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/helm/viewscreen, 17) #undef JUMP_STATE_OFF diff --git a/code/modules/overmap/missions/research_mission.dm b/code/modules/overmap/missions/research_mission.dm index 181d1a4d9ba4..c80686039f8d 100644 --- a/code/modules/overmap/missions/research_mission.dm +++ b/code/modules/overmap/missions/research_mission.dm @@ -56,7 +56,7 @@ if(!over_obj || !scanner.is_operational || scanner_port?.current_ship != servant) return num_current++ - +/* commented out until ion storms aren't literal torture /datum/mission/research/ion name = "Ion storm research mission" desc = "We require data on the behavior of ion storms in the system for an ongoing study. \ @@ -64,7 +64,7 @@ It must be powered to collect the data." value = 3500 objective_type = /datum/overmap/event/emp - +*/ /datum/mission/research/meteor name = "Asteroid field research mission" desc = "We require data on the behavior of asteroid fields in the system for an ongoing study. \ @@ -127,7 +127,7 @@ set_is_operational(FALSE) STOP_PROCESSING(SSmachines, src) use_power = NO_POWER_USE - power_change() // calls update_icon(), makes sure we're powered + power_change() // calls update_appearance(), makes sure we're powered /obj/machinery/mission_scanner/update_icon_state() . = ..() diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm index b7617f12dc50..1b638c68216f 100644 --- a/code/modules/overmap/objects/dynamic_datum.dm +++ b/code/modules/overmap/objects/dynamic_datum.dm @@ -153,7 +153,7 @@ if(!preserve_level) token.desc += " It may not still be here if you leave it." - token.update_icon() + token.update_appearance() /datum/overmap/dynamic/proc/gen_planet_name() . = "" diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm index 8ee2136e0d02..bfed840a1acd 100644 --- a/code/modules/overmap/objects/event_datum.dm +++ b/code/modules/overmap/objects/event_datum.dm @@ -58,7 +58,7 @@ token.icon_state = "meteor[rand(1, 4)]" token.color = "#a08444" token.light_color = "#a08444" - token.update_icon() + token.update_appearance() /datum/overmap/event/meteor/apply_effect() for(var/datum/overmap/ship/controlled/Ship in get_nearby_overmap_objects()) @@ -90,7 +90,7 @@ /obj/effect/meteor/irradiated=10, /obj/effect/meteor/tunguska = 1 ) - +/* commented out until ion storms aren't literal torture ///ION STORM - explodes your IPCs /datum/overmap/event/emp name = "ion storm (moderate)" @@ -106,7 +106,7 @@ token.icon_state = "ion[rand(1, 4)]" token.color = "#7cb4d4" token.light_color = "#7cb4d4" - token.update_icon() + token.update_appearance() /datum/overmap/event/emp/affect_ship(datum/overmap/ship/controlled/S) var/area/source_area = pick(S.shuttle_port.shuttle_areas) @@ -128,7 +128,7 @@ chance_to_affect = 25 chain_rate = 4 strength = 6 - +*/ ///ELECTRICAL STORM - explodes your computer and IPCs /datum/overmap/event/electric name = "electrical storm (moderate)" @@ -146,7 +146,7 @@ token.icon_state = "electrical[rand(1, 4)]" token.color = "#e8e85c" token.light_color = "#e8e85c" - token.update_icon() + token.update_appearance() /datum/overmap/event/electric/affect_ship(datum/overmap/ship/controlled/S) var/datum/virtual_level/ship_vlevel = S.shuttle_port.get_virtual_level() @@ -183,7 +183,7 @@ token.opacity = TRUE token.color = "#c053f3" token.light_color = "#c053f3" - token.update_icon() + token.update_appearance() /datum/overmap/event/wormhole name = "wormhole" @@ -206,7 +206,7 @@ other_wormhole = new(null, src) //Create a new wormhole at a random location token.color = adjust_colors() token.light_color = adjust_colors() - token.update_icon() + token.update_appearance() /datum/overmap/event/wormhole/affect_ship(datum/overmap/ship/controlled/S) if(!other_wormhole) @@ -338,9 +338,11 @@ GLOBAL_LIST_INIT(overmap_event_pick_list, list( /datum/overmap/event/electric/minor = 45, /datum/overmap/event/electric = 40, /datum/overmap/event/electric/major = 35, + /* commented out until ion storms aren't literal torture /datum/overmap/event/emp/minor = 45, /datum/overmap/event/emp = 40, /datum/overmap/event/emp/major = 45, + */ /datum/overmap/event/meteor/minor = 45, /datum/overmap/event/meteor = 40, /datum/overmap/event/meteor/major = 35, diff --git a/code/modules/overmap/overmap_token.dm b/code/modules/overmap/overmap_token.dm index 80475938240f..4d4ca6d23bda 100644 --- a/code/modules/overmap/overmap_token.dm +++ b/code/modules/overmap/overmap_token.dm @@ -34,7 +34,7 @@ cam_background.assigned_map = map_name cam_background.del_on_map_removal = FALSE update_screen() - update_icon() + update_appearance() /obj/overmap/Destroy(force) if(!QDELETED(parent)) diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index 040d96329940..bac3463ffee9 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -425,7 +425,7 @@ icon_state = "shipkey_plasticbod" var/our_color = pick(key_colors) add_atom_colour(key_colors[our_color], FIXED_COLOUR_PRIORITY) - update_icon() + update_appearance() name = "ship key ([master_ship.name])" /obj/item/key/ship/update_overlays() diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 112565e15157..462c75c18184 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -13,7 +13,7 @@ resistance_flags = FLAMMABLE /obj/item/clipboard/Initialize() - update_icon() + update_appearance() . = ..() /obj/item/clipboard/Destroy() @@ -36,10 +36,10 @@ return toppaper = W to_chat(user, "You clip the paper onto \the [src].") - update_icon() + update_appearance() else if(toppaper) toppaper.attackby(user.get_active_held_item(), user) - update_icon() + update_appearance() /obj/item/clipboard/attack_self(mob/user) @@ -118,4 +118,4 @@ //Update everything attack_self(usr) - update_icon() + update_appearance() diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 8828cc3b37bc..b919078a97f7 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -314,7 +314,7 @@ var/obj/item/storage/wallet/W = worn W.front_id = id id.forceMove(worn) - worn.update_icon() + worn.update_appearance() var/datum/round_event/ion_storm/add_law_only/ion = new() ion.announceChance = 0 ion.ionMessage = "[user.name] is the only Captain of the station. [user.name] is the highest authority, legitimate or otherwise, on the station. [user.name] was always the captain and highest authority on the station. Do not state this law." diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 724c625779a7..01f4547f048e 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -44,7 +44,7 @@ if(!user.transferItemToLoc(W, src)) return to_chat(user, "You put [W] into [src].") - update_icon() + update_appearance() else if(istype(W, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You scribble illegibly on the cover of [src]!") @@ -89,7 +89,7 @@ //Update everything attack_self(usr) - update_icon() + update_appearance() /obj/item/folder/documents name = "folder- 'TOP SECRET'" @@ -98,7 +98,7 @@ /obj/item/folder/documents/Initialize() . = ..() new /obj/item/documents/nanotrasen(src) - update_icon() + update_appearance() /obj/item/folder/syndicate icon_state = "folder_syndie" @@ -111,7 +111,7 @@ /obj/item/folder/syndicate/red/Initialize() . = ..() new /obj/item/documents/syndicate/red(src) - update_icon() + update_appearance() /obj/item/folder/syndicate/blue icon_state = "folder_sblue" @@ -119,12 +119,12 @@ /obj/item/folder/syndicate/blue/Initialize() . = ..() new /obj/item/documents/syndicate/blue(src) - update_icon() + update_appearance() /obj/item/folder/syndicate/mining/Initialize() . = ..() new /obj/item/documents/syndicate/mining(src) - update_icon() + update_appearance() /obj/item/folder/solgov/red desc = "A blue folder with a SolGov seal." @@ -133,7 +133,7 @@ /obj/item/folder/solgov/red/Initialize() . = ..() new /obj/item/documents/solgov(src) - update_icon() + update_appearance() /obj/item/folder/terragov/red @@ -143,4 +143,4 @@ /obj/item/folder/terragov/red/Initialize() . = ..() new /obj/item/documents/terragov(src) - update_icon() + update_appearance() diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index 883db4088539..1c1ebd86336e 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -15,10 +15,11 @@ /obj/item/papercutter/Initialize() . = ..() storedcutter = new /obj/item/hatchet/cutterblade(src) - update_icon() + update_appearance() /obj/item/papercutter/update_icon_state() icon_state = (storedcutter ? "[initial(icon_state)]-cutter" : "[initial(icon_state)]") + return ..() /obj/item/papercutter/update_overlays() . =..() @@ -33,7 +34,7 @@ playsound(loc, "pageturn", 60, TRUE) to_chat(user, "You place [P] in [src].") storedpaper = P - update_icon() + update_appearance() return if(istype(P, /obj/item/hatchet/cutterblade) && !storedcutter) if(!user.transferItemToLoc(P, src)) @@ -41,7 +42,7 @@ to_chat(user, "You replace [src]'s [P].") P.forceMove(src) storedcutter = P - update_icon() + update_appearance() return if(P.tool_behaviour == TOOL_SCREWDRIVER && storedcutter) P.play_tool_sound(src) @@ -63,7 +64,7 @@ to_chat(user, "You remove [src]'s [storedcutter].") user.put_in_hands(storedcutter) storedcutter = null - update_icon() + update_appearance() if(storedpaper) playsound(src.loc, 'sound/weapons/slash.ogg', 50, TRUE) @@ -72,7 +73,7 @@ qdel(storedpaper) new /obj/item/paperslip(get_turf(src)) new /obj/item/paperslip(get_turf(src)) - update_icon() + update_appearance() /obj/item/papercutter/MouseDrop(atom/over_object) . = ..() diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index e8a8222eb6c9..64d63199066c 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -25,7 +25,7 @@ if(P && !bin_pen) P.forceMove(src) bin_pen = P - update_icon() + update_appearance() /obj/item/paper_bin/Destroy() if(papers) @@ -37,7 +37,7 @@ /obj/item/paper_bin/fire_act(exposed_temperature, exposed_volume) if(total_paper) total_paper = 0 - update_icon() + update_appearance() ..() /obj/item/paper_bin/MouseDrop(atom/over_object) @@ -72,10 +72,10 @@ user.put_in_hands(P) to_chat(user, "You take [P] out of \the [src].") bin_pen = null - update_icon() + update_appearance() else if(total_paper >= 1) total_paper-- - update_icon() + update_appearance() // If there's any custom paper on the stack, use that instead of creating a new paper. var/obj/item/paper/paper if(papers.len > 0) @@ -106,14 +106,14 @@ to_chat(user, "You put [P] in [src].") papers.Add(P) total_paper++ - update_icon() + update_appearance() else if(istype(I, /obj/item/pen) && !bin_pen) var/obj/item/pen/P = I if(!user.transferItemToLoc(P, src)) return to_chat(user, "You put [P] in [src].") bin_pen = P - update_icon() + update_appearance() else return ..() @@ -130,6 +130,7 @@ icon_state = "paper_bin0" else icon_state = "[initial(icon_state)]" + return ..() /obj/item/paper_bin/update_overlays() . = ..() diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index 4c1356c4b6ec..eaf51fc9b25b 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -30,7 +30,7 @@ newPaper.forceMove(src) else internalPaper = new(src) - update_icon() + update_appearance() /obj/item/paperplane/handle_atom_del(atom/A) if(A == internalPaper) @@ -74,7 +74,7 @@ else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane internalPaper.attackby(P, user) //spoofed attack to update internal paper. - update_icon() + update_appearance() add_fingerprint(user) return diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index e0fd0dd69e73..b289c32e85e0 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -234,7 +234,7 @@ playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) to_chat(user, "[src] is now active.") updateEmbedding() - update_icon() + update_appearance() /obj/item/pen/edagger/update_icon_state() if(on) @@ -246,6 +246,7 @@ item_state = initial(item_state) lefthand_file = initial(lefthand_file) righthand_file = initial(righthand_file) + return ..() /obj/item/pen/survival name = "survival pen" diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index a5bd681e8d94..24a256282fad 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -41,11 +41,11 @@ ticket.audible_message("\the [ticket] disperses!") qdel(ticket) tickets.Cut() - update_icon() + update_appearance() /obj/machinery/ticket_machine/Initialize() . = ..() - update_icon() + update_appearance() /obj/machinery/ticket_machine/proc/increment() if(current_number > ticket_number) @@ -59,7 +59,7 @@ say("Now serving ticket #[current_number]!") if(!(obj_flags & EMAGGED) && tickets[current_number]) tickets[current_number].audible_message("\the [tickets[current_number]] vibrates!") - update_icon() //Update our icon here rather than when they take a ticket to show the current ticket number being served + update_appearance() //Update our icon here rather than when they take a ticket to show the current ticket number being served /obj/machinery/button/ticket_machine name = "increment ticket counter" @@ -125,6 +125,7 @@ if(100) icon_state = "ticketmachine_0" handle_maptext() + return ..() /obj/machinery/ticket_machine/proc/handle_maptext() switch(ticket_number) //This is here to handle maptext offsets so that the numbers align. @@ -154,7 +155,7 @@ qdel(ticket) tickets.Cut() max_number = initial(max_number) - update_icon() + update_appearance() return /obj/machinery/ticket_machine/proc/reset_cooldown() @@ -220,7 +221,7 @@ /obj/item/paper/extinguish() ..() - update_icon() + update_appearance() /obj/item/ticket_machine_ticket/Destroy() if(owner && source) diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index 25395bd677d8..9b41f9f6236d 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -16,7 +16,7 @@ if(!user.transferItemToLoc(I, src)) return displayed = I - update_icon() + update_appearance() else to_chat(user, "\The [src] already contains a photo.") ..() @@ -31,7 +31,7 @@ user.put_in_hands(I) to_chat(user, "You carefully remove the photo from \the [src].") displayed = null - update_icon() + update_appearance() return ..() /obj/item/wallframe/picture/attack_self(mob/user) @@ -106,7 +106,7 @@ else qdel(framed) framed = P - update_icon() + update_appearance() /obj/structure/sign/picture_frame/examine(mob/user) if(in_range(src, user) && framed) @@ -135,7 +135,7 @@ if(!user.transferItemToLoc(P, src)) return framed = P - update_icon() + update_appearance() else to_chat(user, "\The [src] already contains a photo.") @@ -162,5 +162,5 @@ if(contents.len) var/obj/item/I = pick(contents) I.forceMove(F) - F.update_icon() + F.update_appearance() qdel(src) diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm index cb63b7a745ee..7274d477babb 100644 --- a/code/modules/photography/photos/photo.dm +++ b/code/modules/photography/photos/photo.dm @@ -21,7 +21,7 @@ if(!istype(P)) return picture = P - update_icon() + update_appearance() if(P.caption) scribble = P.caption if(setname && P.picture_name) @@ -34,10 +34,11 @@ /obj/item/photo/update_icon_state() if(!istype(picture) || !picture.picture_image) - return + return ..() var/icon/I = picture.get_small_icon(initial(icon_state)) if(I) icon = I + return ..() /obj/item/photo/attack_self(mob/user) user.examinate(src) diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm index 567d5aab2ecb..ff344741ad99 100644 --- a/code/modules/plumbing/ducts.dm +++ b/code/modules/plumbing/ducts.dm @@ -82,7 +82,7 @@ All the important duct code: for(var/atom/movable/AM in get_step(src, D)) if(connect_network(AM, D)) add_connects(D) - update_icon() + update_appearance() ///see if whatever we found can be connected to /obj/machinery/duct/proc/connect_network(atom/movable/AM, direction, ignore_color) @@ -109,7 +109,7 @@ All the important duct code: add_neighbour(D, direction) D.add_connects(opposite_dir) - D.update_icon() + D.update_appearance() return TRUE //tell the current pipe to also update it's sprite if(!(D in neighbours)) //we cool if((duct_color != D.duct_color) && !(ignore_colors || D.ignore_colors)) @@ -160,7 +160,7 @@ All the important duct code: duct.remove_duct(src) lose_neighbours() reset_connects(0) - update_icon() + update_appearance() if(ispath(drop_on_wrench) && !QDELING(src)) new drop_on_wrench(drop_location()) qdel(src) @@ -196,7 +196,7 @@ All the important duct code: connects = 0 for(var/A in neighbours) connects |= neighbours[A] - update_icon() + update_appearance() ///create a new duct datum /obj/machinery/duct/proc/create_duct() @@ -254,6 +254,7 @@ All the important duct code: if(D == WEST) temp_icon += "_w" icon_state = temp_icon + return ..() ///update the layer we are on /obj/machinery/duct/proc/handle_layer() @@ -334,7 +335,7 @@ All the important duct code: add_connects(direction) //the connect of the other duct is handled in connect_network, but do this here for the parent duct because it's not necessary in normal cases add_neighbour(D, direction) connect_network(D, direction, TRUE) - update_icon() + update_appearance() ///has a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect. /obj/machinery/duct/multilayered diff --git a/code/modules/plumbing/plumbers/acclimator.dm b/code/modules/plumbing/plumbers/acclimator.dm index 58d6a3a0d4b3..1ac5b30a4b6a 100644 --- a/code/modules/plumbing/plumbers/acclimator.dm +++ b/code/modules/plumbing/plumbers/acclimator.dm @@ -34,17 +34,17 @@ if(machine_stat & NOPOWER || !enabled || !reagents.total_volume || reagents.chem_temp == target_temperature) if(acclimate_state != NEUTRAL) acclimate_state = NEUTRAL - update_icon() + update_appearance() if(!reagents.total_volume) emptying = FALSE return if(reagents.chem_temp < target_temperature && acclimate_state != HEATING) //note that we check if the temperature is the same at the start acclimate_state = HEATING - update_icon() + update_appearance() else if(reagents.chem_temp > target_temperature && acclimate_state != COOLING) acclimate_state = COOLING - update_icon() + update_appearance() if(!emptying) if(reagents.chem_temp >= target_temperature && target_temperature + allowed_temperature_difference >= reagents.chem_temp) //cooling here emptying = TRUE @@ -61,6 +61,7 @@ icon_state += "_cold" if(HEATING) icon_state += "_hot" + return ..() /obj/machinery/plumbing/acclimator/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/plumbing/plumbers/pumps.dm b/code/modules/plumbing/plumbers/pumps.dm index dd0b709be9e0..331e3fc24d89 100644 --- a/code/modules/plumbing/plumbers/pumps.dm +++ b/code/modules/plumbing/plumbers/pumps.dm @@ -4,6 +4,7 @@ desc = "Pump up those sweet liquids from under the surface. Uses thermal energy from geysers to power itself." //better than placing 200 cables, because it wasnt fun icon = 'icons/obj/plumbing/plumbers.dmi' icon_state = "pump" + base_icon_state = "pump" anchored = FALSE density = TRUE idle_power_usage = 10 @@ -30,7 +31,7 @@ . = ..() if(. == SUCCESSFUL_UNFASTEN) geyser = null - update_icon() + update_appearance() geyserless = FALSE //we switched state, so lets just set this back aswell /obj/machinery/plumbing/liquid_pump/process() @@ -40,7 +41,7 @@ if(!geyser) for(var/obj/structure/geyser/G in loc.contents) geyser = G - update_icon() + update_appearance() if(!geyser) //we didnt find one, abort geyserless = TRUE visible_message("The [name] makes a sad beep!") @@ -57,8 +58,9 @@ /obj/machinery/plumbing/liquid_pump/update_icon_state() if(geyser) - icon_state = initial(icon_state) + "-on" + icon_state = "[base_icon_state]-on" else if(panel_open) - icon_state = initial(icon_state) + "-open" + icon_state = "[base_icon_state]-open" else - icon_state = initial(icon_state) + icon_state = "[base_icon_state]" + return ..() diff --git a/code/modules/plumbing/plumbers/synthesizer.dm b/code/modules/plumbing/plumbers/synthesizer.dm index 8c6a50ed09d8..fc36947a8901 100644 --- a/code/modules/plumbing/plumbers/synthesizer.dm +++ b/code/modules/plumbing/plumbers/synthesizer.dm @@ -99,7 +99,7 @@ if(new_reagent in dispensable_reagents) reagent_id = new_reagent . = TRUE - update_icon() + update_appearance() reagents.clear_reagents() /obj/machinery/plumbing/synthesizer/update_overlays() diff --git a/code/modules/point/point.dm b/code/modules/point/point.dm new file mode 100644 index 000000000000..8e311c339fde --- /dev/null +++ b/code/modules/point/point.dm @@ -0,0 +1,107 @@ +#define POINT_TIME (2.5 SECONDS) + +/** + * Point at an atom + * + * Intended to enable and standardise the pointing animation for all atoms + * + * Not intended as a replacement for the mob verb + */ +/atom/movable/proc/point_at(atom/pointed_atom) + if(!isturf(loc)) + return + + if (pointed_atom in src) + create_point_bubble(pointed_atom) + return + + var/turf/tile = get_turf(pointed_atom) + if (!tile) + return + + var/turf/our_tile = get_turf(src) + var/obj/visual = new /obj/effect/temp_visual/point(our_tile, invisibility) + + animate(visual, pixel_x = (tile.x - our_tile.x) * world.icon_size + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * world.icon_size + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT) + +/atom/movable/proc/create_point_bubble(atom/pointed_atom) + var/obj/effect/thought_bubble_effect = new + + var/mutable_appearance/thought_bubble = mutable_appearance( + 'icons/effects/effects.dmi', + "thought_bubble", + layer = POINT_LAYER, + appearance_flags = KEEP_APART, + ) + + var/mutable_appearance/pointed_atom_appearance = new(pointed_atom.appearance) + pointed_atom_appearance.blend_mode = BLEND_INSET_OVERLAY + pointed_atom_appearance.plane = thought_bubble.plane + pointed_atom_appearance.layer = FLOAT_LAYER + pointed_atom_appearance.pixel_x = 0 + pointed_atom_appearance.pixel_y = 0 + thought_bubble.overlays += pointed_atom_appearance + + var/hover_outline_index = pointed_atom.get_filter_index(HOVER_OUTLINE_FILTER) + if (!isnull(hover_outline_index)) + pointed_atom_appearance.filters.Cut(hover_outline_index, hover_outline_index + 1) + + thought_bubble.pixel_x = 16 + thought_bubble.pixel_y = 32 + thought_bubble.alpha = 200 + thought_bubble.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + + var/mutable_appearance/point_visual = mutable_appearance( + 'icons/hud/screen_gen.dmi', + "arrow", + plane = thought_bubble.plane, + ) + + thought_bubble.overlays += point_visual + + // vis_contents is used to preserve mouse opacity + thought_bubble_effect.appearance = thought_bubble + vis_contents += thought_bubble_effect + + QDEL_IN(thought_bubble_effect, POINT_TIME) + +/obj/effect/temp_visual/point + name = "pointer" + icon = 'icons/hud/screen_gen.dmi' + icon_state = "arrow" + layer = POINT_LAYER + duration = POINT_TIME + +/obj/effect/temp_visual/point/Initialize(mapload, set_invis = 0) + . = ..() + var/atom/old_loc = loc + abstract_move(get_turf(src)) + pixel_x = old_loc.pixel_x + pixel_y = old_loc.pixel_y + invisibility = set_invis + +#undef POINT_TIME + +/** + * Point at an atom + * + * mob verbs are faster than object verbs. See + * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) + * for why this isn't atom/verb/pointed() + * + * note: ghosts can point, this is intended + * + * visible_message will handle invisibility properly + * + * overridden here and in /mob/dead/observer for different point span classes and sanity checks + */ +/mob/verb/pointed(atom/A as mob|obj|turf in view()) + set name = "Point To" + set category = "Object" + if(client && !(A in view(client.view, src))) + return FALSE + if(istype(A, /obj/effect/temp_visual/point)) + return FALSE + point_at(A) + SEND_SIGNAL(src, COMSIG_MOB_POINTED, A) + return TRUE diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 161de6bb3e9d..f8156a97a5d4 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1,47 +1,100 @@ -//update_state -#define UPSTATE_CELL_IN (1<<0) -#define UPSTATE_OPENED1 (1<<1) -#define UPSTATE_OPENED2 (1<<2) -#define UPSTATE_MAINT (1<<3) -#define UPSTATE_BROKE (1<<4) -#define UPSTATE_BLUESCREEN (1<<5) -#define UPSTATE_WIREEXP (1<<6) -#define UPSTATE_ALLGOOD (1<<7) - -#define APC_RESET_EMP "emp" - -//update_overlay -#define APC_UPOVERLAY_CHARGEING0 (1<<0) -#define APC_UPOVERLAY_CHARGEING1 (1<<1) -#define APC_UPOVERLAY_CHARGEING2 (1<<2) -#define APC_UPOVERLAY_EQUIPMENT0 (1<<3) -#define APC_UPOVERLAY_EQUIPMENT1 (1<<4) -#define APC_UPOVERLAY_EQUIPMENT2 (1<<5) -#define APC_UPOVERLAY_LIGHTING0 (1<<6) -#define APC_UPOVERLAY_LIGHTING1 (1<<7) -#define APC_UPOVERLAY_LIGHTING2 (1<<8) -#define APC_UPOVERLAY_ENVIRON0 (1<<9) -#define APC_UPOVERLAY_ENVIRON1 (1<<10) -#define APC_UPOVERLAY_ENVIRON2 (1<<11) -#define APC_UPOVERLAY_LOCKED (1<<12) -#define APC_UPOVERLAY_OPERATING (1<<13) - -#define APC_ELECTRONICS_MISSING 0 // None -#define APC_ELECTRONICS_INSTALLED 1 // Installed but not secured -#define APC_ELECTRONICS_SECURED 2 // Installed and secured - +// APC electronics status: +/// There are no electronics in the APC. +#define APC_ELECTRONICS_MISSING 0 +/// The electronics are installed but not secured. +#define APC_ELECTRONICS_INSTALLED 1 +/// The electronics are installed and secured. +#define APC_ELECTRONICS_SECURED 2 + +// APC cover status: +/// The APCs cover is closed. #define APC_COVER_CLOSED 0 +/// The APCs cover is open. #define APC_COVER_OPENED 1 +/// The APCs cover is missing. #define APC_COVER_REMOVED 2 +// APC charging status: +/// The APC is not charging. #define APC_NOT_CHARGING 0 +/// The APC is charging. #define APC_CHARGING 1 +/// The APC is fully charged. #define APC_FULLY_CHARGED 2 -//WS Begin -- Ethereal Charge Scaling -#define APC_DRAIN_TIME 75 +// APC channel status: +/// The APCs power channel is manually set off. +#define APC_CHANNEL_OFF 0 +/// The APCs power channel is automatically off. +#define APC_CHANNEL_AUTO_OFF 1 +/// The APCs power channel is manually set on. +#define APC_CHANNEL_ON 2 +/// The APCs power channel is automatically on. +#define APC_CHANNEL_AUTO_ON 3 + +// APC autoset enums: +/// The APC turns automated and manual power channels off. +#define AUTOSET_FORCE_OFF 0 +/// The APC turns automated power channels off. +#define AUTOSET_OFF 2 +/// The APC turns automated power channels on. +#define AUTOSET_ON 1 + +// External power status: +/// The APC either isn't attached to a powernet or there is no power on the external powernet. +#define APC_NO_POWER 0 +/// The APCs external powernet does not have enough power to charge the APC. +#define APC_LOW_POWER 1 +/// The APCs external powernet has enough power to charge the APC. +#define APC_HAS_POWER 2 + +// Elzuose: +/// How long it takes an elzu to drain or charge APCs. Also used as a spam limiter. +#define APC_DRAIN_TIME (7.5 SECONDS) +/// How much power elzu gain/drain from APCs. #define APC_POWER_GAIN (10 * ETHEREAL_CHARGE_SCALING_MULTIPLIER) -//WS End + +// Wires & EMPs: +/// The wire value used to reset the APCs wires after one's EMPed. +#define APC_RESET_EMP "emp" + +// update_state +// Bitshifts: (If you change the status values to be something other than an int or able to exceed 3 you will need to change these too) +/// The bit shift for the APCs cover status. +#define UPSTATE_COVER_SHIFT (0) + /// The bitflag representing the APCs cover being open for icon purposes. + #define UPSTATE_OPENED1 (APC_COVER_OPENED << UPSTATE_COVER_SHIFT) + /// The bitflag representing the APCs cover being missing for icon purposes. + #define UPSTATE_OPENED2 (APC_COVER_REMOVED << UPSTATE_COVER_SHIFT) + +// Bitflags: +/// The APC has a power cell. +#define UPSTATE_CELL_IN (1<<2) +/// The APC is broken or damaged. +#define UPSTATE_BROKE (1<<3) +/// The APC is undergoing maintenance. +#define UPSTATE_MAINT (1<<4) +/// The APC is emagged or malfed. +#define UPSTATE_BLUESCREEN (1<<5) +/// The APCs wires are exposed. +#define UPSTATE_WIREEXP (1<<6) + +// update_overlay +// Bitflags: +/// Bitflag indicating that the APCs operating status overlay should be shown. +#define UPOVERLAY_OPERATING (1<<0) +/// Bitflag indicating that the APCs locked status overlay should be shown. +#define UPOVERLAY_LOCKED (1<<1) + +// Bitshifts: (If you change the status values to be something other than an int or able to exceed 3 you will need to change these too) +/// Bit shift for the charging status of the APC. +#define UPOVERLAY_CHARGING_SHIFT (2) +/// Bit shift for the equipment status of the APC. +#define UPOVERLAY_EQUIPMENT_SHIFT (4) +/// Bit shift for the lighting channel status of the APC. +#define UPOVERLAY_LIGHTING_SHIFT (6) +/// Bit shift for the environment channel status of the APC. +#define UPOVERLAY_ENVIRON_SHIFT (8) // the Area Power Controller (APC), formerly Power Distribution Unit (PDU) // one per area, needs wire connection to power network through a terminal @@ -80,9 +133,9 @@ var/cell_type = /obj/item/stock_parts/cell/upgraded //Base cell has 2500 capacity. Enter the path of a different cell you want to use. cell determines charge rates, max capacity, ect. These can also be changed with other APC vars, but isn't recommended to minimize the risk of accidental usage of dirty editted APCs var/opened = APC_COVER_CLOSED var/shorted = 0 - var/lighting = 3 - var/equipment = 3 - var/environ = 3 + var/lighting = APC_CHANNEL_AUTO_ON + var/equipment = APC_CHANNEL_AUTO_ON + var/environ = APC_CHANNEL_AUTO_ON var/operating = TRUE var/charging = APC_NOT_CHARGING var/chargemode = 1 @@ -189,7 +242,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) operating = FALSE name = "\improper [get_area_name(area, TRUE)] APC" set_machine_stat(machine_stat | MAINT) - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/update), 5) /obj/machinery/power/apc/Destroy() @@ -216,7 +269,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) /obj/machinery/power/apc/handle_atom_del(atom/A) if(A == cell) cell = null - update_icon() + update_appearance() updateUsrDialog() /obj/machinery/power/apc/proc/make_terminal() @@ -281,43 +334,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) // update the APC icon to show the three base states // also add overlays for indicator lights -/obj/machinery/power/apc/update_icon() - var/update = check_updates() //returns 0 if no need to update icons. - // 1 if we need to update the icon_state - // 2 if we need to update the overlays - if(!update) - icon_update_needed = FALSE +/obj/machinery/power/apc/update_appearance(updates=check_updates()) + icon_update_needed = FALSE + if(!updates) return - if(update & 1) // Updating the icon state - if(update_state & UPSTATE_ALLGOOD) - icon_state = "apc0" - else if(update_state & (UPSTATE_OPENED1|UPSTATE_OPENED2)) - var/basestate = "apc[ cell ? "2" : "1" ]" - if(has_electronics == APC_ELECTRONICS_INSTALLED) //god - . += "apc-electronics" - if(update_state & UPSTATE_OPENED1) - if(update_state & (UPSTATE_MAINT|UPSTATE_BROKE)) - icon_state = "apcmaint" //disabled APC cannot hold cell - else - icon_state = basestate - else if(update_state & UPSTATE_OPENED2) - if (update_state & UPSTATE_BROKE || malfhack) - icon_state = "[basestate]-b-nocover" - else - icon_state = "[basestate]-nocover" - else if(update_state & UPSTATE_BROKE) - icon_state = "apc-b" - else if(update_state & UPSTATE_BLUESCREEN) - icon_state = "apcemag" - else if(update_state & UPSTATE_WIREEXP) - icon_state = "apcewires" - else if(update_state & UPSTATE_MAINT) - icon_state = "apc0" - - if(!(update_state & UPSTATE_ALLGOOD)) - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!cell) //it always peeved me that abandoned ships always had the apc lights on. this should fix it icon_update_needed = FALSE set_light(0) @@ -327,24 +348,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) icon_update_needed = FALSE set_light(0) return - - if(update & 2) - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!(machine_stat & (BROKEN|MAINT)) && update_state & UPSTATE_ALLGOOD) - SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, EMISSIVE_PLANE, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, EMISSIVE_PLANE, dir) - if(operating) - SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, EMISSIVE_PLANE, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, EMISSIVE_PLANE, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, EMISSIVE_PLANE, dir) - + //this may need to be moved up!! + . = ..() // And now, separately for cleanness, the lighting changing - if(update_state & UPSTATE_ALLGOOD) + if(!update_state) switch(charging) if(APC_NOT_CHARGING) set_light_color(COLOR_SOFT_RED) @@ -353,89 +360,104 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(APC_FULLY_CHARGED) set_light_color(LIGHT_COLOR_GREEN) set_light(lon_range) - else if(update_state & UPSTATE_BLUESCREEN) + return + + if(update_state & UPSTATE_BLUESCREEN) set_light_color(LIGHT_COLOR_BLUE) set_light(lon_range) - else - set_light(0) + return - icon_update_needed = FALSE +/obj/machinery/power/apc/update_icon_state() + if(!update_state) + icon_state = "apc0" + return ..() + if(update_state & (UPSTATE_OPENED1|UPSTATE_OPENED2)) + var/basestate = "apc[cell ? 2 : 1]" + if(update_state & UPSTATE_OPENED1) + icon_state = (update_state & (UPSTATE_MAINT|UPSTATE_BROKE)) ? "apcmaint" : basestate + else if(update_state & UPSTATE_OPENED2) + icon_state = "[basestate][((update_state & UPSTATE_BROKE) || malfhack) ? "-b" : null]-nocover" + return ..() + if(update_state & UPSTATE_BROKE) + icon_state = "apc-b" + return ..() + if(update_state & UPSTATE_BLUESCREEN) + icon_state = "apcemag" + return ..() + if(update_state & UPSTATE_WIREEXP) + icon_state = "apcewires" + return ..() + if(update_state & UPSTATE_MAINT) + icon_state = "apc0" + return ..() + +/obj/machinery/power/apc/update_overlays() + . = ..() + if((machine_stat & (BROKEN|MAINT)) || update_state) + return + + SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apcox-[locked]", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco3-[charging]", layer, EMISSIVE_PLANE, dir) + if(!operating) + return + + SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco0-[equipment]", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco1-[lighting]", layer, EMISSIVE_PLANE, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, plane, dir) + SSvis_overlays.add_vis_overlay(src, icon, "apco2-[environ]", layer, EMISSIVE_PLANE, dir) +/// Checks for what icon updates we will need to handle /obj/machinery/power/apc/proc/check_updates() - var/last_update_state = update_state - var/last_update_overlay = update_overlay - update_state = 0 - update_overlay = 0 + SIGNAL_HANDLER + . = NONE - if(cell) - update_state |= UPSTATE_CELL_IN + // Handle icon status: + var/new_update_state = NONE if(machine_stat & BROKEN) - update_state |= UPSTATE_BROKE + new_update_state |= UPSTATE_BROKE if(machine_stat & MAINT) - update_state |= UPSTATE_MAINT + new_update_state |= UPSTATE_MAINT if(opened) - if(opened==APC_COVER_OPENED) - update_state |= UPSTATE_OPENED1 - if(opened==APC_COVER_REMOVED) - update_state |= UPSTATE_OPENED2 + new_update_state |= (opened << UPSTATE_COVER_SHIFT) + if(cell) + new_update_state |= UPSTATE_CELL_IN //WS Edit - Malf AI Rework else if((obj_flags & EMAGGED)) - update_state |= UPSTATE_BLUESCREEN + new_update_state |= UPSTATE_BLUESCREEN else if(malfai) - if(malfhackhide) - update_state |= UPSTATE_ALLGOOD - else - update_state |= UPSTATE_BLUESCREEN + // if(malfhackhide) + // new_update_state |= UPSTATE_ALLGOOD + //else + new_update_state |= UPSTATE_BLUESCREEN // EndWS Edit - Malf AI Rework else if(panel_open) - update_state |= UPSTATE_WIREEXP - if(update_state <= 1) - update_state |= UPSTATE_ALLGOOD + new_update_state |= UPSTATE_WIREEXP + if(new_update_state != update_state) + update_state = new_update_state + . |= UPDATE_ICON_STATE + + // Handle overlay status: + var/new_update_overlay = NONE if(operating) - update_overlay |= APC_UPOVERLAY_OPERATING + new_update_overlay |= UPOVERLAY_OPERATING - if(update_state & UPSTATE_ALLGOOD) + if(!update_state) if(locked) - update_overlay |= APC_UPOVERLAY_LOCKED - - if(!charging) - update_overlay |= APC_UPOVERLAY_CHARGEING0 - else if(charging == APC_CHARGING) - update_overlay |= APC_UPOVERLAY_CHARGEING1 - else if(charging == APC_FULLY_CHARGED) - update_overlay |= APC_UPOVERLAY_CHARGEING2 - - if (!equipment) - update_overlay |= APC_UPOVERLAY_EQUIPMENT0 - else if(equipment == 1) - update_overlay |= APC_UPOVERLAY_EQUIPMENT1 - else if(equipment == 2) - update_overlay |= APC_UPOVERLAY_EQUIPMENT2 - - if(!lighting) - update_overlay |= APC_UPOVERLAY_LIGHTING0 - else if(lighting == 1) - update_overlay |= APC_UPOVERLAY_LIGHTING1 - else if(lighting == 2) - update_overlay |= APC_UPOVERLAY_LIGHTING2 - - if(!environ) - update_overlay |= APC_UPOVERLAY_ENVIRON0 - else if(environ==1) - update_overlay |= APC_UPOVERLAY_ENVIRON1 - else if(environ==2) - update_overlay |= APC_UPOVERLAY_ENVIRON2 - - - var/results = 0 - if(last_update_state == update_state && last_update_overlay == update_overlay) - return 0 - if(last_update_state != update_state) - results += 1 - if(last_update_overlay != update_overlay) - results += 2 - return results + new_update_overlay |= UPOVERLAY_LOCKED + + new_update_overlay |= (charging << UPOVERLAY_CHARGING_SHIFT) + new_update_overlay |= (equipment << UPOVERLAY_EQUIPMENT_SHIFT) + new_update_overlay |= (lighting << UPOVERLAY_LIGHTING_SHIFT) + new_update_overlay |= (environ << UPOVERLAY_ENVIRON_SHIFT) + + if(new_update_overlay != update_overlay) + update_overlay = new_update_overlay + . |= UPDATE_OVERLAYS // Used in process so it doesn't update the icon too much /obj/machinery/power/apc/proc/queue_icon_update() @@ -815,7 +837,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(.) return - //WS Begin -- Ethereal Charge Scaling + //[REDACTED] Begin -- Ethereal Charge Scaling //Let the hubris remain but the name be forgotten if(isethereal(user)) var/mob/living/carbon/human/H = user var/datum/species/ethereal/E = H.dna.species @@ -830,8 +852,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) return E.drain_time = world.time + APC_DRAIN_TIME to_chat(H, "You start channeling some power through the APC into your body.") - while(do_after(user, APC_DRAIN_TIME, target = src)) //WS edit - E.drain_time = world.time + APC_DRAIN_TIME //WS edit + while(do_after(user, APC_DRAIN_TIME, target = src)) + E.drain_time = world.time + APC_DRAIN_TIME if(cell.charge <= (cell.maxcharge / 20) || (stomach.crystal_charge > charge_limit)) return if(istype(stomach)) @@ -950,13 +972,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) return 0 // 0 = User is not a Malf AI /obj/machinery/power/apc/proc/report() - return "[area.name] : [equipment]/[lighting]/[environ] ([lastused_equip+lastused_light+lastused_environ]) : [cell? cell.percent() : "N/C"] ([charging])" + return "[area.name] : [equipment]/[lighting]/[environ] ([lastused_total]) : [cell? cell.percent() : "N/C"] ([charging])" /obj/machinery/power/apc/proc/update() if(operating && !shorted && !failure_timer) - area.power_light = (lighting > 1) - area.power_equip = (equipment > 1) - area.power_environ = (environ > 1) + area.power_light = (lighting > APC_CHANNEL_AUTO_OFF) + area.power_equip = (equipment > APC_CHANNEL_AUTO_OFF) + area.power_environ = (environ > APC_CHANNEL_AUTO_OFF) else area.power_light = FALSE area.power_equip = FALSE @@ -1251,7 +1273,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) /obj/machinery/power/apc/process() if(icon_update_needed) - update_icon() + update_appearance() if(machine_stat & (BROKEN|MAINT)) return if(!area.requires_power) @@ -1279,11 +1301,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) var/excess = surplus() if(!src.avail()) - main_status = 0 + main_status = APC_NO_POWER else if(excess < 0) - main_status = 1 + main_status = APC_LOW_POWER else - main_status = 2 + main_status = APC_HAS_POWER if(cell && !shorted) // draw power from cell as before to power the area @@ -1306,10 +1328,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) charging = APC_NOT_CHARGING chargecount = 0 // This turns everything off in the case that there is still a charge left on the battery, just not enough to run the room. - equipment = autoset(equipment, 0) - lighting = autoset(lighting, 0) - environ = autoset(environ, 0) - + equipment = autoset(equipment, AUTOSET_FORCE_OFF) + lighting = autoset(lighting, AUTOSET_FORCE_OFF) + environ = autoset(environ, AUTOSET_FORCE_OFF) // set channels depending on how much charge we have left @@ -1320,19 +1341,19 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) longtermpower -= 2 if(cell.charge <= 0) // zero charge, turn all off - equipment = autoset(equipment, 0) - lighting = autoset(lighting, 0) - environ = autoset(environ, 0) + equipment = autoset(equipment, AUTOSET_FORCE_OFF) + lighting = autoset(lighting, AUTOSET_FORCE_OFF) + environ = autoset(environ, AUTOSET_FORCE_OFF) area.poweralert(0, src) else if(cell.percent() < 15 && longtermpower < 0) // <15%, turn off lighting & equipment - equipment = autoset(equipment, 2) - lighting = autoset(lighting, 2) - environ = autoset(environ, 1) + equipment = autoset(equipment, AUTOSET_OFF) + lighting = autoset(lighting, AUTOSET_OFF) + environ = autoset(environ, AUTOSET_ON) area.poweralert(0, src) else if(cell.percent() < 30 && longtermpower < 0) // <30%, turn off equipment - equipment = autoset(equipment, 2) - lighting = autoset(lighting, 1) - environ = autoset(environ, 1) + equipment = autoset(equipment, AUTOSET_ON) + lighting = autoset(lighting, AUTOSET_ON) + environ = autoset(environ, AUTOSET_ON) area.poweralert(0, src) else // otherwise all can be on equipment = autoset(equipment, 1) @@ -1372,17 +1393,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) charging = APC_CHARGING else // chargemode off - charging = 0 + charging = APC_NOT_CHARGING chargecount = 0 else // no cell, switch everything off charging = APC_NOT_CHARGING chargecount = 0 - equipment = autoset(equipment, 0) - lighting = autoset(lighting, 0) - environ = autoset(environ, 0) - area.poweralert(0, src) + equipment = autoset(equipment, AUTOSET_FORCE_OFF) + lighting = autoset(lighting, AUTOSET_FORCE_OFF) + environ = autoset(environ, AUTOSET_FORCE_OFF) + area.poweralert(TRUE, src) // update icon & area power if anything changed @@ -1393,23 +1414,55 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) else if (last_ch != charging) queue_icon_update() -// val 0=off, 1=off(auto) 2=on 3=on(auto) -// on 0=off, 1=on, 2=autooff +/** + * Returns the new status value for an APC channel. + * + * // val 0=off, 1=off(auto) 2=on 3=on(auto) + * // on 0=off, 1=on, 2=autooff + * TODO: Make this use bitflags instead. It should take at most three lines, but it's out of scope for now. + * + * Arguments: + * - val: The current status of the power channel. + * - [APC_CHANNEL_OFF]: The APCs channel has been manually set to off. This channel will not automatically change. + * - [APC_CHANNEL_AUTO_OFF]: The APCs channel is running on automatic and is currently off. Can be automatically set to [APC_CHANNEL_AUTO_ON]. + * - [APC_CHANNEL_ON]: The APCs channel has been manually set to on. This will be automatically changed only if the APC runs completely out of power or is disabled. + * - [APC_CHANNEL_AUTO_ON]: The APCs channel is running on automatic and is currently on. Can be automatically set to [APC_CHANNEL_AUTO_OFF]. + * - on: An enum dictating how to change the channel's status. + * - [AUTOSET_FORCE_OFF]: The APC forces the channel to turn off. This includes manually set channels. + * - [AUTOSET_ON]: The APC allows automatic channels to turn back on. + * - [AUTOSET_OFF]: The APC turns automatic channels off. + */ /obj/machinery/power/apc/proc/autoset(val, on) - if(on==0) - if(val==2) // if on, return off - return 0 - else if(val==3) // if auto-on, return auto-off - return 1 - else if(on==1) - if(val==1) // if auto-off, return auto-on - return 3 - else if(on==2) - if(val==3) // if auto-on, return auto-off - return 1 + if(on == AUTOSET_FORCE_OFF) + if(val == APC_CHANNEL_ON) // if on, return off + return APC_CHANNEL_OFF + else if(val == APC_CHANNEL_AUTO_ON) // if auto-on, return auto-off + return APC_CHANNEL_AUTO_OFF + else if(on == AUTOSET_ON) + if(val == APC_CHANNEL_AUTO_OFF) // if auto-off, return auto-on + return APC_CHANNEL_AUTO_ON + else if(on == AUTOSET_OFF) + if(val == APC_CHANNEL_AUTO_ON) // if auto-on, return auto-off + return APC_CHANNEL_AUTO_OFF return val +/** + * Used by external forces to set the APCs channel status's. + * + * Arguments: + * - val: The desired value of the subsystem: + * - 1: Manually sets the APCs channel to be [APC_CHANNEL_OFF]. + * - 2: Manually sets the APCs channel to be [APC_CHANNEL_AUTO_ON]. If the APC doesn't have any power this defaults to [APC_CHANNEL_OFF] instead. + * - 3: Sets the APCs channel to be [APC_CHANNEL_AUTO_ON]. If the APC doesn't have enough power this defaults to [APC_CHANNEL_AUTO_OFF] instead. + */ +/obj/machinery/power/apc/proc/setsubsystem(val) + if(cell && cell.charge > 0) + return (val == 1) ? APC_CHANNEL_OFF : val + if(val == 3) + return APC_CHANNEL_AUTO_OFF + return APC_CHANNEL_OFF + /obj/machinery/power/apc/proc/reset(wire) switch(wire) if(WIRE_IDSCAN) @@ -1421,9 +1474,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(!wires.is_cut(WIRE_AI)) aidisabled = FALSE if(APC_RESET_EMP) - equipment = 3 - environ = 3 - update_icon() + equipment = APC_CHANNEL_AUTO_ON + environ = APC_CHANNEL_AUTO_ON + update_appearance() update() // damage and destruction acts @@ -1436,10 +1489,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) occupier.emp_act(severity) if(. & EMP_PROTECT_SELF) return - lighting = 0 - equipment = 0 - environ = 0 - update_icon() + lighting = APC_CHANNEL_OFF + equipment = APC_CHANNEL_OFF + environ = APC_CHANNEL_OFF + update_appearance() update() addtimer(CALLBACK(src, .proc/reset, APC_RESET_EMP), 600) @@ -1487,15 +1540,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) else return 0 -/obj/machinery/power/apc/proc/setsubsystem(val) - if(cell && cell.charge > 0) - return (val==1) ? 0 : val - else if(val == 3) - return 1 - else - return 0 - - /obj/machinery/power/apc/proc/energy_fail(duration) for(var/obj/machinery/M in area.contents) if(M.critical_machine) @@ -1538,16 +1582,18 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) "nightshift_lights", ) -#undef UPSTATE_CELL_IN -#undef UPSTATE_OPENED1 -#undef UPSTATE_OPENED2 -#undef UPSTATE_MAINT -#undef UPSTATE_BROKE -#undef UPSTATE_BLUESCREEN -#undef UPSTATE_WIREEXP -#undef UPSTATE_ALLGOOD +#undef APC_CHANNEL_OFF +#undef APC_CHANNEL_AUTO_OFF +#undef APC_CHANNEL_ON +#undef APC_CHANNEL_AUTO_ON -#undef APC_RESET_EMP +#undef AUTOSET_FORCE_OFF +#undef AUTOSET_OFF +#undef AUTOSET_ON + +#undef APC_NO_POWER +#undef APC_LOW_POWER +#undef APC_HAS_POWER #undef APC_ELECTRONICS_MISSING #undef APC_ELECTRONICS_INSTALLED @@ -1566,21 +1612,23 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) #undef APC_POWER_GAIN //WS End +#undef APC_RESET_EMP + +// update_state +#undef UPSTATE_CELL_IN +#undef UPSTATE_COVER_SHIFT +#undef UPSTATE_BROKE +#undef UPSTATE_MAINT +#undef UPSTATE_BLUESCREEN +#undef UPSTATE_WIREEXP + //update_overlay -#undef APC_UPOVERLAY_CHARGEING0 -#undef APC_UPOVERLAY_CHARGEING1 -#undef APC_UPOVERLAY_CHARGEING2 -#undef APC_UPOVERLAY_EQUIPMENT0 -#undef APC_UPOVERLAY_EQUIPMENT1 -#undef APC_UPOVERLAY_EQUIPMENT2 -#undef APC_UPOVERLAY_LIGHTING0 -#undef APC_UPOVERLAY_LIGHTING1 -#undef APC_UPOVERLAY_LIGHTING2 -#undef APC_UPOVERLAY_ENVIRON0 -#undef APC_UPOVERLAY_ENVIRON1 -#undef APC_UPOVERLAY_ENVIRON2 -#undef APC_UPOVERLAY_LOCKED -#undef APC_UPOVERLAY_OPERATING +#undef UPOVERLAY_OPERATING +#undef UPOVERLAY_LOCKED +#undef UPOVERLAY_CHARGING_SHIFT +#undef UPOVERLAY_EQUIPMENT_SHIFT +#undef UPOVERLAY_LIGHTING_SHIFT +#undef UPOVERLAY_ENVIRON_SHIFT /*Power module, used for APC construction*/ /obj/item/electronics/apc diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 4183c83d4ec3..cec3440d1319 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -108,7 +108,7 @@ GLOBAL_LIST_INIT(cable_colors, list( cable_color = param_color || cable_color || pick(cable_colors) if(cable_colors[cable_color]) cable_color = cable_colors[cable_color] - update_icon() + update_appearance() /obj/structure/cable/Destroy() // called when a cable is deleted if(powernet) @@ -127,11 +127,11 @@ GLOBAL_LIST_INIT(cable_colors, list( /////////////////////////////////// //If underfloor, hide the cable -/obj/structure/cable/update_icon() +/obj/structure/cable/update_appearance() icon_state = "[d1]-[d2]" color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) - + return ..() /obj/structure/cable/proc/handlecable(obj/item/W, mob/user, params) var/turf/T = get_turf(src) @@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(cable_colors, list( /obj/structure/cable/proc/update_stored(length = 1, colorC = "red") stored.amount = length stored.cable_color = colorC - stored.update_icon() + stored.update_appearance() //////////////////////////////////////////// // Power related @@ -483,6 +483,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain icon = 'icons/obj/power.dmi' icon_state = "coil" item_state = "coil" + base_icon_state = "coil" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' max_amount = MAXCOIL @@ -511,7 +512,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain /obj/item/stack/cable_coil/cyborg/attack_self(mob/user) var/cable_color = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white") cable_color = cable_color - update_icon() + update_appearance() /obj/item/stack/cable_coil/Initialize(mapload, new_amount = null, param_color = null) . = ..() @@ -523,7 +524,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain pixel_x = base_pixel_x + rand(-2,2) pixel_y = base_pixel_y + rand(-2,2) - update_icon() + update_appearance() recipes = GLOB.cable_coil_recipes @@ -550,12 +551,20 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain return ..() -/obj/item/stack/cable_coil/update_icon() - icon_state = "[initial(item_state)][amount < 3 ? amount : ""]" - name = "cable [amount < 3 ? "piece" : "coil"]" +/obj/item/stack/cable_coil/update_appearance() + . = ..() + icon_state = "[base_icon_state][amount < 3 ? amount : ""]" color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) +/obj/item/stack/cable_coil/update_name() + . = ..() + name = "cable [(amount < 3) ? "piece" : "coil"]" + +/obj/item/stack/cable_coil/update_desc() + . = ..() + desc = "A [(amount < 3) ? "piece" : "coil"] of insulated power cable." + /obj/item/stack/cable_coil/attack_hand(mob/user) . = ..() if(.) @@ -563,7 +572,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain var/obj/item/stack/cable_coil/new_cable = ..() if(istype(new_cable)) new_cable.cable_color = cable_color - new_cable.update_icon() + new_cable.update_appearance() //add cables to the stack /obj/item/stack/cable_coil/proc/give(extra) @@ -571,7 +580,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain amount = max_amount else amount += extra - update_icon() + update_appearance() /////////////////////////////////////////////// // Cable laying procedures @@ -618,7 +627,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain C.d1 = 0 //it's a O-X node cable C.d2 = dirn C.add_fingerprint(user) - C.update_icon() + C.update_appearance() C.update_stored(1, cable_color) //create a new powernet with the cable, if needed it will be merged later @@ -691,7 +700,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain NC.d1 = 0 NC.d2 = fdirn NC.add_fingerprint(user) - NC.update_icon() + NC.update_appearance() NC.update_stored(1, cable_color) //create a new powernet with the cable, if needed it will be merged later @@ -734,7 +743,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain return - C.update_icon() + C.update_appearance() C.d1 = nd1 C.d2 = nd2 @@ -743,7 +752,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain C.update_stored(2, cable_color) C.add_fingerprint(user) - C.update_icon() + C.update_appearance() C.mergeConnectedNetworks(C.d1) //merge the powernets... @@ -827,6 +836,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain /obj/item/stack/cable_coil/cut amount = null icon_state = "coil2" + base_icon_state = "coil2" /obj/item/stack/cable_coil/cut/Initialize(mapload) . = ..() @@ -834,7 +844,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain amount = rand(1,2) pixel_x = rand(-2,2) pixel_y = rand(-2,2) - update_icon() + update_appearance() /obj/item/stack/cable_coil/cut/red cable_color = "red" diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 51a08e9ad588..66f1f74f11c1 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -37,7 +37,7 @@ charge = maxcharge if(ratingdesc) desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." - update_icon() + update_appearance() /obj/item/stock_parts/cell/Destroy() STOP_PROCESSING(SSobj, src) @@ -203,7 +203,7 @@ /obj/item/stock_parts/cell/crap/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/upgraded name = "upgraded power cell" @@ -225,7 +225,7 @@ /obj/item/stock_parts/cell/secborg/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/mini_egun name = "miniature energy gun power cell" @@ -271,7 +271,7 @@ /obj/item/stock_parts/cell/high/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/super name = "super-capacity power cell" @@ -284,7 +284,7 @@ /obj/item/stock_parts/cell/super/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/hyper name = "hyper-capacity power cell" @@ -297,7 +297,7 @@ /obj/item/stock_parts/cell/hyper/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/bluespace name = "bluespace power cell" @@ -311,7 +311,7 @@ /obj/item/stock_parts/cell/bluespace/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/infinite name = "infinite-capacity power cell!" @@ -367,7 +367,7 @@ /obj/item/stock_parts/cell/emproof/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/emproof/empty/ComponentInitialize() . = ..() @@ -417,9 +417,9 @@ /obj/item/stock_parts/cell/gun/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() -/obj/item/stock_parts/cell/gun/update_icon() +/obj/item/stock_parts/cell/gun/update_appearance() cut_overlays() if(grown_battery) . += mutable_appearance('icons/obj/power.dmi', "grown_wires") @@ -433,6 +433,7 @@ add_overlay("[initial(icon_state)]-o2") else add_overlay("[initial(icon_state)]-o1") + return ..() /obj/item/stock_parts/cell/gun/upgraded name = "upgraded weapon power cell" @@ -444,7 +445,7 @@ /obj/item/stock_parts/cell/gun/upgraded/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/gun/mini name = "miniature weapon power cell" @@ -456,7 +457,7 @@ /obj/item/stock_parts/cell/gun/mini/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/gun/solgov name = "SolGov power cell" @@ -473,7 +474,7 @@ /obj/item/stock_parts/cell/gun/large/empty/Initialize() . = ..() charge = 0 - update_icon() + update_appearance() #undef CELL_DRAIN_TIME diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 8aca26608a76..8d711ad804fa 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -19,7 +19,7 @@ find_circs() connect_to_network() SSair.start_processing_machine(src, mapload) - update_icon() + update_appearance() component_parts = list(new /obj/item/circuitboard/machine/generator) /obj/machinery/power/generator/ComponentInitialize() @@ -31,7 +31,7 @@ SSair.stop_processing_machine(src) return ..() -/obj/machinery/power/generator/update_icon() +/obj/machinery/power/generator/update_appearance() cut_overlays() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) @@ -52,6 +52,7 @@ var/L = min(round(lastgenlev/100000),11) if(L != 0) SSvis_overlays.add_vis_overlay(src, icon, "teg-op[L]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir) + return ..() #define GENRATE 800 // generator output coefficient from Q @@ -95,7 +96,7 @@ var/datum/gas_mixture/cold_circ_air1 = cold_circ.airs[1] cold_circ_air1.merge(cold_air) - update_icon() + update_appearance() src.updateDialog() @@ -181,7 +182,7 @@ to_chat(user, "You start removing the circulators...") if(I.use_tool(src, user, 30, volume=50)) kill_circs() - update_icon() + update_appearance() to_chat(user, "You disconnect [src]'s circulator links.") playsound(src, 'sound/misc/box_deploy.ogg', 50) return TRUE @@ -207,7 +208,7 @@ kill_circs() connect_to_network() to_chat(user, "You [anchored?"secure":"unsecure"] [src].") - update_icon() + update_appearance() return TRUE /obj/machinery/power/generator/screwdriver_act(mob/user, obj/item/I) @@ -222,7 +223,7 @@ panel_open = !panel_open I.play_tool_sound(src) to_chat(user, "You [panel_open?"open":"close"] the panel on [src].") - update_icon() + update_appearance() return TRUE /obj/machinery/power/generator/crowbar_act(mob/user, obj/item/I) @@ -245,11 +246,11 @@ /obj/machinery/power/generator/proc/kill_circs() if(hot_circ) hot_circ.generator = null - hot_circ.update_icon() + hot_circ.update_appearance() hot_circ = null if(cold_circ) cold_circ.generator = null - cold_circ.update_icon() + cold_circ.update_appearance() cold_circ = null /obj/machinery/power/generator/obj_break(damage_flag) diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 47174c2bb121..869f3b086b76 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -44,6 +44,7 @@ /obj/machinery/gravity_generator/update_icon_state() icon_state = "[get_status()]_[sprite_number]" + return ..() /obj/machinery/gravity_generator/proc/get_status() return "off" @@ -65,6 +66,7 @@ set_broken() return ..() + // // Part generator which is mostly there for looks // @@ -86,6 +88,11 @@ if(main_part && !(main_part.machine_stat & BROKEN)) main_part.set_broken() +/// Used to eat args +/obj/machinery/gravity_generator/part/proc/on_update_icon(obj/machinery/gravity_generator/source, updates, updated) + SIGNAL_HANDLER + return update_appearance(updates) + // // Generator which spawns with the station. // @@ -157,8 +164,8 @@ part.sprite_number = count part.main_part = src parts += part - part.update_icon() - part.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) + part.update_appearance() + part.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /obj/machinery/gravity_generator/part/proc/on_update_icon) /obj/machinery/gravity_generator/main/proc/connected_parts() return parts.len == 8 @@ -181,7 +188,7 @@ if(M.machine_stat & BROKEN) M.set_fix() broken_state = FALSE - update_icon() + update_appearance() set_power() // Interaction @@ -194,14 +201,14 @@ to_chat(user, "You secure the screws of the framework.") I.play_tool_sound(src) broken_state++ - update_icon() + update_appearance() return if(GRAV_NEEDS_WELDING) if(I.tool_behaviour == TOOL_WELDER) if(I.use_tool(src, user, 0, volume=50, amount=1)) to_chat(user, "You mend the damaged framework.") broken_state++ - update_icon() + update_appearance() return if(GRAV_NEEDS_PLASTEEL) if(istype(I, /obj/item/stack/sheet/plasteel)) @@ -211,7 +218,7 @@ to_chat(user, "You add the plating to the framework.") playsound(src.loc, 'sound/machines/click.ogg', 75, TRUE) broken_state++ - update_icon() + update_appearance() else to_chat(user, "You need 10 sheets of plasteel!") return @@ -274,7 +281,7 @@ charging_state = new_state ? POWER_UP : POWER_DOWN // Startup sequence animation. investigate_log("is now [charging_state == POWER_UP ? "charging" : "discharging"].", INVESTIGATE_GRAVITY) - update_icon() + update_appearance() // Set the state of the gravity. /obj/machinery/gravity_generator/main/proc/set_state(new_state) @@ -295,7 +302,7 @@ investigate_log("was brought offline and there is now no gravity for this level.", INVESTIGATE_GRAVITY) message_admins("The gravity generator was brought offline with no backup generator. [ADMIN_VERBOSEJMP(src)]") - update_icon() + update_appearance() update_list() src.updateUsrDialog() if(alert) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 498042664d1e..7f2f3c3efbe9 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -95,7 +95,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/light_construct, 32) if(cell) user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") user.put_in_hands(cell) - cell.update_icon() + cell.update_appearance() cell = null add_fingerprint(user) @@ -385,6 +385,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) icon_state = "[base_state]-burned" if(LIGHT_BROKEN) icon_state = "[base_state]-broken" + return ..() // update the icon_state and luminosity of the light depending on its state /obj/machinery/light/proc/update(trigger = TRUE) @@ -428,7 +429,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) else use_power = IDLE_POWER_USE set_light(0) - update_icon() + update_appearance() active_power_usage = (brightness * 10) if(on != on_gs) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 9b1d17de2b67..e235e9328549 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -51,12 +51,12 @@ /obj/machinery/power/port_gen/proc/TogglePower() if(active) active = FALSE - update_icon() + update_appearance() soundloop.stop() else if(HasFuel()) active = TRUE START_PROCESSING(SSmachines, src) - update_icon() + update_appearance() soundloop.start() /obj/machinery/power/port_gen/proc/overheat() @@ -64,6 +64,7 @@ /obj/machinery/power/port_gen/update_icon_state() icon_state = "[base_icon]_[active]" + return ..() /obj/machinery/power/port_gen/process() if(active) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index e7ae7a22d786..3cf5f5766097 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -128,7 +128,7 @@ SEND_SIGNAL(src, COMSIG_MACHINERY_POWER_LOST) . = TRUE set_machine_stat(machine_stat | NOPOWER) - update_icon() + update_appearance() // connect the machine to a powernet if a node cable is present on the turf /obj/machinery/power/proc/connect_to_network() diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index a16d4305abc7..2d801de426af 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -120,7 +120,7 @@ if(!user.transferItemToLoc(W, src)) return loaded_tank = W - update_icon() + update_appearance() else if(W.GetID()) if(allowed(user)) if(active) @@ -223,7 +223,7 @@ if(active) toggle_power() else - update_icon() + update_appearance() /obj/machinery/power/rad_collector/rad_act(pulse_strength) . = ..() @@ -248,7 +248,7 @@ else icon_state = "ca" flick("ca_deactive", src) - update_icon() + update_appearance() return #undef RAD_COLLECTOR_EFFICIENCY diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index be7a4614ece8..05bd1e648032 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -3,6 +3,7 @@ desc = "A heavy-duty industrial laser, often used in containment fields and power generation." icon = 'icons/obj/singularity.dmi' icon_state = "emitter" + base_icon_state = "emitter" anchored = FALSE density = TRUE @@ -135,10 +136,11 @@ return ..() /obj/machinery/power/emitter/update_icon_state() - if(active && powernet) - icon_state = avail(active_power_usage) ? icon_state_on : icon_state_underpowered - else - icon_state = initial(icon_state) + if(!active || !powernet) + icon_state = base_icon_state + return ..() + icon_state = avail(active_power_usage) ? icon_state_on : icon_state_underpowered + return ..() /obj/machinery/power/emitter/interact(mob/user) add_fingerprint(user) @@ -160,7 +162,7 @@ log_game("Emitter turned [active ? "ON" : "OFF"] by [key_name(user)] in [AREACOORD(src)]") investigate_log("turned [active ? "ON" : "OFF"] by [key_name(user)] at [AREACOORD(src)]", INVESTIGATE_SINGULO) - update_icon() + update_appearance() else to_chat(user, "The controls are locked!") @@ -182,19 +184,19 @@ return if(!welded || (!powernet && active_power_usage)) active = FALSE - update_icon() + update_appearance() return if(active == TRUE) if(!active_power_usage || surplus() >= active_power_usage) add_load(active_power_usage) if(!powered) powered = TRUE - update_icon() + update_appearance() investigate_log("regained power and turned ON at [AREACOORD(src)]", INVESTIGATE_SINGULO) else if(powered) powered = FALSE - update_icon() + update_appearance() investigate_log("lost power and turned OFF at [AREACOORD(src)]", INVESTIGATE_SINGULO) log_game("Emitter lost power in [AREACOORD(src)]") return @@ -373,6 +375,7 @@ /obj/machinery/power/emitter/prototype name = "Prototype Emitter" icon = 'icons/obj/turrets.dmi' + base_icon_state = "protoemitter" icon_state = "protoemitter" icon_state_on = "protoemitter_+a" icon_state_underpowered = "protoemitter_+u" diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 26a4eca1507a..d11479a5ac74 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -187,7 +187,7 @@ field_generator power level display var/new_level = round(num_power_levels * power / field_generator_max_power) if(new_level != power_level) power_level = new_level - update_icon() + update_appearance() /obj/machinery/field/generator/proc/turn_off() active = FG_OFFLINE @@ -200,7 +200,7 @@ field_generator power level display if(active || warming_up <= 0) return warming_up-- - update_icon() + update_appearance() if(warming_up > 0) addtimer(CALLBACK(src, .proc/cool_down), 50) @@ -212,7 +212,7 @@ field_generator power level display if(!active) return warming_up++ - update_icon() + update_appearance() if(warming_up >= 3) start_fields() else @@ -326,7 +326,7 @@ field_generator power level display connected_gens |= G G.connected_gens |= src shield_floor(TRUE) - update_icon() + update_appearance() /obj/machinery/field/generator/proc/cleanup() @@ -343,7 +343,7 @@ field_generator power level display FG.cleanup() connected_gens -= FG clean_up = 0 - update_icon() + update_appearance() //This is here to help fight the "hurr durr, release singulo cos nobody will notice before the //singulo eats the evidence". It's not fool-proof but better than nothing. diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 5c0f31adccd2..421550cd52df 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -65,7 +65,7 @@ return construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED update_state() - update_icon() + update_appearance() /obj/structure/particle_accelerator/attackby(obj/item/W, mob/user, params) var/did_something = FALSE @@ -115,7 +115,7 @@ if(did_something) user.changeNext_move(CLICK_CD_MELEE) update_state() - update_icon() + update_appearance() return return ..() @@ -144,6 +144,7 @@ icon_state="[reference]p[strength]" else icon_state="[reference]c" + return ..() /obj/structure/particle_accelerator/proc/update_state() if(master) diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index d5a3179731b8..7bc3fa552ad3 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -49,7 +49,7 @@ var/obj/structure/particle_accelerator/part = CP part.strength = null part.powered = FALSE - part.update_icon() + part.update_appearance() connected_parts.Cut() return if(!part_scan()) @@ -74,12 +74,13 @@ icon_state = "control_boxw" else icon_state = "control_boxc" + return ..() /obj/machinery/particle_accelerator/control_box/proc/strength_change() for(var/CP in connected_parts) var/obj/structure/particle_accelerator/part = CP part.strength = strength - part.update_icon() + part.update_appearance() /obj/machinery/particle_accelerator/control_box/proc/add_strength(s) if(assembled && (strength < strength_upper_limit)) @@ -113,7 +114,7 @@ if(connected_parts.len < 6) investigate_log("lost a connected part; It powered down.", INVESTIGATE_SINGULO) toggle_power() - update_icon() + update_appearance() return //emit some particles for(var/obj/structure/particle_accelerator/particle_emitter/PE in connected_parts) @@ -179,14 +180,14 @@ var/obj/structure/particle_accelerator/part = CP part.strength = strength part.powered = TRUE - part.update_icon() + part.update_appearance() else use_power = IDLE_POWER_USE for(var/CP in connected_parts) var/obj/structure/particle_accelerator/part = CP part.strength = null part.powered = FALSE - part.update_icon() + part.update_appearance() return TRUE /obj/machinery/particle_accelerator/control_box/examine(mob/user) @@ -205,7 +206,7 @@ return construction_state = anchorvalue ? PA_CONSTRUCTION_UNWIRED : PA_CONSTRUCTION_UNSECURED update_state() - update_icon() + update_appearance() /obj/machinery/particle_accelerator/control_box/attackby(obj/item/W, mob/user, params) var/did_something = FALSE @@ -255,7 +256,7 @@ if(did_something) user.changeNext_move(CLICK_CD_MELEE) update_state() - update_icon() + update_appearance() return return ..() @@ -320,7 +321,7 @@ remove_strength() . = TRUE - update_icon() + update_appearance() #undef PA_CONSTRUCTION_UNSECURED #undef PA_CONSTRUCTION_UNWIRED diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 9236a910a65f..dfe24e46cb5b 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -64,7 +64,7 @@ obj_break() return terminal.master = src - update_icon() + update_appearance() /obj/machinery/power/smes/RefreshParts() var/IO = 0 @@ -89,7 +89,7 @@ /obj/machinery/power/smes/attackby(obj/item/I, mob/user, params) //opening using screwdriver if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return //changing direction using wrench @@ -106,7 +106,7 @@ to_chat(user, "No power terminal found.") return set_machine_stat(machine_stat & ~BROKEN) - update_icon() + update_appearance() return //building and linking a terminal @@ -319,7 +319,7 @@ // only update icon if state changed if(last_disp != chargedisplay() || last_chrg != inputting || last_onln != outputting) - update_icon() + update_appearance() @@ -349,7 +349,7 @@ output_used -= excess if(clev != chargedisplay()) //if needed updates the icons overlay - update_icon() + update_appearance() return @@ -387,13 +387,13 @@ if("tryinput") input_attempt = !input_attempt log_smes(usr) - update_icon() + update_appearance() . = TRUE if("tryoutput") if(!is_emped) output_attempt = !output_attempt log_smes(usr) - update_icon() + update_appearance() . = TRUE if("input") var/target = params["target"] @@ -451,14 +451,14 @@ charge -= 1e6/severity if (charge < 0) charge = 0 - update_icon() + update_appearance() log_smes() /obj/machinery/power/smes/proc/emp_end(previous_output) is_emped = FALSE output_attempt = previous_output outputting = output_attempt - update_icon() + update_appearance() log_smes() /obj/machinery/power/smes/engineering diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index e0a84be4c367..b35974b8b930 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -135,7 +135,7 @@ if(azimuth_current != azimuth_target) azimuth_current = azimuth_target occlusion_setup() - update_icon() + update_appearance() needs_to_update_solar_exposure = TRUE ///trace towards sun to see if we're in shadow @@ -378,8 +378,8 @@ . += mutable_appearance(icon, icon_keyboard) if(machine_stat & BROKEN) . += mutable_appearance(icon, "[icon_state]_broken") - else - . += mutable_appearance(icon, icon_screen) + return + . += mutable_appearance(icon, icon_screen) /obj/machinery/power/solar_control/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -448,7 +448,7 @@ A.circuit = M A.state = 3 A.set_anchored(TRUE) - A.update_icon() + A.update_appearance() qdel(src) else to_chat(user, "You disconnect the monitor.") @@ -459,7 +459,7 @@ A.circuit = M A.state = 4 A.set_anchored(TRUE) - A.update_icon() + A.update_appearance() qdel(src) else if(user.a_intent != INTENT_HARM && !(I.item_flags & NOBLUDGEON)) attack_hand(user) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index caf93958fad2..f34a268738d5 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -363,7 +363,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(final_countdown) // We're already doing it go away return final_countdown = TRUE - update_icon() + update_appearance() var/speaking = "[emergency_alert] The supermatter has reached critical integrity failure. Emergency causality destabilization field has been activated." radio.talk_into(src, speaking, common_channel, language = get_selected_language()) @@ -371,7 +371,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(damage < explosion_point) // Cutting it a bit close there engineers radio.talk_into(src, "[safe_alert] Failsafe has been disengaged.", common_channel) final_countdown = FALSE - update_icon() + update_appearance() return else if((i % 50) != 0 && i > 50) // A message once every 5 seconds until the final 5 seconds which count down individualy sleep(10) diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 3cfc665d1560..6222f147861e 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -49,7 +49,7 @@ pixel_y = base_pixel_y + rand(-10, 10) if(auto_rotate) transform = transform.Turn(pick(0, 90, 180, 270)) - update_icon() + update_appearance() /obj/item/ammo_casing/Destroy() . = ..() @@ -61,10 +61,11 @@ /obj/item/ammo_casing/update_icon_state() icon_state = "[initial(icon_state)][BB ? (bullet_skin ? "-[bullet_skin]" : "") : "-empty"]" + return ..() -/obj/item/ammo_casing/update_icon() - . = ..() - desc = "[initial(desc)][BB ? "" : " This one is spent."]" +/obj/item/ammo_casing/update_desc() + desc = "[initial(desc)][BB ? null : " This one is spent."]" + return ..() //proc to magically refill a casing with a new projectile /obj/item/ammo_casing/proc/newshot() //For energy weapons, syringe gun, shotgun shells and wands (!). @@ -85,13 +86,14 @@ else continue if (boolets > 0) - box.update_icon() + box.update_appearance() to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") else to_chat(user, "You fail to collect anything!") else return ..() + /obj/item/ammo_casing/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) bounce_away(FALSE, NONE) . = ..() @@ -99,7 +101,7 @@ /obj/item/ammo_casing/proc/bounce_away(still_warm = FALSE, bounce_delay = 3) if(!heavy_metal) return - update_icon() + update_appearance() SpinAnimation(10, 1) var/turf/T = get_turf(src) if(still_warm && T && T.bullet_sizzle) diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 2f6d48b166a8..f8e1aa1dff1e 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -22,7 +22,7 @@ user.changeNext_move(CLICK_CD_RANGE) user.newtonian_move(get_dir(target, user)) - update_icon() + update_appearance() return TRUE /obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", atom/fired_from) diff --git a/code/modules/projectiles/ammunition/ballistic/lmg.dm b/code/modules/projectiles/ammunition/ballistic/lmg.dm index b46065e69b97..5c722e9e1455 100644 --- a/code/modules/projectiles/ammunition/ballistic/lmg.dm +++ b/code/modules/projectiles/ammunition/ballistic/lmg.dm @@ -4,28 +4,29 @@ name = "7.12x82mm bullet casing" desc = "A 7.12x82mm bullet casing." icon_state = "rifle-steel" - caliber = "mm71282" + caliber = "7.12x82mm" projectile_type = /obj/projectile/bullet/mm712x82 /obj/item/ammo_casing/mm712x82/ap name = "7.12x82mm armor-piercing bullet casing" - desc = "A 7.12x82mm bullet casing designed with a hardened-tipped core to help penetrate armored targets." - bullet_skin = "ap" + desc = "A 7.12x82mm bullet casing with a tungsten core to enhance armor penetration." projectile_type = /obj/projectile/bullet/mm712x82_ap + bullet_skin = "ap" /obj/item/ammo_casing/mm712x82/hollow name = "7.12x82mm hollow-point bullet casing" - desc = "A 7.12x82mm bullet casing designed to cause more damage to unarmored targets." - bullet_skin = "hollow" + desc = "A 7.12x82mm bullet casing designed to fragment on impact, improving damage against soft targets." projectile_type = /obj/projectile/bullet/mm712x82_hp + bullet_skin = "hollow" /obj/item/ammo_casing/mm712x82/incen name = "7.12x82mm incendiary bullet casing" - desc = "A 7.12x82mm bullet casing designed with a chemical-filled capsule on the tip that when bursted, reacts with the atmosphere to produce a fireball, engulfing the target in flames." - bullet_skin = "incen" + desc = "A 7.12x82mm bullet casing with an incendiary payload." projectile_type = /obj/projectile/bullet/incendiary/mm712x82 + bullet_skin = "incen" /obj/item/ammo_casing/mm712x82/match name = "7.12x82mm match bullet casing" - desc = "A 7.12x82mm bullet casing manufactured to unfailingly high standards, you could pull off some cool trickshots with this." + desc = "A 7.12x82mm bullet casing of exceptionally high grade. A skilled marksman could pull off deadly richochet shots with this." projectile_type = /obj/projectile/bullet/mm712x82_match + bullet_skin = "rubber" diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index 1504bbc68e16..99340d2ebdc1 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -20,10 +20,10 @@ projectile_type = /obj/projectile/bullet/c10mm_ap /obj/item/ammo_casing/c10mm/hp - name = "10mm hollow-point bullet casing" - desc = "A 10mm hollow-point bullet casing." - bullet_skin = "hollow" + name = "10mm hollow point bullet casing" + desc = "A 10mm hollow point bullet casing." projectile_type = /obj/projectile/bullet/c10mm_hp + bullet_skin = "hollow" /obj/item/ammo_casing/c10mm/fire name = "10mm incendiary bullet casing" @@ -59,8 +59,8 @@ projectile_type =/obj/projectile/bullet/c9mm_ap /obj/item/ammo_casing/c9mm/hp - name = "9mm hollow-point bullet casing" - desc = "A 9mm hollow-point bullet casing." + name = "9mm hollow point bullet casing" + desc = "A 9mm hollow point bullet casing." bullet_skin = "hollow" projectile_type = /obj/projectile/bullet/c9mm_hp @@ -98,8 +98,8 @@ projectile_type =/obj/projectile/bullet/c45_ap /obj/item/ammo_casing/c45/hp - name = ".45 hollow-point bullet casing" - desc = "A .45 hollow-point bullet casing." + name = ".45 hollow point bullet casing" + desc = "A .45 hollow point bullet casing." bullet_skin = "hollow" projectile_type = /obj/projectile/bullet/c45_hp @@ -118,8 +118,12 @@ // .50AE (Desert Eagle) /obj/item/ammo_casing/a50AE - name = ".50AE bullet casing" - desc = "A .50AE bullet casing." - icon_state = "magnum-brass" - caliber = ".50" + name = ".50 AE bullet casing" + desc = "A .50 AE bullet casing." + caliber = ".50 AE" projectile_type = /obj/projectile/bullet/a50AE + +/obj/item/ammo_casing/a50AE/hp + name = ".50 AE hollow point bullet casing" + desc = "A .50 AE hollow point bullet casing." + projectile_type = /obj/projectile/bullet/a50AE/hp diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm index da939522ffc1..bec8e1e3a502 100644 --- a/code/modules/projectiles/ammunition/ballistic/revolver.dm +++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm @@ -3,36 +3,43 @@ /obj/item/ammo_casing/a357 name = ".357 bullet casing" desc = "A .357 bullet casing." - icon_state = "magnum-steel" - caliber = "357" + caliber = ".357" projectile_type = /obj/projectile/bullet/a357 /obj/item/ammo_casing/a357/match name = ".357 match bullet casing" desc = "A .357 bullet casing, manufactured to exceedingly high standards." - caliber = "357" + caliber = ".357" projectile_type = /obj/projectile/bullet/a357/match -// .45-70 (Hunting Revolver) +/obj/item/ammo_casing/a357/hp + name = ".357 hollow point bullet casing" + desc = "A .357 hollow point bullet casing." + projectile_type = /obj/projectile/bullet/a357/hp + +// .45-70 (Hunting Revolver, Contender) /obj/item/ammo_casing/a4570 name = ".45-70 bullet casing" desc = "A .45-70 bullet casing." - icon_state = "rifle-brass" - caliber = "4570" + caliber = ".45-70" projectile_type = /obj/projectile/bullet/a4570 /obj/item/ammo_casing/a4570/match name = ".45-70 match bullet casing" desc = "A .45-70 bullet casing, manufactured to exceedingly high standards." - caliber = "4570" + bullet_skin = "rubber" projectile_type = /obj/projectile/bullet/a4570/match +/obj/item/ammo_casing/a4570/hp + name = ".45-70 hollow point bullet casing" + desc = "A .45-70 hollow point bullet casing." + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/a4570/hp + /obj/item/ammo_casing/a4570/explosive name = ".45-70 explosive bullet casing" desc = "A .45-70 bullet casing, loaded with a tiny explosive charge." - bullet_skin = "incen" - caliber = "4570" projectile_type = /obj/projectile/bullet/a4570/explosive // 7.62x38mmR (Nagant Revolver) @@ -40,9 +47,7 @@ /obj/item/ammo_casing/n762 name = "7.62x38mmR bullet casing" desc = "A 7.62x38mmR bullet casing." - icon_state = "magnum-brass" - bullet_skin = "nagant" - caliber = "n762" + caliber = "7.62x38mmR" projectile_type = /obj/projectile/bullet/n762 @@ -51,8 +56,7 @@ /obj/item/ammo_casing/c38 name = ".38 bullet casing" desc = "A .38 bullet casing." - icon_state = "pistol-brass" - caliber = "38" + caliber = ".38" projectile_type = /obj/projectile/bullet/c38 /obj/item/ammo_casing/c38/trac @@ -62,35 +66,31 @@ projectile_type = /obj/projectile/bullet/c38/trac /obj/item/ammo_casing/c38/match - name = ".38 Match bullet casing" + name = ".38 match bullet casing" desc = "A .38 bullet casing, manufactured to exceedingly high standards." + bullet_skin = "rubber" projectile_type = /obj/projectile/bullet/c38/match /obj/item/ammo_casing/c38/match/bouncy - name = ".38 Rubber bullet casing" + name = ".38 rubber bullet casing" desc = "A .38 rubber bullet casing, manufactured to exceedingly high standards." bullet_skin = "rubber" projectile_type = /obj/projectile/bullet/c38/match/bouncy /obj/item/ammo_casing/c38/dumdum - name = ".38 DumDum bullet casing" - desc = "A .38 DumDum bullet casing." - bullet_skin = "hollow" + name = ".38 dum-dum bullet casing" + desc = "A .38 dum-dum bullet casing." + bullet_skin = "rubber" projectile_type = /obj/projectile/bullet/c38/dumdum /obj/item/ammo_casing/c38/hotshot - name = ".38 Hot Shot bullet casing" - desc = "A .38 Hot Shot bullet casing." + name = ".38 hot shot bullet casing" + desc = "A .38 hot shot bullet casing." + bullet_skin = "incen" projectile_type = /obj/projectile/bullet/c38/hotshot /obj/item/ammo_casing/c38/iceblox - name = ".38 Iceblox bullet casing" - desc = "A .38 Iceblox bullet casing." - bullet_skin = "ap" + name = ".38 iceblox bullet casing" + desc = "A .38 iceblox bullet casing." + bullet_skin = "surplus" projectile_type = /obj/projectile/bullet/c38/iceblox - -/obj/item/ammo_casing/c38/hunting - name = ".38 hunting casing" - desc = "A .38 hunting casing." - bullet_skin = "hollow" - projectile_type = /obj/projectile/bullet/c38/hunting diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index 50bdf01eff33..b91c901dd47b 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -1,16 +1,12 @@ // 7.62 (Nagant Rifle) /obj/item/ammo_casing/a762 - name = "7.62x54 bullet casing" - desc = "A 7.62x54 bullet casing." + name = "7.62x54mmR bullet casing" + desc = "A 7.62x54mmR bullet casing." icon_state = "rifle-brass" - caliber = "a762" + caliber = "7.62x54mmR" projectile_type = /obj/projectile/bullet/a762 -/obj/item/ammo_casing/a762/enchanted - bullet_skin = "rubber" - projectile_type = /obj/projectile/bullet/a762_enchanted - // 8x58mm Caseless (SSG-669C) /obj/item/ammo_casing/caseless/a858 @@ -25,7 +21,7 @@ /obj/item/ammo_casing/a300 name = ".300 Magnum bullet casing" desc = "A .300 Magnum bullet casing." - icon_state = "762-casing" + icon_state = "rifle-brass" caliber = "a300" projectile_type = /obj/projectile/bullet/a300 @@ -35,13 +31,13 @@ name = "5.56mm bullet casing" desc = "A 5.56mm bullet casing." icon_state = "rifle-brass" - caliber = "a556" + caliber = "5.56x45mm" projectile_type = /obj/projectile/bullet/a556 /obj/item/ammo_casing/a545_39 name = "5.45x39mm bullet casing" desc = "A 5.45x39mm bullet casing." - icon_state = "rifle-steel" + icon_state = "rifle-brass" caliber = "5.45x39mm" randomspread = TRUE variance = 2 @@ -56,39 +52,29 @@ projectile_type = /obj/projectile/bullet/a545_39 /obj/item/ammo_casing/a762_39 - name = "7.62x39mm FMJ bullet casing" - desc = "A 7.62x39mm FMJ bullet casing." - icon_state = "rifle-steel" - caliber = "7.62x39mm FMJ" + name = "7.62x39mm bullet casing" + desc = "A 7.62x39mm bullet casing." + icon_state = "rifle-brass" + caliber = "7.62x39mm" variance = 2 projectile_type = /obj/projectile/bullet/a762_39 /obj/item/ammo_casing/aac_300blk - name = ".300BLK bullet casing" + name = ".300 BLK bullet casing" desc = "A .300 Blackout bullet casing." icon_state = "rifle-steel" - caliber = ".300BLK" + caliber = ".300 BLK" projectile_type = /obj/projectile/bullet/aac_300blk /obj/item/ammo_casing/aac_300blk/recycled - name = "recycled .300BLK bullet casing" + name = "recycled .300 BLK bullet casing" desc = "A .300 Blackout bullet casing. It looks like it has been re-necked and reloaded several times." - bullet_skin = "surplus" - caliber = ".300BLK" + caliber = ".300 BLK" projectile_type = /obj/projectile/bullet/aac_300blk -/obj/item/ammo_casing/a308 - name = ".308 bullet casing" - desc = "A .308 bullet casing." +/obj/item/ammo_casing/win308 + name = ".308 Winchester bullet casing" + desc = "A .308 Winchester bullet casing." icon_state = "rifle-steel" - caliber = ".308" - projectile_type = /obj/projectile/bullet/a308 - -// 40mm (Grenade Launcher) - -/obj/item/ammo_casing/a40mm - name = "40mm HE shell" - desc = "A cased high explosive grenade that can only be activated once fired out of a grenade launcher." - icon_state = "40mmHE" - caliber = "40mm" - projectile_type = /obj/projectile/bullet/a40mm + caliber = ".308 Winchester" + projectile_type = /obj/projectile/bullet/win308 diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 355e20fc60f4..bae27ebeace2 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -5,19 +5,20 @@ desc = "A 12 gauge lead slug." icon = 'icons/obj/ammo_shotshells.dmi' icon_state = "slug" - caliber = "shotgun" + caliber = "12ga" custom_materials = list(/datum/material/iron=4000) projectile_type = /obj/projectile/bullet/shotgun_slug /obj/item/ammo_casing/shotgun/update_icon_state() icon_state = "[initial(icon_state)][BB ? "" : "-spent"]" + return ..() /obj/item/ammo_casing/shotgun/buckshot name = "buckshot shell" desc = "A 12 gauge buckshot shell." icon_state = "buckshot" projectile_type = /obj/projectile/bullet/pellet/shotgun_buckshot - pellets = 6 + pellets = 8 variance = 25 /obj/item/ammo_casing/shotgun/beanbag @@ -32,7 +33,7 @@ desc = "A shotgun casing filled with densely-packed rubber balls, used to incapacitate crowds from a distance." icon_state = "rubber" projectile_type = /obj/projectile/bullet/pellet/shotgun_rubbershot - pellets = 6 + pellets = 8 variance = 25 custom_materials = list(/datum/material/iron=4000) diff --git a/code/modules/projectiles/ammunition/ballistic/sniper.dm b/code/modules/projectiles/ammunition/ballistic/sniper.dm index 2dc53da05e75..4762e05a5cac 100644 --- a/code/modules/projectiles/ammunition/ballistic/sniper.dm +++ b/code/modules/projectiles/ammunition/ballistic/sniper.dm @@ -3,8 +3,8 @@ /obj/item/ammo_casing/p50 name = ".50 bullet casing" desc = "A .50 bullet casing." - icon_state = "big-brass" - caliber = ".50" + icon_state = "big-steel" + caliber = ".50 BMG" projectile_type = /obj/projectile/bullet/p50 /obj/item/ammo_casing/p50/soporific diff --git a/code/modules/projectiles/ammunition/caseless/_caseless.dm b/code/modules/projectiles/ammunition/caseless/_caseless.dm index 6d2d0aa1e6ab..c675e2317586 100644 --- a/code/modules/projectiles/ammunition/caseless/_caseless.dm +++ b/code/modules/projectiles/ammunition/caseless/_caseless.dm @@ -13,4 +13,5 @@ // Overridden; caseless ammo does not distinguish between "live" and "empty"/"spent" icon states (because it has no casing). /obj/item/ammo_casing/caseless/update_icon_state() - return + . = ..() + icon_state = "[initial(icon_state)]" diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index c1776ee400fd..3c71d31eb5ed 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -5,23 +5,23 @@ caliber = "foam_force" icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart" + base_icon_state = "foamdart" custom_materials = list(/datum/material/iron = 11.25) harmful = FALSE var/modified = FALSE -/obj/item/ammo_casing/caseless/foam_dart/update_icon() +/obj/item/ammo_casing/caseless/foam_dart/update_icon_state() . = ..() if (modified) - icon_state = "foamdart_empty" - desc = "It's nerf or nothing! ... Although, this one doesn't look too safe." - if(BB) - BB.icon_state = "foamdart_empty" - else - icon_state = initial(icon_state) - desc = "It's nerf or nothing! Ages 8 and up." - if(BB) - BB.icon_state = initial(BB.icon_state) + icon_state = "[base_icon_state]_empty" + BB?.icon_state = "[base_icon_state]_empty" + return + icon_state = "[base_icon_state]" + BB?.icon_state = "[BB.base_icon_state]" +/obj/item/ammo_casing/caseless/foam_dart/update_desc() + . = ..() + desc = "It's nerf or nothing! [modified ? "... Although, this one doesn't look too safe." : "Ages 8 and up."]" /obj/item/ammo_casing/caseless/foam_dart/attackby(obj/item/A, mob/user, params) var/obj/projectile/bullet/reusable/foam_dart/FD = BB @@ -30,7 +30,7 @@ FD.modified = TRUE FD.damage_type = BRUTE to_chat(user, "You pop the safety cap off [src].") - update_icon() + update_appearance() else if (istype(A, /obj/item/pen)) if(modified) if(!FD.pen) @@ -62,4 +62,5 @@ desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up." projectile_type = /obj/projectile/bullet/reusable/foam_dart/riot icon_state = "foamdart_riot" + base_icon_state = "foamdart_riot" custom_materials = list(/datum/material/iron = 1125) diff --git a/code/modules/projectiles/ammunition/special/gauss.dm b/code/modules/projectiles/ammunition/special/gauss.dm index 9a81b23e54aa..0370d95051c4 100644 --- a/code/modules/projectiles/ammunition/special/gauss.dm +++ b/code/modules/projectiles/ammunition/special/gauss.dm @@ -5,6 +5,7 @@ icon_state = "gauss-pellet" projectile_type = /obj/projectile/bullet/gauss auto_rotate = FALSE + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/gauss var/energy_cost = 100 /obj/item/ammo_casing/caseless/gauss/lance diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 97f54b5b4b8d..932c438ff169 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -10,7 +10,7 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' custom_materials = list(/datum/material/iron = 15000) throwforce = 2 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 ///list containing the actual ammo within the magazine @@ -25,6 +25,8 @@ var/caliber ///Allows multiple bullets to be loaded in from one click of another box/magazine var/multiload = TRUE + ///Whether or not an ammo box skips the do_after process (e.g. speedloaders) + var/instant_load = FALSE ///Whether the magazine should start with nothing in it var/start_empty = FALSE ///cost of all the bullets in the magazine/box @@ -45,7 +47,7 @@ if(!start_empty) for(var/i = 1, i <= max_ammo, i++) stored_ammo += new ammo_type(src) - update_icon() + update_appearance() ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) @@ -92,49 +94,73 @@ if(istype(A, /obj/item/ammo_box)) var/obj/item/ammo_box/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) + if(!((instant_load && AM.instant_load) || do_after_mob(user, list(AM), 1 SECONDS,))) + break var/did_load = give_round(AC, replace_spent) - if(did_load) - AM.stored_ammo -= AC - num_loaded++ - if(!did_load || !multiload) + if(!did_load) break + AM.stored_ammo -= AC + if(!silent) + playsound(AM, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use AM + num_loaded++ + A.update_appearance() + update_appearance() + if(istype(A, /obj/item/ammo_casing)) var/obj/item/ammo_casing/AC = A if(give_round(AC, replace_spent)) user.transferItemToLoc(AC, src, TRUE) + if(!silent) + playsound(AC, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) num_loaded++ + update_appearance() + if(num_loaded) if(!silent) - to_chat(user, "You load [num_loaded] shell\s into \the [src]!") - playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - A.update_icon() - update_icon() + to_chat(user, "You load [num_loaded] cartridge\s into \the [src]!") return num_loaded /obj/item/ammo_box/attack_self(mob/user) var/obj/item/ammo_casing/A = get_round() - if(A) - A.forceMove(drop_location()) - if(!user.is_holding(src) || !user.put_in_hands(A)) //incase they're using TK - A.bounce_away(FALSE, NONE) - playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - to_chat(user, "You remove a round from [src]!") - update_icon() - -/obj/item/ammo_box/update_icon() - var/shells_left = stored_ammo.len + if(!A) + return + + A.forceMove(drop_location()) + if(!user.is_holding(src) || !user.put_in_hands(A)) //incase they're using TK + A.bounce_away(FALSE, NONE) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + to_chat(user, "You remove a round from [src]!") + update_ammo_count() + +/// Updates the materials and appearance of this ammo box +/obj/item/ammo_box/proc/update_ammo_count() + update_custom_materials() + update_appearance() + +/obj/item/ammo_box/update_desc(updates) + . = ..() + var/shells_left = LAZYLEN(stored_ammo) + desc = "[initial(desc)] There [(shells_left == 1) ? "is" : "are"] [shells_left] shell\s left!" + +/obj/item/ammo_box/update_icon_state() + var/shells_left = LAZYLEN(stored_ammo) switch(multiple_sprites) if(AMMO_BOX_PER_BULLET) icon_state = "[initial(icon_state)]-[shells_left]" if(AMMO_BOX_FULL_EMPTY) icon_state = "[initial(icon_state)]-[shells_left ? "[max_ammo]" : "0"]" - desc = "[initial(desc)] There [(shells_left == 1) ? "is" : "are"] [shells_left] shell\s left!" - for (var/material in bullet_cost) - var/material_amount = bullet_cost[material] - material_amount = (material_amount*stored_ammo.len) + base_cost[material] - custom_materials[material] = material_amount - set_custom_materials(custom_materials)//make sure we setup the correct properties again + return ..() + +/// Updates the amount of material in this ammo box according to how many bullets are left in it. +/obj/item/ammo_box/proc/update_custom_materials() + var/temp_materials = custom_materials.Copy() + for(var/material in bullet_cost) + temp_materials[material] = (bullet_cost[material] * stored_ammo.len) + base_cost[material] + set_custom_materials(temp_materials) + +/obj/item/ammo_box/magazine + w_class = WEIGHT_CLASS_SMALL //Default magazine weight, only differs for tiny mags and drums ///Count of number of bullets in the magazine /obj/item/ammo_box/magazine/proc/ammo_count(countempties = TRUE) @@ -160,4 +186,4 @@ /obj/item/ammo_box/magazine/handle_atom_del(atom/A) stored_ammo -= A - update_icon() + update_ammo_count() diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 6e58dc0f13e0..253e9262e595 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -6,12 +6,19 @@ max_ammo = 7 multiple_sprites = AMMO_BOX_PER_BULLET item_flags = NO_MAT_REDEMPTION + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE /obj/item/ammo_box/a357/match - name = "speed loader (.357 Match)" + name = "speed loader (.357 match)" desc = "Designed to quickly reload revolvers. These rounds are manufactured within extremely tight tolerances, making them easy to show off trickshots with." ammo_type = /obj/item/ammo_casing/a357/match +/obj/item/ammo_box/a357/hp + name = "speed loader (.357 hollow point)" + desc = "Designed to quickly reload revolvers. Loaded with expanding rounds that cause massive tissue damage at the cost of armor penetration." + ammo_type = /obj/item/ammo_casing/a357/hp + /obj/item/ammo_box/a4570 name = "ammo holder (.45-70)" desc = "Designed to help reload large revolvers." @@ -20,15 +27,22 @@ max_ammo = 6 multiple_sprites = AMMO_BOX_PER_BULLET item_flags = NO_MAT_REDEMPTION + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE /obj/item/ammo_box/a4570/match - name = "ammo holder (.45-70 Match)" + name = "ammo holder (.45-70 match)" desc = "Designed to help reload large revolvers. These rounds are manufactured within extremely tight tolerances, making them easy to show off trickshots with." ammo_type = /obj/item/ammo_casing/a4570/match +/obj/item/ammo_box/a4570/hp + name = "ammo holder (.45-70 hollow point)" + desc = "Designed to help reload large revolvers. Loaded with expanding rounds that cause massive tissue damage at the cost of armor penetration." + ammo_type = /obj/item/ammo_casing/a357/hp + /obj/item/ammo_box/a4570/explosive - name = "ammo holder (.45-70 Explosive)" - desc = "Designed to help reload large revolvers. These rounds contain a tiny explosive charge that detonates on impact, creating especially deadly wounds." + name = "ammo holder (.45-70 explosive)" + desc = "Designed to help reload large revolvers. These rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." ammo_type = /obj/item/ammo_casing/a4570/explosive /obj/item/ammo_box/n762_clip @@ -39,6 +53,8 @@ max_ammo = 7 multiple_sprites = AMMO_BOX_PER_BULLET item_flags = NO_MAT_REDEMPTION + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE /obj/item/ammo_box/c38 name = "speed loader (.38)" @@ -48,6 +64,8 @@ max_ammo = 6 multiple_sprites = AMMO_BOX_PER_BULLET custom_materials = list(/datum/material/iron = 15000) + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE /obj/item/ammo_box/c38/trac name = "speed loader (.38 TRAC)" @@ -55,27 +73,27 @@ ammo_type = /obj/item/ammo_casing/c38/trac /obj/item/ammo_box/c38/match - name = "speed loader (.38 Match)" + name = "speed loader (.38 match)" desc = "Designed to quickly reload revolvers. These rounds are manufactured within extremely tight tolerances, making them easy to show off trickshots with." ammo_type = /obj/item/ammo_casing/c38/match /obj/item/ammo_box/c38/match/bouncy - name = "speed loader (.38 Rubber)" + name = "speed loader (.38 rubber)" desc = "Designed to quickly reload revolvers. These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." ammo_type = /obj/item/ammo_casing/c38/match/bouncy /obj/item/ammo_box/c38/dumdum - name = "speed loader (.38 DumDum)" - desc = "Designed to quickly reload revolvers. DumDum bullets shatter on impact and shred the target's innards, likely getting caught inside." + name = "speed loader (.38 dum-dum)" + desc = "Designed to quickly reload revolvers. Dum-dum bullets shatter on impact and shred the target's innards, likely getting caught inside." ammo_type = /obj/item/ammo_casing/c38/dumdum /obj/item/ammo_box/c38/hotshot - name = "speed loader (.38 Hot Shot)" - desc = "Designed to quickly reload revolvers. Hot Shot bullets contain an incendiary payload." + name = "speed loader (.38 hot shot)" + desc = "Designed to quickly reload revolvers. Hot shot bullets contain an incendiary payload." ammo_type = /obj/item/ammo_casing/c38/hotshot /obj/item/ammo_box/c38/iceblox - name = "speed loader (.38 Iceblox)" + name = "speed loader (.38 iceblox)" desc = "Designed to quickly reload revolvers. Iceblox bullets contain a cryogenic payload." ammo_type = /obj/item/ammo_casing/c38/iceblox @@ -84,21 +102,39 @@ desc = "A box of standard .38 ammo." icon_state = "38box" ammo_type = /obj/item/ammo_casing/c38 - max_ammo = 30 - -/obj/item/ammo_box/c38_box/hunting - name = "ammo box (.38 hunting)" - desc = "A box of .38 hunting ammo. Hunting bullets are especially devastating to wildlife." - icon_state = "38huntingbox" - ammo_type = /obj/item/ammo_casing/c38/hunting - max_ammo = 30 + max_ammo = 50 + +/obj/item/ammo_box/a12g + name = "ammo box (12ga buckshot)" + desc = "A box of 12 gauge buckshot shells, devastating at close range." + icon_state = "12gbox-buckshot" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + max_ammo = 25 + +/obj/item/ammo_box/a12g/slug + name = "ammo box (12ga slug)" + desc = "A box of 12 gauge slugs, for improved accuracy and penetration." + icon_state = "12gbox-slug" + ammo_type = /obj/item/ammo_casing/shotgun + +/obj/item/ammo_box/a12g/beanbag + name = "ammo box (12ga beanbag)" + desc = "A box of 12 gauge beanbag shells, for incapacitating targets." + icon_state = "12gbox-beanbag" + ammo_type = /obj/item/ammo_casing/shotgun/beanbag + +/obj/item/ammo_box/a12g/rubbershot + name = "ammo box (12ga rubbershot)" + desc = "A box of 12 gauge rubbershot shells, designed for riot control." + icon_state = "12gbox-rubbershot" + ammo_type = /obj/item/ammo_casing/shotgun/rubbershot /obj/item/ammo_box/c9mm name = "ammo box (9mm)" desc = "A box of standard 9mm ammo." icon_state = "9mmbox" ammo_type = /obj/item/ammo_casing/c9mm - max_ammo = 30 + max_ammo = 50 /obj/item/ammo_box/c9mm/surplus name = "ammo box (9mm surplus)" @@ -111,35 +147,31 @@ desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." icon_state = "9mmbox-rubbershot" ammo_type = /obj/item/ammo_casing/c9mm/rubbershot - max_ammo = 30 /obj/item/ammo_box/c9mm/ap - name = "ammo box (9mm AP)" - desc = "A box of 9mm armor piercing ammo, designed to penetrate through armor at the cost of total damage." + name = "ammo box (9mm armor-piercing)" + desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "9mmbox-ap" ammo_type = /obj/item/ammo_casing/c9mm/ap - max_ammo = 30 /obj/item/ammo_box/c9mm/hp - name = "ammo box (9mm HP)" + name = "ammo box (9mm hollow point)" desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." icon_state = "9mmbox-hp" ammo_type = /obj/item/ammo_casing/c9mm/hp - max_ammo = 30 /obj/item/ammo_box/c9mm/fire name = "ammo box (9mm incendiary)" desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." icon_state = "9mmbox-incendiary" ammo_type = /obj/item/ammo_casing/c9mm/inc - max_ammo = 30 /obj/item/ammo_box/c10mm name = "ammo box (10mm)" desc = "A box of standard 10mm ammo." icon_state = "10mmbox" ammo_type = /obj/item/ammo_casing/c10mm - max_ammo = 30 + max_ammo = 50 /obj/item/ammo_box/c10mm/surplus name = "ammo box (10mm surplus)" @@ -152,35 +184,31 @@ desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." icon_state = "10mmbox-rubbershot" ammo_type = /obj/item/ammo_casing/c9mm/rubbershot - max_ammo = 30 /obj/item/ammo_box/c10mm/ap - name = "ammo box (10mm AP)" - desc = "A box of 10mm armor piercing ammo, designed to penetrate through armor at the cost of total damage." + name = "ammo box (10mm armor-piercing)" + desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "10mmbox-ap" ammo_type = /obj/item/ammo_casing/c10mm/ap - max_ammo = 30 /obj/item/ammo_box/c10mm/hp - name = "ammo box (10mm HP)" + name = "ammo box (10mm hollow point)" desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." icon_state = "10mmbox-hp" ammo_type = /obj/item/ammo_casing/c10mm/hp - max_ammo = 30 /obj/item/ammo_box/c10mm/fire name = "ammo box (10mm incendiary)" desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." icon_state = "10mmbox-incendiary" ammo_type = /obj/item/ammo_casing/c10mm/fire - max_ammo = 30 /obj/item/ammo_box/c45 name = "ammo box (.45)" desc = "A box of standard .45 ammo." icon_state = "45box" ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 30 + max_ammo = 50 /obj/item/ammo_box/c45/surplus name = "ammo box (.45 surplus)" @@ -193,35 +221,31 @@ desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." icon_state = "45box-rubbershot" ammo_type = /obj/item/ammo_casing/c45/rubbershot - max_ammo = 30 /obj/item/ammo_box/c45/ap - name = "ammo box (.45 AP)" - desc = "A box of .45 armor piercing ammo, designed to penetrate through armor at the cost of total damage." + name = "ammo box (.45 armor-piercing)" + desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "45box-ap" ammo_type = /obj/item/ammo_casing/c45/ap - max_ammo = 30 /obj/item/ammo_box/c45/hp - name = "ammo box (.45 HP)" + name = "ammo box (.45 hollow point)" desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." icon_state = "45box-hp" ammo_type = /obj/item/ammo_casing/c45/hp - max_ammo = 30 /obj/item/ammo_box/c45/fire name = "ammo box (.45 incendiary)" desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." icon_state = "45box-incendiary" ammo_type = /obj/item/ammo_casing/c45/fire - max_ammo = 30 /obj/item/ammo_box/c556mmHITP name = "ammo box (5.56mm HITP caseless)" desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." icon_state = "556mmHITPbox" ammo_type = /obj/item/ammo_casing/caseless/c556mm - max_ammo = 30 + max_ammo = 50 /obj/item/ammo_box/c556mmHITP/surplus name = "ammo box (5.56mm HITP caseless surplus)" @@ -234,21 +258,18 @@ desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." icon_state = "556mmHITPbox-rubbershot" ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot - max_ammo = 30 /obj/item/ammo_box/c556mmHITP/ap - name = "ammo box (5.56mm HITP caseless AP)" - desc = "A box of 5.56mm HITP caseless armor piercing ammo, designed to penetrate through armor at the cost of total damage." + name = "ammo box (5.56mm HITP caseless armor-piercing)" + desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "556mmHITPbox-ap" ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap - max_ammo = 30 /obj/item/ammo_box/c556mmHITP/hp - name = "ammo box (5.56mm HITP caseless HP)" + name = "ammo box (5.56mm HITP caseless hollow point)" desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." icon_state = "556mmHITPbox-hp" ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp - max_ammo = 30 /obj/item/ammo_box/a40mm name = "ammo box (40mm grenades)" @@ -256,16 +277,17 @@ ammo_type = /obj/item/ammo_casing/a40mm max_ammo = 4 multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_NORMAL /obj/item/ammo_box/a762 - // WS Edit Start - Whitesands - name = "stripper clip (7.62x54mm)" - desc = "A rifle-cartrige stripper clip." - // WS Edit Start - Whitesands + name = "stripper clip (7.62x54mmR)" + desc = "A stripper clip of rimmed rifle cartridges." icon_state = "762" ammo_type = /obj/item/ammo_casing/a762 max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE /obj/item/ammo_box/a858 name = "stripper clip (8x58mm)" @@ -278,8 +300,9 @@ /obj/item/ammo_box/n762 name = "ammo box (7.62x38mmR)" icon_state = "n762box" + desc = "A box of unusual revolver ammunition with the bullet seated below the mouth of the cartridge." ammo_type = /obj/item/ammo_casing/n762 - max_ammo = 14 + max_ammo = 28 /obj/item/ammo_box/a762_39 name = "ammo box (7.62x39mm)" @@ -290,7 +313,7 @@ /obj/item/ammo_box/a308 name = "ammo box (.308)" icon_state = "a308box" - ammo_type = /obj/item/ammo_casing/a308 + ammo_type = /obj/item/ammo_casing/win308 max_ammo = 30 /obj/item/ammo_box/foambox @@ -308,7 +331,7 @@ /obj/item/ammo_box/magazine/zip_ammo_9mm name = "budget pistol magazine(9mm)" - desc = "A knockoff commander magazine that can only hold 4 rounds." + desc = "A cheaply-made, poorly-designed pistol magazine that can only hold 4 rounds." icon_state = "ZipAmmo9mm" ammo_type = /obj/item/ammo_casing/c9mm/surplus caliber = "9mm" diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index f1e3a5740a61..f49c58aeb8e9 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -1,26 +1,28 @@ /obj/item/ammo_box/magazine/mm712x82 name = "box magazine (7.12x82mm)" icon_state = "a762-50" + base_icon_state = "a762" ammo_type = /obj/item/ammo_casing/mm712x82 - caliber = "mm71282" + caliber = "7.12x82mm" max_ammo = 50 + w_class = WEIGHT_CLASS_NORMAL /obj/item/ammo_box/magazine/mm712x82/hollow - name = "box magazine (Hollow-Point 7.12x82mm)" + name = "box magazine (7.12x82mm HP)" ammo_type = /obj/item/ammo_casing/mm712x82/hollow /obj/item/ammo_box/magazine/mm712x82/ap - name = "box magazine (Armor Penetrating 7.12x82mm)" + name = "box magazine (7.12x82mm AP)" ammo_type = /obj/item/ammo_casing/mm712x82/ap /obj/item/ammo_box/magazine/mm712x82/incen - name = "box magazine (Incendiary 7.12x82mm)" + name = "box magazine (7.12x82mm Incendiary)" ammo_type = /obj/item/ammo_casing/mm712x82/incen /obj/item/ammo_box/magazine/mm712x82/match - name = "box magazine (Match 7.12x82mm)" + name = "box magazine (7.12x82mm Match)" ammo_type = /obj/item/ammo_casing/mm712x82/match -/obj/item/ammo_box/magazine/mm712x82/update_icon() - ..() - icon_state = "a762-[round(ammo_count(),10)]" +/obj/item/ammo_box/magazine/mm712x82/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 10)]" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 29daa875bf6f..44dc2b3d24d7 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -35,6 +35,7 @@ name = "pistol magazine (.45)" desc = "A single stack M1911 reproduction magazine, faithfully designed to chamber .45." icon_state = "45-8" + base_icon_state = "45" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" max_ammo = 8 @@ -59,66 +60,62 @@ desc = "A single stack M1911 reproduction magazine, faithfully designed to chamber .45. Loaded with less-lethal rubber rounds which disable targets without causing serious damage." ammo_type = /obj/item/ammo_casing/c45/rubbershot -/obj/item/ammo_box/magazine/m45/update_icon() - ..() - if (ammo_count() >= 8) - icon_state = "45-8" - else - icon_state = "45-[ammo_count()]" +/obj/item/ammo_box/magazine/m45/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[min(ammo_count(), 8)]" -/obj/item/ammo_box/magazine/co9mm //WS edit begin - commander +/obj/item/ammo_box/magazine/co9mm name = "pistol magazine (9mm)" - desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm." - icon_state = "co9mm-10" + desc = "A double-stack pistol magazine designed to chamber 9mm." + icon_state = "co9mm-8" + base_icon_state = "co9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 10 /obj/item/ammo_box/magazine/co9mm/fire name = "pistol magazine (9mm incendiary)" - desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm. Loaded with rounds which ignite the target." + desc = "A double-stack pistol magazine designed to chamber 9mm. Loaded with rounds which ignite the target." ammo_type = /obj/item/ammo_casing/c9mm/inc /obj/item/ammo_box/magazine/co9mm/hp name = "pistol magazine (9mm HP)" - desc= "A single stack M1911 reproduction magazine, modified to chamber 9mm. Loaded with rounds which deal more damage, but are completely ineffective against armor." + desc= "A double-stack pistol magazine designed to chamber 9mm. Loaded with rounds which deal more damage, but are completely ineffective against armor." ammo_type = /obj/item/ammo_casing/c9mm/hp /obj/item/ammo_box/magazine/co9mm/ap name = "pistol magazine (9mm AP)" - desc= "A single stack M1911 reproduction magazine, modified to chamber 9mm. Loaded with rounds which penetrate armour, but are less effective against normal targets." + desc= "A double-stack pistol magazine designed to chamber 9mm. Loaded with rounds which penetrate armour, but are less effective against normal targets." ammo_type = /obj/item/ammo_casing/c9mm/ap /obj/item/ammo_box/magazine/co9mm/rubbershot name = "pistol magazine (9mm rubbershot)" - desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm. Loaded with less-lethal rubber rounds which disable targets without causing serious damage." + desc = "A double-stack pistol magazine designed to chamber 9mm. Loaded with less-lethal rubber rounds which disable targets without causing serious damage." ammo_type = /obj/item/ammo_casing/c9mm/rubbershot -/obj/item/ammo_box/magazine/co9mm/update_icon() - ..() - if (ammo_count() == 1) - icon_state = "co9mm-1" - else - icon_state = "co9mm-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/co9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),2)]" /obj/item/ammo_box/magazine/pistolm9mm name = "large pistol magazine (9mm)" - desc = "A double stack pistol magazine, designed to chamber 9mm." + desc = "An extended double stack pistol magazine, designed to chamber 9mm." icon_state = "9x19p-8" + base_icon_state = "9x19p" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 15 -/obj/item/ammo_box/magazine/pistolm9mm/update_icon() - ..() - icon_state = "9x19p-[ammo_count() ? "8" : "0"]" +/obj/item/ammo_box/magazine/pistolm9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? "8" : "0"]" /obj/item/ammo_box/magazine/m50 - name = "handgun magazine (.50ae)" + name = "handgun magazine (.50 AE)" desc = "An oversized handgun magazine designed to chamber .50 AE." icon_state = "50ae" ammo_type = /obj/item/ammo_casing/a50AE - caliber = ".50" + caliber = ".50 AE" max_ammo = 7 multiple_sprites = AMMO_BOX_PER_BULLET @@ -129,3 +126,4 @@ ammo_type = /obj/item/ammo_casing/c38 caliber = ".38" max_ammo = 3 + w_class = WEIGHT_CLASS_TINY diff --git a/code/modules/projectiles/boxes_magazines/external/rechargable.dm b/code/modules/projectiles/boxes_magazines/external/rechargable.dm index 7ed0cde50a7b..5a4af7929cff 100644 --- a/code/modules/projectiles/boxes_magazines/external/rechargable.dm +++ b/code/modules/projectiles/boxes_magazines/external/rechargable.dm @@ -2,13 +2,18 @@ name = "power pack" desc = "A rechargeable, detachable battery that serves as a magazine for laser rifles." icon_state = "oldrifle-20" + base_icon_state = "oldrifle" ammo_type = /obj/item/ammo_casing/caseless/laser caliber = "laser" max_ammo = 20 -/obj/item/ammo_box/magazine/recharge/update_icon() +/obj/item/ammo_box/magazine/recharge/update_desc() + . = ..() desc = "[initial(desc)] It has [stored_ammo.len] shot\s left." - icon_state = "oldrifle-[round(ammo_count(),4)]" + +/obj/item/ammo_box/magazine/recharge/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/recharge/attack_self() //No popping out the "bullets" return diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 127afd2d29d5..1e184405effa 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -1,100 +1,107 @@ /obj/item/ammo_box/magazine/m10mm/rifle name = "rifle magazine (10mm)" - desc = "A well-worn magazine fitted for the surplus rifle." + desc = "A well-worn magazine fitted for surplus rifles, designed to chamber 10mm." icon_state = "75-8" + base_icon_state = "75" ammo_type = /obj/item/ammo_casing/c10mm caliber = "10mm" max_ammo = 10 -/obj/item/ammo_box/magazine/m10mm/rifle/update_icon() - ..() - if(ammo_count()) - icon_state = "75-8" - else - icon_state = "75-0" +/obj/item/ammo_box/magazine/m10mm/rifle/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? "8" : "0"]" /obj/item/ammo_box/magazine/m556 - name = "toploader magazine (5.56mm)" + name = "toploader magazine (5.56x45mm)" + desc = "An advanced top-loading assault rifle magazine, designed to chamber 5.56x45mm." icon_state = "5.56m" ammo_type = /obj/item/ammo_casing/a556 - caliber = "a556" + caliber = "5.56x45mm" max_ammo = 30 multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/rifle47x33mm name = "\improper SolGov AR magazine (4.73x33mm caseless)" + desc = "A rather large magazine designed to chamber 4.73x33mm caseless." icon_state = "47x33mm-50" + base_icon_state = "47x33mm" ammo_type = /obj/item/ammo_casing/caseless/c47x33mm caliber = "4.73x33mm caseless" max_ammo = 50 //brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr + w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/magazine/rifle47x33mm/update_icon() - ..() - icon_state = "47x33mm-[round(ammo_count(),5)]" +/obj/item/ammo_box/magazine/rifle47x33mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),5)]" /obj/item/ammo_box/magazine/aks74u - name = "\improper AKS-74U Magazine (5.45x39mm cartridge)" + name = "\improper assault rifle Magazine (5.45x39mm)" + desc = "A slightly curved assault rifle magazine designed to chamber 5.45x39mm." icon_state = "ak47_mag" ammo_type = /obj/item/ammo_casing/a545_39 caliber = "5.45x39mm" max_ammo = 30 -/obj/item/ammo_box/magazine/aks74u/update_icon() +/obj/item/ammo_box/magazine/aks74u/update_icon_state() . = ..() icon_state = "ak47_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/aknt - name = "\improper NT AK Magazine (4.6x30mm))" + name = "\improper subcaliber assault rifle magazine (4.6x30mm))" + desc = "A cheap polymer assault rifle magazine designed to chamber 4.6x30mm." icon_state = "ak47_mag" ammo_type = /obj/item/ammo_casing/c46x30mm caliber = "4.6x30mm" max_ammo = 30 -/obj/item/ammo_box/magazine/aknt/update_icon() +/obj/item/ammo_box/magazine/aknt/update_icon_state() . = ..() icon_state = "ak47_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/ak47 - name = "\improper AKM Magazine (7.62x39mm)" + name = "\improper assault rifle magazine (7.62x39mm)" + desc = "A sharply curved assault rifle magazine, designed to chamber 7.62x39mm." icon_state = "ak47_mag" ammo_type = /obj/item/ammo_casing/a762_39 - caliber = "7.62x39mm FMJ" + caliber = "7.62x39mm" max_ammo = 20 -/obj/item/ammo_box/magazine/ak47/update_icon() +/obj/item/ammo_box/magazine/ak47/update_icon_state() . = ..() icon_state = "ak47_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/ebr - name = "\improper M514 EBR Magazine (.308)" + name = "\improper battle rifle magazine (.308 Winchester)" + desc = "A small steel battle rifle magazine designed to chamber .308 Winchester." icon_state = "ebr_mag" - ammo_type = /obj/item/ammo_casing/a308 - caliber = ".308" + ammo_type = /obj/item/ammo_casing/win308 + caliber = ".308 Winchester" max_ammo = 10 -/obj/item/ammo_box/magazine/ebr/update_icon() +/obj/item/ammo_box/magazine/ebr/update_icon_state() . = ..() icon_state = "ebr_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/gal name = "\improper CM-GAL Magazine (.308)" icon_state = "ebr_mag" - ammo_type = /obj/item/ammo_casing/a308 - caliber = ".308" + ammo_type = /obj/item/ammo_casing/win308 + caliber = ".308 Winchester" max_ammo = 10 -/obj/item/ammo_box/magazine/gal/update_icon() +/obj/item/ammo_box/magazine/gal/update_icon_state() . = ..() icon_state = "galmag-[!!ammo_count()]" /obj/item/ammo_box/magazine/p16 - name = "\improper P-16 Magazine (5.56mm)" + name = "\improper assault rifle magazine (5.56x45mm)" + desc = "A simple assault rifle magazine designed to chamber 5.56x45mm." icon_state = "p16_mag" ammo_type = /obj/item/ammo_casing/a556 - caliber = "a556" + caliber = "5.56x45mm" max_ammo = 30 -/obj/item/ammo_box/magazine/p16/update_icon() +/obj/item/ammo_box/magazine/p16/update_icon_state() . = ..() icon_state = "p16_mag-[!!ammo_count()]" @@ -105,14 +112,17 @@ caliber = "a556" max_ammo = 30 -/obj/item/ammo_box/magazine/swiss/update_icon() +/obj/item/ammo_box/magazine/swiss/update_icon_state() . = ..() icon_state = "swissmag-[!!ammo_count()]" /obj/item/ammo_box/aac_300blk_stripper - name = "stripper clip (.300BLK)" - desc = "A rifle-cartrige stripper clip." + name = "stripper clip (.300 BLK)" + desc = "A stripper clip fitted for .300 Blackout." icon_state = "762" ammo_type = /obj/item/ammo_casing/aac_300blk + caliber = ".300 BLK" max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE diff --git a/code/modules/projectiles/boxes_magazines/external/shotgun.dm b/code/modules/projectiles/boxes_magazines/external/shotgun.dm index 6528442773a6..374f858295e6 100644 --- a/code/modules/projectiles/boxes_magazines/external/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/external/shotgun.dm @@ -1,14 +1,15 @@ /obj/item/ammo_box/magazine/m12g name = "shotgun drum magazine (12g buckshot)" - desc = "A drum magazine." + desc = "A bulky 8-round drum designed for Scarborough family shotguns." icon_state = "m12gb" ammo_type = /obj/item/ammo_casing/shotgun/buckshot - caliber = "shotgun" + caliber = "12ga" max_ammo = 8 + w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/magazine/m12g/update_icon() - ..() - icon_state = "[initial(icon_state)]-[CEILING(ammo_count(FALSE)/8, 1)*8]" +/obj/item/ammo_box/magazine/m12g/update_icon_state() + . = ..() + icon_state = "m12gb-[!!ammo_count()]" /obj/item/ammo_box/magazine/m12g/stun name = "shotgun drum magazine (12g taser slugs)" @@ -32,21 +33,23 @@ /obj/item/ammo_box/magazine/m12g/small name = "shotgun box magazine (12g buckshot)" - desc = "A single-stack box magazine for a shotgun." + desc = "A single-stack, 6-round box magazine for Scarborough family shotguns." icon_state = "m12gsmall" max_ammo = 6 + w_class = WEIGHT_CLASS_SMALL //Smaller, holds less -/obj/item/ammo_box/magazine/m12g/small/update_icon() - ..() - icon_state = "[initial(icon_state)]-[CEILING(ammo_count(FALSE)/6, 1)*6]" +/obj/item/ammo_box/magazine/m12g/small/update_icon_state() + . = ..() + icon_state = "m12gsmall-[!!ammo_count()]" /obj/item/ammo_box/magazine/cm15_mag name = "CM-15 magazine (12g buckshot)" + desc = "A curved, 8-round magazine designed for Minutemen shotguns." icon_state = "cm15_mag" ammo_type = /obj/item/ammo_casing/shotgun/buckshot - caliber = "shotgun" + caliber = "12ga" max_ammo = 8 -/obj/item/ammo_box/magazine/cm15_mag/update_icon() +/obj/item/ammo_box/magazine/cm15_mag/update_icon_state() . = ..() icon_state = "cm15_mag-[!!ammo_count()]" diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 143c124420f0..9bf2073fa443 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -1,53 +1,60 @@ /obj/item/ammo_box/magazine/wt550m9 name = "wt550 magazine (4.6x30mm)" + desc = "A compact top-loading PDW magazine, designed to chamber 4.6x30mm." icon_state = "46x30mmt-20" + base_icon_state = "46x30mmt" ammo_type = /obj/item/ammo_casing/c46x30mm caliber = "4.6x30mm" - max_ammo = 20 + max_ammo = 30 -/obj/item/ammo_box/magazine/wt550m9/update_icon() - ..() - icon_state = "46x30mmt-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/wt550m9/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/wt550m9/wtap name = "wt550 magazine (Armour Piercing 4.6x30mm)" icon_state = "46x30mmtA-20" + base_icon_state = "46x30mmtA" ammo_type = /obj/item/ammo_casing/c46x30mm/ap -/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon() - ..() - icon_state = "46x30mmtA-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" /obj/item/ammo_box/magazine/wt550m9/wtic name = "wt550 magazine (Incendiary 4.6x30mm)" icon_state = "46x30mmtI-20" ammo_type = /obj/item/ammo_casing/c46x30mm/inc -/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon() - ..() - icon_state = "46x30mmtI-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),4)]" /obj/item/ammo_box/magazine/uzim9mm - name = "uzi magazine (9mm)" + name = "long SMG magazine (9mm)" + desc = "A long submachine gun magazine, designed to chamber 9mm." icon_state = "uzi9mm-32" + base_icon_state = "uzi9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 32 -/obj/item/ammo_box/magazine/uzim9mm/update_icon() - ..() - icon_state = "uzi9mm-[round(ammo_count(),4)]" +/obj/item/ammo_box/magazine/uzim9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),4)]" /obj/item/ammo_box/magazine/smgm9mm name = "SMG magazine (9mm)" + desc = "A submachine gun magazine, designed to chamber 9mm." icon_state = "smg9mm-42" + base_icon_state = "smg9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" - max_ammo = 20 + max_ammo = 30 -/obj/item/ammo_box/magazine/smgm9mm/update_icon() - ..() - icon_state = "smg9mm-[ammo_count() ? "42" : "0"]" +/obj/item/ammo_box/magazine/smgm9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? 42 : 0]" /obj/item/ammo_box/magazine/smgm9mm/ap name = "SMG magazine (Armour Piercing 9mm)" @@ -64,16 +71,14 @@ /obj/item/ammo_box/magazine/smgm10mm name = "SMG magazine (10mm)" icon_state = "smg10mm-24" + base_icon_state = "smg10mm" ammo_type = /obj/item/ammo_casing/c10mm caliber = "10mm" max_ammo = 24 -/obj/item/ammo_box/magazine/smgm10mm/update_icon() - ..() - if (ammo_count() == 1) - icon_state = "smg10mm-1" - else - icon_state = "smg10mm-[round(ammo_count(),3)]" +/obj/item/ammo_box/magazine/smgm10mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),3)]" /obj/item/ammo_box/magazine/smgm10mm/rubbershot name = "SMG magazine (Rubbershot 10mm)" @@ -81,37 +86,44 @@ /obj/item/ammo_box/magazine/smgm45 name = "SMG magazine (.45)" + desc = "A bullpup submachine gun magazine, designed to chamber .45." icon_state = "c20r45-24" + base_icon_state = "c20r45" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" max_ammo = 24 -/obj/item/ammo_box/magazine/smgm45/update_icon() //This is stupid (whenever ammo is spent, it updates the icon path) - ..() +/obj/item/ammo_box/magazine/smgm45/update_icon_state() //This is stupid (whenever ammo is spent, it updates the icon path) + . = ..() icon_state = "c20r45-[round(ammo_count(),2)]" /obj/item/ammo_box/magazine/smgm45/drum name = "drum magazine (.45)" + desc = "A bulky drum magazine for submachine guns, designed to chamber .45." icon_state = "drum45" max_ammo = 50 + w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/magazine/smgm45/drum/update_icon() //Causes the mag to NOT inherit the parent's update_icon oooh the misery +/obj/item/ammo_box/magazine/smgm45/drum/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery . = ..() icon_state = "drum45" /obj/item/ammo_box/magazine/pistol556mm - name = "handgun magazine (5.56mm caseless)" + name = "handgun magazine (5.56mm HITP caseless)" + desc = "A double-stack handgun magazine designed to chamber 5.56mm HITP caseless." icon_state = "5.56mmHITP-12" //ok i did it + base_icon_state = "5.56mmHITP" ammo_type = /obj/item/ammo_casing/caseless/c556mm caliber = "5.56mm caseless" max_ammo = 12 -/obj/item/ammo_box/magazine/pistol556mm/update_icon() - ..() - icon_state = "5.56mmHITP-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/pistol556mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),2)]" /obj/item/ammo_box/magazine/tec9 name = "machine pistol magazine(9mm AP)" + desc = "A very high capacity machine pistol magazine, designed to chamber 9mm." icon_state = "tec_mag" ammo_type = /obj/item/ammo_casing/c9mm/ap caliber = "9mm" diff --git a/code/modules/projectiles/boxes_magazines/external/sniper.dm b/code/modules/projectiles/boxes_magazines/external/sniper.dm index 14f35795acef..348ff6436a1c 100644 --- a/code/modules/projectiles/boxes_magazines/external/sniper.dm +++ b/code/modules/projectiles/boxes_magazines/external/sniper.dm @@ -1,27 +1,26 @@ /obj/item/ammo_box/magazine/sniper_rounds - name = "sniper rounds (.50)" + name = "anti-materiel rifle magazine (.50)" icon_state = ".50mag" + base_icon_state = ".50mag" + desc = "A large, heavy box magazine designed to chamber massive .50 BMG rounds." ammo_type = /obj/item/ammo_casing/p50 max_ammo = 6 - caliber = ".50" + caliber = ".50 BMG" + w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/magazine/sniper_rounds/update_icon() - ..() - if(ammo_count()) - icon_state = "[initial(icon_state)]-ammo" - else - icon_state = "[initial(icon_state)]" +/obj/item/ammo_box/magazine/sniper_rounds/update_icon_state() + . = ..() + icon_state = "[base_icon_state][ammo_count() ? "-ammo" : ""]" /obj/item/ammo_box/magazine/sniper_rounds/soporific - name = "sniper rounds (Zzzzz)" - desc = "Soporific sniper rounds, designed for happy days and dead quiet nights..." + name = "anti-materiel rifle magazine (Zzzzz)" + desc = "A lower-capacity anti-materiel rifle magazine designed for specialized, soporific .50 BMG rounds." icon_state = "soporific" ammo_type = /obj/item/ammo_casing/p50/soporific max_ammo = 3 - caliber = ".50" /obj/item/ammo_box/magazine/sniper_rounds/penetrator - name = "sniper rounds (penetrator)" - desc = "An extremely powerful round capable of passing straight through cover and anyone unfortunate enough to be behind it." + name = "anti-materiel rifle magazine (penetrator)" + desc = "A box magazine loaded with armor-piercing .50 BMG rounds powerful enough to punch through multiple targets and structures." ammo_type = /obj/item/ammo_casing/p50/penetrator max_ammo = 5 diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm index 2369bc6ce35a..7ed352a1941a 100644 --- a/code/modules/projectiles/boxes_magazines/external/toy.dm +++ b/code/modules/projectiles/boxes_magazines/external/toy.dm @@ -5,22 +5,22 @@ /obj/item/ammo_box/magazine/toy/smg name = "foam force SMG magazine" + desc = "A toy submachine gun magazine designed to fit harmless foam darts." icon_state = "smg9mm-42" + base_icon_state = "smg9mm" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 20 -/obj/item/ammo_box/magazine/toy/smg/update_icon() - ..() - if(ammo_count()) - icon_state = "smg9mm-42" - else - icon_state = "smg9mm-0" +/obj/item/ammo_box/magazine/toy/smg/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() ? 42 : 0]" /obj/item/ammo_box/magazine/toy/smg/riot ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot /obj/item/ammo_box/magazine/toy/pistol name = "foam force pistol magazine" + desc = "A toy pistol magazine designed to fit harmless foam darts." icon_state = "9x19p" max_ammo = 8 multiple_sprites = AMMO_BOX_FULL_EMPTY @@ -30,30 +30,37 @@ /obj/item/ammo_box/magazine/toy/smgm45 name = "donksoft SMG magazine" + desc = "A toy submachine gun magazine designed to fit harmless foam darts." icon_state = "c20r45-toy" + base_icon_state = "c20r45" caliber = "foam_force" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 20 -/obj/item/ammo_box/magazine/toy/smgm45/update_icon() - ..() - icon_state = "c20r45-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/toy/smgm45/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 2)]" /obj/item/ammo_box/magazine/toy/smgm45/riot icon_state = "c20r45-riot" + desc = "A toy submachine gun magazine designed to fit legally-harmless riot control darts." ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot /obj/item/ammo_box/magazine/toy/m762 name = "donksoft box magazine" + desc = "A huge toy LMG magazine designed to fit vast quantities of harmless foam darts." icon_state = "a762-toy" + base_icon_state = "a762" caliber = "foam_force" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 50 + w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/magazine/toy/m762/update_icon() - ..() - icon_state = "a762-[round(ammo_count(),10)]" +/obj/item/ammo_box/magazine/toy/m762/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(), 10)]" /obj/item/ammo_box/magazine/toy/m762/riot + desc = "A huge toy LMG magazine designed to fit vast quantities of legally-harmless riot control darts." icon_state = "a762-riot" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot diff --git a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm index 9af0b0e0877b..e0314f5decd2 100644 --- a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm +++ b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm @@ -1,8 +1,9 @@ /obj/item/ammo_box/magazine/internal/cylinder name = "revolver cylinder" ammo_type = /obj/item/ammo_casing/a357 - caliber = "357" + caliber = ".357" max_ammo = 7 + instant_load = TRUE /obj/item/ammo_box/magazine/internal/cylinder/get_round(keep = 0) rotate() diff --git a/code/modules/projectiles/boxes_magazines/internal/derringer.dm b/code/modules/projectiles/boxes_magazines/internal/derringer.dm index d80e8e4b8631..2cd8f830b06f 100644 --- a/code/modules/projectiles/boxes_magazines/internal/derringer.dm +++ b/code/modules/projectiles/boxes_magazines/internal/derringer.dm @@ -1,12 +1,13 @@ /obj/item/ammo_box/magazine/internal/derr38 name = "derringer muzzle" ammo_type = /obj/item/ammo_casing/c38 - caliber = "38" + caliber = ".38" max_ammo = 2 + instant_load = TRUE /obj/item/ammo_box/magazine/internal/derr357 name = "derringer muzzle" ammo_type = /obj/item/ammo_casing/a357 - caliber = "357" + caliber = ".357" max_ammo = 2 - multiload = FALSE + instant_load = TRUE diff --git a/code/modules/projectiles/boxes_magazines/internal/grenade.dm b/code/modules/projectiles/boxes_magazines/internal/grenade.dm index 8b2ec9fca383..4fe1e3f5ae4c 100644 --- a/code/modules/projectiles/boxes_magazines/internal/grenade.dm +++ b/code/modules/projectiles/boxes_magazines/internal/grenade.dm @@ -15,3 +15,9 @@ ammo_type = /obj/item/ammo_casing/caseless/rocket caliber = "84mm" max_ammo = 1 + +/obj/item/ammo_casing/a40mm + name = "40mm HE shell" + icon_state = "40mmHE" + caliber = "40mm" + projectile_type = /obj/projectile/bullet/a40mm diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 207cd58e5de5..737a77cc2dc7 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -1,34 +1,34 @@ /obj/item/ammo_box/magazine/internal/cylinder/rev38 name = "detective revolver cylinder" ammo_type = /obj/item/ammo_casing/c38 - caliber = "38" + caliber = ".38" max_ammo = 6 + instant_load = TRUE /obj/item/ammo_box/magazine/internal/cylinder/rev762 name = "\improper Nagant revolver cylinder" ammo_type = /obj/item/ammo_casing/n762 - caliber = "n762" + caliber = "7.62x38mmR" max_ammo = 7 - multiload = FALSE + instant_load = FALSE /obj/item/ammo_box/magazine/internal/cylinder/rev4570 name = "hunting revolver cylinder" ammo_type = /obj/item/ammo_casing/a4570 - caliber = "4570" + caliber = ".45-70" max_ammo = 6 - multiload = FALSE /obj/item/ammo_box/magazine/internal/cylinder/rus357 name = "\improper Russian revolver cylinder" ammo_type = /obj/item/ammo_casing/a357 - caliber = "357" + caliber = ".357" max_ammo = 6 - multiload = 0 + instant_load = FALSE /obj/item/ammo_box/magazine/internal/rus357/Initialize() stored_ammo += new ammo_type(src) . = ..() /obj/item/ammo_box/magazine/internal/cylinder/pepperbox - name = "detective revolver cylinder" + name = "pepperbox revolver cylinder" max_ammo = 5 diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm index f22abb8bb91f..1b9bf492eca8 100644 --- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm @@ -2,13 +2,13 @@ name = "bolt action rifle internal magazine" desc = "Oh god, this shouldn't be here" ammo_type = /obj/item/ammo_casing/a762 - caliber = "a762" + caliber = "7.62x54mmR" max_ammo = 5 - multiload = TRUE + instant_load = TRUE /obj/item/ammo_box/magazine/internal/boltaction/enchanted max_ammo = 1 - ammo_type = /obj/item/ammo_casing/a762/enchanted + ammo_type = /obj/item/ammo_casing/a762 /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage ammo_type = /obj/item/ammo_casing/magic/arcane_barrage @@ -30,6 +30,5 @@ /obj/item/ammo_box/magazine/internal/boltaction/polymer name = "polymer bolt action rifle internal magazine" ammo_type = /obj/item/ammo_casing/aac_300blk - caliber = ".300BLK" + caliber = ".300 BLK" max_ammo = 5 - multiload = TRUE diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index 40692dd8ba72..2b3adeea371d 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -1,9 +1,8 @@ /obj/item/ammo_box/magazine/internal/shot name = "shotgun internal magazine" ammo_type = /obj/item/ammo_casing/shotgun/beanbag - caliber = "shotgun" + caliber = "12ga" max_ammo = 4 - multiload = 0 /obj/item/ammo_box/magazine/internal/shot/tube name = "dual feed shotgun internal tube" @@ -26,6 +25,7 @@ /obj/item/ammo_box/magazine/internal/shot/dual name = "double-barrel shotgun internal magazine" max_ammo = 2 + instant_load = TRUE /obj/item/ammo_box/magazine/internal/shot/improvised name = "improvised shotgun internal magazine" @@ -45,18 +45,17 @@ /obj/item/ammo_box/magazine/internal/shot/winchester name = "winchester internal magazine" - ammo_type = /obj/item/ammo_casing/c38/hunting - caliber = "38" + ammo_type = /obj/item/ammo_casing/c38 + caliber = ".38" max_ammo = 7 - multiload = FALSE /obj/item/ammo_box/magazine/internal/shot/winchester/lethal - ammo_type = /obj/item/ammo_casing/c38/hunting + ammo_type = /obj/item/ammo_casing/c38 /obj/item/ammo_box/magazine/internal/shot/contender name = "contender internal magazine" ammo_type = /obj/item/ammo_casing/a4570 - caliber = "4570" + caliber = ".45-70" max_ammo = 1 multiload = FALSE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index abbe950c22d1..f91fa467cfef 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -105,7 +105,7 @@ pin = null if(A == chambered) chambered = null - update_icon() + update_appearance() if(A == bayonet) clear_bayonet() if(A == gun_light) @@ -307,7 +307,7 @@ firing_burst = FALSE return FALSE process_chamber() - update_icon() + update_appearance() return TRUE /obj/item/gun/proc/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) @@ -352,7 +352,7 @@ shoot_with_empty_chamber(user) return process_chamber() - update_icon() + update_appearance() semicd = TRUE addtimer(CALLBACK(src, .proc/reset_semicd), fire_delay) @@ -404,7 +404,7 @@ return to_chat(user, "You attach [K] to [src]'s bayonet lug.") bayonet = K - update_icon() + update_appearance() else return ..() @@ -494,7 +494,7 @@ if(!bayonet) return bayonet = null - update_icon() + update_appearance() return TRUE /obj/item/gun/proc/clear_gunlight() @@ -554,7 +554,7 @@ update_gunlight() /obj/item/gun/proc/update_gunlight() - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 7277bfeb9176..9efbc6169b25 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -91,18 +91,19 @@ . = ..() if (!spawnwithmagazine) bolt_locked = TRUE - update_icon() + update_appearance() return if (!magazine) magazine = new mag_type(src) chamber_round(TRUE) - update_icon() + update_appearance() /obj/item/gun/ballistic/update_icon_state() if(current_skin) icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" else - icon_state = "[initial(icon_state)][sawn_off ? "_sawn" : ""]" + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" + return ..() /obj/item/gun/ballistic/update_overlays() . = ..() @@ -177,7 +178,7 @@ playsound(src, lock_back_sound, lock_back_sound_volume, lock_back_sound_vary) else playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) - update_icon() + update_appearance() ///Drops the bolt from a locked position /obj/item/gun/ballistic/proc/drop_bolt(mob/user = null) @@ -186,7 +187,7 @@ to_chat(user, "You drop the [bolt_wording] of \the [src].") chamber_round() bolt_locked = FALSE - update_icon() + update_appearance() ///Handles all the logic needed for magazine insertion /obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE) @@ -203,7 +204,7 @@ playsound(src, load_empty_sound, load_sound_volume, load_sound_vary) if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked) chamber_round(TRUE) - update_icon() + update_appearance() return TRUE else to_chat(user, "You cannot seem to get \the [src] out of your hands!") @@ -228,10 +229,10 @@ else magazine = null user.put_in_hands(old_mag) - old_mag.update_icon() + old_mag.update_appearance() if (display_message) to_chat(user, "You pull the [magazine_wording] out of \the [src].") - update_icon() + update_appearance() /obj/item/gun/ballistic/can_shoot() return chambered @@ -261,8 +262,8 @@ playsound(src, load_sound, load_sound_volume, load_sound_vary) if (chambered == null && bolt_type == BOLT_TYPE_NO_BOLT) chamber_round() - A.update_icon() - update_icon() + A.update_appearance() + update_appearance() return if(istype(A, /obj/item/suppressor)) var/obj/item/suppressor/S = A @@ -293,7 +294,7 @@ /obj/item/gun/ballistic/proc/install_suppressor(obj/item/suppressor/S) suppressed = S w_class += S.w_class //so pistols do not fit in pockets when suppressed - update_icon() + update_appearance() /obj/item/gun/ballistic/AltClick(mob/user) if (unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) @@ -308,7 +309,7 @@ user.put_in_hands(suppressed) w_class -= S.w_class suppressed = null - update_icon() + update_appearance() return ///Prefire empty checks for the bolt drop @@ -317,17 +318,17 @@ if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked) bolt_locked = TRUE playsound(src, bolt_drop_sound, bolt_drop_sound_volume) - update_icon() + update_appearance() ///postfire empty checks for bolt locking and sound alarms /obj/item/gun/ballistic/proc/postfire_empty_checks(last_shot_succeeded) if (!chambered && !get_ammo()) if (empty_alarm && last_shot_succeeded) playsound(src, empty_alarm_sound, empty_alarm_volume, empty_alarm_vary) - update_icon() + update_appearance() if (last_shot_succeeded && bolt_type == BOLT_TYPE_LOCKING) bolt_locked = TRUE - update_icon() + update_appearance() /obj/item/gun/ballistic/afterattack() prefire_empty_checks() @@ -369,7 +370,7 @@ if (num_unloaded) to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].") playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) - update_icon() + update_appearance() else to_chat(user, "[src] is empty!") return @@ -448,7 +449,7 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) recoil = SAWN_OFF_RECOIL sawn_off = TRUE - update_icon() + update_appearance() return TRUE ///used for sawing guns, causes the gun to fire without the input of the user diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 2e7cb428a909..6b0d14616ef7 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -3,8 +3,8 @@ actions_types = list() /obj/item/gun/ballistic/automatic/assualt/ak47 - name = "\improper AK-47" - desc = "An old assault rifle, dating back to 20th century. It is commonly used by various bandits, pirates and colonists thanks to its reliability and ease of maintenance." + name = "\improper SVG-67" + desc = "A frontier-built assault rifle descended from a pattern of unknown provenance. Its low cost and ease of maintenance make it a popular choice among a wide variety of outlaws." icon = 'icons/obj/guns/48x32guns.dmi' fire_sound = 'sound/weapons/gun/rifle/ak47.ogg' icon_state = "ak47" @@ -20,8 +20,8 @@ AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) /obj/item/gun/ballistic/automatic/assualt/ak47/nt - name = "\improper NT-AK" - desc = "A cheap rip-off of an already cheap rifle. Comes with a foldable stock for easy storage, although accuracy is questionable when folded. Control click to toggle the stock." + name = "\improper NT-SVG" + desc = "An even cheaper version of the already-cheap SVG-67, rechambered for the lightweight 4.6x38mm PDW cartridge. The flimsy folding stock and light construction make for a highly portable rifle lacking in accuracy and stopping power." icon = 'icons/obj/guns/48x32guns.dmi' fire_sound = 'sound/weapons/gun/rifle/shot.ogg' icon_state = "ak47_nt" @@ -61,7 +61,7 @@ folded = !folded playsound(src.loc, 'sound/weapons/empty.ogg', 100, 1) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/assualt/ak47/nt/update_overlays() . = ..() @@ -86,7 +86,7 @@ /obj/item/gun/ballistic/automatic/assualt/p16 name = "\improper P-16" - desc = "An ancient rifle used by professional mercenaries. It is said that the P-16 and AK-47 were destined to be in combat against each other. Chambered in 5.56mm." + desc = "A Night of Fire-era assault rifle pattern from Sol, chambered in 5.56mm. Rediscovered by the Colonial Minutemen and now frequently reproduced. A favorite of professional mercenaries and well-heeled pirates." icon = 'icons/obj/guns/48x32guns.dmi' fire_sound = 'sound/weapons/gun/rifle/m16.ogg' icon_state = "p16" @@ -103,13 +103,13 @@ /obj/item/gun/ballistic/automatic/assualt/p16/minutemen name = "\improper CM-16" - desc = "Standard issue rifle of the Colonial Minutemen. A heavily modified version of the P-16 designed to fit the standards of operative warfare." + desc = "An extensive modification of the P-16, now the standard-issue rifle of the Colonial Minutemen. Chambered in 5.56mm." icon_state = "cm16" item_state = "cm16" /obj/item/gun/ballistic/automatic/assualt/ar name = "\improper NT-ARG 'Boarder'" - desc = "A robust assault rifle used by Nanotrasen fighting forces." + desc = "A burst-fire 5.56mm carbine occasionally found in the hands of Nanotrasen marines." fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg' icon_state = "arg" item_state = "arg" @@ -165,6 +165,6 @@ to_chat(user, "You switch to [burst_size]-rnd Matter.") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() for(var/datum/action/action as anything in actions) action.UpdateButtonIcon() diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 4217d2e45199..20066b6a7abf 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -40,7 +40,7 @@ to_chat(user, "You switch to [burst_size]-rnd burst.") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() @@ -49,7 +49,7 @@ /obj/item/gun/ballistic/automatic/sniper_rifle name = "sniper rifle" - desc = "A long ranged weapon that does significant damage. No, you can't quickscope." + desc = "An anti-materiel rifle chambered in .50 BMG, partnered with an effective optics package that grants it much greater range than most rifles. Its prodigious bulk requires both hands and some time to aim." icon_state = "sniper" item_state = "sniper" fire_sound = 'sound/weapons/gun/sniper/shot.ogg' @@ -73,7 +73,7 @@ /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate name = "syndicate sniper rifle" - desc = "An illegally modified .50 cal sniper rifle with suppression compatibility. Quickscoping still doesn't work." + desc = "A heavily modified .50 caliber anti-materiel rifle capable of accepting a suppressor. Its prodigious bulk requires both hands and some time to aim." can_suppress = TRUE can_unsuppress = TRUE pin = /obj/item/firing_pin/implant/pindicate @@ -82,7 +82,7 @@ /obj/item/gun/ballistic/automatic/surplus name = "Surplus Rifle" - desc = "One of countless obsolete ballistic rifles that still sees use as a cheap deterrent. Uses 10mm ammo and its bulky frame prevents one-hand firing." + desc = "One of countless cheap, obsolete rifles found throughout the frontier, chambered in 10mm. While bulky and easily defeated by even mild armor, they are effective deterrents against wildlife and are still powerful enough to put up some fight against pirates and other boarders." icon_state = "surplus" item_state = "moistnugget" weapon_weight = WEAPON_HEAVY @@ -113,7 +113,7 @@ /obj/item/gun/ballistic/automatic/ebr name = "\improper M514 EBR" - desc = "A cheap, reliable rifle often found in the hands of low-ranking Syndicate personnel. It's known for rather high stopping power and mild armor-piercing capabilities. Chambered in .308." + desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308 Winchester. It's known for rather high stopping power and mild armor-piercing capabilities." icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' @@ -151,7 +151,7 @@ /obj/item/gun/ballistic/automatic/zip_pistol name = "makeshift pistol" - desc = "A makeshift pistol. It's a miracle it even works." + desc = "A makeshift zip gun cobbled together from various scrap bits and chambered in 9mm. It's a miracle it even works." icon_state = "ZipPistol" item_state = "ZipPistol" mag_type = /obj/item/ammo_box/magazine/zip_ammo_9mm diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index 22fb91a56be9..b94e679d4783 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -15,6 +15,7 @@ desc = "A heavy machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 490 FS' engraved on the receiver below the designation. Chambered in 7.12x82mm." icon_state = "l6" item_state = "l6closedmag" + base_icon_state = "l6" mag_type = /obj/item/ammo_box/magazine/mm712x82 can_suppress = FALSE spread = 7 @@ -42,7 +43,7 @@ cover_open = !cover_open to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") playsound(user, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/hmg/l6_saw/update_overlays() @@ -56,7 +57,7 @@ return else . = ..() - update_icon() + update_appearance() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/ballistic/automatic/hmg/l6_saw/attack_hand(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 3478466c73a6..ccd54cf5dfec 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -2,7 +2,7 @@ //Put handheld rocket launchers here if someone ever decides to make something so hilarious ~Paprika /obj/item/gun/ballistic/revolver/grenadelauncher//this is only used for underbarrel grenade launchers at the moment, but admins can still spawn it if they feel like being assholes - desc = "A break-operated grenade launcher." + desc = "A break-action, single-shot grenade launcher. A compact way to deliver a big boom." name = "grenade launcher" icon_state = "dshotgun_sawn" item_state = "gun" @@ -22,7 +22,7 @@ chamber_round() /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg - desc = "A 6-shot grenade launcher." + desc = "A heavy grenade launcher with an oversized 6-shot cylinder." name = "multi grenade launcher" icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_grenadelnchr" diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 24725cbbc434..3b0c0742a657 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -1,6 +1,6 @@ /obj/item/gun/ballistic/automatic/pistol name = "stechkin pistol" - desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." + desc = "A small, easily concealable 10mm handgun, bearing Scarborough Arms stamps. Has a threaded barrel for suppressors." icon_state = "pistol" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/m10mm @@ -36,8 +36,7 @@ /obj/item/gun/ballistic/automatic/pistol/m1911 name = "\improper M1911" - desc = "A classic .45 handgun with a small magazine capacity." - + desc = "A classic .45 handgun with a small magazine capacity. An engraving on the slide marks it as a product of Hunter's Pride." icon_state = "m1911" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 @@ -52,7 +51,7 @@ /obj/item/gun/ballistic/automatic/pistol/deagle name = "\improper Desert Eagle" - desc = "A robust .50 AE handgun." + desc = "An oversized handgun chambered in .50 AE. A true hand cannon." icon_state = "deagle" force = 14 mag_type = /obj/item/ammo_box/magazine/m50 @@ -75,7 +74,7 @@ /obj/item/gun/ballistic/automatic/pistol/APS name = "stechkin APS pistol" - desc = "The original Russian version of a widely used Syndicate sidearm. Uses 9mm ammo." + desc = "A relative of the more common 10mm Stechkin, converted into a burst-fire machine pistol. Uses 9mm ammo." icon_state = "aps" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/pistolm9mm @@ -185,7 +184,7 @@ /obj/item/gun/ballistic/automatic/pistol/tec9 name = "\improper TEC9 machine pistol" - desc = "A new take on an old classic, firing 9mm rounds at unprecedented firerates. Perfect for gatting people down, especially considering how plentiful ammo is." + desc = "A somewhat cheaply-made machine pistol designed to vomit forth 9mm ammunition at a truly eye-watering rate of fire." icon_state = "tec9" weapon_weight = WEAPON_LIGHT w_class = WEIGHT_CLASS_SMALL @@ -194,7 +193,7 @@ /obj/item/gun/ballistic/automatic/pistol/disposable name = "disposable gun" - desc = "An exceedingly flimsy gun that is extremely cheap and easy to produce. You get what you pay for." + desc = "An exceedingly flimsy plastic gun that is extremely cheap and easy to produce. You get what you pay for." icon_state = "disposable" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/disposable diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 0de8f04e2230..83fe331f4210 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -1,6 +1,6 @@ /obj/item/gun/ballistic/revolver name = "\improper .357 revolver" - desc = "A suspicious revolver. Uses .357 ammo." //usually used by syndicates + desc = "A weighty magnum revolver with a Scarborough Arms logo engraved on the barrel. Uses .357 ammo." //usually used by syndicates icon_state = "revolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder fire_sound = 'sound/weapons/gun/revolver/shot.ogg' @@ -75,7 +75,7 @@ /obj/item/gun/ballistic/revolver/detective name = "\improper Colt Detective Special" - desc = "A classic, if not outdated, law enforcement firearm. Uses .38-special rounds." + desc = "A compact and ridiculously old-fashioned law enforcement firearm. Uses .38 Special rounds." fire_sound = 'sound/weapons/gun/revolver/shot.ogg' icon_state = "detective" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 @@ -115,7 +115,7 @@ if(magazine.ammo_count()) to_chat(user, "You can't modify it!") return TRUE - magazine.caliber = "357" + magazine.caliber = ".357" fire_sound = 'sound/weapons/gun/revolver/shot.ogg' desc = "The barrel and chamber assembly seems to have been modified." to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") @@ -129,7 +129,7 @@ if(magazine.ammo_count()) to_chat(user, "You can't modify it!") return - magazine.caliber = "38" + magazine.caliber = ".38" fire_sound = 'sound/weapons/gun/revolver/shot.ogg' desc = initial(desc) to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") @@ -138,7 +138,7 @@ /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" - desc = "A retro high-powered autorevolver typically used by officers of the New Russia military. Uses .357 ammo." + desc = "A high-powered revolver with a unique auto-reloading system. Uses .357 ammo." icon_state = "mateba" /obj/item/gun/ballistic/revolver/golden @@ -151,7 +151,7 @@ /obj/item/gun/ballistic/revolver/nagant name = "\improper Nagant revolver" - desc = "An old model of revolver that originated in Russia. Able to be suppressed. Uses 7.62x38mmR ammo." + desc = "An ancient model of revolver with notoriously poor ergonomics, chambered in 7.62x38mmR. While its unique design prevents the use of speed loaders, it is the only revolver able to use a suppressor." icon_state = "nagant" can_suppress = TRUE @@ -169,7 +169,7 @@ /obj/item/gun/ballistic/revolver/russian name = "\improper Russian revolver" - desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism requiring you to spin the chamber before each trigger pull." + desc = "A revolver for particularly lethal drinking games. Uses .357 ammo, and has a mechanism requiring you to spin the chamber before each trigger pull. The origin of its name remains a subject of intense debate. " icon_state = "russianrevolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357 var/spun = FALSE @@ -183,8 +183,8 @@ ..() if(get_ammo() > 0) spin() - update_icon() - A.update_icon() + update_appearance() + A.update_appearance() return /obj/item/gun/ballistic/revolver/russian/attack_self(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 8de128b3feb4..8ac729535335 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -27,7 +27,7 @@ playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) process_chamber(FALSE, FALSE, FALSE) bolt_locked = TRUE - update_icon() + update_appearance() return drop_bolt(user) @@ -98,7 +98,7 @@ can_be_sawn_off = FALSE /obj/item/gun/ballistic/rifle/boltaction/enchanted - name = "enchanted bolt action rifle" + name = "enchanted bolt-action rifle" desc = "Careful not to lose your head." var/guns_left = 30 mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted @@ -150,7 +150,7 @@ /obj/item/gun/ballistic/rifle/boltaction/polymer name = "polymer survivor rifle" - desc = "Chambered in .300 Blackout, and manufactured with cheap tools, this rifle has seen its share of part replacements, repairs, and bubba-hack-jobs to keep it serviceable." + desc = "A bolt-action rifle chambered in .300 Blackout, manufactured out of improvised materials and showing obvious signs of years of makeshift repairs and ill-advised modifications. Use at your own risk." icon = 'icons/obj/guns/projectile.dmi' icon_state = "crackhead_rifle" item_state = "crackhead_rifle" diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index a3af3b89a223..f8ddd3a31b6c 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -40,7 +40,7 @@ /obj/item/gun/ballistic/shotgun/riot //for spawn in the armory name = "riot shotgun" - desc = "A sturdy shotgun with a longer magazine and a fixed tactical stock designed for non-lethal riot control." + desc = "A sturdy shotgun with a longer magazine tube and a fixed wooden stock designed for non-lethal riot control." icon_state = "riotshotgun" item_state = "shotgun" mag_type = /obj/item/ammo_box/magazine/internal/shot/riot @@ -120,7 +120,7 @@ /obj/item/gun/ballistic/shotgun/bulldog name = "\improper Bulldog Shotgun" - desc = "A semi-auto, mag-fed shotgun for combat in narrow corridors, nicknamed the 'Bulldog' by boarding parties. Only compatible with specialized 8-round drum magazines." + desc = "A semi-automatic, magazine-fed shotgun designed for combat in tight quarters, manufactured by Scarborough Arms. A historical favorite of various Syndicate factions, especially the Gorlex Marauders." icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "bulldog" item_state = "bulldog" @@ -146,13 +146,12 @@ tac_reloads = TRUE pickup_sound = 'sound/items/handling/rifle_pickup.ogg' - /obj/item/gun/ballistic/shotgun/bulldog/unrestricted pin = /obj/item/firing_pin /obj/item/gun/ballistic/shotgun/bulldog/inteq name = "\improper Mastiff Shotgun" - desc = "A semi-auto, mag-fed shotgun, seized from Syndicate armories by deserting troopers and modified to IRMG's standards. Only compatible with specialized 8-round drum magazines." + desc = "A variation of the Bulldog, seized from Syndicate armories by deserting troopers then modified to IRMG's standards." icon_state = "bulldog-inteq" item_state = "bulldog-inteq" mag_type = /obj/item/ammo_box/magazine/m12g @@ -160,7 +159,7 @@ /obj/item/gun/ballistic/shotgun/bulldog/minutemen name = "\improper CM-15" - desc = "Standard issue shotgun of the Colonial Minutemen. Most often used by boarding crews. Only compatible with specialized 8-round magazines." + desc = "A standard-issue shotgun of the Colonial Minutemen, most often used by boarding crews. Only compatible with specialized 8-round magazines." icon = 'icons/obj/guns/48x32guns.dmi' mag_type = /obj/item/ammo_box/magazine/cm15_mag icon_state = "cm15" @@ -214,7 +213,7 @@ /obj/item/gun/ballistic/shotgun/doublebarrel/improvised name = "improvised shotgun" - desc = "Essentially a tube that aims shotgun shells." + desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun." icon_state = "ishotgun" item_state = "ishotgun" w_class = WEIGHT_CLASS_BULKY @@ -233,7 +232,7 @@ slot_flags = ITEM_SLOT_BACK to_chat(user, "You tie the lengths of cable to the shotgun, making a sling.") slung = TRUE - update_icon() + update_appearance() else to_chat(user, "You need at least ten lengths of cable if you want to make a sling!") @@ -256,7 +255,7 @@ if(. && slung) //sawing off the gun removes the sling new /obj/item/stack/cable_coil(get_turf(src), 10) slung = 0 - update_icon() + update_appearance() /obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawn name = "sawn-off improvised shotgun" @@ -388,11 +387,12 @@ if(prob(0 + (magazine.ammo_count() * 10))) if(prob(10)) to_chat(user, "Something isn't right. \the [src] doesn't fire for a brief moment. Then, the following words come to mind: \ - Ó Pátria amada, \ - Idolatrada, \ + Ó Pátria amada, \n\ + Idolatrada, \n\ Salve! Salve!") message_admins("A [src] misfired and exploded at [ADMIN_VERBOSEJMP(src)], which was fired by [user].") //logging + log_admin("A [src] misfired and exploded at [ADMIN_VERBOSEJMP(src)], which was fired by [user].") user.take_bodypart_damage(0,50) explosion(src, 0, 2, 4, 6, TRUE, TRUE) ..() @@ -406,9 +406,10 @@ fire_sound_volume = 100 mag_type = /obj/item/ammo_box/magazine/internal/shot/hundred +//Lever-Action Rifles /obj/item/gun/ballistic/shotgun/winchester name = "Winchester MK.2" - desc = "A sturdy lever action rifle. This one is a newer reproduction." + desc = "A sturdy lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. Modern and sleek." icon_state = "winchester" item_state = "winchester" icon = 'icons/obj/guns/48x32guns.dmi' @@ -420,19 +421,16 @@ mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester fire_sound = 'sound/weapons/gun/rifle/shot.ogg' rack_sound = 'sound/weapons/gun/rifle/winchester_cocked.ogg' - -/obj/item/gun/ballistic/shotgun/winchester/lethal - mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester/lethal + bolt_wording = "lever" + cartridge_wording = "bullet" /obj/item/gun/ballistic/shotgun/winchester/mk1 name = "Winchester MK.1" - desc = "A sturdy lever action rifle. This older pattern appears to be an antique, in excellent condition despite its age." + desc = "A sturdy lever-action rifle. This antique pattern appears to be in excellent condition despite its age." icon_state = "winchestermk1" item_state = "winchestermk1" -/obj/item/gun/ballistic/shotgun/winchester/mk1/lethal - mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester/lethal - +//Elephant Gun /obj/item/gun/ballistic/shotgun/doublebarrel/twobore name = "two-bore rifle" desc = "Take this, elephant! If you want an intact trophy, don't aim for the head. Chambered in two-bore." diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 097fa7d9a803..11db569a5181 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -42,7 +42,7 @@ /obj/item/gun/ballistic/automatic/smg/c20r/Initialize() . = ..() - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/smg/c20r/cobra name = "\improper Cobra 20" @@ -137,7 +137,7 @@ /obj/item/gun/ballistic/automatic/smg/m90/Initialize() . = ..() underbarrel = new /obj/item/gun/ballistic/revolver/grenadelauncher(src) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/smg/m90/unrestricted pin = /obj/item/firing_pin @@ -145,7 +145,7 @@ /obj/item/gun/ballistic/automatic/smg/m90/unrestricted/Initialize() . = ..() underbarrel = new /obj/item/gun/ballistic/revolver/grenadelauncher/unrestricted(src) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/smg/m90/afterattack(atom/target, mob/living/user, flag, params) if(select == 2) @@ -188,7 +188,7 @@ fire_delay = 0 to_chat(user, "You switch to semi-auto.") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) - update_icon() + update_appearance() return /obj/item/gun/ballistic/automatic/smg/thompson diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index c61cb133b40e..b186569afad4 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -10,7 +10,7 @@ var/list/ammo_type = list(/obj/item/ammo_casing/energy) var/select = 1 //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. var/can_charge = TRUE //Can it be charged in a recharger? - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_icon()? + var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? var/charge_sections = 4 ammo_x_offset = 2 var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail @@ -36,7 +36,7 @@ cell.use(round(cell.charge / severity)) chambered = null //we empty the chamber recharge_newshot() //and try to charge a new shot - update_icon() + update_appearance() /obj/item/gun/energy/get_cell() return cell @@ -53,7 +53,7 @@ recharge_newshot(TRUE) if(selfcharge) START_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/gun/energy/ComponentInitialize() . = ..() @@ -79,7 +79,7 @@ /obj/item/gun/energy/handle_atom_del(atom/A) if(A == cell) cell = null - update_icon() + update_appearance() return ..() /obj/item/gun/energy/process() @@ -91,12 +91,12 @@ cell.give(1000) //WS Edit - Egun energy cells if(!chambered) //if empty chamber we try to charge a new shot recharge_newshot(TRUE) - update_icon() + update_appearance() /obj/item/gun/energy/attack_self(mob/living/user as mob) if(ammo_type.len > 1) select_fire(user) - update_icon() + update_appearance() /obj/item/gun/energy/attackby(obj/item/A, mob/user, params) if (!internal_cell && istype(A, /obj/item/stock_parts/cell/gun)) @@ -116,7 +116,7 @@ cell = C to_chat(user, "You load the [C] into \the [src].") playsound(src, load_sound, sound_volume, load_sound_vary) - update_icon() + update_appearance() return TRUE else to_chat(user, "You cannot seem to get \the [src] out of your hands!") @@ -132,9 +132,9 @@ to_chat(user, "You dropped the old cell, but the new one doesn't fit. How embarassing.")*/ cell = null user.put_in_hands(old_cell) - old_cell.update_icon() + old_cell.update_appearance() to_chat(user, "You pull the cell out of \the [src].") - update_icon() + update_appearance() /obj/item/gun/energy/screwdriver_act(mob/living/user, obj/item/I) if(cell && !internal_cell && !bayonet && (!gun_light || !can_flashlight)) @@ -197,12 +197,12 @@ to_chat(user, "[src] is now set to [shot.select_name].") chambered = null recharge_newshot(TRUE) - update_icon() + update_appearance() return /obj/item/gun/energy/update_icon_state() if(initial(item_state)) - return + return ..() var/ratio = get_charge_ratio() var/new_item_state = "" new_item_state = initial(icon_state) @@ -211,6 +211,7 @@ new_item_state += "[shot.select_name]" new_item_state += "[ratio]" item_state = new_item_state + return ..() /obj/item/gun/energy/update_overlays() . = ..() diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index 3ba599eb9975..1ecb29a27a64 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -173,7 +173,7 @@ if(DUEL_SETTING_C) setting = DUEL_SETTING_A to_chat(user,"You switch [src] setting to [setting] mode.") - update_icon() + update_appearance() /obj/item/gun/energy/dueling/update_overlays() . = ..() @@ -251,13 +251,13 @@ . = ..() var/obj/projectile/energy/duel/D = BB D.setting = setting - D.update_icon() + D.update_appearance() /obj/item/ammo_casing/energy/duel/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) . = ..() var/obj/effect/temp_visual/dueling_chaff/C = new(get_turf(user)) C.setting = setting - C.update_icon() + C.update_appearance() //Projectile @@ -315,6 +315,7 @@ icon_locked = "medalbox+l" icon_closed = "medalbox" icon_broken = "medalbox+b" + base_icon_state = "medalbox" /obj/item/storage/lockbox/dueling/ComponentInitialize() . = ..() @@ -324,15 +325,14 @@ STR.set_holdable(list(/obj/item/gun/energy/dueling)) /obj/item/storage/lockbox/dueling/update_icon_state() - var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - if(locked) - icon_state = "medalbox+l" - else - icon_state = "medalbox" - if(open) - icon_state += "open" - if(broken) - icon_state += "+b" + if(SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) + icon_state = icon_locked + return ..() + if(broken) + icon_state = icon_broken + return ..() + icon_state = open ? "[base_icon_state]open" : icon_closed + return ..() /obj/item/storage/lockbox/dueling/PopulateContents() . = ..() diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 73eada04055b..1e4af286d44f 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -128,7 +128,7 @@ /obj/item/gun/energy/e_gun/nuclear/shoot_live_shot(mob/living/user, pointblank = 0, atom/pbtarget = null, message = 1) failcheck() - update_icon() + update_appearance() ..() /obj/item/gun/energy/e_gun/nuclear/proc/failcheck() @@ -155,14 +155,14 @@ . = ..() if(reactor_overloaded) . += "[icon_state]_fail_3" - else - switch(fail_tick) - if(0) - . += "[icon_state]_fail_0" - if(1 to 150) - . += "[icon_state]_fail_1" - if(151 to INFINITY) - . += "[icon_state]_fail_2" + return + switch(fail_tick) + if(0) + . += "[icon_state]_fail_0" + if(1 to 150) + . += "[icon_state]_fail_1" + if(151 to INFINITY) + . += "[icon_state]_fail_2" /obj/item/gun/energy/e_gun/rdgun name = "research director's PDW" diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 6f3c7667245b..7928094cab13 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -122,7 +122,7 @@ /obj/item/gun/energy/kinetic_accelerator/proc/empty() if(cell) cell.use(cell.charge) - update_icon() + update_appearance() /obj/item/gun/energy/kinetic_accelerator/proc/attempt_reload(recharge_time) if(!cell) @@ -155,7 +155,7 @@ playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, TRUE) else to_chat(loc, "[src] silently charges up.") - update_icon() + update_appearance() overheat = FALSE /obj/item/gun/energy/kinetic_accelerator/update_overlays() diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index 4a1cf5ebafab..029c5f8a2693 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -45,7 +45,7 @@ armed = 0 to_chat(user, "You need a free hand to hold the gun!") return - update_icon() + update_appearance() user.update_inv_back() else to_chat(user, "You are already holding the gun!") @@ -81,10 +81,8 @@ /obj/item/minigunpack/update_icon_state() - if(armed) - icon_state = "notholstered" - else - icon_state = "holstered" + icon_state = "[(armed ? "not" : "")]holstered" + return ..() /obj/item/minigunpack/proc/attach_gun(mob/user) if(!gun) @@ -95,7 +93,7 @@ to_chat(user, "You attach the [gun.name] to the [name].") else src.visible_message("The [gun.name] snaps back onto the [name]!") - update_icon() + update_appearance() user.update_inv_back() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 0b945bbd4da0..44c667892e4a 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -207,12 +207,14 @@ ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) item_state = null icon_state = "wormhole_projector" + base_icon_state = "wormhole_projector" var/obj/effect/portal/p_blue var/obj/effect/portal/p_orange var/atmos_link = FALSE /obj/item/gun/energy/wormhole_projector/update_icon_state() - icon_state = item_state = "[initial(icon_state)][select]" + . = ..() + icon_state = item_state = "[base_icon_state][select]" /obj/item/gun/energy/wormhole_projector/update_ammo_types() . = ..() @@ -302,7 +304,7 @@ /obj/item/gun/energy/printer/commando/attack_self(mob/living/user as mob) if(ammo_type.len > 1) tac_fire(user) - update_icon() + update_appearance() /obj/item/gun/energy/printer/commando/proc/tac_fire(mob/living/user) select++ @@ -321,7 +323,7 @@ to_chat(user, "You rearm your [src] with CY-SOUR nonlethal rounds, which cause stamina damage and distrupt the focus of enemies.") chambered = null recharge_newshot(TRUE) - update_icon() + update_appearance() return /obj/item/gun/energy/temperature diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index eb21ace207f3..c6a25127878a 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -7,6 +7,7 @@ ammo_type = /obj/item/ammo_casing/magic icon_state = "nothingwand" item_state = "wand" + base_icon_state = "nothingwand" w_class = WEIGHT_CLASS_SMALL can_charge = FALSE max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths) @@ -25,7 +26,8 @@ . += "Has [charges] charge\s remaining." /obj/item/gun/magic/wand/update_icon_state() - icon_state = "[initial(icon_state)][charges ? "" : "-drained"]" + icon_state = "[base_icon_state][charges ? null : "-drained"]" + return ..() /obj/item/gun/magic/wand/attack(atom/target, mob/living/user) if(target == user) @@ -53,7 +55,7 @@ to_chat(user,"[src] overloads and disintegrates.") qdel(src) return - update_icon() + update_appearance() /obj/item/gun/magic/wand/shoot_with_empty_chamber(mob/living/user) if(prob(100*WAND_WREST_CHANCE)) @@ -79,6 +81,7 @@ fire_sound = 'sound/magic/wandodeath.ogg' ammo_type = /obj/item/ammo_casing/magic/death icon_state = "deathwand" + base_icon_state = "deathwand" max_charges = 3 //3, 2, 2, 1 /obj/item/gun/magic/wand/death/zap_self(mob/living/user) @@ -116,6 +119,7 @@ ammo_type = /obj/item/ammo_casing/magic/heal fire_sound = 'sound/magic/staff_healing.ogg' icon_state = "revivewand" + base_icon_state = "revivewand" max_charges = 10 //10, 5, 5, 4 /obj/item/gun/magic/wand/resurrection/zap_self(mob/living/user) @@ -151,6 +155,7 @@ desc = "This wand is attuned to chaos and will radically alter the victim's form." ammo_type = /obj/item/ammo_casing/magic/change icon_state = "polywand" + base_icon_state = "polywand" fire_sound = 'sound/magic/staff_change.ogg' max_charges = 10 //10, 5, 5, 4 @@ -170,6 +175,7 @@ ammo_type = /obj/item/ammo_casing/magic/teleport fire_sound = 'sound/magic/wand_teleport.ogg' icon_state = "telewand" + base_icon_state = "telewand" max_charges = 10 //10, 5, 5, 4 no_den_usage = TRUE @@ -187,6 +193,7 @@ ammo_type = /obj/item/ammo_casing/magic/safety fire_sound = 'sound/magic/wand_teleport.ogg' icon_state = "telewand" + base_icon_state = "telewand" max_charges = 10 //10, 5, 5, 4 no_den_usage = FALSE @@ -218,6 +225,7 @@ desc = "This particular wand can create doors in any wall for the unscrupulous wizard who shuns teleportation magics." ammo_type = /obj/item/ammo_casing/magic/door icon_state = "doorwand" + base_icon_state = "doorwand" fire_sound = 'sound/magic/staff_door.ogg' max_charges = 20 //20, 10, 10, 7 no_den_usage = 1 @@ -237,6 +245,7 @@ fire_sound = 'sound/magic/fireball.ogg' ammo_type = /obj/item/ammo_casing/magic/fireball icon_state = "firewand" + base_icon_state = "firewand" max_charges = 8 //8, 4, 4, 3 /obj/item/gun/magic/wand/fireball/zap_self(mob/living/user) diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index ef165df27a1f..d2a8c80827fc 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -2,8 +2,8 @@ name = "pipe gun" desc = "A pipe welded onto a gun stock, with a mechanical trigger. The pipe has an opening near the top, and there seems to be a spring loaded wheel in the hole." icon_state = "empty_blastcannon" - var/icon_state_loaded = "loaded_blastcannon" item_state = "blastcannon_empty" + base_icon_state = "blastcannon" w_class = WEIGHT_CLASS_NORMAL force = 10 fire_sound = 'sound/weapons/blastcannon.ogg' @@ -43,14 +43,12 @@ bomb = null name = initial(name) desc = initial(desc) - update_icon() + update_appearance() return ..() /obj/item/gun/blastcannon/update_icon_state() - if(bomb) - icon_state = icon_state_loaded - else - icon_state = initial(icon_state) + icon_state = "[bomb ? "loaded" : "empty"]_[base_icon_state]" + return ..() /obj/item/gun/blastcannon/attackby(obj/O, mob/user) if(istype(O, /obj/item/transfer_valve)) @@ -65,7 +63,7 @@ bomb = T name = "blast cannon" desc = "A makeshift device used to concentrate a bomb's blast energy to a narrow wave." - update_icon() + update_appearance() return TRUE return ..() @@ -94,7 +92,7 @@ var/power = bomb? calculate_bomb() : debug_power power = min(power, max_power) QDEL_NULL(bomb) - update_icon() + update_appearance() var/heavy = power * 0.25 var/medium = power * 0.5 var/light = power diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index 6144b4c85dab..df30f5a89022 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -17,12 +17,9 @@ bolt_type = BOLT_TYPE_NO_BOLT var/drawn = FALSE -/obj/item/gun/ballistic/bow/update_icon() +/obj/item/gun/ballistic/bow/update_icon_state() . = ..() - if(!chambered) - icon_state = "[initial(icon_state)]" - else - icon_state = "[initial(icon_state)]_[drawn]" + icon_state = chambered ? "bow_[drawn]" : "bow" /obj/item/gun/ballistic/bow/chamber_round(keep_bullet = FALSE, spin_cylinder, replace_new_round) if(chambered || !magazine) @@ -37,7 +34,7 @@ if(!drawn) playsound(src, 'sound/weapons/bowdraw.ogg', 75, 0) drawn = !drawn - update_icon() + update_appearance() /obj/item/gun/ballistic/bow/afterattack(atom/target, mob/living/user, flag, params, passthrough = FALSE) if(!chambered) @@ -47,7 +44,7 @@ return drawn = FALSE . = ..() //fires, removing the arrow - update_icon() + update_appearance() /obj/item/gun/ballistic/bow/shoot_with_empty_chamber(mob/living/user) return //so clicking sounds please diff --git a/code/modules/projectiles/guns/powered.dm b/code/modules/projectiles/guns/powered.dm index 31ab879bb8cc..698826436b18 100644 --- a/code/modules/projectiles/guns/powered.dm +++ b/code/modules/projectiles/guns/powered.dm @@ -8,7 +8,7 @@ var/empty_battery_sound = FALSE // play empty alarm if no battery var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_icon()? + var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? var/internal_cell = FALSE ///if the gun's cell cannot be replaced var/small_gun = FALSE ///if the gun is small and can only fit the small gun cell @@ -23,7 +23,7 @@ cell = new cell_type(src) else cell = new(src) - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/powered/examine(mob/user) . = ..() @@ -75,7 +75,7 @@ cell = C to_chat(user, "You load [C] into [src].") playsound(src, load_sound, sound_volume, load_sound_vary) - update_icon() + update_appearance() return TRUE else to_chat(user, "You cannot seem to get [src] out of your hands!") @@ -87,9 +87,9 @@ var/obj/item/stock_parts/cell/gun/old_cell = cell cell = null user.put_in_hands(old_cell) - old_cell.update_icon() + old_cell.update_appearance() to_chat(user, "You pull the cell out of \the [src].") - update_icon() + update_appearance() /obj/item/gun/ballistic/automatic/powered/screwdriver_act(mob/living/user, obj/item/I) if(cell && !internal_cell && !bayonet && (!gun_light || !can_flashlight)) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 9b39aae37146..6123789df438 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -5,8 +5,6 @@ speed = 0.4 damage_type = BRUTE nodamage = FALSE - light_system = MOVABLE_LIGHT - light_color = COLOR_VERY_SOFT_YELLOW flag = "bullet" hitsound_wall = "ricochet" impact_effect_type = /obj/effect/temp_visual/impact_effect diff --git a/code/modules/projectiles/projectile/bullets/gauss.dm b/code/modules/projectiles/projectile/bullets/gauss.dm index 3d4409b3471c..3a25619ba9a8 100644 --- a/code/modules/projectiles/projectile/bullets/gauss.dm +++ b/code/modules/projectiles/projectile/bullets/gauss.dm @@ -2,6 +2,7 @@ name = "ferromagnetic pellet" icon_state = "gauss-pellet" damage = 20 + armour_penetration = 40 range = 35 light_color = COLOR_SOFT_RED light_range = 3 @@ -10,12 +11,12 @@ name = "ferromagnetic lance" icon_state = "redtrac" damage = 30 - armour_penetration = 0 - speed = 0.2 + armour_penetration = 40 + speed = 0.4 /obj/projectile/bullet/gauss/slug name = "ferromagnetic slug" icon_state = "gauss-slug" damage = 50 - armour_penetration = -50 speed = 0.8 + armour_penetration = 40 diff --git a/code/modules/projectiles/projectile/bullets/lmg.dm b/code/modules/projectiles/projectile/bullets/lmg.dm index b5d236dc4076..327113038a0c 100644 --- a/code/modules/projectiles/projectile/bullets/lmg.dm +++ b/code/modules/projectiles/projectile/bullets/lmg.dm @@ -32,48 +32,54 @@ // Mech LMG /obj/projectile/bullet/lmg - damage = 20 + damage = 25 + armour_penetration = 40 // Mech FNX-99 /obj/projectile/bullet/incendiary/fnx99 - damage = 20 + damage = 25 // Turrets /obj/projectile/bullet/manned_turret - damage = 20 + damage = 30 + armour_penetration = 40 /obj/projectile/bullet/manned_turret/hmg icon_state = "redtrac" + armour_penetration = 40 /obj/projectile/bullet/syndicate_turret damage = 20 + armour_penetration = 20 // 7.12x82mm (SAW) /obj/projectile/bullet/mm712x82 name = "7.12x82mm bullet" - damage = 35 - armour_penetration = 5 + damage = 25 + armour_penetration = 40 /obj/projectile/bullet/mm712x82_ap name = "7.12x82mm armor-piercing bullet" armour_penetration = 75 /obj/projectile/bullet/mm712x82_hp - name = "7.12x82mm hollow-point bullet" - damage = 50 - armour_penetration = -60 + name = "7.12x82mm hollow point bullet" + damage = 45 + armour_penetration = -20 /obj/projectile/bullet/incendiary/mm712x82 name = "7.12x82mm incendiary bullet" damage = 15 + armour_penetration = 40 fire_stacks = 3 /obj/projectile/bullet/mm712x82_match name = "7.12x82mm match bullet" - damage = 40 + damage = 25 + armour_penetration = 40 ricochets_max = 2 ricochet_chance = 60 ricochet_auto_aim_range = 4 diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index 883312877864..5fabb11b9420 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -3,29 +3,33 @@ /obj/projectile/bullet/c9mm name = "9mm bullet" damage = 20 + armour_penetration = -20 /obj/projectile/bullet/c9mm_surplus name = "9mm surplus bullet" damage = 15 + armour_penetration = -20 /obj/projectile/bullet/c9mm_ap name = "9mm armor-piercing bullet" damage = 15 - armour_penetration = 40 + armour_penetration = 20 /obj/projectile/bullet/c9mm_hp - name = "9mm hollow-point bullet" - damage = 30 + name = "9mm hollow point bullet" + damage = 40 armour_penetration = -50 /obj/projectile/bullet/incendiary/c9mm name = "9mm incendiary bullet" damage = 10 + armour_penetration = -20 fire_stacks = 2 /obj/projectile/bullet/c9mm/rubbershot name = "9mm rubber bullet" damage = 5 + armour_penetration = -50 stamina = 20 // 10mm (Stechkin) @@ -33,57 +37,65 @@ /obj/projectile/bullet/c10mm name = "10mm bullet" damage = 25 + armour_penetration = -20 /obj/projectile/bullet/c10mm_surplus name = "10mm surplus bullet" damage = 20 + armour_penetration = -20 /obj/projectile/bullet/c10mm_ap name = "10mm armor-piercing bullet" damage = 20 - armour_penetration = 40 + armour_penetration = 20 /obj/projectile/bullet/c10mm_hp - name = "10mm hollow-point bullet" - damage = 35 + name = "10mm hollow point bullet" + damage = 45 armour_penetration = -50 /obj/projectile/bullet/incendiary/c10mm name = "10mm incendiary bullet" damage = 15 + armour_penetration = -20 fire_stacks = 2 /obj/projectile/bullet/c10mm/rubbershot name = "10mm rubber bullet" damage = 5 stamina = 20 + armour_penetration = -20 // .45 (M1911, C20r) /obj/projectile/bullet/c45 name = ".45 bullet" damage = 25 + armour_penetration = -20 /obj/projectile/bullet/c45_surplus name = ".45 surplus bullet" damage = 20 + armour_penetration = -20 /obj/projectile/bullet/c45_ap name = ".45 armor-piercing bullet" damage = 20 - armour_penetration = 40 + armour_penetration = 20 /obj/projectile/bullet/c45_hp - name = ".45 hollow-point bullet" - damage = 35 + name = ".45 hollow point bullet" + damage = 45 armour_penetration = -50 /obj/projectile/bullet/incendiary/c45 name = ".45 incendiary bullet" damage = 15 fire_stacks = 2 + armour_penetration = -20 /obj/projectile/bullet/c45/rubbershot name = ".45 rubber bullet" damage = 5 stamina = 20 + armour_penetration = -20 diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index 32411601d731..3c204157f8a3 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -2,26 +2,33 @@ /obj/projectile/bullet/n762 name = "7.62x38mmR bullet" - damage = 35 + damage = 30 + armour_penetration = -20 // .50AE (Desert Eagle) /obj/projectile/bullet/a50AE - name = ".50AE bullet" + name = ".50 AE bullet" + damage = 40 + +/obj/projectile/bullet/a50AE/hp + name = ".50 AE hollow point bullet" damage = 60 + armour_penetration = -50 // .38 (Detective's Gun & Winchester) /obj/projectile/bullet/c38 name = ".38 bullet" damage = 20 + armour_penetration = -20 ricochets_max = 2 ricochet_chance = 50 ricochet_auto_aim_angle = 10 ricochet_auto_aim_range = 3 /obj/projectile/bullet/c38/match - name = ".38 Match bullet" + name = ".38 match bullet" ricochets_max = 4 ricochet_chance = 100 ricochet_auto_aim_angle = 40 @@ -31,10 +38,9 @@ ricochet_decay_damage = 1 /obj/projectile/bullet/c38/match/bouncy - name = ".38 Rubber bullet" + name = ".38 rubber bullet" damage = 10 stamina = 30 - armour_penetration = -30 ricochets_max = 6 ricochet_incidence_leeway = 70 ricochet_chance = 130 @@ -42,9 +48,9 @@ shrapnel_type = NONE /obj/projectile/bullet/c38/dumdum - name = ".38 DumDum bullet" + name = ".38 dum-dum bullet" damage = 15 - armour_penetration = -30 + armour_penetration = -50 ricochets_max = 0 shrapnel_type = /obj/item/shrapnel/bullet/c38/dumdum @@ -67,7 +73,7 @@ imp.implant(M) /obj/projectile/bullet/c38/hotshot //similar to incendiary bullets, but do not leave a flaming trail - name = ".38 Hot Shot bullet" + name = ".38 hot shot bullet" damage = 20 ricochets_max = 0 @@ -79,7 +85,7 @@ M.IgniteMob() /obj/projectile/bullet/c38/iceblox //see /obj/projectile/temp for the original code - name = ".38 Iceblox bullet" + name = ".38 iceblox bullet" damage = 20 var/temperature = 100 ricochets_max = 0 @@ -90,21 +96,11 @@ var/mob/living/M = target M.adjust_bodytemperature(((100-blocked)/100)*(temperature - M.bodytemperature)) -/obj/projectile/bullet/c38/hunting //bonus damage to simplemobs - name = ".38 hunting" - damage = 15 - var/bonus_damage = 40 // if a simplemob then do this much extra - -/obj/projectile/bullet/c38/hunting/on_hit(atom/target, blocked = FALSE) - if(istype(target, /mob/living/simple_animal/hostile/asteroid/)) - damage += bonus_damage - ..() - // .357 (Syndie Revolver) /obj/projectile/bullet/a357 name = ".357 bullet" - damage = 35 //shiptest nerf + damage = 30 //shiptest nerf // admin only really, for ocelot memes /obj/projectile/bullet/a357/match @@ -116,11 +112,17 @@ ricochet_incidence_leeway = 80 ricochet_decay_chance = 1 +/obj/projectile/bullet/a357/hp + name = ".357 hollow point bullet" + damage = 50 + armour_penetration = -50 + ricochet_chance = 0 //mushroom on impact, no bounces + // .45-70 Gov't (Hunting Revolver) /obj/projectile/bullet/a4570 name = ".45-70 bullet" - damage = 60 //it's the old .357 + damage = 40 //crits in 3-4 taps depending on armor /obj/projectile/bullet/a4570/match name = ".45-70 match bullet" @@ -131,8 +133,14 @@ ricochet_incidence_leeway = 80 ricochet_decay_chance = 1 +/obj/projectile/bullet/a4570/hp + name = ".45-70 hollow point bullet" + damage = 60 //it's the pre-nerf .357 with less armor pen + armour_penetration = -50 + /obj/projectile/bullet/a4570/explosive //for extra oof name = ".45-70 explosive bullet" + dismemberment = 50 //literally blow limbs off /obj/projectile/bullet/a4570/explosive/on_hit(atom/target, blocked = FALSE) ..() diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index 3679cfe88179..8fe2beeae20c 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -1,14 +1,16 @@ // 5.56mm (M-90gl Carbine) /obj/projectile/bullet/a556 - name = "5.56mm bullet" - damage = 30 + name = "5.56x45mm bullet" + damage = 25 + armour_penetration = 20 // 7.62 (Nagant Rifle) /obj/projectile/bullet/a762 - name = "7.62x54mm bullet" - damage = 60 + name = "7.62x54mmR bullet" + damage = 30 + armour_penetration = 40 /obj/projectile/bullet/a300 name = ".300 Magnum bullet" @@ -16,27 +18,39 @@ stamina = 10 /obj/projectile/bullet/a762_enchanted - name = "enchanted 7.62 bullet" + name = "enchanted 7.62x54mmR bullet" damage = 20 stamina = 80 +//5.45x39mm (SVG-76u) + /obj/projectile/bullet/a545_39 name = "5.45x39mm bullet" damage = 25 + armour_penetration = 20 + +//.300 BLK (Survivor Rifle) /obj/projectile/bullet/aac_300blk name = ".300 Blackout bullet" - damage = 20 + damage = 30 dismemberment = 20 +//7.62x39mm (SVG-67) + /obj/projectile/bullet/a762_39 - name = "7.62x39mm FMJ" + name = "7.62x39mm" damage = 30 + armour_penetration = 20 -/obj/projectile/bullet/a308 - name = ".308 Bullet" - damage = 45 - armour_penetration = 15 +//.308 WIN (M514) + +/obj/projectile/bullet/win308 + name = ".308 Winchester" + damage = 30 + armour_penetration = 40 + +// 8x58 (SG-whatever) /obj/projectile/bullet/a858 name = "8x58mm caseless bullet" diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index 2f98b8805912..c3f9049e3a64 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -1,24 +1,28 @@ /obj/projectile/bullet/shotgun_slug name = "12g shotgun slug" - damage = 45 //WS Edit - Shotgun Nerf + damage = 60 + armour_penetration = -10 /obj/projectile/bullet/shotgun_beanbag name = "beanbag slug" damage = 5 - stamina = 45 //WS Edit - Shotgun Nerf - armour_penetration = -10 //WS Edit - Shotgun Nerf + stamina = 45 + armour_penetration = -10 /obj/projectile/bullet/incendiary/shotgun name = "incendiary slug" damage = 20 + armour_penetration = -10 /obj/projectile/bullet/incendiary/shotgun/dragonsbreath name = "dragonsbreath pellet" damage = 5 + armour_penetration = -35 /obj/projectile/bullet/shotgun_stunslug name = "stunslug" damage = 5 + armour_penetration = -10 paralyze = 100 stutter = 5 jitter = 20 @@ -30,7 +34,8 @@ name = "meteorslug" icon = 'icons/obj/meteor.dmi' icon_state = "dust" - damage = 30 + damage = 40 + armour_penetration = -10 paralyze = 15 knockdown = 80 hitsound = 'sound/effects/meteorimpact.ogg' @@ -48,7 +53,8 @@ /obj/projectile/bullet/shotgun_frag12 name ="frag12 slug" - damage = 25 + damage = 35 + armour_penetration = -10 paralyze = 50 /obj/projectile/bullet/shotgun_frag12/on_hit(atom/target, blocked = FALSE) @@ -62,17 +68,18 @@ ///How much stamina damage is subtracted per tile? var/tile_dropoff_stamina = 0.8 + armour_penetration = -35 + /obj/projectile/bullet/pellet/shotgun_buckshot name = "buckshot pellet" damage = 10 - armour_penetration = -20 + /obj/projectile/bullet/pellet/shotgun_rubbershot name = "rubbershot pellet" damage = 2 stamina = 8 - armour_penetration = -20 - tile_dropoff = 0.2 + tile_dropoff = 0.2 // Keep it at 10% per tile /obj/projectile/bullet/pellet/shotgun_incapacitate name = "incapacitating pellet" @@ -90,8 +97,7 @@ /obj/projectile/bullet/pellet/shotgun_improvised tile_dropoff = 0.45 //Come on it does 4.5 damage don't be like that. //WS Edit - Shotgun nerf - damage = 6 //WS Edit - Shotgun nerf - armour_penetration = -20 //WS Edit - Shotgun nerf + damage = 6 /obj/projectile/bullet/pellet/shotgun_improvised/Initialize() . = ..() @@ -105,6 +111,7 @@ /obj/projectile/bullet/scattershot damage = 24 + armour_penetration = -20 /obj/projectile/bullet/pellet/shotgun_buckshot/twobore name = "two-bore pellet" diff --git a/code/modules/projectiles/projectile/bullets/smg.dm b/code/modules/projectiles/projectile/bullets/smg.dm index b9d77253fe28..0cf2225e3872 100644 --- a/code/modules/projectiles/projectile/bullets/smg.dm +++ b/code/modules/projectiles/projectile/bullets/smg.dm @@ -16,13 +16,12 @@ /obj/projectile/bullet/c47x33mm name = "4.73x33mm bullet" - damage = 30 - armour_penetration = 40 + damage = 25 + armour_penetration = 20 /obj/projectile/bullet/c556mm name = "5.56mm HITP bullet" damage = 20 - armour_penetration = 0 /obj/projectile/bullet/c556mm_surplus name = "5.56mm HITP surplus bullet" diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index c5ba22a12c35..9dc8bfb5d4d7 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -6,7 +6,7 @@ damage = 70 paralyze = 100 dismemberment = 50 - armour_penetration = 50 + armour_penetration = 60 var/breakthings = TRUE /obj/projectile/bullet/p50/on_hit(atom/target, blocked = 0) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 5d3b0dca24e5..00f323d995fa 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -417,7 +417,7 @@ for(var/atom/movable/AM in contents) locker_temp_instance.insert(AM) locker_temp_instance.welded = weld - locker_temp_instance.update_icon() + locker_temp_instance.update_appearance() created = TRUE return ..() @@ -445,7 +445,7 @@ if(!welded) return icon_state = magic_icon - update_icon() + update_appearance() /obj/structure/closet/decay/after_weld(weld_state) if(weld_state) @@ -465,7 +465,7 @@ /obj/structure/closet/decay/proc/unmagify() icon_state = weakened_icon - update_icon() + update_appearance() addtimer(CALLBACK(src, .proc/decay), 15 SECONDS) icon_welded = "welded" @@ -556,7 +556,7 @@ for(var/obj/effect/proc_holder/spell/spell in L.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() /obj/projectile/magic/fortify name = "bolt of light" @@ -581,7 +581,7 @@ for(var/obj/effect/proc_holder/spell/spell in L.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() /obj/projectile/magic/wipe name = "bolt of possession" diff --git a/code/modules/projectiles/projectile/reusable/foam_dart.dm b/code/modules/projectiles/projectile/reusable/foam_dart.dm index b1a59272a917..b3ac21660412 100644 --- a/code/modules/projectiles/projectile/reusable/foam_dart.dm +++ b/code/modules/projectiles/projectile/reusable/foam_dart.dm @@ -6,6 +6,7 @@ nodamage = TRUE icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart_proj" + base_icon_state = "foamdart_proj" ammo_type = /obj/item/ammo_casing/caseless/foam_dart range = 10 var/modified = FALSE @@ -27,7 +28,7 @@ newdart.pen = pen pen.forceMove(newdart) pen = null - newdart.update_icon() + newdart.update_appearance() /obj/projectile/bullet/reusable/foam_dart/Destroy() @@ -37,6 +38,7 @@ /obj/projectile/bullet/reusable/foam_dart/riot name = "riot foam dart" icon_state = "foamdart_riot_proj" + base_icon_state = "foamdart_riot_proj" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot nodamage = FALSE stamina = 25 diff --git a/code/modules/projectiles/projectile/special/curse.dm b/code/modules/projectiles/projectile/special/curse.dm index 55827c56e725..5c928e293e12 100644 --- a/code/modules/projectiles/projectile/special/curse.dm +++ b/code/modules/projectiles/projectile/special/curse.dm @@ -26,6 +26,7 @@ /obj/projectile/curse_hand/update_icon_state() icon_state = "[initial(icon_state)][handedness]" + return ..() /obj/projectile/curse_hand/fire(setAngle) if(starting) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index e7e117277fdc..0985ce758976 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -17,6 +17,7 @@ density = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "dispenser" + base_icon_state = "dispenser" use_power = IDLE_POWER_USE idle_power_usage = 40 interaction_flags_machine = INTERACT_MACHINE_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OFFLINE @@ -93,7 +94,7 @@ upgrade_reagents = sortList(upgrade_reagents, /proc/cmp_reagents_asc) if(is_operational) begin_processing() - update_icon() + update_appearance() /obj/machinery/chem_dispenser/Destroy() QDEL_NULL(beaker) @@ -137,12 +138,12 @@ flick(working_state,src) /obj/machinery/chem_dispenser/update_icon_state() - icon_state = "[(nopower_state && !powered()) ? nopower_state : initial(icon_state)]" - + icon_state = "[(nopower_state && !powered()) ? nopower_state : base_icon_state]" + return ..() /obj/machinery/chem_dispenser/update_overlays() . = ..() if(has_panel_overlay && panel_open) - . += mutable_appearance(icon, "[initial(icon_state)]_panel-o") + . += mutable_appearance(icon, "[base_icon_state]_panel-o") if(beaker) beaker_overlay = display_beaker() @@ -338,7 +339,7 @@ if(default_unfasten_wrench(user, I)) return if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - update_icon() + update_appearance() return if(default_deconstruction_crowbar(I)) return @@ -404,7 +405,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/chem_dispenser/on_deconstruction() @@ -428,7 +429,7 @@ var/old = dir . = ..() if(dir != old) - update_icon() // the beaker needs to be re-positioned if we rotate + update_appearance() // the beaker needs to be re-positioned if we rotate /obj/machinery/chem_dispenser/drinks/display_beaker() var/mutable_appearance/b_o = beaker_overlay || mutable_appearance(icon, "disp_beaker") @@ -452,6 +453,7 @@ desc = "Contains a large reservoir of soft drinks." icon = 'icons/obj/chemical.dmi' icon_state = "soda_dispenser" + base_icon_state = "soda_dispenser" has_panel_overlay = FALSE amount = 10 pixel_y = 6 @@ -506,6 +508,7 @@ /obj/machinery/chem_dispenser/drinks/beer name = "booze dispenser" desc = "Contains a large reservoir of the good stuff." + base_icon_state = "booze_dispenser" icon = 'icons/obj/chemical.dmi' icon_state = "booze_dispenser" circuit = /obj/item/circuitboard/machine/chem_dispenser/drinks/beer @@ -607,6 +610,7 @@ desc = "Synthesizes a variety of reagents using proto-matter." icon = 'icons/obj/abductor.dmi' icon_state = "chem_dispenser" + base_icon_state = "chem_dispenser" has_panel_overlay = FALSE circuit = /obj/item/circuitboard/machine/chem_dispenser/abductor working_state = null diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index aed9750934de..b3a0cfee615d 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -3,6 +3,7 @@ density = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "mixer0b" + base_icon_state = "mixer" use_power = IDLE_POWER_USE idle_power_usage = 40 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -21,13 +22,11 @@ . = ..() if(A == beaker) beaker = null - update_icon() + update_appearance() /obj/machinery/chem_heater/update_icon_state() - if(beaker) - icon_state = "mixer1b" - else - icon_state = "mixer0b" + icon_state = "[base_icon_state][beaker ? 1 : 0]b" + return ..() /obj/machinery/chem_heater/AltClick(mob/living/user) . = ..() @@ -46,7 +45,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/chem_heater/RefreshParts() @@ -84,7 +83,7 @@ replace_beaker(user, B) to_chat(user, "You add [B] to [src].") updateUsrDialog() - update_icon() + update_appearance() return return ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 0dfce60863ef..602c37710a57 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -5,6 +5,7 @@ layer = BELOW_OBJ_LAYER icon = 'icons/obj/chemical.dmi' icon_state = "mixer0" + base_icon_state = "mixer" use_power = IDLE_POWER_USE idle_power_usage = 20 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -72,15 +73,13 @@ if(A == beaker) beaker = null reagents.clear_reagents() - update_icon() + update_appearance() else if(A == bottle) bottle = null /obj/machinery/chem_master/update_icon_state() - if(beaker) - icon_state = "mixer1" - else - icon_state = "mixer0" + icon_state = "[base_icon_state][beaker ? 1 : 0]" + return ..() /obj/machinery/chem_master/update_overlays() . = ..() @@ -112,7 +111,7 @@ replace_beaker(user, B) to_chat(user, "You add [B] to [src].") updateUsrDialog() - update_icon() + update_appearance() else if(!condi && istype(I, /obj/item/storage/pill_bottle)) if(bottle) to_chat(user, "A pill bottle is already loaded into [src]!") @@ -142,7 +141,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/chem_master/on_deconstruction() diff --git a/code/modules/reagents/chemistry/machinery/chem_press.dm b/code/modules/reagents/chemistry/machinery/chem_press.dm new file mode 100644 index 000000000000..80500efc78bf --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_press.dm @@ -0,0 +1,158 @@ +/obj/machinery/chem_press + name = "pill press" + desc = "A press operated by hand to produce pills in a variety of forms." + icon = 'icons/obj/chemical.dmi' + icon_state = "press" + pass_flags = PASSTABLE + use_power = FALSE + layer = BELOW_OBJ_LAYER + resistance_flags = FIRE_PROOF | ACID_PROOF + var/obj/item/reagent_containers/beaker = null + var/obj/item/storage/pill_bottle/bottle = null + var/image/beaker_overlay + var/image/bottle_overlay + var/current_volume = 10 + var/list/possible_volumes = list(5,10,15,20,25,30) // Usually the max would be 50, but ghetto should be worse. + var/press_time = 15 + var/pill_style = 9 // White pills + var/list/possible_styles = list(7,8,9,10,11,12) // These values only encompass the 'tablet' shaped pills. + var/list/style_colors = list("7" = "yellow", // This list is exclusively used for the text description. + "8" = "blue", + "9" = "white", + "10" = "violet", + "11" = "green", + "12" = "red") + +/obj/machinery/chem_press/Initialize() + . = ..() + beaker = new /obj/item/reagent_containers/glass/beaker/large(src) + beaker_overlay = image(icon = 'icons/obj/chemical.dmi', icon_state = "press_beaker") + bottle_overlay = image(icon = 'icons/obj/chemical.dmi', icon_state = "press_bottle") + +/obj/machinery/chem_press/examine(mob/user) + . = ..() + . += "There's a small screw that can help to adjust the pill size." + . += "There's a small dial you could push with a screwdriver to adjust the pill color." + if(!bottle) + . += "The pill bottle slot is empty." + if(!beaker) + . += "The beaker slot is empty." + +/obj/machinery/chem_press/attack_hand(mob/user) + . = ..() + if(.) + return + if(!beaker) + balloon_alert(user, "no container!") + return FALSE + if(!beaker.reagents.total_volume) + balloon_alert(user, "[beaker] is empty!") + return FALSE + if(do_after(user, press_time, target = src)) + var/obj/item/reagent_containers/pill/pill + // Check if there is a bottle that isn't full, then place a pill in the bottle. Otherwise, drop it on my tile. + if(bottle && bottle.contents.len < bottle.GetComponent(/datum/component/storage).max_items) + pill = new/obj/item/reagent_containers/pill(bottle) + else + pill = new/obj/item/reagent_containers/pill(drop_location()) + pill.name = "pill" + pill.icon_state = "pill[pill_style]" + beaker.reagents.trans_to(pill, current_volume, transfered_by = user) + balloon_alert(user, "finished pressing") + return TRUE + +/obj/machinery/chem_press/attackby(obj/item/item, mob/living/user, params) + if(user.a_intent == INTENT_HARM) // Hit the machine if we're on harm intent. + return ..() + if(default_unfasten_wrench(user, item)) + return + else if (istype(item, /obj/item/reagent_containers) && !(item.item_flags & ABSTRACT) && item.is_open_container()) + . = TRUE //no afterattack + if(!user.transferItemToLoc(item, src)) + return + handle_container(user, item) + balloon_alert(user, "added [item] to input") + return TRUE //no afterattack + else if(istype(item, /obj/item/storage/pill_bottle)) + if(!user.transferItemToLoc(item, src)) + return + handle_container(user, item) + balloon_alert(user, "added [item] to output") + return TRUE + else if(item.tool_behaviour == TOOL_SCREWDRIVER) + if(user.a_intent == INTENT_HELP) + var/i=0 + for(var/A in possible_volumes) + i++ + if(A == current_volume) + if(iYou insert [I] into [src].") - update_icon() + update_appearance() else return ..() diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index c9784c14ee75..b638c82fef78 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -5,6 +5,7 @@ desc = "From BlenderTech. Will It Blend? Let's test it out!" icon = 'icons/obj/kitchen.dmi' icon_state = "juicer1" + base_icon_state = "juicer" layer = BELOW_OBJ_LAYER use_power = IDLE_POWER_USE idle_power_usage = 5 @@ -34,7 +35,7 @@ . = ..() holdingitems = list() QDEL_NULL(beaker) - update_icon() + update_appearance() /obj/machinery/reagentgrinder/Destroy() if(beaker) @@ -92,7 +93,7 @@ . = ..() if(A == beaker) beaker = null - update_icon() + update_appearance() if(holdingitems[A]) holdingitems -= A @@ -103,10 +104,8 @@ holdingitems = list() /obj/machinery/reagentgrinder/update_icon_state() - if(beaker) - icon_state = "juicer1" - else - icon_state = "juicer0" + icon_state = "[base_icon_state][beaker ? 1 : 0]" + return ..() /obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(!user || !can_interact(user)) @@ -119,7 +118,7 @@ beaker = null if(new_beaker) beaker = new_beaker - update_icon() + update_appearance() return TRUE /obj/machinery/reagentgrinder/attackby(obj/item/I, mob/user, params) @@ -143,7 +142,7 @@ return replace_beaker(user, B) to_chat(user, "You add [B] to [src].") - update_icon() + update_appearance() return TRUE //no afterattack if(holdingitems.len >= limit) diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 9c31dd039669..7c67609593d5 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -5,6 +5,7 @@ desc = "A machine with a centrifuge installed into it. It produces smoke with any reagents you put into the machine." icon = 'icons/obj/chemical.dmi' icon_state = "smoke0" + base_icon_state = "smoke" density = TRUE circuit = /obj/item/circuitboard/machine/smoke_machine processing_flags = NONE @@ -42,12 +43,10 @@ /obj/machinery/smoke_machine/update_icon_state() if((!is_operational) || (!on) || (reagents.total_volume == 0)) - if (panel_open) - icon_state = "smoke0-o" - else - icon_state = "smoke0" - else - icon_state = "smoke1" + icon_state = "[base_icon_state]0[panel_open ? "-o" : null]" + return ..() + icon_state = "[base_icon_state]1" + return ..() /obj/machinery/smoke_machine/RefreshParts() var/new_volume = REAGENTS_BASE_VOLUME @@ -79,12 +78,12 @@ ..() if(reagents.total_volume == 0) on = FALSE - update_icon() + update_appearance() return var/turf/T = get_turf(src) var/smoke_test = locate(/obj/effect/particle_effect/smoke) in T if(on && !smoke_test) - update_icon() + update_appearance() var/datum/effect_system/smoke_spread/chem/smoke_machine/smoke = new() smoke.set_up(reagents, setting*3, efficiency, T) smoke.start() @@ -142,7 +141,7 @@ switch(action) if("purge") reagents.clear_reagents() - update_icon() + update_appearance() . = TRUE if("setting") var/amount = text2num(params["amount"]) @@ -151,7 +150,7 @@ . = TRUE if("power") on = !on - update_icon() + update_appearance() if(on) message_admins("[ADMIN_LOOKUPFLW(usr)] activated a smoke machine that contains [english_list(reagents.reagent_list)] at [ADMIN_VERBOSEJMP(src)].") log_game("[key_name(usr)] activated a smoke machine that contains [english_list(reagents.reagent_list)] at [AREACOORD(src)].") diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 3a18850785ea..98d72d1fd5c6 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -523,9 +523,9 @@ taste_description = "acid" /datum/reagent/medicine/calomel/on_mob_life(mob/living/carbon/M) - for(var/datum/reagent/R in M.reagents.reagent_list) //WS Edit Begin - Actually purges all chems + for(var/datum/reagent/R in M.reagents.reagent_list) if(R != src) - M.reagents.remove_reagent(R.type,3) //WS Edit End + M.reagents.remove_reagent(R.type,3) if(M.health > 20) M.adjustToxLoss(1*REM, 0) . = 1 @@ -559,6 +559,19 @@ ..() . = 1 +/datum/reagent/medicine/anti_rad + name = "Emergency Radiation Purgant" //taking real names + description = "Rapidly purges radiation from the body." + reagent_state = LIQUID + color = "#E6FFF0" + metabolization_rate = 0.5 * REAGENTS_METABOLISM + +/datum/reagent/medicine/anti_rad/on_mob_life(mob/living/carbon/M) + M.radiation -= M.radiation - rand(50,150) + M.adjust_disgust(7*REM, 0) + ..() + . = 1 + /datum/reagent/medicine/sal_acid name = "Salicylic Acid" description = "Stimulates the healing of severe bruises. Extremely rapidly heals severe bruising and slowly heals minor ones. Overdose will worsen existing bruising." diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 6a6f3928e103..753d0f1408a6 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2723,7 +2723,7 @@ O.transfer_fingerprints_to(conc_floor) conc_floor.harden_lvl = 0 conc_floor.check_harden() - conc_floor.update_icon() + conc_floor.update_appearance() qdel(O) return diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index 957543f83c0a..f0aeaf8504cd 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -207,4 +207,4 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related dat += " above [recipe.required_temp] degrees" dat += "." default_raw_text = dat.Join("") - update_icon() + update_appearance() diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 7ebfd07fea1d..dca353500b42 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -60,7 +60,7 @@ cap_on = FALSE spillable = TRUE - update_icon() + update_appearance() /obj/item/reagent_containers/examine(mob/user) . = ..() @@ -256,7 +256,7 @@ return ..() /obj/item/reagent_containers/on_reagent_change(changetype) - update_icon() + update_appearance() /obj/item/reagent_containers/update_overlays() . = ..() @@ -264,19 +264,21 @@ . += cap_overlay if(!fill_icon_thresholds) return - if(reagents.total_volume) - var/fill_name = fill_icon_state? fill_icon_state : icon_state - var/mutable_appearance/filling = mutable_appearance(fill_icon, "[fill_name][fill_icon_thresholds[1]]") - - var/percent = round((reagents.total_volume / volume) * 100) - for(var/i in 1 to fill_icon_thresholds.len) - var/threshold = fill_icon_thresholds[i] - var/threshold_end = (i == fill_icon_thresholds.len)? INFINITY : fill_icon_thresholds[i+1] - if(threshold <= percent && percent < threshold_end) - filling.icon_state = "[fill_name][fill_icon_thresholds[i]]" - - filling.color = mix_color_from_reagents(reagents.reagent_list) - . += filling + if(!reagents.total_volume) + return + + var/fill_name = fill_icon_state? fill_icon_state : icon_state + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[fill_name][fill_icon_thresholds[1]]") + + var/percent = round((reagents.total_volume / volume) * 100) + for(var/i in 1 to fill_icon_thresholds.len) + var/threshold = fill_icon_thresholds[i] + var/threshold_end = (i == fill_icon_thresholds.len)? INFINITY : fill_icon_thresholds[i+1] + if(threshold <= percent && percent < threshold_end) + filling.icon_state = "[fill_name][fill_icon_thresholds[i]]" + + filling.color = mix_color_from_reagents(reagents.reagent_list) + . += filling /obj/item/reagent_containers/get_save_vars() //Leave it null. diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index c1aea0bd5ef7..a7a43f4b7109 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -13,7 +13,7 @@ . = ..() if(blood_type != null) reagents.add_reagent(unique_blood ? unique_blood : /datum/reagent/blood, 200, list("viruses"=null,"blood_DNA"=null,"blood_type"=get_blood_type(blood_type),"resistances"=null,"trace_chem"=null)) - update_icon() + update_appearance() /obj/item/reagent_containers/blood/on_reagent_change(changetype) if(reagents) @@ -22,10 +22,11 @@ blood_type = B.data["blood_type"] else blood_type = null - update_pack_name() - update_icon() + update_name() + update_appearance() -/obj/item/reagent_containers/blood/proc/update_pack_name() +/obj/item/reagent_containers/blood/update_name(updates) + . = ..() if(!labelled) if(blood_type) name = "blood pack[blood_type ? " - [unique_blood ? blood_type : blood_type.name]" : null]" @@ -88,6 +89,6 @@ name = "blood pack - [t]" else labelled = 0 - update_pack_name() + update_name() else return ..() diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 70b2660f8404..97e0b7c0946b 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -53,7 +53,7 @@ Borg Hypospray regenerate_reagents() charge_tick = 0 - //update_icon() + //update_appearance() return 1 // Use this to add more chemicals for the borghypo to produce. diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 1d3fde300b12..63acf014b214 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -44,7 +44,7 @@ "[user] tries to squirt something into your eyes, but fails!") to_chat(user, "You transfer [trans] unit\s of the solution.") - update_icon() + update_appearance() return else if(isalien(target)) //hiss-hiss has no eyes! to_chat(target, "[target] does not seem to have any eyes!") @@ -64,7 +64,7 @@ trans = src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) to_chat(user, "You transfer [trans] unit\s of the solution.") - update_icon() + update_appearance() else @@ -80,11 +80,12 @@ to_chat(user, "You fill [src] with [trans] unit\s of the solution.") - update_icon() + update_appearance() /obj/item/reagent_containers/dropper/update_overlays() . = ..() - if(reagents.total_volume) - var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "dropper") - filling.color = mix_color_from_reagents(reagents.reagent_list) - . += filling + if(!reagents.total_volume) + return + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "dropper") + filling.color = mix_color_from_reagents(reagents.reagent_list) + . += filling diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index e37086e77d6b..7efe82893918 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -95,14 +95,13 @@ desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with experimental medical nanites and a stimulant for rapid healing and a combat boost." item_state = "nanite_hypo" icon_state = "nanite_hypo" + base_icon_state = "nanite_hypo" volume = 100 list_reagents = list(/datum/reagent/medicine/adminordrazine/quantum_heal = 80, /datum/reagent/medicine/synaptizine = 20) /obj/item/reagent_containers/hypospray/combat/nanites/update_icon_state() - if(reagents.total_volume > 0) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]0" + icon_state = "[base_icon_state][(reagents.total_volume > 0) ? null : 0]" + return ..() /obj/item/reagent_containers/hypospray/combat/heresypurge name = "holy water piercing injector" @@ -120,6 +119,7 @@ desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge. Contains a powerful preservative that can delay decomposition when applied to a dead body." icon_state = "medipen" item_state = "medipen" + base_icon_state = "medipen" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' amount_per_transfer_from_this = 13 @@ -136,17 +136,15 @@ if(.) reagents.maximum_volume = 0 //Makes them useless afterwards reagents.flags = NONE - update_icon() + update_appearance() /obj/item/reagent_containers/hypospray/medipen/attack_self(mob/user) if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) inject(user, user) /obj/item/reagent_containers/hypospray/medipen/update_icon_state() - if(reagents.total_volume > 0) - icon_state = initial(icon_state) - else - icon_state = "[initial(icon_state)]0" + icon_state = "[base_icon_state][(reagents.total_volume > 0) ? null : 0]" + return ..() /obj/item/reagent_containers/hypospray/medipen/examine() . = ..() @@ -173,6 +171,7 @@ name = "crisis stimpack" icon_state = "stimpen" item_state = "stimpen" + base_icon_state = "stimpen" desc = "A modified stimulant autoinjector, containing a cocktail of potent nerve excitants and long-release healing chemicals. Designed for use in emergency situations where medical help may be hours or days away." list_reagents = list(/datum/reagent/medicine/stimulants = 5, /datum/reagent/medicine/ephedrine = 5, /datum/reagent/medicine/omnizine = 15) @@ -181,6 +180,7 @@ desc = "Contains a very large amount of an incredibly powerful stimulant, vastly increasing your movement speed and reducing stuns by a very large amount for around five minutes. Do not take if pregnant." icon_state = "syndipen" item_state = "tbpen" + base_icon_state = "syndipen" volume = 50 amount_per_transfer_from_this = 50 list_reagents = list(/datum/reagent/medicine/stimulants = 50) @@ -189,6 +189,7 @@ name = "morphine medipen" desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though." icon_state = "morphen" + base_icon_state = "morphen" item_state = "morphen" list_reagents = list(/datum/reagent/medicine/morphine = 10) @@ -197,6 +198,7 @@ desc = "A autoinjector containing oxandrolone, used to treat severe burns." icon_state = "oxapen" item_state = "oxapen" + base_icon_state = "oxapen" list_reagents = list(/datum/reagent/medicine/oxandrolone = 10) /obj/item/reagent_containers/hypospray/medipen/penacid @@ -204,6 +206,7 @@ desc = "A autoinjector containing pentetic acid, used to reduce high levels of radiations and moderate toxins." icon_state = "penacid" item_state = "penacid" + base_icon_state = "penacid" list_reagents = list(/datum/reagent/medicine/pen_acid = 10) /obj/item/reagent_containers/hypospray/medipen/salacid @@ -211,6 +214,7 @@ desc = "A autoinjector containing salicylic acid, used to treat severe brute damage." icon_state = "salacid" item_state = "salacid" + base_icon_state = "salacid" list_reagents = list(/datum/reagent/medicine/sal_acid = 10) /obj/item/reagent_containers/hypospray/medipen/salbutamol @@ -218,6 +222,7 @@ desc = "A autoinjector containing salbutamol, used to heal oxygen damage quickly." icon_state = "salpen" item_state = "salpen" + base_icon_state = "salpen" list_reagents = list(/datum/reagent/medicine/salbutamol = 10) /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure @@ -225,17 +230,17 @@ desc = "Bio Virus Antidote Kit autoinjector. Has a two use system for yourself, and someone else. Inject when infected." icon_state = "tbpen" item_state = "tbpen" + base_icon_state = "tbpen" volume = 20 amount_per_transfer_from_this = 10 list_reagents = list(/datum/reagent/vaccine/fungal_tb = 20) /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure/update_icon_state() + . = ..() if(reagents.total_volume > 30) - icon_state = initial(icon_state) - else if (reagents.total_volume > 0) - icon_state = "[initial(icon_state)]1" - else - icon_state = "[initial(icon_state)]0" + icon_state = base_icon_state + return + icon_state = "[base_icon_state][(reagents.total_volume > 0) ? 1 : 0]" /* Replaced with variant in whitesands/code/modules/reagents/reagent_containers/hypospray.dm /obj/item/reagent_containers/hypospray/medipen/survival @@ -252,6 +257,7 @@ desc = "A rapid way to save a person from a critical injury state!" icon_state = "atropen" item_state = "atropen" + base_icon_state = "atropen" list_reagents = list(/datum/reagent/medicine/atropine = 10) /obj/item/reagent_containers/hypospray/medipen/snail @@ -259,6 +265,7 @@ desc = "All-purpose snail medicine! Do not use on non-snails!" icon_state = "snail" item_state = "snail" + base_icon_state = "gorillapen" list_reagents = list(/datum/reagent/snail = 10) /obj/item/reagent_containers/hypospray/medipen/magillitis @@ -266,6 +273,7 @@ desc = "A custom-frame needle injector with a small single-use reservoir, containing an experimental serum. Unlike the more common medipen frame, it cannot pierce through protective armor or hardsuits, nor can the chemical inside be extracted." icon_state = "gorillapen" item_state = "gorillapen" + base_icon_state = "gorillapen" volume = 5 ignore_flags = 0 reagent_flags = NONE @@ -278,7 +286,14 @@ amount_per_transfer_from_this = 15 list_reagents = list(/datum/reagent/drug/pumpup = 15) icon_state = "maintenance" + base_icon_state = "maintenance" +/obj/item/reagent_containers/hypospray/medipen/anti_rad + name = "emergency anti-radiation applicator" + desc = "A dangerous looking applicator with a decal of a radiation warning crossed out." + volume = 15 + amount_per_transfer_from_this = 15 + list_reagents = list(/datum/reagent/medicine/anti_rad = 15) /obj/item/reagent_containers/hypospray/medipen/bonefixingjuice name = "rejuvenating agent injector" @@ -350,13 +365,13 @@ /obj/item/hypospray/mkii/Initialize() . = ..() if(!spawnwithvial) - update_icon() + update_appearance() return if(start_vial) vial = new start_vial - update_icon() + update_appearance() -/obj/item/hypospray/mkii/update_icon() +/obj/item/hypospray/mkii/update_appearance() ..() icon_state = "[initial(icon_state)][vial ? "" : "-e"]" if(ismob(loc)) @@ -379,7 +394,7 @@ user.put_in_hands(V) to_chat(user, "You remove [vial] from [src].") vial = null - update_icon() + update_appearance() playsound(loc, 'sound/weapons/empty.ogg', 50, 1) else to_chat(user, "This hypo isn't loaded!") @@ -400,7 +415,7 @@ return FALSE vial = V user.visible_message("[user] has loaded a vial into [src].","You have loaded [vial] into [src].") - update_icon() + update_appearance() playsound(loc, 'sound/weapons/autoguninsert.ogg', 35, 1) return TRUE else @@ -582,6 +597,7 @@ desc = "A medical cocktail for surviving in the harshest of environments, quickly heals and inhibits pain to help overcome extreme conditions. WARNING: Frequent use has long-term side effects." icon_state = "stimpen" item_state = "stimpen" + base_icon_state = "stimpen" custom_price = 500 volume = 35 amount_per_transfer_from_this = 36 diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index a63e98ba58c7..f16984cd7e5b 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -28,13 +28,13 @@ icon_state = "hypovial" for(var/R in comes_with) reagents.add_reagent(R,comes_with[R]) - update_icon() + update_appearance() /obj/item/reagent_containers/glass/bottle/vial/on_reagent_change() - update_icon() + update_appearance() -/obj/item/reagent_containers/glass/bottle/vial/update_icon() +/obj/item/reagent_containers/glass/bottle/vial/update_appearance() cut_overlays() if(reagents.total_volume) var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypovial10") @@ -54,6 +54,7 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling) + return ..() /obj/item/reagent_containers/glass/bottle/vial/tiny name = "small hypovial" @@ -86,7 +87,7 @@ "large black hypovial" = "hypoviallarge-t" ) -/obj/item/reagent_containers/glass/bottle/vial/large/update_icon() +/obj/item/reagent_containers/glass/bottle/vial/large/update_appearance() cut_overlays() if(reagents.total_volume) var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "hypoviallarge10") @@ -106,6 +107,7 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling) + return ..() /obj/item/reagent_containers/glass/bottle/vial/large/bluespace possible_transfer_amounts = list(5,10,15,20) diff --git a/code/modules/reagents/reagent_containers/jug.dm b/code/modules/reagents/reagent_containers/jug.dm index 2c8364cf0d92..a863be707c48 100644 --- a/code/modules/reagents/reagent_containers/jug.dm +++ b/code/modules/reagents/reagent_containers/jug.dm @@ -139,3 +139,7 @@ name = "chemical jug (sulfur)" icon_state = "chem_jug_sulfur" list_reagents = list(/datum/reagent/sulfur = 150) + +/obj/item/reagent_containers/glass/chem_jug/thermite + name = "chemical jug (thermite)" + list_reagents = list(/datum/reagent/thermite = 150) diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm index 39289d71c07a..bed7808dc795 100644 --- a/code/modules/reagents/reagent_containers/maunamug.dm +++ b/code/modules/reagents/reagent_containers/maunamug.dm @@ -3,6 +3,7 @@ desc = "A drink served in a classy mug. Now with built-in heating!" icon = 'icons/obj/mauna_mug.dmi' icon_state = "maunamug" + base_icon_state = "maunamug" spillable = TRUE reagent_flags = OPENCONTAINER fill_icon_state = "maunafilling" @@ -32,7 +33,7 @@ var/max_temp = min(500 + (500 * (0.2 * cell.rating)), 1000) // 373 to 1000 reagents.adjust_thermal_energy(0.8 * cell.maxcharge * reagents.total_volume, max_temp = max_temp) // 4 kelvin every tick on a basic cell. 160k on bluespace reagents.handle_reactions() - update_icon() + update_appearance() if(reagents.chem_temp >= max_temp) change_power_status(FALSE) audible_message("The Mauna Mug lets out a happy beep and turns off!") @@ -59,13 +60,13 @@ START_PROCESSING(SSobj, src) else STOP_PROCESSING(SSobj, src) - update_icon() + update_appearance() /obj/item/reagent_containers/glass/maunamug/screwdriver_act(mob/living/user, obj/item/I) . = ..() open = !open to_chat(user, "You screw the battery case on [src] [open ? "open" : "closed"] .") - update_icon() + update_appearance() /obj/item/reagent_containers/glass/maunamug/attackby(obj/item/I, mob/user, params) add_fingerprint(user) @@ -81,32 +82,32 @@ return cell = I user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") - update_icon() + update_appearance() /obj/item/reagent_containers/glass/maunamug/attack_hand(mob/living/user) if(cell && open) - cell.update_icon() + cell.update_appearance() user.put_in_hands(cell) cell = null to_chat(user, "You remove the power cell from [src].") on = FALSE - update_icon() + update_appearance() return TRUE return ..() -/obj/item/reagent_containers/glass/maunamug/update_icon() - ..() +/obj/item/reagent_containers/glass/maunamug/update_icon_state() if(open) - if(cell) - icon_state = "maunamug_bat" - else - icon_state = "maunamug_no_bat" - else if(on) - icon_state = "maunamug_on" - else - icon_state = "maunamug" - if(reagents.total_volume && reagents.chem_temp >= 400) - var/intensity = (reagents.chem_temp - 400) * 1 / 600 //Get the opacity of the incandescent overlay. Ranging from 400 to 1000 - var/mutable_appearance/mug_glow = mutable_appearance(icon, "maunamug_incand") - mug_glow.alpha = 255 * intensity - add_overlay(mug_glow) + icon_state = "[base_icon_state][cell ? null : "_no"]_bat" + return ..() + icon_state = "[base_icon_state][on ? "_on" : null]" + return ..() + +/obj/item/reagent_containers/glass/maunamug/update_overlays() + . = ..() + if(!reagents.total_volume || reagents.chem_temp < 400) + return + + var/intensity = (reagents.chem_temp - 400) * 1 / 600 //Get the opacity of the incandescent overlay. Ranging from 400 to 1000 + var/mutable_appearance/mug_glow = mutable_appearance(icon, "maunamug_incand") + mug_glow.alpha = 255 * intensity + . += mug_glow diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 1d1e7ca46879..021d37cd61b0 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -20,31 +20,31 @@ . = ..() if(list_reagents) //syringe starts in inject mode if its already got something inside mode = SYRINGE_INJECT - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) /obj/item/reagent_containers/syringe/on_reagent_change(changetype) - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/pickup(mob/user) ..() - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/dropped(mob/user) ..() - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/attack_self(mob/user) mode = !mode - update_icon() + update_appearance() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/reagent_containers/syringe/attack_hand() . = ..() - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/attack_paw(mob/user) return attack_hand(user) @@ -111,7 +111,7 @@ to_chat(user, "You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.") if (reagents.total_volume >= reagents.maximum_volume) mode=!mode - update_icon() + update_appearance() if(SYRINGE_INJECT) // Always log attemped injections for admins @@ -153,17 +153,18 @@ to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.") if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT) mode = SYRINGE_DRAW - update_icon() + update_appearance() /obj/item/reagent_containers/syringe/update_icon_state() var/rounded_vol = get_rounded_vol() icon_state = "[base_icon_state]_[rounded_vol]" + item_state = "[base_icon_state]_[rounded_vol]" + return ..() /obj/item/reagent_containers/syringe/update_overlays() . = ..() - var/rounded_vol = get_rounded_vol() if(reagents && reagents.total_volume) - var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[rounded_vol]") + var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[get_rounded_vol()]") filling_overlay.color = mix_color_from_reagents(reagents.reagent_list) . += filling_overlay if(ismob(loc)) @@ -175,12 +176,11 @@ injoverlay = "inject" . += injoverlay -///Used by update_icon() and update_overlays() +///Used by update_appearance() and update_overlays() /obj/item/reagent_containers/syringe/proc/get_rounded_vol() - if(reagents && reagents.total_volume) - return clamp(round((reagents.total_volume / volume * 15),5), 1, 15) - else + if(!reagents?.total_volume) return 0 + return clamp(round((reagents.total_volume / volume * 15), 5), 1, 15) /obj/item/reagent_containers/syringe/epinephrine name = "syringe (epinephrine)" diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 0901478a49a9..84a8292f7263 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -102,7 +102,7 @@ reagents.trans_to(W, W.max_fuel, transfered_by = user) user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].") playsound(src, 'sound/effects/refill.ogg', 50, TRUE) - W.update_icon() + W.update_appearance() else user.visible_message("[user] catastrophically fails at refilling [user.p_their()] [I.name]!", "That was stupid of you.") log_bomber(user, "detonated a", src, "via welding tool") diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index fa161e8d3916..c11906bf9c0d 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -8,6 +8,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) icon_state = "conveyor_map" name = "conveyor belt" desc = "A conveyor belt." + base_icon_state = "conveyor" layer = BELOW_OPEN_DOOR_LAYER processing_flags = START_PROCESSING_MANUALLY subsystem_type = /datum/controller/subsystem/processing/fastprocess @@ -45,7 +46,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) . = ..() if(.) operating = TRUE - update_icon() + update_appearance() begin_processing() //WS Edit - Auto Conveyor Fix (Issue #331) // create a conveyor @@ -112,15 +113,13 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) update() /obj/machinery/conveyor/update_icon_state() - if(machine_stat & BROKEN) - icon_state = "conveyor-broken" - else - icon_state = "conveyor[operating * verted]" + icon_state = "[base_icon_state][(machine_stat & BROKEN) ? "-broken" : (operating * verted)]" + return ..() /obj/machinery/conveyor/proc/update() if(machine_stat & BROKEN || !operable || machine_stat & NOPOWER) operating = FALSE - update_icon() + update_appearance() return FALSE return TRUE @@ -235,6 +234,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) desc = "A conveyor control switch." icon = 'icons/obj/recycling.dmi' icon_state = "switch-off" + base_icon_state = "switch" processing_flags = START_PROCESSING_MANUALLY var/position = 0 // 0 off, -1 reverse, 1 forward @@ -248,7 +248,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) . = ..() if (newid) id = newid - update_icon() + update_appearance() LAZYADD(GLOB.conveyors_by_id[id], src) wires = new /datum/wires/conveyor(src) @@ -269,25 +269,21 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) // update the icon depending on the position /obj/machinery/conveyor_switch/update_icon_state() - if(position<0) - if(invert_icon) - icon_state = "switch-fwd" - else - icon_state = "switch-rev" - else if(position>0) - if(invert_icon) - icon_state = "switch-rev" - else - icon_state = "switch-fwd" - else - icon_state = "switch-off" + if(position < 0) + icon_state = "[base_icon_state]-[invert_icon ? "fwd" : "rev"]" + return ..() + if(position > 0) + icon_state = "[base_icon_state]-[invert_icon ? "rev" : "fwd"]" + return ..() + icon_state = "[base_icon_state]-off" + return ..() /// Updates all conveyor belts that are linked to this switch, and tells them to start processing. /obj/machinery/conveyor_switch/proc/update_linked_conveyors() for(var/obj/machinery/conveyor/C in GLOB.conveyors_by_id[id]) C.operating = position C.update_move_direction() - C.update_icon() + C.update_appearance() if(C.operating) C.begin_processing() else @@ -299,7 +295,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) for(var/obj/machinery/conveyor_switch/S in GLOB.conveyors_by_id[id]) S.invert_icon = invert_icon S.position = position - S.update_icon() + S.update_appearance() CHECK_TICK /// Updates the switch's `position` and `last_pos` variable. Useful so that the switch can properly cycle between the forwards, backwards and neutral positions. @@ -323,7 +319,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) add_fingerprint(user) play_click_sound("switch") update_position() - update_icon() + update_appearance() update_linked_conveyors() update_linked_switches() diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 222adad76345..9f2861218418 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -40,7 +40,7 @@ air_contents = new /datum/gas_mixture() //gas.volume = 1.05 * CELLSTANDARD - update_icon() + update_appearance() return INITIALIZE_HINT_LATELOAD //we need turfs to have air @@ -97,7 +97,7 @@ if((I.item_flags & ABSTRACT) || !user.temporarilyRemoveItemFromInventory(I)) return place_item_in_disposal(I, user) - update_icon() + update_appearance() return 1 //no afterattack else return ..() @@ -159,14 +159,14 @@ // leave the disposal /obj/machinery/disposal/proc/go_out(mob/user) user.forceMove(loc) - update_icon() + update_appearance() // monkeys and xenos can only pull the flush lever /obj/machinery/disposal/attack_paw(mob/user) if(machine_stat & BROKEN) return flush = !flush - update_icon() + update_appearance() // eject the contents of the disposal unit @@ -175,7 +175,7 @@ for(var/atom/movable/AM as anything in src) AM.forceMove(T) AM.pipe_eject(0) - update_icon() + update_appearance() /obj/machinery/disposal/proc/flush() flushing = TRUE @@ -231,7 +231,7 @@ src.transfer_fingerprints_to(stored) stored.set_anchored(FALSE) stored.density = TRUE - stored.update_icon() + stored.update_appearance() for(var/atom/movable/AM as anything in src) //out, out, darned crowbar! AM.forceMove(T) ..() @@ -271,8 +271,8 @@ to_chat(user, "You empty the bag.") for(var/obj/item/O in T.contents) STR.remove_from_storage(O,src) - T.update_icon() - update_icon() + T.update_appearance() + update_appearance() else return ..() @@ -307,22 +307,22 @@ switch(action) if("handle-0") flush = FALSE - update_icon() + update_appearance() . = TRUE if("handle-1") if(!panel_open) flush = TRUE - update_icon() + update_appearance() . = TRUE if("pump-0") if(pressure_charging) pressure_charging = FALSE - update_icon() + update_appearance() . = TRUE if("pump-1") if(!pressure_charging) pressure_charging = TRUE - update_icon() + update_appearance() . = TRUE if("eject") eject() @@ -334,7 +334,7 @@ if(prob(75)) AM.forceMove(src) visible_message("[AM] lands in [src].") - update_icon() + update_appearance() else visible_message("[AM] bounces off of [src]'s rim!") return ..() @@ -345,13 +345,17 @@ ..() full_pressure = FALSE pressure_charging = TRUE - update_icon() + update_appearance() -/obj/machinery/disposal/bin/update_overlays() +/obj/machinery/disposal/bin/update_appearance(updates) . = ..() + if((machine_stat & (BROKEN|NOPOWER)) || panel_open) + luminosity = 0 + return + luminosity = 1 - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - luminosity = 0 +/obj/machinery/disposal/bin/update_overlays() + . = ..() if(machine_stat & BROKEN) return @@ -364,7 +368,6 @@ if(machine_stat & NOPOWER || panel_open) return - luminosity = 1 //check for items in disposal - occupied light if(contents.len > 0) . += "dispover-full" @@ -429,7 +432,7 @@ if(air_contents.return_pressure() >= SEND_PRESSURE) full_pressure = TRUE pressure_charging = FALSE - update_icon() + update_appearance() return /obj/machinery/disposal/bin/get_remote_view_fullscreens(mob/user) diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm index 334988b9b237..7ffc4e3b9db1 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -37,7 +37,7 @@ var/datum/component/simple_rotation/rotcomp = GetComponent(/datum/component/simple_rotation) rotcomp.BaseRot(null,ROTATION_FLIP) - update_icon() + update_appearance() AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE) @@ -46,22 +46,22 @@ ..() setDir(old_dir) //pipes changing direction when moved is just annoying and buggy -// update iconstate and dpdir due to dir and type +/obj/structure/disposalconstruct/update_icon_state() + if(ispath(pipe_type, /obj/machinery/disposal/bin)) + // Disposal bins receive special icon treating + icon_state = "[anchored ? "con" : null]disposal" + return ..() + + icon_state = "[is_pipe() ? "con" : null][initial(pipe_type.icon_state)]" + return ..() + +// Extra layer handling /obj/structure/disposalconstruct/update_icon() - icon_state = initial(pipe_type.icon_state) - if(is_pipe()) - icon_state = "con[icon_state]" - if(anchored) - layer = initial(pipe_type.layer) - else - layer = initial(layer) + . = ..() + if(!is_pipe()) + return - else if(ispath(pipe_type, /obj/machinery/disposal/bin)) - // Disposal bins receive special icon treating - if(anchored) - icon_state = "disposal" - else - icon_state = "condisposal" + layer = anchored ? initial(pipe_type.layer) : initial(layer) /obj/structure/disposalconstruct/proc/get_disposal_dir() if(!is_pipe()) @@ -96,7 +96,7 @@ if(ISDIAGONALDIR(dir)) // Fix RPD-induced diagonal turning setDir(turn(dir, 45)) pipe_type = initial(temp.flip_type) - update_icon() + update_appearance() /obj/structure/disposalconstruct/proc/can_be_rotated(mob/user,rotation_type) if(anchored) @@ -148,7 +148,7 @@ set_anchored(TRUE) to_chat(user, "You attach the [pipename] to the underfloor.") I.play_tool_sound(src, 100) - update_icon() + update_appearance() return TRUE /obj/structure/disposalconstruct/welder_act(mob/living/user, obj/item/I) diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm index d31b64170cda..3b9aaceb9f4e 100644 --- a/code/modules/research/bepis.dm +++ b/code/modules/research/bepis.dm @@ -13,6 +13,7 @@ desc = "A high fidelity testing device which unlocks the secrets of the known universe using the two most powerful substances available to man: excessive amounts of electricity and capital." icon = 'icons/obj/machines/bepis.dmi' icon_state = "chamber" + base_icon_state = "chamber" density = TRUE layer = ABOVE_MOB_LAYER use_power = IDLE_POWER_USE @@ -166,20 +167,21 @@ /obj/machinery/rnd/bepis/update_icon_state() if(panel_open == TRUE) - icon_state = "chamber_open" - return + icon_state = "[base_icon_state]_open" + return ..() if((use_power == ACTIVE_POWER_USE) && (banked_cash > 0) && (is_operational)) - icon_state = "chamber_active_loaded" - return + icon_state = "[base_icon_state]_active_loaded" + return ..() if (((use_power == IDLE_POWER_USE) && (banked_cash > 0)) || (banked_cash > 0) && (!is_operational)) - icon_state = "chamber_loaded" - return + icon_state = "[base_icon_state]_loaded" + return ..() if(use_power == ACTIVE_POWER_USE && is_operational) - icon_state = "chamber_active" - return + icon_state = "[base_icon_state]_active" + return ..() if(((use_power == IDLE_POWER_USE) && (banked_cash == 0)) || (!is_operational)) - icon_state = "chamber" - return + icon_state = base_icon_state + return ..() + return ..() /obj/machinery/rnd/bepis/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index d7bb419a3020..ec4038ec8f2b 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -129,16 +129,6 @@ other types of metals and chemistry for reagents). max_blueprints = 10 //Disks with content -/obj/item/disk/design_disk/ammo_38_hunting - name = "Design Disk - .38 Hunting Ammo" - desc = "A design disk containing the pattern for a refill ammo box for Winchester rifles and Detective Specials." - illustration = "ammo" - -/obj/item/disk/design_disk/ammo_38_hunting/Initialize() - . = ..() - var/datum/design/c38_hunting/M = new - blueprints[1] = M - /obj/item/disk/design_disk/ammo_c10mm name = "Design Disk - 10mm Ammo" desc = "A design disk containing the pattern for a refill box of standard 10mm ammo, used in Stechkin pistols." diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 54fd36e52685..1b5ccd05a63a 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -663,14 +663,6 @@ build_path = /obj/item/ammo_box/magazine/m45 category = list("Imported") -/datum/design/c38_hunting - name = "Ammo Box (.38 hunting)" - id = "c38_hunting" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 20000) - build_path = /obj/item/ammo_box/c38_box/hunting - category = list("Imported") - /datum/design/n762 name = "Ammo Holder (7.62x38mmR)" id = "n762" diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 0c14330400ab..8c2b53b624bc 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -11,6 +11,7 @@ Note: Must be placed within 3 tiles of the R&D Console name = "destructive analyzer" desc = "Learn science by destroying things!" icon_state = "d_analyzer" + base_icon_state = "d_analyzer" circuit = /obj/item/circuitboard/machine/destructive_analyzer var/decon_mod = 0 @@ -48,14 +49,12 @@ Note: Must be placed within 3 tiles of the R&D Console linked_console.updateUsrDialog() /obj/machinery/rnd/destructive_analyzer/proc/finish_loading() - update_icon() + update_appearance() reset_busy() /obj/machinery/rnd/destructive_analyzer/update_icon_state() - if(loaded_item) - icon_state = "d_analyzer_l" - else - icon_state = initial(icon_state) + icon_state = "[base_icon_state][loaded_item ? "_l" : null]" + return ..() /obj/machinery/rnd/destructive_analyzer/proc/reclaim_materials_from(obj/item/thing) . = 0 @@ -105,7 +104,7 @@ Note: Must be placed within 3 tiles of the R&D Console qdel(thing) loaded_item = null if (!innermode) - update_icon() + update_appearance() return TRUE /obj/machinery/rnd/destructive_analyzer/proc/user_try_decon_id(id, mob/user) @@ -162,5 +161,5 @@ Note: Must be placed within 3 tiles of the R&D Console return FALSE loaded_item.forceMove(get_turf(src)) loaded_item = null - update_icon() + update_appearance() return TRUE diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 1ce3ee0e687a..dd9003a52014 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -22,6 +22,7 @@ desc = "A \"replacement\" for the destructive analyzer with a slight tendency to catastrophically fail." icon = 'icons/obj/machines/heavy_lathe.dmi' icon_state = "h_lathe" + base_icon_state = "h_lathe" density = TRUE use_power = IDLE_POWER_USE circuit = /obj/item/circuitboard/machine/experimentor @@ -243,7 +244,7 @@ /obj/machinery/rnd/experimentor/proc/experiment(exp,obj/item/exp_on) recentlyExperimented = 1 - icon_state = "h_lathe_wloop" + icon_state = "[base_icon_state]_wloop" var/chosenchem var/criticalReaction = is_type_in_typecache(exp_on, critical_items_typecache) //////////////////////////////////////////////////////////////////////////////////////////////// @@ -524,11 +525,12 @@ new /obj/item/grown/bananapeel(loc) /obj/machinery/rnd/experimentor/proc/reset_exp() - update_icon() + update_appearance() recentlyExperimented = FALSE /obj/machinery/rnd/experimentor/update_icon_state() - icon_state = "h_lathe" + icon_state = base_icon_state + return ..() /obj/machinery/rnd/experimentor/proc/warn_admins(user, ReactionName) var/turf/T = get_turf(user) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index a38733d31447..30be4869d1bc 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -4,6 +4,7 @@ circuit = /obj/item/circuitboard/machine/nanite_chamber icon = 'icons/obj/machines/nanite_chamber.dmi' icon_state = "nanite_chamber" + base_icon_state = "nanite_chamber" layer = ABOVE_WINDOW_LAYER use_power = IDLE_POWER_USE anchored = TRUE @@ -42,7 +43,7 @@ busy = status busy_message = message busy_icon_state = working_icon - update_icon() + update_appearance() /obj/machinery/nanite_chamber/proc/set_safety(threshold) if(!occupant) @@ -111,13 +112,11 @@ /obj/machinery/nanite_chamber/update_icon_state() //running and someone in there if(occupant) - if(busy) - icon_state = busy_icon_state - else - icon_state = initial(icon_state) + "_occupied" - else - //running - icon_state = initial(icon_state) + (state_open ? "_open" : "") + icon_state = busy ? busy_icon_state : "[base_icon_state]_occupied" + return ..() + //running + icon_state = "[base_icon_state][state_open ? "_open" : null]" + return ..() /obj/machinery/nanite_chamber/update_overlays() . = ..() @@ -125,13 +124,16 @@ if((machine_stat & MAINT) || panel_open) . += "maint" - else if(!(machine_stat & (NOPOWER|BROKEN))) - if(busy || locked) - . += "red" - if(locked) - . += "bolted" - else - . += "green" + return + if(machine_stat & (NOPOWER|BROKEN)) + return + + if(busy || locked) + . += "red" + if(locked) + . += "bolted" + return + . += "green" /obj/machinery/nanite_chamber/proc/toggle_open(mob/user) if(panel_open) @@ -198,7 +200,7 @@ linked_techweb = server.stored_research if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed + update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(default_pry_open(I)) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index bcacabad3c25..c18364de1a2d 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -64,7 +64,7 @@ switch(action) if("toggle_lock") chamber.locked = !chamber.locked - chamber.update_icon() + chamber.update_appearance() . = TRUE if("set_safety") var/threshold = text2num(params["value"]) diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index fee5544ff766..f7e43f3b5540 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -33,7 +33,7 @@ if(allowed(user)) to_chat(user, "You unlock [src].") locked = FALSE - update_icon() + update_appearance() else to_chat(user, "Access denied.") @@ -44,7 +44,7 @@ obj_flags |= EMAGGED if(locked) locked = FALSE - update_icon() + update_appearance() /obj/item/nanite_remote/update_overlays() . = ..() @@ -165,7 +165,7 @@ if("lock") if(!(obj_flags & EMAGGED)) locked = TRUE - update_icon() + update_appearance() . = TRUE diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index 0da01b872205..f53707206a38 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -35,7 +35,7 @@ /obj/machinery/public_nanite_chamber/proc/set_busy(status, working_icon) busy = status busy_icon_state = working_icon - update_icon() + update_appearance() /obj/machinery/public_nanite_chamber/proc/inject_nanites(mob/living/attacker) if(machine_stat & (NOPOWER|BROKEN)) @@ -100,6 +100,7 @@ else //running icon_state = initial(icon_state)+ (state_open ? "_open" : "") + return ..() /obj/machinery/public_nanite_chamber/update_overlays() . = ..() @@ -195,7 +196,7 @@ return if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant... - update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed + update_appearance()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(default_pry_open(I)) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 9b56eb822de4..02f51a1af9db 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -401,17 +401,6 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) export_price = 5000 -/////////////////////////Clown tech///////////////////////// -/datum/techweb_node/clown - id = "clown" - display_name = "Clown Technology" - description = "Honk?!" - prereq_ids = list("base") - design_ids = list("air_horn", "honker_main", "honker_peri", "honker_targ", "honk_chassis", "honk_head", "honk_torso", "honk_left_arm", "honk_right_arm", - "honk_left_leg", "honk_right_leg", "mech_banana_mortar", "mech_mousetrap_mortar", "mech_honker", "mech_punching_face", "implant_trombone", "borg_transform_clown") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 5000 - ////////////////////////Computer tech//////////////////////// /datum/techweb_node/comptech id = "comptech" diff --git a/code/modules/ruins/lavalandruin_code/codelab.dm b/code/modules/ruins/lavalandruin_code/codelab.dm new file mode 100644 index 000000000000..4cdbb4b132a5 --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/codelab.dm @@ -0,0 +1,20 @@ +/obj/item/paper/codelab + +/obj/item/paper/crumpled/codelab + +/obj/item/paper/codelab/reception + name = "Reception Instructions" + default_raw_text = "RECITE TO ANY GUESTS UNDER 'EXPERIMENTAL' GROUP:
    Welcome to the Nanotrasen Genetic Research Facility! Thank you for choosing to volunteer and progress genetic research by leaps and bounds. As stated in the contract, you will be here for the forseeable future helping the scientists further their studies. Remember that signing the contract means you cannot legally request a settlement for any injury or death that occurs during testing. Head to your chamber through the hall on the left and have a nice day!" + +/obj/item/paper/crumpled/codelab/subjectnote + name = "Test Subjects Note" + default_raw_text = "This testing had better be worth it. I've always wanted to have cat ears.
    Not sure what all that gooey stuff I saw was, but at least I'll be in the cryo cell away from it.

    And whats up with the floor tiles in the hall?" + +/obj/item/paper/codelab/researchernote + name = "Head Researchers Note" + default_raw_text = "With the help of these new 'volunteers' we are making great progress with our genetic research. These samples will earn us fame across the galaxy!
    Earlier, one of the junior scientists wanted to try some gene editing on a white sample he recieved, which made it grow and mutate rapidly and slide into a hole in the floor on its own. Truly fascinating stuff!
    The janitor can get it later, but we'll have to repeat the experiment under controlled conditions, perhaps even introducing it to one of the subjects." + +/obj/machinery/porta_turret/ship/weak/codelab + name = "old perimeter defense turret" + desc = "An old nanotrasen defense turret, rusted and weakened with age and constant use. Still capable of delivering lethal lasers to unwanted guests." + faction = list("nanotrasen", "turret") //why are there 3 different factions for nanotrasen mobs :withered: diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm index 157a56c0cf0a..5d29bf9dc2a6 100644 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm @@ -148,7 +148,7 @@ opened = TRUE locked = TRUE dump_contents() - update_icon() + update_appearance() SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) if(lead_tomb == TRUE && first_open == TRUE) user.gain_trauma(/datum/brain_trauma/magic/stalker) @@ -176,7 +176,7 @@ /obj/structure/closet/crate/grave/bust_open() ..() opened = TRUE - update_icon() + update_appearance() dump_contents() return diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index f7eba26da5f7..be021492b2de 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -124,7 +124,7 @@ GLOBAL_VAR_INIT(emergency_access, FALSE) for(var/area/ship/maintenance/A in world) for(var/obj/machinery/door/airlock/D in A) D.emergency = TRUE - D.update_icon(0) + D.update_icon(ALL, 0) minor_announce("Access restrictions on maintenance and external airlocks have been lifted.", "Attention! Sector-wide emergency declared!",1) GLOB.emergency_access = TRUE SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "enabled")) @@ -133,7 +133,7 @@ GLOBAL_VAR_INIT(emergency_access, FALSE) for(var/area/ship/maintenance/A in world) for(var/obj/machinery/door/airlock/D in A) D.emergency = FALSE - D.update_icon(0) + D.update_icon(ALL, 0) minor_announce("Access restrictions in maintenance areas have been restored.", "Attention! Sector-wide emergency rescinded:") GLOB.emergency_access = FALSE SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "disabled")) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 69ddbd6818cf..2ca64fcd35fc 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -284,8 +284,8 @@ All ShuttleMove procs go here A.addMember(src) SSair.add_to_rebuild_queue(src) else - // atmosinit() calls update_icon(), so we don't need to call it - update_icon() + // atmosinit() calls update_appearance(), so we don't need to call it + update_appearance() /************************************Item move procs************************************/ diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index 9f4f60162cdd..4cb5d0c65268 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -42,7 +42,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate /mob/dead/observer/shuttleRotate(rotation, params) . = ..() - update_icon() + update_appearance() /************************************Structure rotate procs************************************/ @@ -60,7 +60,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate var/temp = d1 d1 = d2 d2 = temp - update_icon() + update_appearance() //WS Edit End - Smartwire Revert Do not TG MARG this //Fixes dpdir on shuttle rotation diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index c7354f589dec..16abb651b97c 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -10,6 +10,7 @@ icon = 'icons/obj/machines/magic_emitter.dmi' icon_state = "wabbajack_statue" icon_state_on = "wabbajack_statue_on" + base_icon_state = "wabbajack_statue" active = FALSE allow_switch_interact = FALSE var/list/active_tables = list() @@ -19,13 +20,11 @@ . = ..() if(prob(50)) desc = "Oh no, not again." - update_icon() + update_appearance() /obj/machinery/power/emitter/energycannon/magical/update_icon_state() - if(active) - icon_state = icon_state_on - else - icon_state = initial(icon_state) + . = ..() + icon_state = active ? icon_state_on : initial(icon_state) /obj/machinery/power/emitter/energycannon/magical/process() . = ..() @@ -39,7 +38,7 @@ visible_message("\ [src] closes its eyes.") active = FALSE - update_icon() + update_appearance() /obj/machinery/power/emitter/energycannon/magical/attackby(obj/item/W, mob/user, params) return diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index 869c16a77d99..f91eb07f52cb 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -80,7 +80,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if(msg) to_chat(ranged_ability_user, msg) active = TRUE - update_icon() + update_appearance() /obj/effect/proc_holder/proc/remove_ranged_ability(msg) if(!ranged_ability_user || !ranged_ability_user.client || (ranged_ability_user.ranged_ability && ranged_ability_user.ranged_ability != src)) //To avoid removing the wrong ability @@ -92,7 +92,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th to_chat(ranged_ability_user, msg) ranged_ability_user = null active = FALSE - update_icon() + update_appearance() /obj/effect/proc_holder/spell name = "Spell" diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm index ace2ad3c9f25..66c0c232c06c 100644 --- a/code/modules/spells/spell_types/aimed.dm +++ b/code/modules/spells/spell_types/aimed.dm @@ -43,6 +43,8 @@ /obj/effect/proc_holder/spell/aimed/update_icon() if(!action) return + + . = ..() action.button_icon_state = "[base_icon_state][active]" action.UpdateButtonIcon() diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm index 694b34153db1..57325e685f4d 100644 --- a/code/modules/spells/spell_types/charge.dm +++ b/code/modules/spells/spell_types/charge.dm @@ -91,7 +91,7 @@ if(istype(C.loc, /obj/item/gun)) var/obj/item/gun/G = C.loc G.process_chamber() - item.update_icon() + item.update_appearance() charged_item = item break if(!charged_item) diff --git a/code/modules/spells/spell_types/pointed/pointed.dm b/code/modules/spells/spell_types/pointed/pointed.dm index 2f2a6c41a8d9..1002d34ccb52 100644 --- a/code/modules/spells/spell_types/pointed/pointed.dm +++ b/code/modules/spells/spell_types/pointed/pointed.dm @@ -59,10 +59,9 @@ /obj/effect/proc_holder/spell/pointed/update_icon() if(!action) return - if(active) - action.button_icon_state = "[action_icon_state]1" - else - action.button_icon_state = "[action_icon_state]" + + . = ..() + action.button_icon_state = "[action_icon_state][active ? 1 : null]" action.UpdateButtonIcon() /obj/effect/proc_holder/spell/pointed/InterceptClickOn(mob/living/caller, params, atom/target) diff --git a/code/modules/spells/spell_types/soultap.dm b/code/modules/spells/spell_types/soultap.dm index 9dafa04193ae..ffc43efeb4ae 100644 --- a/code/modules/spells/spell_types/soultap.dm +++ b/code/modules/spells/spell_types/soultap.dm @@ -30,4 +30,4 @@ for(var/obj/effect/proc_holder/spell/spell in user.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE - spell.update_icon() + spell.update_appearance() diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index 8636211941c2..d93eec8b7244 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -82,7 +82,7 @@ if(istype(item_to_retrieve.loc, /obj/machinery/portable_atmospherics/)) //Edge cases for moved machinery var/obj/machinery/portable_atmospherics/P = item_to_retrieve.loc P.disconnect() - P.update_icon() + P.update_appearance() item_to_retrieve = item_to_retrieve.loc diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index c1804f8a3f71..7de9e83581fe 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -273,7 +273,7 @@ if("recalibrate") calibrate(usr) . = TRUE - update_icon() + update_appearance() /obj/machinery/computer/bsa_control/proc/calibrate(mob/user) if(!GLOB.bsa_unlock) diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index a00ee9749d15..4c9b3556b6aa 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -82,6 +82,7 @@ desc = "" icon = 'icons/obj/machines/satellite.dmi' icon_state = "sat_inactive" + base_icon_state = "sat" anchored = FALSE density = TRUE use_power = FALSE @@ -108,7 +109,7 @@ else end_processing() animate(src, pixel_y = 0, time = 10) - update_icon() + update_appearance() /obj/machinery/satellite/proc/toggle(mob/user) if(!active && !isinspace()) @@ -120,7 +121,8 @@ set_anchored(!anchored) /obj/machinery/satellite/update_icon_state() - icon_state = active ? "sat_active" : "sat_inactive" + icon_state = "[base_icon_state]_[active ? "active" : "inactive"]" + return ..() /obj/machinery/satellite/multitool_act(mob/living/user, obj/item/I) ..() diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index e360945a16d3..b063d01f8048 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -190,7 +190,7 @@ if(C.hud_used) var/atom/movable/screen/inventory/hand/R = C.hud_used.hand_slots["[held_index]"] if(R) - R.update_icon() + R.update_appearance() if(C.gloves) C.dropItemToGround(C.gloves, TRUE) C.update_inv_gloves() //to remove the bloody hands overlay @@ -208,7 +208,7 @@ if(C.hud_used) var/atom/movable/screen/inventory/hand/L = C.hud_used.hand_slots["[held_index]"] if(L) - L.update_icon() + L.update_appearance() if(C.gloves) C.dropItemToGround(C.gloves, TRUE) C.update_inv_gloves() //to remove the bloody hands overlay @@ -288,7 +288,7 @@ if(C.hud_used) var/atom/movable/screen/inventory/hand/hand = C.hud_used.hand_slots["[held_index]"] if(hand) - hand.update_icon() + hand.update_appearance() C.update_inv_gloves() if(special) //non conventional limb attachment diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 300a17e7ab0d..8a101112377f 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -132,7 +132,7 @@ if(owner.hud_used) var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] - hand_screen_object?.update_icon() + hand_screen_object?.update_appearance() /obj/item/bodypart/l_arm/monkey @@ -234,7 +234,7 @@ if(owner.hud_used) var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] - hand_screen_object?.update_icon() + hand_screen_object?.update_appearance() /obj/item/bodypart/r_arm/monkey diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index 4866e8aa1541..68eb25bf2b15 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -46,7 +46,7 @@ if(case && !case.imp) case.imp = I I.forceMove(case) - case.update_icon() + case.update_appearance() display_results(user, target, "You place [I] into [case].", "[user] places [I] into [case]!", "[user] places it into [case]!") diff --git a/code/modules/surgery/organs/appendix.dm b/code/modules/surgery/organs/appendix.dm index 8945bac15073..69a7b2e95339 100644 --- a/code/modules/surgery/organs/appendix.dm +++ b/code/modules/surgery/organs/appendix.dm @@ -1,6 +1,7 @@ /obj/item/organ/appendix name = "appendix" icon_state = "appendix" + base_icon_state = "appendix" zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_APPENDIX @@ -12,13 +13,13 @@ var/inflamed -/obj/item/organ/appendix/update_icon() - if(inflamed) - icon_state = "appendixinflamed" - name = "inflamed appendix" - else - icon_state = "appendix" - name = "appendix" +/obj/item/organ/appendix/update_name() + . = ..() + name = "[inflamed ? "inflamed " : null][initial(name)]" + +/obj/item/organ/appendix/update_icon_state() + icon_state = "[base_icon_state][inflamed ? "inflamed" : ""]" + return ..() /obj/item/organ/appendix/on_life() ..() @@ -35,7 +36,7 @@ for(var/datum/disease/appendicitis/A in M.diseases) A.cure() inflamed = TRUE - update_icon() + update_appearance() ..() /obj/item/organ/appendix/Insert(mob/living/carbon/M, special = 0) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 7519ac3181a0..d9d3d6b0b717 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -24,7 +24,7 @@ var/atom/new_item = new typepath(src) items_list += WEAKREF(new_item) - update_icon() + update_appearance() SetSlotFromZone() /obj/item/organ/cyberimp/arm/Destroy() @@ -48,10 +48,8 @@ CRASH("Invalid zone for [type]") /obj/item/organ/cyberimp/arm/update_icon() - if(zone == BODY_ZONE_R_ARM) - transform = null - else // Mirroring the icon - transform = matrix(-1, 0, 0, 0, 1, 0) + . = ..() + transform = (zone == BODY_ZONE_R_ARM) ? null : matrix(-1, 0, 0, 0, 1, 0) /obj/item/organ/cyberimp/arm/examine(mob/user) . = ..() @@ -68,7 +66,7 @@ zone = BODY_ZONE_R_ARM SetSlotFromZone() to_chat(user, "You modify [src] to be installed on the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.") - update_icon() + update_appearance() /obj/item/organ/cyberimp/arm/Remove(mob/living/carbon/M, special = 0) Retract() diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index 12b98bd29879..f8314a7c6dfa 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -122,6 +122,7 @@ Unlike regular jetpacks, this device has no stabilization system." slot = ORGAN_SLOT_THRUSTERS icon_state = "imp_jetpack" + base_icon_state = "imp_jetpack" implant_overlay = null implant_color = null actions_types = list(/datum/action/item_action/organ_action/toggle) @@ -166,13 +167,11 @@ if(!silent) to_chat(owner, "You turn your thrusters set off.") on = FALSE - update_icon() + update_appearance() /obj/item/organ/cyberimp/chest/thrusters/update_icon_state() - if(on) - icon_state = "imp_jetpack-on" - else - icon_state = "imp_jetpack" + icon_state = "[base_icon_state][on ? "-on" : null]" + return ..() /obj/item/organ/cyberimp/chest/thrusters/proc/move_react() if(!on)//If jet dont work, it dont work diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 26d16ae23e10..dd6d8efc1065 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -2,6 +2,7 @@ name = "heart" desc = "I feel bad for the heartless bastard who lost this." icon_state = "heart-on" + base_icon_state = "heart" zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_HEART @@ -15,7 +16,6 @@ // Heart attack code is in code/modules/mob/living/carbon/human/life.dm var/beating = 1 - var/icon_base = "heart" attack_verb = list("beat", "thumped") //is this mob having a heatbeat sound played? if so, which? var/beat = BEAT_NONE @@ -25,10 +25,8 @@ var/operated = FALSE /obj/item/organ/heart/update_icon_state() - if(beating) - icon_state = "[icon_base]-on" - else - icon_state = "[icon_base]-off" + icon_state = "[base_icon_state]-[beating ? "on" : "off"]" + return ..() /obj/item/organ/heart/Remove(mob/living/carbon/M, special = 0) ..() @@ -49,18 +47,18 @@ /obj/item/organ/heart/proc/Stop() beating = 0 - update_icon() + update_appearance() return 1 /obj/item/organ/heart/proc/Restart() beating = 1 - update_icon() + update_appearance() return 1 /obj/item/organ/heart/OnEatFrom(eater, feeder) . = ..() beating = FALSE - update_icon() + update_appearance() /obj/item/organ/heart/on_life() ..() @@ -101,7 +99,7 @@ name = "cursed heart" desc = "A heart that, when inserted, will force you to pump it manually." icon_state = "cursedheart-off" - icon_base = "cursedheart" + base_icon_state = "cursedheart" decay_factor = 0 actions_types = list(/datum/action/item_action/hands_free/organ_action/cursed_heart) var/last_pump = 0 diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index b5909a564b68..add121e6a061 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -67,7 +67,7 @@ /obj/vehicle/ridden/wheelchair/motorized/attack_hand(mob/living/user) if(power_cell && panel_open) - power_cell.update_icon() + power_cell.update_appearance() user.put_in_hands(power_cell) power_cell = null to_chat(user, "You remove the power cell from [src].") diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index 87d1d09d5b05..d4a9aff2d8b2 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -9,7 +9,7 @@ /obj/vehicle/ridden/janicart/Initialize(mapload) . = ..() - update_icon() + update_appearance() var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 7), TEXT_EAST = list(-12, 7), TEXT_WEST = list(12, 7))) @@ -42,7 +42,7 @@ return to_chat(user, "You hook the trashbag onto [src].") mybag = I - update_icon() + update_appearance() else if(istype(I, /obj/item/janiupgrade)) if(floorbuffer) to_chat(user, "[src] already has a floor buffer!") @@ -51,7 +51,7 @@ qdel(I) to_chat(user, "You upgrade [src] with the floor buffer.") AddElement(/datum/element/cleaning) - update_icon() + update_appearance() else if(istype(I, /obj/item/key/janitor)) ..() else if(mybag) @@ -74,7 +74,7 @@ mybag.forceMove(get_turf(user)) user.put_in_hands(mybag) mybag = null - update_icon() + update_appearance() /obj/vehicle/ridden/janicart/upgraded floorbuffer = TRUE diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 957460a1a242..caf9b6afa757 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -224,17 +224,19 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C else ..() -/obj/machinery/vending/update_icon_state() +/obj/machinery/vending/update_appearance(updates=ALL) + . = ..() if(machine_stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - set_light(0) - else if(powered()) - icon_state = initial(icon_state) - set_light(1.4) - else - icon_state = "[initial(icon_state)]-off" set_light(0) + return + set_light(powered() ? MINIMUM_USEFUL_LIGHT_RANGE : 0) +/obj/machinery/vending/update_icon_state() + if(machine_stat & BROKEN) + icon_state = "[initial(icon_state)]-broken" + return ..() + icon_state = "[initial(icon_state)][powered() ? null : "-off"]" + return ..() /obj/machinery/vending/update_overlays() . = ..() diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 0e6eb08ba2d3..6eed73786620 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -9,11 +9,6 @@ products = list( /obj/item/clothing/suit/chickensuit = 1, /obj/item/clothing/head/chicken = 1, - /obj/item/clothing/under/rank/civilian/clown/blue = 1, - /obj/item/clothing/under/rank/civilian/clown/green = 1, - /obj/item/clothing/under/rank/civilian/clown/yellow = 1, - /obj/item/clothing/under/rank/civilian/clown/orange = 1, - /obj/item/clothing/under/rank/civilian/clown/purple = 1, /obj/item/clothing/under/costume/gladiator = 1, /obj/item/clothing/head/helmet/gladiator = 1, /obj/item/clothing/under/rank/command/captain/suit = 1, @@ -71,9 +66,6 @@ /obj/item/clothing/suit/wizrobe/fake = 1, /obj/item/clothing/head/wizard/fake = 1, /obj/item/staff = 3, - /obj/item/clothing/mask/gas/sexyclown = 1, - /obj/item/clothing/under/rank/civilian/clown/sexy = 1, - /obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/under/rank/civilian/mime/sexy = 1, /obj/item/clothing/under/rank/civilian/mime/skirt = 1, /obj/item/clothing/mask/rat/bat = 1, @@ -100,7 +92,6 @@ /obj/item/clothing/glasses/cold=1, /obj/item/clothing/glasses/heat=1, /obj/item/clothing/suit/whitedress = 1, - /obj/item/clothing/under/rank/civilian/clown/jester = 1, /obj/item/clothing/head/jester = 1, /obj/item/clothing/suit/hooded/carp_costume = 1, /obj/item/clothing/suit/hooded/ian_costume = 1, @@ -132,14 +123,11 @@ premium = list( /obj/item/clothing/suit/pirate/captain = 2, /obj/item/clothing/head/pirate/captain = 2, - /obj/item/clothing/under/rank/civilian/clown/rainbow = 1, /obj/item/clothing/head/helmet/roman/fake = 1, /obj/item/clothing/head/helmet/roman/legionnaire/fake = 1, /obj/item/clothing/under/costume/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/shield/riot/roman/fake = 1, - /obj/item/clothing/suit/chaplainsuit/clownpriest = 1, - /obj/item/clothing/head/clownmitre = 1, /obj/item/skub = 1, /obj/item/clothing/suit/hooded/mysticrobe = 1) refill_canister = /obj/item/vending_refill/autodrobe diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 176f6e1d1ccf..42ecc4ce697e 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -411,9 +411,7 @@ /obj/item/clothing/head/beanie/rasta = 1) contraband = list(/obj/item/toy/plush/plushvar = 1, /obj/item/toy/plush/narplush = 1, - /obj/item/clothing/head/medievaljewhat = 3, - /obj/item/clothing/suit/chaplainsuit/clownpriest = 1, - /obj/item/clothing/head/clownmitre = 1) + /obj/item/clothing/head/medievaljewhat = 3) premium = list(/obj/item/clothing/suit/chaplainsuit/bishoprobe = 1, /obj/item/clothing/head/bishopmitre = 1) refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe diff --git a/html/changelogs/AutoChangeLog-pr-2212.yml b/html/changelogs/AutoChangeLog-pr-2212.yml deleted file mode 100644 index e9358698afcc..000000000000 --- a/html/changelogs/AutoChangeLog-pr-2212.yml +++ /dev/null @@ -1,33 +0,0 @@ -author: Bobbanz1, Timberpoes, SteelSlayer, twilightwanderer, ShizCalev, timothymtorres, - Imaginos16, dragomagol, Jacquerel, Mothblocks, ThePotato97, LemonInTheDark, ported - by MeeMOfCourse -delete-after: true -changes: - - refactor: Paper code has been completely refactored. - - bugfix: Fixes signatures not working at all. Signatures now only work when %s - or %sign is put into an [___] input field. - - bugfix: Input fields are now fixed and also work again. - - bugfix: Fixes markdown paragraphing not working in paper code. - - tweak: You can insert any type of toner cartridge into photocopiers, and regardless - of the currently inserted toner's charge level. - - tweak: Toner cartridges can be ejected from photocopiers at any time - - rscadd: Added a system of forms and the ability to print them - - bugfix: Hints in bureaucracy forms - - rscadd: Added new VOID stamp - - tweak: switches old oracle fax machine with tg's fax machine system - - bugfix: Fixes faxes playing the "fax_contain" animation and makes it actually - use the "fax_receive" animation when receiving. - - imageadd: Resprites fax machines! - - admin: fax messages and book printings are now logged in paper.log - - admin: renaming fax machines is logged in game log - - rscadd: You can now send photos or trading cards through the fax machine. - - rscadd: You can now hack the wires of a fax machine to have it throw items harder - or accept additional flat input items such as material sheets, ID cards, and - pizza slices. - - rscadd: Ability to send and receive administrator fax messages. - - admin: Panel for easy viewing and sending messages to faxes. - - bugfix: Fixes a crash of TGUI fax panel when there is no fax in the network - - bugfix: Fixes a crash of the Fax Manager panel when there is no fax machines in - the network. - - bugfix: You can no longer remove the toner cartridge from a printer while it's - busy printing. diff --git a/html/changelogs/AutoChangeLog-pr-2345.yml b/html/changelogs/AutoChangeLog-pr-2345.yml new file mode 100644 index 000000000000..7b097aa9fc47 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2345.yml @@ -0,0 +1,4 @@ +author: thgvr +delete-after: true +changes: + - rscdel: ion storms are removed diff --git a/html/changelogs/AutoChangeLog-pr-2349.yml b/html/changelogs/AutoChangeLog-pr-2349.yml new file mode 100644 index 000000000000..5017aab394e5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2349.yml @@ -0,0 +1,4 @@ +author: Skrem7 +delete-after: true +changes: + - spellcheck: Bodies that lack ownership are no longer described as "soulless" diff --git a/html/changelogs/archive/2023-08.yml b/html/changelogs/archive/2023-08.yml index 1dcff9bf310c..989fc9ea7692 100644 --- a/html/changelogs/archive/2023-08.yml +++ b/html/changelogs/archive/2023-08.yml @@ -105,3 +105,123 @@ - imageadd: Redoes the cowboy and warden hats! Skies-Of-Blue: - tweak: IPCs can now select an age between one and three hundred +2023-08-12: + ? Bobbanz1, Timberpoes, SteelSlayer, twilightwanderer, ShizCalev, timothymtorres, + Imaginos16, dragomagol, Jacquerel, Mothblocks, ThePotato97, LemonInTheDark, ported + by MeeMOfCourse + : - refactor: Paper code has been completely refactored. + - bugfix: Fixes signatures not working at all. Signatures now only work when %s + or %sign is put into an [___] input field. + - bugfix: Input fields are now fixed and also work again. + - bugfix: Fixes markdown paragraphing not working in paper code. + - tweak: You can insert any type of toner cartridge into photocopiers, and regardless + of the currently inserted toner's charge level. + - tweak: Toner cartridges can be ejected from photocopiers at any time + - rscadd: Added a system of forms and the ability to print them + - bugfix: Hints in bureaucracy forms + - rscadd: Added new VOID stamp + - tweak: switches old oracle fax machine with tg's fax machine system + - bugfix: Fixes faxes playing the "fax_contain" animation and makes it actually + use the "fax_receive" animation when receiving. + - imageadd: Resprites fax machines! + - admin: fax messages and book printings are now logged in paper.log + - admin: renaming fax machines is logged in game log + - rscadd: You can now send photos or trading cards through the fax machine. + - rscadd: You can now hack the wires of a fax machine to have it throw items harder + or accept additional flat input items such as material sheets, ID cards, and + pizza slices. + - rscadd: Ability to send and receive administrator fax messages. + - admin: Panel for easy viewing and sending messages to faxes. + - bugfix: Fixes a crash of TGUI fax panel when there is no fax in the network + - bugfix: Fixes a crash of the Fax Manager panel when there is no fax machines + in the network. + - bugfix: You can no longer remove the toner cartridge from a printer while it's + busy printing. +2023-08-13: + MemedHams: + - bugfix: fixes some lighting oddities on the shetland and le tieguai + - tweak: adjusts some schimedberg decals + TemporalOroboros, Memed Hams: + - code_imp: ports update_appearance, update_name, and update_desc from tg, as well + as associated signals + - code_imp: a bit of base_icon_state implementation. Can you believe it's been sitting + in our code almost unused for like 3 years + - code_imp: cleans up some code formatting, mainly around custom icons and overlays + - code_imp: fixes the typos in COMSIG_STORAGE_EXITED and COMSIG_STORAGE_ENTERED +2023-08-19: + Apogee, Erika, Imaginos: + - rscadd: transferring bullets from magazine to magazine now has a do_after and + loops. + - rscadd: Ammo magazines are now purchasable at the outpost + - rscadd: P16s, SVG-whatevers, Bolt-Action Rifles, and .357 revolvers are now available + for purchase at the outpost + - rscdel: Removed paywall and clown firing pins from purchase. + - balance: AP Values have been tweaked across the board (On guns at least), smaller + cartridges tend to penetrate less, while larger ones penetrate more. + - imageadd: New bullet sprites (I believe they're apogee's), and new ammo box sprites + by Imaginos + Bjarl: + - tweak: you can no longer close falsewalls on tiles with machines or structures + on them + - bugfix: melters should avoid melting themselves now. + - rscadd: The outpost will now sell you mechs. + - rscadd: and radiation first aid kits + - rscadd: and jackhammers + Ebin-Halcyon: + - imageadd: Inteq Honorable Vanguard clothing have been added for admins to play + with, along with a peaked cap for normal Vanguards, not yet mapped anywhere + yet. + MarkSuckerberg: + - rscadd: You can now configure LOOC and mentorsay in chat tabs + - admin: You can now change the global LOOC colour. Because, why not? + - admin: LOOC now shows up in the OOC tab of the logging panel for players + MemedHams: + - tweak: increases the volume of money pickup and drop noises + - bugfix: polishes out some weird smoothing interactions between some rock walls + and metal walls + - tweak: indestructible rock walls now have the new, smoothed sprites + - tweak: beach rockwalls now have a whimsical name & description, matching our other + rock walls. + - bugfix: removes the junk 'asteroid' subtype of mineral/random + PositiveEntropy: + - bugfix: The camera console in the Chronicle now works thanks to cameras being + added! + - code_imp: The Chronicle is now player-spawnable in game again. Don't abuse my + trust. + goober3: + - rscadd: the mudskipper-class salvage clipper, the scavenging successor to the + scav. + - rscdel: removed the scav-class + spockye: + - rscdel: Removed the Icecropolis, and the related code + thgvr: + - rscadd: Crop turtleneck undershirt +2023-08-20: + Zevotech: + - rscadd: Nanotrasen Genetic Research Facility, a new Lavaland ruin + - rscadd: codelab.dm containing assets for codelab.dmm + retlaw34: + - rscadd: Various things have been resprited + - rscadd: Medbots have gotten a fresh new coat of paint! + - admin: The TRABUCO misfiring now logs to game.log +2023-08-21: + Apogee-dev: + - rscadd: Added the IRMG Vaquero + Latentish: + - tweak: Remaps the Ranger-class + MemedHams: + - bugfix: iv drip now has a sprite again + - bugfix: shotgun drums now have a sprite again + - bugfix: blood bank now has a sprite while filled + - bugfix: layer manifolds now display inserted pipes properly again + ritorizo: + - rscadd: IPC can now recharge/repair at borg recharge station. +2023-08-27: + GenericDM: + - rscadd: Adds a hand-powered pill press for ghetto chemistry. +2023-08-30: + Zevotech: + - bugfix: flora sprites now properly work in SDMM instead of being missing textures + - bugfix: dead barren trees on whitesands are no longer invisible due to having + their icon state overridden + - bugfix: whitesands grass now has its sprite in SDMM thanks to a typo fix diff --git a/html/changelogs/archive/2023-09.yml b/html/changelogs/archive/2023-09.yml new file mode 100644 index 000000000000..8eb857771e62 --- /dev/null +++ b/html/changelogs/archive/2023-09.yml @@ -0,0 +1,46 @@ +2023-09-01: + spockye: + - bugfix: fixed the jukebox/boombox/discomachine inactive sprite being invisisble +2023-09-02: + Ebin-Halcyon: + - imageadd: Keporis have stolen some oversized hoodies and are now able to wear + them properly. + GenericDM: + - tweak: Custom radio channels no longer leak themselves + - tweak: Custom radio channels are assigned a random color. + MemedHams: + - bugfix: the solars on singularity station no longer runtime + - bugfix: a bunch of broken indestructible walls have been collapsed into one working + subtype + - tweak: adds smoothing connectors to indestructible rock walls and adds a seam + with normal rock walls, for clarity + Skrem7: + - balance: Standard 12g box magazines are now small-sized, rather than normal + - spellcheck: Adjusts mag-based shotguns, lever-actions, and shotgun mag descriptions + to be more efficient/accurate + - code_imp: Changes how bulldog/mastiff magazines check for their icon to be standardized + with the CM-15 + - code_imp: All ammo_boxes now update_appearance upon being initialized + - bugfix: Bulldog drum magazines should no longer go invisible while checking for + a base_icon_sprite that doesn't exist + - bugfix: Spent shotgun shells now have proper sprite pathing + thgvr: + - rscdel: Clown cargo crate + - rscdel: Clown stuff in costume vendors +2023-09-06: + Skies-Of-Blue: + - rscadd: pointing at something on yourself now shows the item + Zevotech: + - bugfix: Most rocks are now visible again + - rscadd: Most flora files now have missing texture sprites to make it easier to + spot when something has gone wrong. +2023-09-09: + Zevotech: + - bugfix: fixed the icon states for junglebushes a, b, and c. +2023-09-10: + GenericDM: + - bugfix: The SolGov surgical cap no longer turns invisible when handled. +2023-09-11: + Dethstorm: + - rscadd: new stuff to wasteplanet_unhonorable + - rscadd: new areas for wasteplanet_unhonorable diff --git a/icons/UI_Icons/chat/chat_icons.dmi b/icons/UI_Icons/chat/chat_icons.dmi index 8cc4b2c5598f..310671967c3b 100644 Binary files a/icons/UI_Icons/chat/chat_icons.dmi and b/icons/UI_Icons/chat/chat_icons.dmi differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 372a8c71aaf6..610c8768cd75 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/mob/aibots.dmi b/icons/mob/aibots.dmi index 8ac56ae78eee..31dd2b6d710f 100644 Binary files a/icons/mob/aibots.dmi and b/icons/mob/aibots.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 25e5ef9d9a58..e4344a57d42f 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi index 5651940933ab..ca683c1bec46 100644 Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ diff --git a/icons/mob/clothing/under/syndicate.dmi b/icons/mob/clothing/under/syndicate.dmi index 705a192e3a37..3eb82401831c 100644 Binary files a/icons/mob/clothing/under/syndicate.dmi and b/icons/mob/clothing/under/syndicate.dmi differ diff --git a/icons/mob/clothing/underwear/underwear_torso.dmi b/icons/mob/clothing/underwear/underwear_torso.dmi index 5fa4ac787969..d3d4db41316e 100644 Binary files a/icons/mob/clothing/underwear/underwear_torso.dmi and b/icons/mob/clothing/underwear/underwear_torso.dmi differ diff --git a/icons/mob/inhands/equipment/tools_lefthand.dmi b/icons/mob/inhands/equipment/tools_lefthand.dmi index 0eb0e826571f..7d66b946aa1f 100644 Binary files a/icons/mob/inhands/equipment/tools_lefthand.dmi and b/icons/mob/inhands/equipment/tools_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/tools_righthand.dmi b/icons/mob/inhands/equipment/tools_righthand.dmi index 5fe94c68c6be..1b5a50042923 100644 Binary files a/icons/mob/inhands/equipment/tools_righthand.dmi and b/icons/mob/inhands/equipment/tools_righthand.dmi differ diff --git a/icons/mob/species/kepori/onmob_head_kepori.dmi b/icons/mob/species/kepori/onmob_head_kepori.dmi index 9a16e806f281..4109e981c603 100644 Binary files a/icons/mob/species/kepori/onmob_head_kepori.dmi and b/icons/mob/species/kepori/onmob_head_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_suit_kepori.dmi b/icons/mob/species/kepori/onmob_suit_kepori.dmi index 4776efe89609..9253a5b0be28 100644 Binary files a/icons/mob/species/kepori/onmob_suit_kepori.dmi and b/icons/mob/species/kepori/onmob_suit_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_uniform_kepori.dmi b/icons/mob/species/kepori/onmob_uniform_kepori.dmi index 3dd95abacd39..1e0416588ae3 100644 Binary files a/icons/mob/species/kepori/onmob_uniform_kepori.dmi and b/icons/mob/species/kepori/onmob_uniform_kepori.dmi differ diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi index 017a1e6b86fd..37ff2b130323 100644 Binary files a/icons/mob/species/misc/digitigrade.dmi and b/icons/mob/species/misc/digitigrade.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 0634a3d3ee3c..bf11a268fa8e 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/ammo_bullets.dmi b/icons/obj/ammo_bullets.dmi index 2f748b46b738..087cdd4c771e 100644 Binary files a/icons/obj/ammo_bullets.dmi and b/icons/obj/ammo_bullets.dmi differ diff --git a/icons/obj/ammo_shotshells.dmi b/icons/obj/ammo_shotshells.dmi index e800521531e0..fe37023686bd 100644 Binary files a/icons/obj/ammo_shotshells.dmi and b/icons/obj/ammo_shotshells.dmi differ diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index e5b809e1f8be..2dd57cfc6237 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 93476e145919..d71c875e9b3b 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi index d54494283b8c..387a2f40f303 100644 Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ diff --git a/icons/obj/clothing/under/syndicate.dmi b/icons/obj/clothing/under/syndicate.dmi index 5debaea59cf8..9b1630feb16b 100644 Binary files a/icons/obj/clothing/under/syndicate.dmi and b/icons/obj/clothing/under/syndicate.dmi differ diff --git a/icons/obj/defib.dmi b/icons/obj/defib.dmi index 11cbe1148699..6ee2b4fa4fe7 100644 Binary files a/icons/obj/defib.dmi and b/icons/obj/defib.dmi differ diff --git a/icons/obj/flora/ausflora.dmi b/icons/obj/flora/ausflora.dmi index c2440e27e17d..658d5ca9ecf8 100644 Binary files a/icons/obj/flora/ausflora.dmi and b/icons/obj/flora/ausflora.dmi differ diff --git a/icons/obj/flora/grass-sticks.dmi b/icons/obj/flora/grass-sticks.dmi index 055382b0fa89..5143807f53e7 100644 Binary files a/icons/obj/flora/grass-sticks.dmi and b/icons/obj/flora/grass-sticks.dmi differ diff --git a/icons/obj/flora/hellflora.dmi b/icons/obj/flora/hellflora.dmi index 403570c12486..299ded7c54c4 100644 Binary files a/icons/obj/flora/hellflora.dmi and b/icons/obj/flora/hellflora.dmi differ diff --git a/icons/obj/flora/jungleflora.dmi b/icons/obj/flora/jungleflora.dmi index 9a266e9226e8..bd4e169b1b4c 100644 Binary files a/icons/obj/flora/jungleflora.dmi and b/icons/obj/flora/jungleflora.dmi differ diff --git a/icons/obj/flora/lavarocks.dmi b/icons/obj/flora/lavarocks.dmi index f86be152a4c5..4211f3792210 100644 Binary files a/icons/obj/flora/lavarocks.dmi and b/icons/obj/flora/lavarocks.dmi differ diff --git a/icons/obj/flora/plants.dmi b/icons/obj/flora/plants.dmi index acd62631f941..4b62a74b0366 100644 Binary files a/icons/obj/flora/plants.dmi and b/icons/obj/flora/plants.dmi differ diff --git a/icons/obj/flora/rocks.dmi b/icons/obj/flora/rocks.dmi index d8cbec225115..197ee6e57053 100644 Binary files a/icons/obj/flora/rocks.dmi and b/icons/obj/flora/rocks.dmi differ diff --git a/icons/obj/flora/snowflora.dmi b/icons/obj/flora/snowflora.dmi index 11cbf5a5053f..002fd90c9fcd 100644 Binary files a/icons/obj/flora/snowflora.dmi and b/icons/obj/flora/snowflora.dmi differ diff --git a/icons/obj/flora/tall_trees_dead.dmi b/icons/obj/flora/tall_trees_dead.dmi index 93cd6f87e8d0..59dfbfb9003c 100644 Binary files a/icons/obj/flora/tall_trees_dead.dmi and b/icons/obj/flora/tall_trees_dead.dmi differ diff --git a/icons/obj/iv_drip.dmi b/icons/obj/iv_drip.dmi index cf1168899de9..e9cbbdffc99f 100644 Binary files a/icons/obj/iv_drip.dmi and b/icons/obj/iv_drip.dmi differ diff --git a/icons/obj/lavaland/ash_flora.dmi b/icons/obj/lavaland/ash_flora.dmi index 070902adc941..d35d013715b1 100644 Binary files a/icons/obj/lavaland/ash_flora.dmi and b/icons/obj/lavaland/ash_flora.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 7c7cab3ef04c..25a990b61d01 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index efca5cda46ad..f208dbbe1547 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index b6d566bc6671..241476f84bd6 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 4c9bec48b3c4..731cd15fcfb8 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index c76bbe8d9979..97bbe730fac8 100644 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 81cc230cf535..4a05d971bbe5 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -26,6 +26,7 @@ em {font-style: normal; font-weight: bold;} .prefix { font-weight: bold;} .ooc { font-weight: bold;} +.looc { font-weight: bold;} .adminobserverooc {color: #0099cc; font-weight: bold;} .adminooc {color: #700038; font-weight: bold;} diff --git a/librust_g.so b/librust_g.so deleted file mode 100644 index df1db5aeeda9..000000000000 Binary files a/librust_g.so and /dev/null differ diff --git a/shiptest.dme b/shiptest.dme index 3ea23ccc458d..3788af828297 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -397,7 +397,6 @@ #include "code\datums\holocall.dm" #include "code\datums\http.dm" #include "code\datums\hud.dm" -#include "code\datums\lp_mission_holotapes.dm" #include "code\datums\map_zones.dm" #include "code\datums\mind.dm" #include "code\datums\movement_detector.dm" @@ -973,7 +972,7 @@ #include "code\game\machinery\telecomms\machines\server.dm" #include "code\game\MapData\shuttles\misc.dm" #include "code\game\MapData\shuttles\nanotrasen_mimir.dm" -#include "code\game\MapData\shuttles\nanotrasen_powerrangers.dm" +#include "code\game\MapData\shuttles\nanotrasen_ranger.dm" #include "code\game\MapData\shuttles\srm_glaive.dm" #include "code\game\mecha\mech_bay.dm" #include "code\game\mecha\mech_fabricator.dm" @@ -1888,6 +1887,7 @@ #include "code\modules\cargo\packs\gun.dm" #include "code\modules\cargo\packs\machinery.dm" #include "code\modules\cargo\packs\material.dm" +#include "code\modules\cargo\packs\mechs.dm" #include "code\modules\cargo\packs\medical.dm" #include "code\modules\cargo\packs\sec_supply.dm" #include "code\modules\cargo\packs\spacesuit_armor.dm" @@ -2260,7 +2260,6 @@ #include "code\modules\jobs\job_types\head_of_security.dm" #include "code\modules\jobs\job_types\janitor.dm" #include "code\modules\jobs\job_types\lawyer.dm" -#include "code\modules\jobs\job_types\lp_jobs.dm" #include "code\modules\jobs\job_types\medical_doctor.dm" #include "code\modules\jobs\job_types\mime.dm" #include "code\modules\jobs\job_types\paramedic.dm" @@ -2885,6 +2884,7 @@ #include "code\modules\plumbing\plumbers\reaction_chamber.dm" #include "code\modules\plumbing\plumbers\splitters.dm" #include "code\modules\plumbing\plumbers\synthesizer.dm" +#include "code\modules\point\point.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" #include "code\modules\power\cell.dm" @@ -3055,6 +3055,7 @@ #include "code\modules\reagents\chemistry\machinery\chem_dispenser.dm" #include "code\modules\reagents\chemistry\machinery\chem_heater.dm" #include "code\modules\reagents\chemistry\machinery\chem_master.dm" +#include "code\modules\reagents\chemistry\machinery\chem_press.dm" #include "code\modules\reagents\chemistry\machinery\chem_synthesizer.dm" #include "code\modules\reagents\chemistry\machinery\pandemic.dm" #include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm" @@ -3198,6 +3199,7 @@ #include "code\modules\ruins\icemoonruin_code\library.dm" #include "code\modules\ruins\icemoonruin_code\wrath.dm" #include "code\modules\ruins\lavalandruin_code\biodome_clown_planet.dm" +#include "code\modules\ruins\lavalandruin_code\codelab.dm" #include "code\modules\ruins\lavalandruin_code\elephantgraveyard.dm" #include "code\modules\ruins\lavalandruin_code\pizzaparty.dm" #include "code\modules\ruins\lavalandruin_code\puzzle.dm" diff --git a/sound/items/handling/coin_drop.ogg b/sound/items/handling/coin_drop.ogg index 7d63143b83f7..c31f0ae27084 100644 Binary files a/sound/items/handling/coin_drop.ogg and b/sound/items/handling/coin_drop.ogg differ diff --git a/sound/items/handling/coin_pickup.ogg b/sound/items/handling/coin_pickup.ogg index 6dffa6073da6..9375da5ff967 100644 Binary files a/sound/items/handling/coin_pickup.ogg and b/sound/items/handling/coin_pickup.ogg differ diff --git a/sound/items/handling/dosh_drop.ogg b/sound/items/handling/dosh_drop.ogg index cf7f12b67cf5..37eaeee778ba 100644 Binary files a/sound/items/handling/dosh_drop.ogg and b/sound/items/handling/dosh_drop.ogg differ diff --git a/sound/items/handling/dosh_pickup.ogg b/sound/items/handling/dosh_pickup.ogg index af4a061bad4c..48ea24c7d82d 100644 Binary files a/sound/items/handling/dosh_pickup.ogg and b/sound/items/handling/dosh_pickup.ogg differ diff --git a/tgui/packages/tgui-panel/chat/constants.js b/tgui/packages/tgui-panel/chat/constants.js index 8b03835936fd..59323fbdfaa0 100644 --- a/tgui/packages/tgui-panel/chat/constants.js +++ b/tgui/packages/tgui-panel/chat/constants.js @@ -28,10 +28,11 @@ export const MESSAGE_TYPE_INFO = 'info'; export const MESSAGE_TYPE_WARNING = 'warning'; export const MESSAGE_TYPE_DEADCHAT = 'deadchat'; export const MESSAGE_TYPE_OOC = 'ooc'; +export const MESSAGE_TYPE_LOOC = 'looc'; export const MESSAGE_TYPE_ADMINPM = 'adminpm'; export const MESSAGE_TYPE_COMBAT = 'combat'; export const MESSAGE_TYPE_ADMINCHAT = 'adminchat'; -export const MESSAGE_TYPE_MODCHAT = 'modchat'; +export const MESSAGE_TYPE_MENTORCHAT = 'mentorchat'; export const MESSAGE_TYPE_PRAYER = 'prayer'; export const MESSAGE_TYPE_EVENTCHAT = 'eventchat'; export const MESSAGE_TYPE_ADMINLOG = 'adminlog'; @@ -88,6 +89,12 @@ export const MESSAGE_TYPES = [ description: 'The bluewall of global OOC messages', selector: '.ooc, .adminooc, .adminobserverooc, .oocplain', }, + { + type: MESSAGE_TYPE_LOOC, + name: 'LOOC', + description: 'The bluewall of local LOOC messages', + selector: '.looc, .loocplain', + }, { type: MESSAGE_TYPE_ADMINPM, name: 'Admin PMs', @@ -114,10 +121,10 @@ export const MESSAGE_TYPES = [ admin: true, }, { - type: MESSAGE_TYPE_MODCHAT, - name: 'Mod Chat', + type: MESSAGE_TYPE_MENTORCHAT, + name: 'Mentor Chat', description: 'MSAY messages', - selector: '.mod_channel', + selector: '.mentor, .mentoradmin', admin: true, }, { diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index dd61f26c9217..a3d68ca0aba2 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -309,6 +309,7 @@ em { .emote, .infoplain, .oocplain, +.loocplain, .warningplain { } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 8e624decf713..3a61c0f6cc7c 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -327,6 +327,7 @@ em { .emote, .infoplain, .oocplain, +.loocplain, .warningplain { } diff --git a/tools/requirements.txt b/tools/requirements.txt index cbb2de861474..90d6435e470b 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -5,7 +5,7 @@ Pillow==9.3.0 # check_regex.py colorama==0.4.4 PyYaml==6.0 -gitpython==3.1.30 +gitpython==3.1.34 unidiff==0.7.0 # changelogs