Files
Bubberstation/code/datums/materials/hauntium.dm
Y0SH1M4S73R 56496572f3 Adds some extra material properties to meat and hauntium (#92093)
## About The Pull Request

This PR adds some wacky interactions for meat and hauntium, should you
choose to transmute items into them using metalgen.
- You can imprint a mob's specific meat onto metalgen using their blood
(It doesn't even have to be the blood reagent, it can be any reagent
that was drawn from a mob's blood).
- Mob meat now applies the source's blood color to items made out of it.
- Organs and bodyparts made primarily out of meat become organic, if
they weren't already.
- Organs and bodyparts made primarily out of hauntium become ghostly, if
they weren't already. This makes them suitable for ghost species
wall-phasing.

## Why It's Good For The Game

Regarding the cosmetic change to mob meat, I thought it only appropriate
that mob meat material should take on the color of the mob it was taken
from.

For imprinting mob meat onto metalgen using that mob's blood, I thought
it would be funny to take people's blood and transmute objects into
being made out of those people's own flesh.

For meaty bodyparts and organs being organic, it can be argued that the
thing that makes organic bodyparts and organs organic is being made out
of meat, so I think the reverse logic should also apply.

For hauntium bodyparts and organs being ghostly, the ghostly nature of
ghostly bodyparts and organs should be what allows them to not fall out
of a ghost when they become incorporeal. And how could something made
primarily out of a substance extracted from ghosts **NOT** be ghostly in
nature?

That said, it's only *theoretically* possible to get hauntium bodyparts
and organs as a ghost, what with there being no way to do surgery on
ghosts. Good luck figuring out and executing the steps to actually do
this.

## Changelog

🆑
add: Items made out of a specific mob's meat take on the color of that
mob's blood.
add: Blood (or anything a mob uses as blood) can be used to imprint that
mob's meat onto metalgen.
add: Organs and bodyparts made predominantly out of meat become organic,
if they weren't already. Likewise, hauntium makes them ghostly.
/🆑
2025-07-27 14:20:41 +02:00

57 lines
1.9 KiB
Plaintext

/datum/material/hauntium
name = "hauntium"
desc = "very scary!"
color = list(460/255, 464/255, 460/255, 0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0)
greyscale_color = "#FFFFFF"
alpha = 100
starlight_color = COLOR_ALMOST_BLACK
categories = list(
MAT_CATEGORY_RIGID = TRUE,
MAT_CATEGORY_BASE_RECIPES = TRUE,
MAT_CATEGORY_ITEM_MATERIAL = TRUE,
MAT_CATEGORY_ITEM_MATERIAL_COMPLEMENTARY = TRUE,
)
sheet_type = /obj/item/stack/sheet/hauntium
value_per_unit = 0.05
beauty_modifier = 0.25
//pretty good but only the undead can actually make use of these modifiers
strength_modifier = 1.2
armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, FIRE = 1, ACID = 0.7)
fish_weight_modifier = 1.4
fishing_difficulty_modifier = -25 //Only the undead and the coroner can game this.
fishing_cast_range = 2
fishing_experience_multiplier = 1.5
fishing_completion_speed = 1.1
fishing_bait_speed_mult = 0.85
fishing_gravity_mult = 0.8
/datum/material/hauntium/on_main_applied(atom/source, mat_amount, multiplier)
. = ..()
if(!isobj(source))
return
var/obj/obj = source
obj.make_haunted(INNATE_TRAIT, "#f8f8ff")
if(isbodypart(source))
var/obj/item/bodypart/bodypart = source
if(!(bodypart::bodytype & BODYTYPE_GHOST))
bodypart.bodytype |= BODYTYPE_GHOST
if(isorgan(source))
var/obj/item/organ/organ = source
if(!(organ::organ_flags & ORGAN_GHOST))
organ.organ_flags |= ORGAN_GHOST
/datum/material/hauntium/on_main_removed(atom/source, mat_amount, multiplier)
. = ..()
if(!isobj(source))
return
var/obj/obj = source
obj.remove_haunted(INNATE_TRAIT)
if(isbodypart(source))
var/obj/item/bodypart/bodypart = source
if(!(bodypart::bodytype & BODYTYPE_GHOST))
bodypart.bodytype &= ~BODYTYPE_GHOST
if(isorgan(source))
var/obj/item/organ/organ = source
if(!(organ::organ_flags & ORGAN_GHOST))
organ.organ_flags &= ~ORGAN_GHOST