diff --git a/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm b/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm index 1abd0beb6d1..86d4f3d4c83 100644 --- a/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm +++ b/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm @@ -7,7 +7,7 @@ /obj/item/evidencebag, /obj/item/organ/heart/cybernetic/tier2, /obj/structure/broken_flooring/pile, -/obj/item/stack/sheet/animalhide/human/five, +/obj/item/stack/sheet/animalhide/carbon/human/five, /turf/open/floor/plating, /area/ruin/space/has_grav/garbagetruck/medicalwaste) "bv" = ( diff --git a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm index 0d2dc322660..fa6ac29a827 100644 --- a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm +++ b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm @@ -710,17 +710,17 @@ /obj/structure/closet/crate/freezer{ name = "cat hide" }, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, /turf/open/floor/iron/freezer, /area/ruin/space/has_grav/powered/cat_man) "ct" = ( diff --git a/_maps/RandomRuins/SpaceRuins/the_outlet.dmm b/_maps/RandomRuins/SpaceRuins/the_outlet.dmm index e9091081636..f5d1ab4912a 100644 --- a/_maps/RandomRuins/SpaceRuins/the_outlet.dmm +++ b/_maps/RandomRuins/SpaceRuins/the_outlet.dmm @@ -207,11 +207,7 @@ /area/ruin/space/has_grav/the_outlet/researchrooms) "fX" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/animalhide/lizard, -/obj/item/stack/sheet/animalhide/lizard, -/obj/item/stack/sheet/animalhide/lizard, -/obj/item/stack/sheet/animalhide/lizard, -/obj/item/stack/sheet/animalhide/lizard, +/obj/item/stack/sheet/animalhide/carbon/lizard/five, /turf/open/floor/iron/freezer, /area/ruin/space/has_grav/the_outlet/researchrooms) "gc" = ( @@ -932,11 +928,11 @@ /area/ruin/space/has_grav/the_outlet/storefront) "wK" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/animalhide/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, +/obj/item/stack/sheet/animalhide/carbon/human, /obj/item/knife/butcher, /turf/open/floor/iron/freezer, /area/ruin/space/has_grav/the_outlet/researchrooms) diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 6919309e561..e4a68375b20 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -3397,17 +3397,6 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"aUY" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 - }, -/obj/item/reagent_containers/syringe, -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/vitals_reader/directional/north, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "aVb" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -3520,16 +3509,6 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"aWu" = ( -/obj/structure/barricade/wooden/crude/snow, -/obj/machinery/light/small/red/directional/north, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "aWD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6579,18 +6558,6 @@ /obj/structure/closet, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"bLC" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 - }, -/obj/item/reagent_containers/syringe, -/obj/effect/turf_decal/tile/blue/full, -/obj/item/radio/intercom/directional/west, -/obj/machinery/vitals_reader/directional/north, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "bLI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6771,6 +6738,17 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"bOp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay North"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bOz" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 1 @@ -8783,6 +8761,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp/security) +"cqK" = ( +/obj/item/stack/sheet/animalhide/carbon/lizard{ + desc = "Landssslidessss, the landssslidesss..."; + name = "Tanks-The-Floor" + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cqL" = ( /obj/machinery/camera/directional/west{ c_tag = "Solar Maintenance - South West Access" @@ -9297,6 +9282,23 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"cyr" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/effect/spawner/surgery_tray/full, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Surgery A"; + network = list("ss13","medbay") + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/surgery/fore) "cyA" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres/delayed{ @@ -10249,14 +10251,6 @@ /obj/structure/closet/crate/wooden/toy, /turf/open/floor/wood/parquet, /area/station/service/theater) -"cLU" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/vitals_reader/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/surgery/fore) "cMd" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/tile/yellow{ @@ -10727,15 +10721,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"cTz" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/barricade/wooden/crude, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres/delayed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cTD" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -11540,6 +11525,12 @@ }, /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) +"def" = ( +/obj/machinery/dna_infuser, +/obj/item/tgui_book/manual/infuser, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "deg" = ( /obj/structure/cable/layer3, /turf/open/floor/circuit, @@ -11588,6 +11579,16 @@ "deY" = ( /turf/open/floor/plating, /area/station/maintenance/fore) +"deZ" = ( +/obj/structure/barricade/wooden/crude/snow, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "dfe" = ( /obj/structure/railing{ dir = 8 @@ -11940,13 +11941,6 @@ dir = 8 }, /area/station/science/ordnance/office) -"djH" = ( -/obj/item/stack/sheet/animalhide/lizard{ - desc = "Landssslidessss, the landssslidesss..."; - name = "Tanks-The-Floor" - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "djO" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Engineering Foyer" @@ -13269,6 +13263,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"dDR" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "dDV" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, @@ -16307,6 +16311,19 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"eye" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres/delayed{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/unres/delayed{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eyf" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16572,11 +16589,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"eCw" = ( -/obj/structure/bookcase/random/reference, -/obj/item/tgui_book/manual/dsm, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) "eCD" = ( /obj/machinery/door/airlock/public/glass{ name = "Prison Common Room" @@ -18244,6 +18256,17 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"fah" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/unres/delayed{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "faq" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/light/directional/west, @@ -21785,17 +21808,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"gdg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/directional/south{ - c_tag = "Medbay North"; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gdv" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, @@ -22300,6 +22312,17 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"gkX" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6 + }, +/obj/item/reagent_containers/syringe, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/vitals_reader/directional/north, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "gkY" = ( /obj/machinery/atmospherics/components/binary/pump/off{ dir = 1; @@ -23876,6 +23899,13 @@ /obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) +"gIl" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cytology Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "gIs" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/siding/wood{ @@ -28328,6 +28358,12 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"hYk" = ( +/obj/structure/barricade/wooden/crude, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "hYy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -28926,31 +28962,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"igr" = ( -/obj/structure/table/glass, -/obj/item/book/manual/wiki/infections{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/medicine{ - pixel_x = -4; - pixel_y = 7 - }, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = 5; - pixel_y = 8 - }, -/obj/effect/turf_decal/tile/blue/full, -/obj/item/tgui_book/manual/dsm{ - pixel_x = -4; - pixel_y = 12 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/cmo) "igt" = ( /obj/structure/chair{ dir = 8 @@ -30736,6 +30747,19 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"iJD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Ordnance Launch Room" + }, +/obj/effect/mapping_helpers/airlock/unres/delayed, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/plating, +/area/station/science/ordnance/testlab) "iJE" = ( /obj/structure/rack, /obj/structure/window/reinforced/spawner/directional/north, @@ -31401,23 +31425,6 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"iSD" = ( -/obj/structure/table/glass, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/effect/spawner/surgery_tray/full, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Surgery A"; - network = list("ss13","medbay") - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/surgery/fore) "iSE" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/cable, @@ -36907,12 +36914,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"kuR" = ( -/obj/structure/barricade/wooden/crude, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "kuT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine/xenobio, @@ -38149,6 +38150,15 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"kMU" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/barricade/wooden/crude, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres/delayed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kMX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -38760,6 +38770,11 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/fore) +"kVg" = ( +/obj/item/stack/sheet/animalhide/carbon/monkey, +/obj/effect/decal/cleanable/blood, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kVl" = ( /obj/effect/landmark/event_spawn, /obj/machinery/light/floor, @@ -41147,17 +41162,6 @@ /obj/structure/sign/nanotrasen/directional/east, /turf/open/floor/iron/dark, /area/station/command/meeting_room) -"lCV" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres/delayed{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "lCY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41265,19 +41269,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lEv" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Ordnance Launch Room" - }, -/obj/effect/mapping_helpers/airlock/unres/delayed, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/plating, -/area/station/science/ordnance/testlab) "lEz" = ( /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, @@ -41580,6 +41571,11 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron, /area/station/tcommsat/computer) +"lIP" = ( +/obj/effect/mapping_helpers/trapdoor_placer, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/medical/medbay/central) "lIQ" = ( /obj/item/restraints/legcuffs/beartrap, /obj/item/restraints/legcuffs/beartrap, @@ -42838,19 +42834,6 @@ dir = 1 }, /area/mine/eva/lower) -"mcC" = ( -/obj/structure/cable, -/obj/structure/table/glass, -/obj/item/stack/sticky_tape/surgical, -/obj/item/stack/medical/bone_gel, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/machinery/camera/directional/south{ - c_tag = "Surgery B"; - network = list("ss13","medbay") - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) "mcF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43199,6 +43182,31 @@ /obj/structure/railing/corner, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"miM" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/infections{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/medicine{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/item/tgui_book/manual/dsm{ + pixel_x = -4; + pixel_y = 12 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/cmo) "miS" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -43233,6 +43241,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"mjH" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/vitals_reader/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/surgery/fore) "mjI" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, @@ -46197,6 +46213,11 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) +"nee" = ( +/obj/structure/bookcase/random/reference, +/obj/item/tgui_book/manual/dsm, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "nef" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -47058,6 +47079,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/less_spawns) +"nqd" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/vitals_reader/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) "nqn" = ( /obj/structure/ladder, /obj/effect/turf_decal/stripes/box, @@ -49055,6 +49084,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"nRd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "nRm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49807,6 +49844,15 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ocf" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cart Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/barricade/wooden/crude/snow, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ocn" = ( /obj/machinery/door/airlock/virology/glass{ name = "Isolation B" @@ -50390,6 +50436,15 @@ dir = 8 }, /area/station/hallway/primary/central/fore) +"okC" = ( +/obj/structure/table, +/obj/item/tgui_book/manual/dsm{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/item/book/manual/wiki/tgc, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "okG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -51684,16 +51739,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"oBC" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "oBD" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/cup/bucket{ @@ -53762,12 +53807,6 @@ /obj/structure/sign/departments/security/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"pew" = ( -/obj/machinery/dna_infuser, -/obj/item/tgui_book/manual/infuser, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/science/genetics) "pez" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_edge{ @@ -54184,6 +54223,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) +"pjP" = ( +/obj/structure/cable, +/obj/structure/table/glass, +/obj/item/stack/sticky_tape/surgical, +/obj/item/stack/medical/bone_gel, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Surgery B"; + network = list("ss13","medbay") + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) "pkf" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -54915,20 +54967,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/mine/eva) -"pvf" = ( -/obj/structure/table/glass, -/obj/item/book/manual/wiki/medicine{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/blue/full, -/obj/item/tgui_book/manual/dsm, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "pvg" = ( /obj/machinery/camera/directional/west{ c_tag = "Aft Primary Hallway North" @@ -56370,13 +56408,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"pQl" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cytology Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "pQo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -56816,11 +56847,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) -"pXe" = ( -/obj/item/stack/sheet/animalhide/monkey, -/obj/effect/decal/cleanable/blood, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "pXh" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -57449,6 +57475,18 @@ "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) +"qfi" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6 + }, +/obj/item/reagent_containers/syringe, +/obj/effect/turf_decal/tile/blue/full, +/obj/item/radio/intercom/directional/west, +/obj/machinery/vitals_reader/directional/north, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "qfs" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/structure/cable, @@ -66511,15 +66549,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) -"sGG" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cart Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/structure/barricade/wooden/crude/snow, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "sGH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70566,6 +70595,21 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) +"tPK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Ordnance Launch Room" + }, +/obj/effect/mapping_helpers/airlock/unres/delayed{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/plating, +/area/station/science/ordnance/testlab) "tPL" = ( /obj/structure/railing{ dir = 1 @@ -71851,11 +71895,6 @@ }, /turf/open/floor/iron/dark/smooth_edge, /area/station/command/eva) -"ukL" = ( -/obj/effect/mapping_helpers/trapdoor_placer, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/medical/medbay/central) "ukN" = ( /obj/structure/table, /obj/machinery/door/poddoor/shutters{ @@ -72485,14 +72524,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"utb" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/vitals_reader/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) "utr" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -73937,15 +73968,6 @@ dir = 8 }, /area/station/command/eva) -"uPJ" = ( -/obj/structure/table, -/obj/item/tgui_book/manual/dsm{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/book/manual/wiki/tgc, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) "uPS" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -74501,19 +74523,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron, /area/station/commons/dorms/laundry) -"vah" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/barricade/wooden/crude, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres/delayed{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/unres/delayed{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vaj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/sign/warning/docking/directional/north, @@ -77071,6 +77080,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"vMt" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/medicine{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/item/tgui_book/manual/dsm, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "vMA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -79106,21 +79129,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/chapel) -"wvv" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Ordnance Launch Room" - }, -/obj/effect/mapping_helpers/airlock/unres/delayed{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/plating, -/area/station/science/ordnance/testlab) "wvw" = ( /obj/structure/fence/cut/medium{ dir = 2 @@ -81301,14 +81309,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/mine/living_quarters) -"xbj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "xbn" = ( /obj/effect/turf_decal/tile/neutral/diagonal_edge, /obj/effect/landmark/event_spawn, @@ -188590,7 +188590,7 @@ xMq xMq iDt iDt -pXe +kVg iDt iDt scw @@ -189102,7 +189102,7 @@ pGS xDb xMq iDt -pXe +kVg pgN deN xMq @@ -190103,7 +190103,7 @@ fwB nNg fwB dom -aWu +deZ psb psb qZZ @@ -191131,7 +191131,7 @@ tpc jre jre jre -sGG +ocf jre jre fuH @@ -192154,7 +192154,7 @@ wFt lvF jre htg -djH +cqK pIh jre jre @@ -197583,7 +197583,7 @@ ffe ffe ffe ffe -pQl +gIl ffe iry jXl @@ -235569,7 +235569,7 @@ wlr qHj gQD lJO -lCV +fah lJO lJO eUf @@ -236665,7 +236665,7 @@ iJh wRu pRj pRj -kuR +hYk kCC lDh pRj @@ -252567,7 +252567,7 @@ azw dnI vHo oIJ -xbj +nRd lwQ tHr tHr @@ -252824,9 +252824,9 @@ azw aXg bGq cTV -gdg +bOp lwQ -bLC +qfi sEK eHg ahL @@ -253079,7 +253079,7 @@ sbc qYV azw gIY -oBC +dDR mcW sFG lwQ @@ -254118,7 +254118,7 @@ dgl evp rEG iEA -pvf +vMt oyB mcp rpM @@ -254882,7 +254882,7 @@ dIL hDq pZm lwQ -aUY +gkX oeW aTZ fle @@ -255392,7 +255392,7 @@ wKe vHf cZd nKa -ukL +lIP cJX krS aOU @@ -255675,7 +255675,7 @@ upd xdl eDc hRA -eCw +nee sIJ llD fDI @@ -256418,7 +256418,7 @@ vBG dkg tLp eLn -igr +miM lQG oxU pxX @@ -256972,7 +256972,7 @@ wPE iJK pyY npD -uPJ +okC waF jmY ptp @@ -257720,13 +257720,13 @@ oRu ccR uKj dDw -iSD +cyr qgu tYA vds uhG liz -mcC +pjP mFE nEc klk @@ -257978,11 +257978,11 @@ sZF sZF sZF fLQ -cLU +mjH qLy vds iCj -utb +nqd eUN mFE fil @@ -261779,7 +261779,7 @@ kKL kKL kKL kKL -cTz +kMU kKL kKL kKL @@ -262039,7 +262039,7 @@ jwF pLv tjN hbI -vah +eye tDy oXm bcC @@ -266192,7 +266192,7 @@ ouX ero itj vAP -pew +def mEJ oXJ fbl @@ -266970,13 +266970,13 @@ rpV fTW bwM voW -lEv +iJD clV wmG jLW nkh tLT -wvv +tPK vqL lEP oEj diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 4b34b40ee63..d9bfcc27e20 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -29,7 +29,7 @@ /obj/item/stack/sheet/plasmarglass = GLOB.prglass_recipes, /obj/item/stack/sheet/animalhide/gondola = GLOB.gondola_recipes, /obj/item/stack/sheet/animalhide/corgi = GLOB.corgi_recipes, - /obj/item/stack/sheet/animalhide/monkey = GLOB.monkey_recipes, + /obj/item/stack/sheet/animalhide/carbon/monkey = GLOB.monkey_recipes, /obj/item/stack/sheet/animalhide/xeno = GLOB.xeno_recipes, /obj/item/stack/sheet/leather = GLOB.leather_recipes, /obj/item/stack/sheet/sinew = GLOB.sinew_recipes, diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index dd14cd4dcde..7c6b9e97373 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -221,7 +221,11 @@ results += butcher_result if (is_stack && amount) - var/obj/item/stack/butcher_result = new drop_type(drop_loc, amount) + var/obj/item/stack/butcher_result = null + if (ispath(drop_type, /obj/item/stack/sheet/animalhide/carbon)) + butcher_result = new drop_type(drop_loc, amount, /*merge = */TRUE, /*mat_override = */null, /*mat_amount = */1, target.skin_tone || target.species_color) + else + butcher_result = new drop_type(drop_loc, amount) if (target.blood_dna_info) butcher_result.add_blood_DNA(target.blood_dna_info.Copy()) results += butcher_result diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm index c0e46325c98..bb21e2e5c08 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/tailoring.dm @@ -219,8 +219,8 @@ /datum/crafting_recipe/lizardboots name = "Lizard Skin Boots" - result = /obj/effect/spawner/random/clothing/lizardboots - reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1) + result = /obj/item/clothing/shoes/cowboy/lizard + reqs = list(/obj/item/stack/sheet/animalhide/carbon/lizard = 1, /obj/item/stack/sheet/leather = 1) time = 6 SECONDS category = CAT_CLOTHING @@ -264,7 +264,7 @@ name = "Lizard Cloche Hat" result = /obj/item/clothing/head/costume/lizard time = 1 SECONDS - reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1) + reqs = list(/obj/item/stack/sheet/animalhide/carbon/lizard = 1) category = CAT_CLOTHING /datum/crafting_recipe/kittyears diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm index 55edfe28dab..3cfad1fef7f 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm @@ -658,6 +658,15 @@ name = "Glow Shoes (Worn)" icon_file = 'icons/mob/clothing/feet.dmi' +/datum/greyscale_config/lizard_shoes + name = "Lizardskin Boots" + icon_file = 'icons/obj/clothing/shoes.dmi' + json_config = 'code/datums/greyscale/json_configs/lizard_shoes.json' + +/datum/greyscale_config/lizard_shoes/worn + name = "Lizardskin Boots (Worn)" + icon_file = 'icons/mob/clothing/feet.dmi' + // // ACCESSORIES // @@ -891,6 +900,15 @@ name = "Jester Hat (Worn)" icon_file = 'icons/mob/clothing/head/costume.dmi' +/datum/greyscale_config/lizard_hat + name = "Lizardskin Cloche Hat" + icon_file = 'icons/obj/clothing/head/costume.dmi' + json_config = 'code/datums/greyscale/json_configs/lizard_hat.json' + +/datum/greyscale_config/lizard_hat/worn + name = "Lizardskin Cloche Hat (Worn)" + icon_file = 'icons/mob/clothing/head/costume.dmi' + /datum/greyscale_config/fedora name = "Fedora" icon_file = 'icons/obj/clothing/head/hats.dmi' diff --git a/code/datums/greyscale/json_configs/lizard_hat.json b/code/datums/greyscale/json_configs/lizard_hat.json new file mode 100644 index 00000000000..34e3e2b3b22 --- /dev/null +++ b/code/datums/greyscale/json_configs/lizard_hat.json @@ -0,0 +1,10 @@ +{ + "lizard_hat": [ + { + "type": "icon_state", + "icon_state": "lizard_hat", + "blend_mode": "overlay", + "color_ids": [1] + } + ] +} diff --git a/code/datums/greyscale/json_configs/lizard_shoes.json b/code/datums/greyscale/json_configs/lizard_shoes.json new file mode 100644 index 00000000000..dc178647a6e --- /dev/null +++ b/code/datums/greyscale/json_configs/lizard_shoes.json @@ -0,0 +1,15 @@ +{ + "lizardboots": [ + { + "type": "icon_state", + "icon_state": "lizardboots", + "blend_mode": "overlay", + "color_ids": [1] + }, + { + "type": "icon_state", + "icon_state": "lizardboots_overlay", + "blend_mode": "overlay" + } + ] +} diff --git a/code/game/objects/effects/spawners/random/animalhide.dm b/code/game/objects/effects/spawners/random/animalhide.dm index 4fd0b3fa4d5..1a63acf2899 100644 --- a/code/game/objects/effects/spawners/random/animalhide.dm +++ b/code/game/objects/effects/spawners/random/animalhide.dm @@ -6,13 +6,13 @@ /obj/item/stack/sheet/leather/five = 70, /obj/item/stack/sheet/animalhide/corgi/five = 10, /obj/item/stack/sheet/animalhide/cat/five = 10, - /obj/item/stack/sheet/animalhide/monkey/five = 10, + /obj/item/stack/sheet/animalhide/carbon/monkey/five = 10, /obj/item/stack/sheet/animalhide/mothroach/five = 5, /obj/item/stack/sheet/animalhide/carp/five = 5, /obj/item/stack/sheet/sinew/wolf = 2, /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 2, /obj/item/stack/sheet/animalhide/xeno/five = 1, - /obj/item/stack/sheet/animalhide/lizard/five = 1, - /obj/item/stack/sheet/animalhide/human/five = 1, + /obj/item/stack/sheet/animalhide/carbon/lizard/five = 1, + /obj/item/stack/sheet/animalhide/carbon/human/five = 1, /obj/item/stack/sheet/animalhide/gondola = 1, ) diff --git a/code/game/objects/items/stacks/license_plates.dm b/code/game/objects/items/stacks/license_plates.dm index ece53770f9f..3b4222602ce 100644 --- a/code/game/objects/items/stacks/license_plates.dm +++ b/code/game/objects/items/stacks/license_plates.dm @@ -5,6 +5,7 @@ icon_state = "empty_plate" novariants = FALSE max_amount = 50 + abstract_type = /obj/item/stack/license_plates /obj/item/stack/license_plates/empty name = "empty license plate" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 9bb9ae896fe..7ad2a3e24d4 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -7,24 +7,62 @@ merge_type = /obj/item/stack/sheet/animalhide pickup_sound = 'sound/items/handling/materials/skin_pick_up.ogg' drop_sound = 'sound/items/handling/materials/skin_drop.ogg' + abstract_type = /obj/item/stack/sheet/animalhide -/obj/item/stack/sheet/animalhide/human +/// Subtype of skin to be dropped by carbon mobs as a result of being butchered, potentially inheriting their body color +/obj/item/stack/sheet/animalhide/carbon + abstract_type = /obj/item/stack/sheet/animalhide/carbon + /// Color of our skin, if we were created from a mob being butchered + var/skin_color = null + /// Should we recolor our sprite and prevent merging of stacks of different skin colors? + var/uses_skin_color = FALSE + +/obj/item/stack/sheet/animalhide/carbon/Initialize(mapload, new_amount, merge, list/mat_override, mat_amt, new_skin_color) + . = ..() + if (!skin_color) + set_skin_color(new_skin_color || get_random_skin_color()) + +/obj/item/stack/sheet/animalhide/carbon/can_merge(obj/item/stack/sheet/animalhide/carbon/check, inhand) + . = ..() + if (!. || !uses_skin_color) + return + return check.skin_color == skin_color // segregation, in my human butcher shop? how queer! + +/obj/item/stack/sheet/animalhide/carbon/proc/set_skin_color(new_skin_color) + skin_color = new_skin_color + if (skin_color && uses_skin_color) + add_atom_colour(skin_color, FIXED_COLOUR_PRIORITY) + else + remove_atom_colour(FIXED_COLOUR_PRIORITY) + +/obj/item/stack/sheet/animalhide/carbon/split_stack(amount) + var/obj/item/stack/sheet/animalhide/carbon/new_stack = ..() + if (!new_stack) + return + new_stack.set_skin_color(skin_color) + return new_stack + +/// Select a random skin color to spawn +/obj/item/stack/sheet/animalhide/carbon/proc/get_random_skin_color() + return null + +/obj/item/stack/sheet/animalhide/carbon/human name = "human skin" desc = "The by-product of human farming." singular_name = "human skin piece" novariants = FALSE - merge_type = /obj/item/stack/sheet/animalhide/human + merge_type = /obj/item/stack/sheet/animalhide/carbon/human GLOBAL_LIST_INIT(human_recipes, list( \ new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5, crafting_flags = NONE, category = CAT_CLOTHING), \ new/datum/stack_recipe("human skin hat", /obj/item/clothing/head/fedora/human_leather, 1, crafting_flags = NONE, category = CAT_CLOTHING), \ )) -/obj/item/stack/sheet/animalhide/human/get_main_recipes() +/obj/item/stack/sheet/animalhide/carbon/human/get_main_recipes() . = ..() . += GLOB.human_recipes -/obj/item/stack/sheet/animalhide/human/five +/obj/item/stack/sheet/animalhide/carbon/human/five amount = 5 /obj/item/stack/sheet/animalhide/generic @@ -93,35 +131,39 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \ /obj/item/stack/sheet/animalhide/cat/five amount = 5 -/obj/item/stack/sheet/animalhide/monkey +/obj/item/stack/sheet/animalhide/carbon/monkey name = "monkey hide" desc = "The by-product of monkey farming." singular_name = "monkey hide piece" icon_state = "sheet-monkey" inhand_icon_state = null - merge_type = /obj/item/stack/sheet/animalhide/monkey + merge_type = /obj/item/stack/sheet/animalhide/carbon/monkey GLOBAL_LIST_INIT(monkey_recipes, list ( \ new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, crafting_flags = NONE, category = CAT_CLOTHING), \ new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/costume/monkeysuit, 2, crafting_flags = NONE, category = CAT_CLOTHING), \ )) -/obj/item/stack/sheet/animalhide/monkey/get_main_recipes() +/obj/item/stack/sheet/animalhide/carbon/monkey/get_main_recipes() . = ..() . += GLOB.monkey_recipes -/obj/item/stack/sheet/animalhide/monkey/five +/obj/item/stack/sheet/animalhide/carbon/monkey/five amount = 5 -/obj/item/stack/sheet/animalhide/lizard +/obj/item/stack/sheet/animalhide/carbon/lizard name = "lizard skin" desc = "Sssssss..." singular_name = "lizard skin piece" icon_state = "sheet-lizard" inhand_icon_state = null - merge_type = /obj/item/stack/sheet/animalhide/lizard + merge_type = /obj/item/stack/sheet/animalhide/carbon/lizard + uses_skin_color = TRUE -/obj/item/stack/sheet/animalhide/lizard/five +/obj/item/stack/sheet/animalhide/carbon/lizard/get_random_skin_color() + return sanitize_hexcolor("[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]") + +/obj/item/stack/sheet/animalhide/carbon/lizard/five amount = 5 /obj/item/stack/sheet/animalhide/xeno diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index a8169276d89..ca0585c6f9f 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -29,6 +29,9 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_NO_MATERIALS, category = CAT_MISC), \ )) +/obj/item/stack/sheet/mineral + abstract_type = /obj/item/stack/sheet/mineral + /obj/item/stack/sheet/mineral/sandstone name = "sandstone brick" desc = "This appears to be a combination of both sand and stone." diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 547cda399d8..51a224e8d60 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -80,7 +80,7 @@ ///What type of wall does this sheet spawn var/walltype -/obj/item/stack/Initialize(mapload, new_amount = amount, merge = TRUE, list/mat_override=null, mat_amt=1) +/obj/item/stack/Initialize(mapload, new_amount = amount, merge = TRUE, list/mat_override = null, mat_amt = 1) amount = new_amount if(amount <= 0) stack_trace("invalid amount [amount]!") diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index 5046627f014..269a676c3d8 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -122,7 +122,7 @@ name = "Monkey Hide" description = "One of the scientists at CentCom is interested in testing products on monkey skin. Your mission is to acquire monkey's hide and ship it." reward = CARGO_CRATE_VALUE * 3 - wanted_types = list(/obj/item/stack/sheet/animalhide/monkey = TRUE) + wanted_types = list(/obj/item/stack/sheet/animalhide/carbon/monkey = TRUE) /datum/bounty/item/assistant/dead_mice name = "Dead Mice" diff --git a/code/modules/cargo/exports/sheets.dm b/code/modules/cargo/exports/sheets.dm index ebc821fcb4d..a3e51688dae 100644 --- a/code/modules/cargo/exports/sheets.dm +++ b/code/modules/cargo/exports/sheets.dm @@ -13,13 +13,13 @@ /datum/export/stack/monkey cost = CARGO_CRATE_VALUE * 0.25 unit_name = "monkey hide" - export_types = list(/obj/item/stack/sheet/animalhide/monkey) + export_types = list(/obj/item/stack/sheet/animalhide/carbon/monkey) /datum/export/stack/human cost = CARGO_CRATE_VALUE * 0.5 unit_name = "piece" message = "of human skin" - export_types = list(/obj/item/stack/sheet/animalhide/human) + export_types = list(/obj/item/stack/sheet/animalhide/carbon/human) /datum/export/stack/goliath_hide cost = CARGO_CRATE_VALUE @@ -39,7 +39,7 @@ /datum/export/stack/lizard cost = CARGO_CRATE_VALUE * 0.75 unit_name = "lizard hide" - export_types = list(/obj/item/stack/sheet/animalhide/lizard) + export_types = list(/obj/item/stack/sheet/animalhide/carbon/lizard) /datum/export/stack/gondola cost = CARGO_CRATE_VALUE * 10 diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index 21ac5aa8047..93c085f9fc1 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -244,7 +244,19 @@ /obj/item/clothing/head/costume/lizard name = "lizardskin cloche hat" desc = "How many lizards died to make this hat? Not enough." - icon_state = "lizard" + icon = 'icons/map_icons/clothing/head/_head.dmi' + icon_state = "/obj/item/clothing/head/costume/lizard" + post_init_icon_state = "lizard_hat" + greyscale_config = /datum/greyscale_config/lizard_hat + greyscale_config_worn = /datum/greyscale_config/lizard_hat/worn + greyscale_colors = "#859333" + +/obj/item/clothing/head/costume/lizard/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) + var/obj/item/stack/sheet/animalhide/carbon/lizard/skin = locate() in components + if (isnull(skin) || !length(skin.skin_color)) // what + return ..() + set_greyscale(skin.skin_color) + return ..() /obj/item/clothing/head/costume/scarecrow_hat name = "scarecrow hat" diff --git a/code/modules/clothing/shoes/cowboy.dm b/code/modules/clothing/shoes/cowboy.dm index 13f393c72ca..a62785c008d 100644 --- a/code/modules/clothing/shoes/cowboy.dm +++ b/code/modules/clothing/shoes/cowboy.dm @@ -85,19 +85,31 @@ bio = 95 /obj/item/clothing/shoes/cowboy/lizard - name = "lizard skin boots" + name = "lizardskin boots" desc = "You can hear a faint hissing from inside the boots; you hope it is just a mournful ghost." - icon_state = "lizardboots_green" + icon = 'icons/map_icons/clothing/shoes.dmi' + icon_state = "/obj/item/clothing/shoes/cowboy/lizard" + post_init_icon_state = "lizardboots" + greyscale_config = /datum/greyscale_config/lizard_shoes + greyscale_config_worn = /datum/greyscale_config/lizard_shoes/worn + greyscale_colors = "#859333" armor_type = /datum/armor/cowboy_lizard /datum/armor/cowboy_lizard bio = 90 fire = 40 +/obj/item/clothing/shoes/cowboy/lizard/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) + var/obj/item/stack/sheet/animalhide/carbon/lizard/skin = locate() in components + if (isnull(skin) || !length(skin.skin_color)) // what + return ..() + set_greyscale(skin.skin_color) + return ..() + /obj/item/clothing/shoes/cowboy/lizard/masterwork - name = "\improper Hugs-The-Feet lizard skin boots" + name = "\improper Hugs-The-Feet lizardskin boots" desc = "A pair of masterfully crafted lizard skin boots. Finally a good application for the station's most bothersome inhabitants." - icon_state = "lizardboots_blue" + greyscale_colors = "#3e76a7" /// Shoes for the nuke-ops cowboy fit /obj/item/clothing/shoes/cowboy/black/syndicate diff --git a/code/modules/food_and_drinks/machinery/gibber.dm b/code/modules/food_and_drinks/machinery/gibber.dm index 4900924da36..050ebd9ba49 100644 --- a/code/modules/food_and_drinks/machinery/gibber.dm +++ b/code/modules/food_and_drinks/machinery/gibber.dm @@ -256,6 +256,13 @@ results += spawn_meat(victim, drop_type, diseases) continue + if (ispath(drop_type, /obj/item/stack)) + if (ispath(drop_type, /obj/item/stack/sheet/animalhide/carbon)) + results += new drop_type(src, amount, /*merge = */TRUE, /*mat_override = */null, /*mat_amount = */1, limb.skin_tone || limb.species_color) + else + results += new drop_type(src, amount) + continue + for (var/i in 1 to amount) results += new drop_type(src) diff --git a/code/modules/mob/living/basic/clown/clown.dm b/code/modules/mob/living/basic/clown/clown.dm index 4fa1738d749..7a135e74317 100644 --- a/code/modules/mob/living/basic/clown/clown.dm +++ b/code/modules/mob/living/basic/clown/clown.dm @@ -149,7 +149,7 @@ /obj/effect/gibspawner/human, /obj/item/clothing/mask/gas/clown_hat, /obj/item/food/meatclown, - /obj/item/stack/sheet/animalhide/human, + /obj/item/stack/sheet/animalhide/carbon/human, ) emotes = list( BB_EMOTE_SAY = list( diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index af665cb07eb..90f1ecb3fb1 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -26,7 +26,7 @@ mutantears = /obj/item/organ/ears/dullahan mutantstomach = null mutantlungs = null - skinned_type = /obj/item/stack/sheet/animalhide/human + skinned_type = /obj/item/stack/sheet/animalhide/carbon/human changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN /// The dullahan relay that's associated with the owner, used to handle many things such as talking and hearing. diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 3baf2e59d44..15481ab8870 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -4,7 +4,7 @@ inherent_traits = list( TRAIT_USES_SKINTONES, ) - skinned_type = /obj/item/stack/sheet/animalhide/human + skinned_type = /obj/item/stack/sheet/animalhide/carbon/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1.1 diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 55cd2e61dcb..fe55ba44a04 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -26,7 +26,7 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_cookie = /obj/item/food/meat/slab meat = /obj/item/food/meat/slab/human/mutant/lizard - skinned_type = /obj/item/stack/sheet/animalhide/lizard + skinned_type = /obj/item/stack/sheet/animalhide/carbon/lizard exotic_bloodtype = BLOOD_TYPE_LIZARD inert_mutation = /datum/mutation/firebreath death_sound = 'sound/mobs/humanoids/lizard/deathsound.ogg' diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index ddc365c4ec2..a77aee8473a 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -8,9 +8,9 @@ ) mutanttongue = /obj/item/organ/tongue/monkey mutantbrain = /obj/item/organ/brain/primate - skinned_type = /obj/item/stack/sheet/animalhide/monkey + skinned_type = /obj/item/stack/sheet/animalhide/carbon/monkey meat = /obj/item/food/meat/slab/monkey - knife_butcher_results = list(/obj/item/food/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) + knife_butcher_results = list(/obj/item/food/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/carbon/monkey = 1) inherent_traits = list( TRAIT_NO_AUGMENTS, TRAIT_NO_BLOOD_OVERLAY, diff --git a/code/modules/unit_tests/stack_singular_name.dm b/code/modules/unit_tests/stack_singular_name.dm index 0d043c588e6..cd79db7e0b9 100644 --- a/code/modules/unit_tests/stack_singular_name.dm +++ b/code/modules/unit_tests/stack_singular_name.dm @@ -6,13 +6,6 @@ /datum/unit_test/stack_singular_name /datum/unit_test/stack_singular_name/Run() - var/list/blacklist = list( // all of these are generally parents that exist to be overridden; ex. /obj/item/stack/license_plates exists to branch into /filled and /empty - /obj/item/stack/sheet, - /obj/item/stack/sheet/mineral, - /obj/item/stack/license_plates, - /obj/item/stack/sheet/animalhide, - ) - - for(var/obj/item/stack/stack_check as anything in subtypesof(/obj/item/stack) - blacklist) + for(var/obj/item/stack/stack_check as anything in valid_subtypesof(/obj/item/stack)) if(!initial(stack_check.singular_name)) TEST_FAIL("[stack_check] is missing a singular name!") diff --git a/icons/map_icons/clothing/head/_head.dmi b/icons/map_icons/clothing/head/_head.dmi index c90615330a2..567646e1af5 100644 Binary files a/icons/map_icons/clothing/head/_head.dmi and b/icons/map_icons/clothing/head/_head.dmi differ diff --git a/icons/map_icons/clothing/shoes.dmi b/icons/map_icons/clothing/shoes.dmi index 1381efbf904..97712fd9724 100644 Binary files a/icons/map_icons/clothing/shoes.dmi and b/icons/map_icons/clothing/shoes.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index 997ae8034a1..5302374caab 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/head/costume.dmi b/icons/mob/clothing/head/costume.dmi index 4c8b6de70f4..ea18067ebc1 100644 Binary files a/icons/mob/clothing/head/costume.dmi and b/icons/mob/clothing/head/costume.dmi differ diff --git a/icons/obj/clothing/head/costume.dmi b/icons/obj/clothing/head/costume.dmi index d09a9c94170..9e3ad9e212c 100644 Binary files a/icons/obj/clothing/head/costume.dmi and b/icons/obj/clothing/head/costume.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index baaa0d6b4d3..60e1ced0cd2 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index f449919f2d7..0daa5fc8dd0 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/tools/UpdatePaths/Scripts/94751_skin_to_carbon.txt b/tools/UpdatePaths/Scripts/94751_skin_to_carbon.txt new file mode 100644 index 00000000000..1f9a684622a --- /dev/null +++ b/tools/UpdatePaths/Scripts/94751_skin_to_carbon.txt @@ -0,0 +1,3 @@ +/obj/item/stack/sheet/animalhide/lizard/@SUBTYPES : /obj/item/stack/sheet/animalhide/carbon/lizard/@SUBTYPES{@OLD} +/obj/item/stack/sheet/animalhide/human/@SUBTYPES : /obj/item/stack/sheet/animalhide/carbon/human/@SUBTYPES{@OLD} +/obj/item/stack/sheet/animalhide/monkey/@SUBTYPES : /obj/item/stack/sheet/animalhide/carbon/monkey/@SUBTYPES{@OLD}