diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_mining_site.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_mining_site.dmm index 0ea4048d127..137ddbbca24 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_mining_site.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_mining_site.dmm @@ -74,9 +74,10 @@ /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "mQ" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) @@ -103,9 +104,10 @@ /area/icemoon/underground/explored) "pi" = ( /obj/effect/turf_decal/weather/snow/corner, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) @@ -121,17 +123,19 @@ /area/icemoon/underground/explored) "rx" = ( /obj/structure/flora/rock/pile/icy, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "rI" = ( /obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) @@ -151,9 +155,10 @@ /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "uN" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) @@ -161,9 +166,10 @@ /obj/effect/turf_decal/weather/snow/corner{ dir = 5 }, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) @@ -171,9 +177,10 @@ /obj/effect/turf_decal/weather/snow/corner{ dir = 1 }, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) @@ -215,9 +222,10 @@ /obj/effect/turf_decal/weather/snow/corner{ dir = 10 }, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) @@ -303,9 +311,10 @@ /obj/effect/turf_decal/weather/snow/corner{ dir = 4 }, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/ice/icemoon, /area/icemoon/underground/explored) diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 09fffa494c8..91c1feb2545 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -2719,9 +2719,10 @@ /area/awaymission/cabin/caves) "pv" = ( /obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/structure/statue/snow/snowlegion{ anchored = 1; @@ -3080,16 +3081,18 @@ "ts" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) "tC" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -3344,9 +3347,10 @@ /turf/open/floor/plating/snowed/snow_cabin, /area/awaymission/cabin/snowforest/sovietsurface) "vJ" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/effect/decal/cleanable/plasma, /turf/open/misc/asteroid/snow/snow_cabin, @@ -3457,9 +3461,10 @@ /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin) "xw" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/structure/statue/snow/snowlegion{ anchored = 1; @@ -3471,9 +3476,10 @@ "xx" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/knife/shiv/carrot, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -3684,9 +3690,10 @@ /area/awaymission/cabin/caves) "zI" = ( /obj/item/weldingtool/mini, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -3926,9 +3933,10 @@ /turf/open/misc/ice/smooth, /area/awaymission/cabin/caves) "Dw" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/effect/decal/cleanable/generic, /turf/open/misc/asteroid/snow/snow_cabin, @@ -4071,9 +4079,10 @@ /turf/open/floor/plating/snowed/smoothed, /area/awaymission/cabin/caves) "EU" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/effect/decal/cleanable/blood/oil, /turf/open/misc/asteroid/snow/snow_cabin, @@ -4473,9 +4482,10 @@ /area/awaymission/cabin/caves) "Lj" = ( /obj/effect/decal/remains/xeno, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -4551,9 +4561,10 @@ /area/awaymission/cabin/snowforest/sovietsurface) "Mk" = ( /obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -4615,9 +4626,10 @@ /turf/open/floor/wood, /area/awaymission/cabin) "Nb" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/effect/decal/remains/xeno/larva, /turf/open/misc/asteroid/snow/snow_cabin, @@ -4736,9 +4748,10 @@ /area/awaymission/cabin/snowforest) "Po" = ( /obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -4856,9 +4869,10 @@ /area/awaymission/cabin/snowforest/sovietsurface) "QT" = ( /obj/item/chair/stool, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) @@ -4893,9 +4907,10 @@ /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/snowforest) "RD" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /mob/living/basic/statue/frosty, /turf/open/misc/asteroid/snow/snow_cabin, @@ -5086,9 +5101,10 @@ /turf/open/floor/wood/freezing, /area/awaymission/cabin/lumbermill) "SS" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/effect/decal/cleanable/molten_object/large, /turf/open/misc/asteroid/snow/snow_cabin, @@ -5148,9 +5164,10 @@ /turf/open/floor/wood, /area/awaymission/cabin) "TU" = ( -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/effect/decal/cleanable/shreds, /turf/open/misc/asteroid/snow/snow_cabin, @@ -5326,9 +5343,10 @@ /area/awaymission/cabin/caves) "WH" = ( /obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /obj/item/clothing/head/helmet/skull, /turf/open/misc/asteroid/snow/snow_cabin, @@ -5424,9 +5442,10 @@ "Yc" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/melee/baseball_bat, -/obj/effect/decal/cleanable/glitter/blue{ +/obj/effect/decal/cleanable/glitter{ desc = "It looks like fancy glitter to me."; - name = "icy wind" + name = "icy wind"; + color = "4040ff" }, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) diff --git a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm index ccae6223121..2d060f22ecc 100644 --- a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm +++ b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm @@ -761,6 +761,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/warden) +"amk" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/spawner/random/clothing/costume, +/obj/effect/spawner/random/clothing/backpack, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "ams" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/blue/corner{ @@ -2469,13 +2476,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"aNF" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/spawner/random/clothing/costume, -/obj/effect/spawner/random/clothing/backpack, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "aNL" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 1 @@ -2899,15 +2899,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/central) -"aVv" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "aVy" = ( /obj/structure/sign/directions/security/directional/north{ dir = 2; @@ -3708,6 +3699,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/cargo/storage) +"bhP" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "bhU" = ( /obj/machinery/igniter/incinerator_ordmix, /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer4{ @@ -12474,6 +12473,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/cafeteria) +"dJx" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/washing_machine, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "dJB" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/door/poddoor/shutters/preopen{ @@ -13002,11 +13008,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/science/robotics) -"dRo" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "dRU" = ( /obj/structure/table/wood, /obj/effect/spawner/random/maintenance, @@ -13058,6 +13059,12 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dSB" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "dSD" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -15957,6 +15964,12 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) +"eLk" = ( +/obj/structure/table, +/obj/machinery/firealarm/directional/west, +/obj/effect/spawner/random/clothing/gloves, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "eLl" = ( /obj/machinery/door/airlock/command{ name = "Captain's Office" @@ -17826,12 +17839,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"foP" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "foR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -18269,13 +18276,6 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"fuy" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/spawner/random/clothing/backpack, -/obj/effect/spawner/random/clothing/backpack, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "fuP" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/floor/glass, @@ -22117,10 +22117,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"gzp" = ( -/obj/structure/closet/wardrobe/grey, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "gzr" = ( /obj/structure/railing{ dir = 4 @@ -27829,14 +27825,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"iiT" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/machinery/space_heater, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "iiV" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/random/entertainment/cigarette_pack, @@ -27852,6 +27840,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"iji" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_x = -3; + pixel_y = 4 + }, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "ijl" = ( /obj/structure/cable, /obj/item/restraints/legcuffs/beartrap/prearmed{ @@ -28595,6 +28591,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/hallway/secondary/construction) +"ivy" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "ivz" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -30668,11 +30671,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"iZD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/decal/cleanable/glitter/pink, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "iZH" = ( /turf/open/space, /area/space) @@ -31180,6 +31178,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/lounge) +"jgM" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jgR" = ( /obj/structure/bonfire/dense, /turf/open/floor/plating, @@ -31663,6 +31668,17 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) +"joU" = ( +/obj/item/tank/internals/plasma/empty, +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jpa" = ( /obj/machinery/vatgrower{ dir = 4 @@ -32497,15 +32513,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) -"jyZ" = ( -/obj/item/tank/internals/plasma/empty, -/obj/effect/decal/cleanable/glitter/pink, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "jzi" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/wood, @@ -32878,13 +32885,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) -"jDG" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/washing_machine, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "jDL" = ( /obj/effect/turf_decal/siding/dark{ dir = 9 @@ -33466,13 +33466,6 @@ /obj/effect/decal/cleanable/confetti, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jMM" = ( -/obj/structure/table, -/obj/structure/bedsheetbin/empty{ - pixel_y = 6 - }, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "jMO" = ( /obj/structure/lattice/catwalk, /obj/structure/table/reinforced, @@ -35261,6 +35254,13 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"knD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "knI" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 8 @@ -36359,6 +36359,16 @@ dir = 4 }, /area/station/service/chapel) +"kDn" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kDC" = ( /obj/structure/railing/corner/end{ dir = 1 @@ -37838,6 +37848,17 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"lcq" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "lcs" = ( /obj/item/storage/box/aquarium_props{ pixel_x = -6; @@ -38803,14 +38824,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"luD" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) "luI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -39802,13 +39815,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lJW" = ( -/obj/structure/table, -/obj/structure/bedsheetbin{ - pixel_y = 6 - }, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "lKb" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -41116,16 +41122,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"mcs" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/directions/engineering/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "mcB" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ @@ -41794,6 +41790,16 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"mnk" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/machinery/space_heater, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mnn" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/welded, @@ -44313,14 +44319,6 @@ /obj/structure/railing, /turf/open/openspace, /area/station/engineering/atmos/upper) -"ncc" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/winterboots, -/obj/machinery/status_display/ai/directional/south, -/obj/effect/spawner/random/clothing/backpack, -/turf/open/floor/iron, -/area/station/commons/dorms) "nck" = ( /obj/machinery/vending/wallmed/directional/south, /turf/open/floor/iron/large, @@ -49021,12 +49019,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/turret_protected/aisat_interior) -"oul" = ( -/obj/machinery/light/directional/north, -/obj/machinery/light_switch/directional/north, -/obj/structure/closet/wardrobe/white, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "ouo" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment{ @@ -49708,10 +49700,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"oEA" = ( -/obj/effect/decal/cleanable/glitter/pink, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "oEI" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/cup/glass/mug/britcup{ @@ -49866,6 +49854,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) +"oHh" = ( +/obj/machinery/light/directional/north, +/obj/machinery/light_switch/directional/north, +/obj/structure/closet/wardrobe/white, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "oHu" = ( /obj/structure/sign/departments/restroom/directional/east, /turf/open/floor/iron/large, @@ -54227,6 +54221,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) +"pST" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/soda_cans/cola{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/effect/spawner/random/entertainment/coin, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "pSY" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -59330,6 +59333,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) +"rwe" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/machinery/status_display/ai/directional/south, +/obj/effect/spawner/random/clothing/backpack, +/turf/open/floor/iron, +/area/station/commons/dorms) "rwh" = ( /turf/closed/wall/r_wall, /area/station/security/medical) @@ -59417,6 +59428,16 @@ /obj/structure/railing/corner, /turf/open/openspace, /area/station/commons/fitness/recreation) +"rxt" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) "rxx" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -61048,15 +61069,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/engine/hull, /area/space/nearstation) -"rWA" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/soda_cans/cola{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/effect/spawner/random/entertainment/coin, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "rWD" = ( /obj/item/flashlight/lantern{ pixel_y = 7 @@ -61142,11 +61154,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) -"rYa" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "rYd" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -62171,14 +62178,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"spm" = ( -/obj/effect/decal/cleanable/glitter/pink, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "spr" = ( /obj/structure/table, /obj/item/hand_labeler{ @@ -63997,14 +63996,6 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sSG" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/mug{ - pixel_x = -3; - pixel_y = 4 - }, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "sSJ" = ( /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/carpet, @@ -64655,6 +64646,13 @@ /obj/effect/spawner/random/structure/shipping_container, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"tcW" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/effect/spawner/random/clothing/backpack, +/turf/open/floor/iron, +/area/station/commons/dorms) "tda" = ( /obj/item/pen, /obj/item/pen/blue, @@ -67635,6 +67633,10 @@ "tYh" = ( /turf/open/floor/plating/airless, /area/station/maintenance/space_hut) +"tYi" = ( +/obj/structure/closet/wardrobe/grey, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "tYl" = ( /obj/structure/closet/crate/silvercrate, /obj/machinery/camera/motion{ @@ -68160,12 +68162,6 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"ugs" = ( -/obj/structure/table, -/obj/machinery/firealarm/directional/west, -/obj/effect/spawner/random/clothing/gloves, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "ugE" = ( /obj/effect/turf_decal/siding/dark, /obj/machinery/airalarm/directional/north, @@ -68298,6 +68294,18 @@ }, /turf/open/floor/iron, /area/station/science/lab) +"uiB" = ( +/obj/effect/decal/cleanable/glitter{ + color = "ff8080" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/directions/engineering/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "uiH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71193,6 +71201,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/security/detectives_office/private_investigators_office) +"uXW" = ( +/obj/structure/table, +/obj/structure/bedsheetbin/empty{ + pixel_y = 6 + }, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "uXZ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/three, @@ -71832,13 +71847,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"vir" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/winterboots, -/obj/effect/spawner/random/clothing/backpack, -/turf/open/floor/iron, -/area/station/commons/dorms) "viv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72357,6 +72365,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"vpp" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/spawner/random/clothing/wardrobe_closet_colored, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "vpt" = ( /obj/structure/chair/pew/right{ dir = 4 @@ -75832,6 +75845,13 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/station/service/library) +"wqE" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/spawner/random/clothing/backpack, +/obj/effect/spawner/random/clothing/backpack, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "wqI" = ( /obj/effect/spawner/random/trash/botanical_waste, /turf/open/floor/plating, @@ -78055,11 +78075,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"wZG" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/spawner/random/clothing/wardrobe_closet_colored, -/turf/open/floor/iron/cafeteria, -/area/station/commons/locker) "wZN" = ( /obj/machinery/door/airlock/wood{ name = "Psychology Storage" @@ -78550,6 +78565,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"xhT" = ( +/obj/structure/table, +/obj/structure/bedsheetbin{ + pixel_y = 6 + }, +/turf/open/floor/iron/cafeteria, +/area/station/commons/locker) "xhX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -116072,10 +116094,10 @@ nyA jph dcE dTL -gzp -rWA -ugs -sSG +tYi +pST +eLk +iji dCm jqo eaw @@ -116329,10 +116351,10 @@ iOE jph heR dTL -wZG +vpp oNp sPC -fuy +wqE dCm rpL lHY @@ -116586,10 +116608,10 @@ jph jph dcE dTL -oul +oHh sjO skC -aNF +amk dCm dCE bLf @@ -116843,10 +116865,10 @@ heR dcE dcE dTL -jDG +dJx uzN oqd -jMM +uXW dCm nZb ayn @@ -117103,7 +117125,7 @@ dTL uNG jQu oqd -lJW +xhT dCm emL bXg @@ -120444,7 +120466,7 @@ pRO tqQ ccZ qMN -vir +tcW dCm tMZ idM @@ -120701,7 +120723,7 @@ pRO gnw qAd vfe -ncc +rwe dCm cNO idM @@ -120958,7 +120980,7 @@ cVN cVN dux ezT -vir +tcW dCm ade rdl @@ -121215,7 +121237,7 @@ olU olU laK ffR -vir +tcW dCm cNO dCm @@ -124646,7 +124668,7 @@ koi boq wKb jCK -aVv +lcq moI lRp wKb @@ -124899,10 +124921,10 @@ eEv eEv eEv wKb -iiT +mnk aWb tCE -mcs +uiB wKb wKb wKb @@ -125158,8 +125180,8 @@ wKb wKb wKb rlR -luD -jyZ +rxt +joU wKb hhN pss @@ -125412,7 +125434,7 @@ hZf wKb eEv eEv -iZD +knD wUu sfL pwQ @@ -125667,13 +125689,13 @@ vlc mgY mgY wKb -dRo +jgM wep eEv ebQ diA xqo -spm +kDn wKb lmL jyA @@ -125924,8 +125946,8 @@ wKb yfj nuZ wKb -rYa -oEA +ivy +dSB trK msK ina @@ -126185,7 +126207,7 @@ wKb wKb wKb wKb -foP +bhP ilV bvG wKb diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index cb4eb9b724a..ba0cc6f9675 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -1344,3 +1344,17 @@ while(islist(result)) result = pick(result) return result + +/** Takes in two weighted lists and outputs a third list containing the elements of both inputs with their weights blended according to a given proportion. + * Not exact and may have rounding errors, will round to nearest 1/1000. + * */ +/proc/blend_weighted_lists(list/listA, list/listB, blend) + var/list/joined_list = listA | listB + + listA = counterlist_normalise(listA) + listB = counterlist_normalise(listB) + + for(var/element in joined_list) + joined_list[element] = round((listA[element] * (1 - blend) + listB[element] * (blend)) * 1000) + + return joined_list diff --git a/code/_globalvars/arcade.dm b/code/_globalvars/arcade.dm index b01bcf5511c..2c69a5744dc 100644 --- a/code/_globalvars/arcade.dm +++ b/code/_globalvars/arcade.dm @@ -45,7 +45,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/restraints/handcuffs/fake = 2, /obj/item/grenade/chem_grenade/glitter/pink = 1, /obj/item/grenade/chem_grenade/glitter/blue = 1, - /obj/item/grenade/chem_grenade/glitter/white = 1, + /obj/item/grenade/chem_grenade/glitter = 1, /obj/item/toy/eightball = 2, /obj/item/toy/windup_toolbox = 2, /obj/item/toy/clockwork_watch = 2, diff --git a/code/datums/weather/weather_types/rain_storm.dm b/code/datums/weather/weather_types/rain_storm.dm index 31254fd42a5..1a4da05eb2a 100644 --- a/code/datums/weather/weather_types/rain_storm.dm +++ b/code/datums/weather/weather_types/rain_storm.dm @@ -129,11 +129,11 @@ GLOB.wizard_rain_reagents |= allowed_medicine // One randomized type is allowed so the whitelist isn't spammed with subtypes - GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/glitter)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/mutationtoxin)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/plantnutriment)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/impurity)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/drug)) + GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/glitter/random)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/uranium)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/luminescent_fluid)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/carpet)) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 3087002987e..0eebda1243c 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -134,3 +134,7 @@ if (existing) return existing return new cleanable_type(checkturf) + +/turf/proc/spawn_glitter(glitter_colors) + var/obj/effect/decal/cleanable/glitter/new_glitter = spawn_unique_cleanable(/obj/effect/decal/cleanable/glitter) + new_glitter.color = pick_weight(glitter_colors) diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 141d7dace9e..2895a30e8ce 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -294,22 +294,14 @@ GLOBAL_LIST_EMPTY(nebula_vomits) /obj/effect/decal/cleanable/glitter name = "generic glitter pile" desc = "The herpes of arts and crafts." - icon = 'icons/effects/atmospherics.dmi' - icon_state = "plasma_old" + icon = 'icons/effects/glitter.dmi' + icon_state = "glitter" gender = NEUTER mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/obj/effect/decal/cleanable/glitter/pink - name = "pink glitter" - icon_state = "plasma" - -/obj/effect/decal/cleanable/glitter/white - name = "white glitter" - icon_state = "nitrous_oxide" - -/obj/effect/decal/cleanable/glitter/blue - name = "blue glitter" - icon_state = "freon" +/obj/effect/decal/cleanable/glitter/Initialize(mapload, list/datum/disease/diseases) + . = ..() + add_overlay(mutable_appearance('icons/effects/glitter.dmi', "glitter_sparkle[rand(1,9)]", appearance_flags = EMISSIVE_APPEARANCE_FLAGS)) /obj/effect/decal/cleanable/plasma name = "stabilized plasma" diff --git a/code/game/objects/effects/spawners/random/entertainment.dm b/code/game/objects/effects/spawners/random/entertainment.dm index 45be3db3934..9a31772286f 100644 --- a/code/game/objects/effects/spawners/random/entertainment.dm +++ b/code/game/objects/effects/spawners/random/entertainment.dm @@ -294,6 +294,6 @@ loot = list( /obj/item/grenade/chem_grenade/glitter/pink, /obj/item/grenade/chem_grenade/glitter/blue, - /obj/item/grenade/chem_grenade/glitter/white, + /obj/item/grenade/chem_grenade/glitter, /obj/item/grenade/chem_grenade/colorful ) diff --git a/code/game/objects/items/cigarettes.dm b/code/game/objects/items/cigarettes.dm index 8fdce3b5de0..9fb0d6c6f33 100644 --- a/code/game/objects/items/cigarettes.dm +++ b/code/game/objects/items/cigarettes.dm @@ -651,7 +651,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /// Weighted list of random reagents to add var/static/list/possible_reagents = list( /datum/reagent/toxin/fentanyl = 2, - /datum/reagent/glitter = 2, + /datum/reagent/glitter/random = 2, /datum/reagent/drug/aranesp = 2, /datum/reagent/consumable/laughter = 2, /datum/reagent/medicine/insulin = 2, diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index a3cffcaeffc..64bf2195992 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -587,17 +587,17 @@ beakers += beaker_two /obj/item/grenade/chem_grenade/glitter - name = "generic glitter grenade" - desc = "You shouldn't see this description." + name = "white glitter grenade" + desc = "For that somnolent glittery look." stage = GRENADE_READY - var/glitter_type = /datum/reagent/glitter + var/glitter_colors = list(COLOR_WHITE = 100) /obj/item/grenade/chem_grenade/glitter/Initialize(mapload) . = ..() var/obj/item/reagent_containers/cup/beaker/beaker_one = new(src) var/obj/item/reagent_containers/cup/beaker/beaker_two = new(src) - beaker_one.reagents.add_reagent(glitter_type, 25) + beaker_one.reagents.add_reagent(/datum/reagent/glitter, 25, data = list("colors" = glitter_colors)) beaker_one.reagents.add_reagent(/datum/reagent/potassium, 25) beaker_two.reagents.add_reagent(/datum/reagent/phosphorus, 25) beaker_two.reagents.add_reagent(/datum/reagent/consumable/sugar, 25) @@ -608,17 +608,12 @@ /obj/item/grenade/chem_grenade/glitter/pink name = "pink glitter bomb" desc = "For that HOT glittery look." - glitter_type = /datum/reagent/glitter/pink + glitter_colors = list("#ff8080" = 100) /obj/item/grenade/chem_grenade/glitter/blue name = "blue glitter bomb" desc = "For that COOL glittery look." - glitter_type = /datum/reagent/glitter/blue - -/obj/item/grenade/chem_grenade/glitter/white - name = "white glitter bomb" - desc = "For that somnolent glittery look." - glitter_type = /datum/reagent/glitter/white + glitter_colors = list("#4040ff" = 100) /obj/item/grenade/chem_grenade/clf3 name = "clf3 grenade" diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index a0237d8b3be..89a74ec29ba 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -478,14 +478,26 @@ /obj/structure/closet/crate/add_to_roundstart_list() return -/obj/structure/closet/crate/pink +/obj/structure/closet/crate/glitter name = "pink crate" desc = "A glittery pink crate." icon_state = "pink" base_icon_state = "pink" + var/glitter_prob = 25 + var/glitter_color = "#ff8080" -/obj/structure/closet/crate/lavender +/obj/structure/closet/crate/glitter/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + + var/turf/old_turf = get_turf(old_loc) + if(!old_turf) + return + if(prob(glitter_prob)) + old_turf.spawn_glitter(list("[glitter_color]" = 100)) + +/obj/structure/closet/crate/glitter/lavender name = "lavender crate" desc = "A glittery purple... no, lavender crate." icon_state = "lavender" base_icon_state = "lavender" + glitter_color = "#db80ff" diff --git a/code/modules/cargo/markets/market_items/misc.dm b/code/modules/cargo/markets/market_items/misc.dm index 057d94264ae..69bfef56fe0 100644 --- a/code/modules/cargo/markets/market_items/misc.dm +++ b/code/modules/cargo/markets/market_items/misc.dm @@ -185,7 +185,7 @@ /datum/market_item/misc/girlypop/spawn_item(loc, datum/market_purchase/purchase) . = ..() - var/obj/structure/closet/crate/pink/C = new(loc) + var/obj/structure/closet/crate/glitter/C = new(loc) for (var/type in list( /obj/item/poster/contraband/dream, /obj/item/poster/contraband/beekind, diff --git a/code/modules/events/scrubber_overflow.dm b/code/modules/events/scrubber_overflow.dm index 16a455de0cf..9f06881ac1b 100644 --- a/code/modules/events/scrubber_overflow.dm +++ b/code/modules/events/scrubber_overflow.dm @@ -32,8 +32,6 @@ /datum/reagent/consumable/condensedcapsaicin, /datum/reagent/drug/mushroomhallucinogen, /datum/reagent/lube, - /datum/reagent/glitter/blue, - /datum/reagent/glitter/pink, /datum/reagent/cryptobiolin, /datum/reagent/blood, /datum/reagent/medicine/c2/multiver, @@ -53,7 +51,7 @@ /datum/reagent/consumable/ethanol/beer, /datum/reagent/hair_dye, /datum/reagent/consumable/sugar, - /datum/reagent/glitter/white, + /datum/reagent/glitter/random, /datum/reagent/gravitum, /datum/reagent/growthserum, /datum/reagent/yuck, diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 23998091b52..e9ee81fe2b7 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -226,7 +226,13 @@ Primarily used in reagents/reaction_agents /datum/reagent/proc/on_mob_dead(mob/living/carbon/affected_mob, seconds_per_tick) SHOULD_CALL_PARENT(TRUE) -/// Called after add_reagents creates a new reagent. +/** + * Called after add_reagents creates a new reagent. + * + * Arguments + * * data - if not null, contains reagent data which will be applied to the newly created reagent (this will override any pre-set data). + */ + /datum/reagent/proc/on_new(data) if(data) src.data = data diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 7191274de96..03ba83d0fdd 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2556,46 +2556,81 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/glitter - name = "Generic Glitter" - description = "if you can see this description, contact a coder." + name = "Glitter" + description = "The herpes of arts and crafts." + data = list("colors"=list(COLOR_WHITE = 100)) color = COLOR_WHITE //pure white taste_description = "plastic" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - var/glitter_type = /obj/effect/decal/cleanable/glitter + +/datum/reagent/glitter/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) + . = ..() + if(SPT_PROB(25, seconds_per_tick)) + affected_mob.emote("cough") + expose_turf(get_turf(affected_mob), 0) /datum/reagent/glitter/expose_turf(turf/exposed_turf, reac_volume) . = ..() if(!istype(exposed_turf)) return - exposed_turf.spawn_unique_cleanable(glitter_type) + exposed_turf.spawn_glitter(data["colors"]) -/datum/reagent/glitter/pink - name = "Pink Glitter" - description = "pink sparkles that get everywhere" - color = "#ff8080" //A light pink color - glitter_type = /obj/effect/decal/cleanable/glitter/pink - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED +/datum/reagent/glitter/on_new(data) + . = ..() -/datum/reagent/glitter/white - name = "White Glitter" - description = "white sparkles that get everywhere" - glitter_type = /obj/effect/decal/cleanable/glitter/white - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + if(src.data["colors"]) + color = pick(src.data["colors"]) + else + color = COLOR_WHITE -/datum/reagent/glitter/blue - name = "Blue Glitter" - description = "blue sparkles that get everywhere" - color = "#4040FF" //A blueish color - glitter_type = /obj/effect/decal/cleanable/glitter/blue - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED +/datum/reagent/glitter/on_merge(list/mix_data, amount) + . = ..() -/datum/reagent/glitter/confetti + var/prop_current = (volume-amount)/(volume) + + if(mix_data) + data["colors"] = blend_weighted_lists(mix_data["colors"], data["colors"], prop_current) + + if(data["colors"]) + color = pick(data["colors"]) + else + color = COLOR_WHITE + +/datum/reagent/glitter/random + name = "Unrandomised Randomised Glitter" + description = "You shouldn't be seeing this, please make an issue report describing how you found it." + + var/list/possible_colors = list( + list(COLOR_WHITE = 100), + list("#ff8080" = 100), + list("#4040ff" = 100), + list("#ff5555" = 34, "#55ff55" = 33, "#5555ff" = 33), + ) + +/datum/reagent/glitter/random/on_new(data) + . = ..() + + var/list/color_list = pick(possible_colors) + + var/datum/reagents/our_holder = src.holder + var/our_volume = src.volume + var/list/our_data = list("colors" = color_list) + + our_holder.remove_reagent(/datum/reagent/glitter/random, our_volume) + our_holder.add_reagent(/datum/reagent/glitter, our_volume, data = our_data) + +/datum/reagent/confetti name = "Confetti" description = "Tiny plastic flakes that are impossible to sweep up." color = "#7dd87b" - glitter_type = /obj/effect/decal/cleanable/confetti chemical_flags = REAGENT_CAN_BE_SYNTHESIZED +/datum/reagent/confetti/expose_turf(turf/exposed_turf, reac_volume) + . = ..() + if(!istype(exposed_turf)) + return + exposed_turf.spawn_unique_cleanable(/obj/effect/decal/cleanable/confetti) + /datum/reagent/pax name = "Pax" description = "A colorless liquid that suppresses violence in its subjects." diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index fe730392394..45525d6c07f 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -741,12 +741,17 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE /datum/chemical_reaction/plastic_polymers + results = list(/datum/reagent/plastic_polymers = 10) required_reagents = list(/datum/reagent/fuel/oil = 5, /datum/reagent/toxin/acid = 2, /datum/reagent/ash = 3) + reaction_tags = REACTION_TAG_EASY | REACTION_TAG_CHEMICAL + +/datum/chemical_reaction/plastic_polymer_hardening + required_reagents = list(/datum/reagent/plastic_polymers = 10) required_temp = 374 //lazily consistent with soap & other crafted objects generically created with heat. reaction_flags = REACTION_INSTANT reaction_tags = REACTION_TAG_EASY | REACTION_TAG_CHEMICAL -/datum/chemical_reaction/plastic_polymers/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) +/datum/chemical_reaction/plastic_polymer_hardening/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) new /obj/item/stack/sheet/plastic(get_turf(holder.my_atom), round(created_volume)) /datum/chemical_reaction/pax @@ -1046,3 +1051,41 @@ thermic_constant = 80 H_ion_release = 2 reaction_tags = REACTION_TAG_EASY + +/datum/chemical_reaction/glitter + results = list(/datum/reagent/glitter = 1) + required_reagents = list(/datum/reagent/plastic_polymers = 1, /datum/reagent/aluminium = 1) + required_catalysts = list(/datum/reagent/stabilizing_agent = 1) + reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE + +/datum/chemical_reaction/glitter_pigmentation + results = list(/datum/reagent/glitter = 1) + required_reagents = list(/datum/reagent/glitter = 1, /datum/reagent/acetone = 1) + mix_message = "the glitter rapidly changes colour!" + reaction_flags = REACTION_INSTANT + reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE + +/datum/chemical_reaction/glitter_pigmentation/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) + . = ..() + + var/excluded_volume = 0 + var/accumulated_color + + for(var/datum/reagent/reagent in holder.reagent_list) + if(is_type_in_list(reagent, required_reagents)) + excluded_volume += reagent.volume + + for(var/datum/reagent/reagent in holder.reagent_list) + if(!is_type_in_list(reagent, required_reagents)) + + if(accumulated_color) + accumulated_color = BlendRGB(reagent.color, accumulated_color, (reagent.volume/(holder.total_volume-excluded_volume))) + else + accumulated_color = reagent.color + + var/datum/reagent/glitter/glitter = locate(/datum/reagent/glitter) in holder.reagent_list + + glitter.data["colors"] = list("[accumulated_color]" = 100) + glitter.color = accumulated_color + + diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index e3f4e36a7a4..a04044a50eb 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -393,7 +393,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' w_class = WEIGHT_CLASS_TINY reagent_flags = NONE - list_reagents = list(/datum/reagent/glitter/confetti = 15) + list_reagents = list(/datum/reagent/confetti = 15) volume = 15 amount_per_transfer_from_this = 5 can_toggle_range = FALSE diff --git a/icons/effects/glitter.dmi b/icons/effects/glitter.dmi new file mode 100644 index 00000000000..6beb6c9821b Binary files /dev/null and b/icons/effects/glitter.dmi differ diff --git a/tools/UpdatePaths/Scripts/92226_glitterening.txt b/tools/UpdatePaths/Scripts/92226_glitterening.txt new file mode 100644 index 00000000000..4d97ce829c6 --- /dev/null +++ b/tools/UpdatePaths/Scripts/92226_glitterening.txt @@ -0,0 +1,6 @@ +/obj/item/grenade/chem_grenade/glitter/white : /obj/item/grenade/chem_grenade/glitter{@OLD} +/obj/structure/closet/crate/pink : /obj/structure/closet/crate/glitter{@OLD} +/obj/structure/closet/crate/lavender : /obj/structure/closet/crate/glitter/lavender{@OLD} +/obj/effect/decal/cleanable/glitter/white : /obj/effect/decal/cleanable/glitter{@OLD} +/obj/effect/decal/cleanable/glitter/pink : /obj/effect/decal/cleanable/glitter{@OLD;color="ff8080"} +/obj/effect/decal/cleanable/glitter/blue : /obj/effect/decal/cleanable/glitter{@OLD;color="4040ff"}