mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 16:05:07 +00:00
## 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. /🆑
57 lines
1.9 KiB
Plaintext
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
|