Files
GhomandGitHub 0b0c5ea91e Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.

## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.

Currently a WIP as I slowly deal with the unit test reports.

## Changelog

🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
2025-12-02 18:29:01 -05:00

58 lines
2.4 KiB
Plaintext

/obj/item/clothing/head/costume/garland
name = "floral garland"
desc = "Someone, somewhere, is starving while wearing this. And it's definitely not you."
icon_state = "garland"
worn_icon_state = "garland"
/obj/item/clothing/head/costume/garland/equipped(mob/living/user, slot)
. = ..()
if(slot_flags & slot)
user.add_mood_event("garland", /datum/mood_event/garland)
/obj/item/clothing/head/costume/garland/dropped(mob/living/user)
. = ..()
user.clear_mood_event("garland")
/obj/item/clothing/head/costume/garland/rainbowbunch
name = "rainbow flower crown"
desc = "A flower crown made out of the flowers of the rainbow bunch plant."
icon_state = "rainbow_bunch_crown_1"
base_icon_state = "rainbow_bunch_crown"
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.3, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 0.3) //tied together with cable coil
/obj/item/clothing/head/costume/garland/rainbowbunch/Initialize(mapload)
. = ..()
var/crown_type = rand(1,4)
icon_state = "[base_icon_state]_[crown_type]"
switch(crown_type)
if(1)
desc += " This one has red, yellow, and white flowers."
if(2)
desc += " This one has blue, yellow, green, and white flowers."
if(3)
desc += " This one has red, blue, purple, and pink flowers."
if(4)
desc += " This one has yellow, green, and white flowers."
/obj/item/clothing/head/costume/garland/sunflower
name = "sunflower crown"
desc = "A bright flower crown made out sunflowers that is sure to brighten up anyone's day!"
icon_state = "sunflower_crown"
worn_icon_state = "sunflower_crown"
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.3, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 0.3) //tied together with cable coil
/obj/item/clothing/head/costume/garland/poppy
name = "poppy crown"
desc = "A flower crown made out of a string of bright red poppies."
icon_state = "poppy_crown"
worn_icon_state = "poppy_crown"
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.3, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 0.3) //tied together with cable coil
/obj/item/clothing/head/costume/garland/lily
name = "lily crown"
desc = "A leafy flower crown with a cluster of large white lilies at the front."
icon_state = "lily_crown"
worn_icon_state = "lily_crown"
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.3, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 0.3) //tied together with cable coil