The Glitterening (#92226)

## About The Pull Request

Adds a number of new capabilities to glitter.

- It can be any colour.
<img width="657" height="398" alt="image"
src="https://github.com/user-attachments/assets/60e80c04-8eee-470c-8953-47f6eda9f83e"
/>

- It can be made in chemistry and dyed by combining it with acetone and
other reagents to give it the average colour of the non-glitter,
not-acetone reagents.
- Multiple colours can be mixed into one reagent datum, randomly
depositing a colour from those in the datum on the floor.
<img width="554" height="507" alt="image"
src="https://github.com/user-attachments/assets/9cc7d1d5-9bec-4b28-af06-310ffb24de49"
/>

- Anyone with glitter reagent in them will cough glitter onto the floor
- Glittery crates will leave a trail of appropriately coloured glitter
when moved
<img width="960" height="259" alt="image"
src="https://github.com/user-attachments/assets/71cc1176-23f9-4ae7-b500-1744b752c014"
/>

Resprited glitter to support these changes and make it not look like gas
(or ass).

## Why It's Good For The Game

It looks cool and raises the bar for chemists maximally pissing off the
janitor as they fill a room with multicoloured glitter and all the
occupants run off to cough more up all over the surrounding area.

## Changelog
🆑
add: Glitter can now be made from plastic polymers and aluminium.
add: Plastic polymer can be made at any temperature, and then heated to
produce sheets.
add: Glitter can now be made any colour, mix 10 units each of glitter
and acetone to change its colour to that of the other reagents in the
beaker.
add: Mixing different colours of glitter will cause a random selection
of those colours to appear on the floor when released.
add: Being exposed to glitter in reagent form causes you to cough up
more glitter onto the floor
add: Dragging glittery crates will now spread a trail of glitter and
angry janitors behind them.
image: Added new glitter sprites (that don't look like gasses)
/🆑
This commit is contained in:
Thunder12345
2025-08-02 15:25:58 +01:00
committed by Roxy
parent ed06501153
commit e7c25d4c40
20 changed files with 462 additions and 307 deletions
@@ -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)
@@ -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"
@@ -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
)
+1 -1
View File
@@ -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,
@@ -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"
@@ -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"