diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm new file mode 100644 index 00000000000..d1b00e4775a --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm @@ -0,0 +1,189 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/mineral/random/volcanic, +/area/template_noop) +"d" = ( +/obj/effect/decal/remains/human, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"m" = ( +/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"r" = ( +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"u" = ( +/obj/item/stack/sheet/bone, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"w" = ( +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/template_noop) +"E" = ( +/obj/structure/flora/ash/cacti, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"V" = ( +/obj/structure/flora/ash/leaf_shroom, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"W" = ( +/obj/effect/baseturf_helper/lava_land/surface, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"X" = ( +/turf/simulated/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"Z" = ( +/obj/structure/nest/lavaland, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +a +a +a +a +a +a +a +w +a +a +a +a +"} +(2,1,1) = {" +a +a +X +X +X +X +X +r +X +X +X +a +"} +(3,1,1) = {" +a +a +X +X +r +u +r +r +X +X +X +a +"} +(4,1,1) = {" +a +a +X +X +r +r +Z +r +V +r +X +a +"} +(5,1,1) = {" +a +a +X +E +r +X +W +d +r +r +r +w +"} +(6,1,1) = {" +a +a +X +Z +u +X +r +m +m +r +X +a +"} +(7,1,1) = {" +a +a +X +X +X +X +r +m +m +Z +X +a +"} +(8,1,1) = {" +a +a +X +X +X +X +r +r +r +E +X +a +"} +(9,1,1) = {" +a +a +X +X +X +X +X +X +X +X +X +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm new file mode 100644 index 00000000000..3654ce55791 --- /dev/null +++ b/_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm @@ -0,0 +1,1579 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"cq" = ( +/obj/structure/table, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"dL" = ( +/obj/structure/reagent_dispensers/watertank/high, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"en" = ( +/obj/machinery/vending/hydronutrients/syndicate_druglab, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"fb" = ( +/obj/machinery/power/port_gen/pacman, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"fW" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/poddoor{ + density = 0; + icon_state = "open"; + id_tag = "syndicatedruglab"; + name = "Syndicate Drug Lab"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"gI" = ( +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"gU" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"hJ" = ( +/obj/structure/closet/crate/secure/plasma, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"ig" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/obj/item/clothing/ears/headphones, +/turf/simulated/floor/carpet/black, +/area/ruin/space/syndicate_druglab) +"jE" = ( +/obj/item/reagent_containers/glass/beaker/large, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"kG" = ( +/obj/machinery/door/airlock/survival_pod/glass{ + name = "Hydroponics" + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"mA" = ( +/obj/machinery/power/apc/syndicate/off{ + pixel_x = 24; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"mO" = ( +/obj/machinery/floodlight, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"nc" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/machinery/reagentgrinder, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"nj" = ( +/obj/item/paper/crumpled, +/turf/simulated/floor/plating/asteroid/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"nP" = ( +/obj/machinery/hydroponics/constructable, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"oi" = ( +/obj/item/trash/syndi_cakes, +/obj/item/trash/plate, +/turf/simulated/floor/plating/asteroid/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"os" = ( +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"pI" = ( +/obj/structure/table/wood, +/obj/item/circuitboard/chem_master{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/paper/syndicate_druglab, +/obj/item/pen, +/obj/item/flashlight/lamp/green/off{ + pixel_y = 12; + pixel_x = -6 + }, +/turf/simulated/floor/carpet/black, +/area/ruin/space/syndicate_druglab) +"qa" = ( +/obj/item/stock_parts/matter_bin/adv, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"qf" = ( +/obj/item/trash/waffles, +/obj/item/trash/tray, +/obj/item/trash/syndi_cakes, +/obj/item/trash/plate, +/turf/simulated/floor/plating/asteroid/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"qD" = ( +/obj/item/circuitboard/biogenerator, +/obj/item/stock_parts/manipulator/nano, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"rn" = ( +/obj/effect/decal/warning_stripes/east, +/obj/structure/disposalpipe/segment, +/obj/structure/closet/walllocker/emerglocker/west, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"rJ" = ( +/obj/machinery/door/airlock/survival_pod/glass{ + name = "Bedroom" + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"sb" = ( +/turf/template_noop, +/area/ruin/space/syndicate_druglab/asteroid) +"sD" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/queen_bee/bought, +/obj/item/clothing/suit/hooded/bee_costume, +/obj/item/clothing/mask/face/bee, +/obj/item/wrench, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"te" = ( +/obj/effect/decal/warning_stripes/east, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"tf" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"tL" = ( +/obj/item/reagent_containers/glass/bucket, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"ue" = ( +/obj/structure/nest/carppuppy, +/turf/simulated/floor/plating/asteroid/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"uC" = ( +/obj/structure/beebox/unwrenched, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"vz" = ( +/obj/effect/decal/warning_stripes/northeastcorner, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"vZ" = ( +/turf/simulated/mineral, +/area/ruin/space/syndicate_druglab/asteroid) +"wh" = ( +/turf/simulated/floor/carpet/black, +/area/ruin/space/syndicate_druglab) +"wD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light_switch{ + dir = 8; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"xF" = ( +/turf/simulated/floor/plating/asteroid/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"xO" = ( +/obj/machinery/smartfridge/food/syndicate_druglab, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"ym" = ( +/obj/effect/decal/warning_stripes/east, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"yI" = ( +/turf/simulated/mineral/random/high_chance, +/area/ruin/space/syndicate_druglab/asteroid) +"yV" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"AE" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"AI" = ( +/obj/effect/decal/warning_stripes/southwestcorner, +/obj/machinery/door_control{ + id = "syndicatedruglab"; + name = "Syndicate Drug Lab Hangar"; + pixel_x = 24; + pixel_y = 4; + req_access_txt = null + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"BD" = ( +/obj/structure/table, +/obj/machinery/kitchen_machine/microwave, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"Dj" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/effect/decal/remains/robot, +/turf/simulated/floor/plating/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"DG" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/disposaloutlet, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Fq" = ( +/obj/structure/closet/cabinet, +/obj/item/soap/syndie, +/turf/simulated/floor/carpet/black, +/area/ruin/space/syndicate_druglab) +"Fx" = ( +/obj/effect/spawner/window/shuttle/survival_pod, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"Fz" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"FE" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/survival_pod{ + name = "Syndicate Drug Lab" + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Gm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Hj" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"HP" = ( +/obj/item/paper/syndicate_druglab/delivery, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"HR" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"Im" = ( +/obj/machinery/constructable_frame/machine_frame, +/obj/item/stock_parts/manipulator/nano, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"II" = ( +/obj/effect/decal/warning_stripes/south, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"JP" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/trash/plate, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"KI" = ( +/obj/effect/decal/warning_stripes/south, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"LQ" = ( +/obj/effect/decal/warning_stripes/southeastcorner, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Nr" = ( +/turf/simulated/wall/mineral/titanium/survival, +/area/ruin/space/syndicate_druglab) +"Ou" = ( +/obj/effect/decal/warning_stripes/northwestcorner, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Oy" = ( +/obj/effect/decal/warning_stripes/north, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Oz" = ( +/obj/effect/decal/warning_stripes/west, +/obj/effect/decal/cleanable/blood/oil, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Pd" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"Pl" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"QL" = ( +/obj/machinery/porta_turret/syndicate/assault_pod, +/turf/simulated/floor/plating/airless, +/area/ruin/space/syndicate_druglab/asteroid) +"Rk" = ( +/obj/machinery/seed_extractor, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"RS" = ( +/turf/template_noop, +/area/template_noop) +"SG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/survival_pod{ + name = "Syndicate Drug Lab" + }, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"Tz" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/carpet/black, +/area/ruin/space/syndicate_druglab) +"TJ" = ( +/obj/effect/decal/warning_stripes/south, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Ue" = ( +/obj/machinery/vending/hydroseeds/syndicate_druglab, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"US" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/wall/mineral/titanium/survival, +/area/ruin/space/syndicate_druglab) +"VC" = ( +/obj/machinery/smartfridge, +/turf/simulated/floor/pod/dark, +/area/ruin/space/syndicate_druglab) +"Wd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/mineral, +/area/ruin/space/syndicate_druglab) +"Xz" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) +"Yw" = ( +/obj/effect/decal/warning_stripes/west, +/turf/simulated/floor/plating, +/area/ruin/space/syndicate_druglab) + +(1,1,1) = {" +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +"} +(2,1,1) = {" +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +"} +(3,1,1) = {" +RS +RS +sb +sb +vZ +vZ +sb +sb +sb +sb +sb +sb +sb +vZ +sb +sb +vZ +vZ +vZ +sb +sb +sb +sb +sb +sb +yI +yI +sb +sb +sb +sb +RS +RS +"} +(4,1,1) = {" +RS +RS +sb +vZ +vZ +sb +sb +sb +vZ +sb +sb +vZ +vZ +vZ +vZ +vZ +vZ +vZ +sb +sb +sb +vZ +vZ +sb +sb +sb +yI +yI +sb +sb +sb +RS +RS +"} +(5,1,1) = {" +RS +RS +sb +vZ +vZ +sb +sb +vZ +sb +sb +sb +xF +xF +xF +xF +vZ +xF +vZ +vZ +vZ +vZ +vZ +vZ +vZ +sb +sb +sb +sb +sb +sb +sb +RS +RS +"} +(6,1,1) = {" +RS +RS +sb +sb +sb +sb +sb +sb +sb +xF +xF +xF +vZ +vZ +xF +xF +xF +xF +xF +vZ +xF +xF +vZ +vZ +sb +sb +sb +sb +sb +vZ +vZ +RS +RS +"} +(7,1,1) = {" +RS +RS +sb +sb +sb +sb +sb +sb +xF +xF +vZ +vZ +vZ +xF +xF +xF +xF +vZ +xF +xF +xF +vZ +vZ +sb +sb +sb +sb +sb +sb +vZ +vZ +RS +RS +"} +(8,1,1) = {" +RS +RS +sb +sb +vZ +xF +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +xF +QL +xF +vZ +vZ +vZ +xF +xF +xF +xF +sb +sb +sb +sb +sb +sb +sb +RS +RS +"} +(9,1,1) = {" +RS +RS +sb +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +xF +vZ +vZ +xF +xF +xF +xF +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +sb +sb +sb +sb +RS +RS +"} +(10,1,1) = {" +RS +RS +sb +vZ +yI +vZ +vZ +vZ +vZ +vZ +xF +xF +xF +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +yI +vZ +sb +vZ +sb +sb +RS +RS +"} +(11,1,1) = {" +RS +RS +sb +sb +yI +yI +vZ +vZ +xF +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +vZ +vZ +vZ +vZ +xF +vZ +vZ +yI +yI +sb +sb +sb +vZ +RS +RS +"} +(12,1,1) = {" +RS +RS +vZ +sb +yI +yI +vZ +vZ +xF +Nr +uC +sD +nP +Hj +nP +nP +dL +Nr +vZ +vZ +vZ +xF +xF +ue +vZ +vZ +vZ +sb +sb +sb +sb +RS +RS +"} +(13,1,1) = {" +RS +RS +sb +sb +vZ +vZ +vZ +xF +xF +Nr +nP +HP +os +os +os +tL +os +Nr +Nr +vZ +xF +ue +xF +xF +xF +vZ +vZ +xF +sb +sb +sb +RS +RS +"} +(14,1,1) = {" +RS +RS +sb +xF +vZ +vZ +vZ +xF +xF +Nr +nP +qD +VC +Im +nc +os +os +en +Nr +vZ +xF +DG +qf +nj +oi +xF +xF +xF +xF +sb +sb +RS +RS +"} +(15,1,1) = {" +RS +RS +vZ +xF +xF +vZ +vZ +vZ +vZ +Nr +nP +os +yV +Rk +cq +os +os +Ue +Nr +vZ +vZ +Gm +ue +xF +vZ +vZ +vZ +xF +xF +xF +sb +RS +RS +"} +(16,1,1) = {" +RS +RS +vZ +xF +xF +xF +xF +vZ +vZ +Nr +nP +qa +tL +os +os +jE +tL +Nr +Nr +vZ +vZ +Wd +vZ +vZ +vZ +vZ +vZ +vZ +vZ +xF +vZ +RS +RS +"} +(17,1,1) = {" +RS +RS +vZ +xF +xF +QL +xF +vZ +vZ +Nr +mO +os +nP +Pd +nP +nP +dL +Nr +vZ +vZ +vZ +Wd +vZ +vZ +vZ +vZ +vZ +xF +xF +xF +vZ +RS +RS +"} +(18,1,1) = {" +RS +RS +vZ +xF +xF +xF +xF +vZ +Nr +Nr +Fx +kG +Fx +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +US +Nr +vZ +vZ +xF +xF +xF +vZ +vZ +vZ +RS +RS +"} +(19,1,1) = {" +RS +RS +vZ +xF +vZ +xF +xF +vZ +Nr +xO +os +os +tf +Nr +Fz +Nr +gI +LQ +rn +ym +te +vz +Nr +vZ +xF +xF +xF +xF +xF +vZ +vZ +RS +RS +"} +(20,1,1) = {" +RS +RS +sb +xF +vZ +vZ +vZ +vZ +Nr +BD +os +os +gU +SG +wD +FE +Pl +II +gI +gI +gI +Oy +Nr +vZ +xF +QL +xF +xF +vZ +vZ +vZ +RS +RS +"} +(21,1,1) = {" +RS +RS +vZ +xF +xF +xF +vZ +vZ +Nr +JP +HR +os +os +Nr +Nr +Nr +gI +TJ +gI +gI +gI +Oy +Nr +vZ +xF +xF +xF +xF +xF +yI +sb +RS +RS +"} +(22,1,1) = {" +RS +RS +vZ +vZ +xF +xF +vZ +vZ +Nr +Nr +Fx +rJ +Fx +Nr +AE +gI +gI +KI +gI +gI +gI +Oy +Nr +vZ +vZ +xF +xF +xF +xF +yI +sb +RS +RS +"} +(23,1,1) = {" +RS +RS +sb +yI +yI +xF +vZ +vZ +xF +Nr +Fq +wh +pI +Nr +fb +gI +gI +KI +gI +gI +gI +Oy +Nr +vZ +vZ +vZ +xF +vZ +xF +yI +sb +RS +RS +"} +(24,1,1) = {" +RS +RS +sb +sb +xF +xF +vZ +vZ +xF +Nr +ig +wh +Tz +Nr +hJ +Xz +mA +AI +Oz +Yw +Yw +Ou +Nr +vZ +vZ +vZ +vZ +vZ +xF +sb +vZ +RS +RS +"} +(25,1,1) = {" +RS +RS +sb +sb +xF +vZ +vZ +vZ +xF +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +fW +fW +fW +Nr +Nr +vZ +vZ +vZ +vZ +xF +xF +sb +vZ +RS +RS +"} +(26,1,1) = {" +RS +RS +sb +sb +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +vZ +xF +xF +xF +xF +xF +xF +xF +xF +xF +vZ +vZ +vZ +xF +sb +sb +sb +RS +RS +"} +(27,1,1) = {" +RS +RS +sb +sb +vZ +vZ +vZ +yI +yI +vZ +vZ +vZ +vZ +vZ +vZ +xF +QL +xF +xF +xF +xF +xF +Dj +xF +vZ +vZ +vZ +sb +sb +sb +sb +RS +RS +"} +(28,1,1) = {" +RS +RS +sb +sb +vZ +vZ +vZ +yI +yI +yI +vZ +yI +yI +vZ +vZ +xF +xF +xF +xF +xF +xF +xF +xF +xF +vZ +yI +yI +sb +vZ +sb +sb +RS +RS +"} +(29,1,1) = {" +RS +RS +sb +sb +vZ +vZ +vZ +vZ +vZ +vZ +vZ +yI +vZ +vZ +vZ +xF +xF +vZ +xF +xF +xF +vZ +xF +xF +vZ +yI +yI +sb +sb +sb +sb +RS +RS +"} +(30,1,1) = {" +RS +RS +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +vZ +vZ +vZ +xF +xF +xF +vZ +vZ +vZ +sb +sb +sb +sb +sb +sb +sb +RS +RS +"} +(31,1,1) = {" +RS +RS +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +xF +xF +xF +sb +sb +sb +sb +sb +sb +sb +sb +sb +sb +RS +RS +"} +(32,1,1) = {" +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +"} +(33,1,1) = {" +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +RS +"} diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 4dd2a53f64f..66181ae282c 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -213,3 +213,11 @@ description = "Mystery to be solved." suffix = "lavaland_surface_puzzle.dmm" cost = 5 + +/datum/map_template/ruin/lavaland/monster_nest + name = "Monster Nest" + id = "monsternest" + description = "A cave of several tunnels, housing the local fauna deep underground." + suffix = "lavaland_surface_monster_nest.dmm" + allow_duplicates = FALSE + cost = 5 diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 2a4e43821ac..c1788091428 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -218,6 +218,14 @@ name = "Drug Lab" description = "An old abandoned \"Chemistry\" site, which has a strong aura of amphetamines around it." +/datum/map_template/ruin/space/syndicatedruglab + id = "syndicatedruglab" + suffix = "syndicatedruglab.dmm" + name = "Suspicious Station" + description = "A syndicate drug laboratory hidden on an asteroid. It is strangely well-protected." + allow_duplicates = FALSE + cost = 3 + /datum/map_template/ruin/space/syndiedepot id = "syndiedepot" suffix = "syndiedepot.dmm" diff --git a/code/game/area/areas/depot-areas.dm b/code/game/area/areas/depot-areas.dm index 8b9790d2d7e..c43a2651bc1 100644 --- a/code/game/area/areas/depot-areas.dm +++ b/code/game/area/areas/depot-areas.dm @@ -474,6 +474,7 @@ continue moblist += M return moblist + /area/syndicate_depot/outer name = "Suspicious Asteroid" icon_state = "green" diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index d4c387847f3..342d2a9214e 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -137,3 +137,11 @@ name = "Derelict EVA Storage" icon_state = "eva" +/area/ruin/space/syndicate_druglab + name = "Suspicious Station" + icon_state = "red" + +/area/ruin/space/syndicate_druglab/asteroid + name = "Suspicious Asteroid" + icon_state = "dark" + requires_power = FALSE diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index df9e4bdaeb8..943f241c892 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1299,6 +1299,20 @@ contraband = list(/obj/item/reagent_containers/glass/bottle/ammonia = 10,/obj/item/reagent_containers/glass/bottle/diethylamine = 5) refill_canister = /obj/item/vending_refill/hydronutrients +/obj/machinery/vending/hydronutrients/syndicate_druglab + products = list(/obj/item/reagent_containers/glass/bottle/nutrient/ez = 12, + /obj/item/reagent_containers/glass/bottle/nutrient/l4z = 2, + /obj/item/reagent_containers/glass/bottle/nutrient/rh = 3, + /obj/item/reagent_containers/spray/pestspray = 7, + /obj/item/reagent_containers/syringe = 11, + /obj/item/storage/bag/plants = 2, + /obj/item/cultivator = 3, + /obj/item/shovel/spade = 2, + /obj/item/plant_analyzer = 2, + /obj/item/reagent_containers/glass/bottle/ammonia = 6, + /obj/item/reagent_containers/glass/bottle/diethylamine = 8) + contraband = list() + /obj/machinery/vending/hydroseeds name = "\improper MegaSeed Servitor" desc = "When you need seeds fast!" @@ -1362,6 +1376,18 @@ premium = list(/obj/item/reagent_containers/spray/waterflower = 1) refill_canister = /obj/item/vending_refill/hydroseeds +/obj/machinery/vending/hydroseeds/syndicate_druglab + products = list(/obj/item/seeds/ambrosia/deus = 2, + /obj/item/seeds/cannabis = 2, + /obj/item/seeds/coffee = 3, + /obj/item/seeds/liberty = 2, + /obj/item/seeds/cannabis/rainbow = 1, + /obj/item/seeds/reishi = 2, + /obj/item/seeds/tobacco = 1) + contraband = list() + premium = list() + refill_canister = null + /obj/machinery/vending/magivend name = "\improper MagiVend" desc = "A magic vending machine." diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 5744418df9c..067a16a4bce 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -133,6 +133,9 @@ icon_state = "lampgreen" item_state = "lampgreen" +/obj/item/flashlight/lamp/green/off + on = FALSE + /obj/item/flashlight/lamp/verb/toggle_light() set name = "Toggle light" set category = "Object" diff --git a/code/game/objects/structures/nest.dm b/code/game/objects/structures/nest.dm new file mode 100644 index 00000000000..bfd5a6ef6b3 --- /dev/null +++ b/code/game/objects/structures/nest.dm @@ -0,0 +1,71 @@ +// Nests spawn mobs and objects when crossed by players. + +// Once a nest is triggered, it picks a mob from 'spawn_mob_options', then +// looks around in 'spawn_trigger_distance' distance and activates all nests +// in that area. After a few seconds, the selected mob spawns from every +// triggered nest, alongside with some items dictated by 'spawn_byproduct'. +// Once spawned, the nests become inactive by the 'spawn_is_triggered' variable +// becoming TRUE. + +/obj/structure/nest + name = "tunnel" + desc = "A twisted, dark passage to the underground." + icon = 'icons/mob/nest.dmi' + icon_state = "hole" + + move_resist = INFINITY + anchored = TRUE + density = FALSE + + var/faction = list("hostile") // If you spawn auto-attacking mobs, make sure that their faction and the nest's is the same + var/spawn_byproduct = list(/obj/item/stack/ore/glass, /obj/item/stack/ore/iron) // When mobs spawn, these items also spawn on top of the tunnel + var/spawn_byproduct_max = 3 // Maximum number of item spawns + var/spawn_is_triggered = FALSE // This is set to TRUE once the nest is triggered, preventing multiple triggers; set it to FALSE to re-activate it + var/spawn_max = 2 // Maximum number of mob spawns + var/spawn_mob_options = list(/mob/living/simple_animal/crab) // The nest picks one mob type of this list and spawns them + var/spawn_trigger_distance = 7 // The triggered nest will look this many tiles around itself to find other triggerable nests + +/obj/structure/nest/examine(mob/user) + . = ..() + if(!spawn_is_triggered) + . += "You can hear a cacophony of growling snores from within." + +/obj/structure/nest/attack_animal(mob/living/simple_animal/M) + if(faction_check(faction, M.faction, FALSE) && !M.client) + return + ..() + +/obj/structure/nest/Crossed(atom/movable/AM) + if(spawn_is_triggered) + return + if(!isliving(AM)) + return + var/mob/living/L = AM + if(!L.mind) + return + + try_spawn(L) + +/obj/structure/nest/proc/try_spawn(mob/living/L) + var/chosen_mob = pick(spawn_mob_options) + + to_chat(L, "As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!") + playsound(src, 'sound/effects/break_stone.ogg', 50, 1) + for(var/obj/structure/nest/N in range(spawn_trigger_distance, src)) + N.spawn_is_triggered = TRUE + addtimer(CALLBACK(N, /obj/structure/nest/.proc/spawn_mob, chosen_mob), rand(2, 5) SECONDS) + +/obj/structure/nest/proc/spawn_mob(mob/M) + var/byproduct = pick(spawn_byproduct) + new byproduct(get_turf(src), rand(1, spawn_byproduct_max)) + + for(var/i in 1 to spawn_max) + var/mob/spawned_mob = new M(get_turf(src)) + visible_message("\A [spawned_mob.name] crawls out of \the [name]!") + +/obj/structure/nest/lavaland + spawn_mob_options = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast, /mob/living/simple_animal/hostile/asteroid/goldgrub) + +/obj/structure/nest/carppuppy + spawn_mob_options = list(/mob/living/simple_animal/hostile/carp, /mob/living/simple_animal/pet/dog/corgi/puppy/void) + spawn_trigger_distance = 3 diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index c635b0eac4d..1e671393142 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -401,6 +401,27 @@ playsound(loc, 'sound/effects/sparks4.ogg', 60, TRUE) emagged = TRUE +/obj/machinery/smartfridge/food + name = "\improper Food Storage" + desc = "A fridge for storing and keeping your food cold." + +/obj/machinery/smartfridge/food/Initialize(mapload) + . = ..() + accepted_items_typecache = typecacheof(list( + /obj/item/kitchen, + /obj/item/reagent_containers/food)) + +// Syndicate Druglab Ruin +/obj/machinery/smartfridge/food/syndicate_druglab + starting_items = list( + /obj/item/reagent_containers/food/snacks/boiledrice = 2, + /obj/item/reagent_containers/food/snacks/macncheese = 1, + /obj/item/reagent_containers/food/snacks/syndicake = 3, + /obj/item/reagent_containers/food/snacks/beans = 4, + /obj/item/reagent_containers/glass/beaker/waterbottle/large = 7, + /obj/item/reagent_containers/food/drinks/bottle/kahlua = 1, + /obj/item/reagent_containers/food/drinks/bottle/orangejuice = 2) + /** * # Seed Storage * diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 01ff88ee915..801e430ebe2 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -657,6 +657,14 @@ info = "" footer = "
Failure to adhere appropriately to orders that may be contained herein is in violation of Space Law, and punishments may be administered appropriately upon return to Central Command.
The recipient(s) of this memorandum acknowledge by reading it that they are liable for any and all damages to crew or station that may arise from ignoring suggestions or advice given herein.