This commit is contained in:
lolman360
2020-07-22 12:45:42 +10:00
parent 17d1fd0692
commit 0854702762

View File

@@ -2220,6 +2220,66 @@
color = "#f7685e"
metabolization_rate = REAGENTS_METABOLISM * 0.25
/datum/reagent/wittel
name = "Wittel"
description = "An extremely rare metallic-white substance only found on demon-class planets."
color = "#FFFFFF" // rgb: 255, 255, 255
taste_mult = 0 // oderless and tasteless
/datum/reagent/metalgen
name = "Metalgen"
data = list("material"=null)
description = "A purple metal morphic liquid, said to impose it's metallic properties on whatever it touches."
color = "#b000aa"
taste_mult = 0 // oderless and tasteless
var/applied_material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR
var/minumum_material_amount = 100
/datum/reagent/metalgen/reaction_obj(obj/O, volume)
metal_morph(O)
return
/datum/reagent/metalgen/reaction_turf(turf/T, volume)
metal_morph(T)
return
///turn an object into a special material
/datum/reagent/metalgen/proc/metal_morph(atom/A)
var/metal_ref = data["material"]
if(!metal_ref)
return
var/metal_amount = 0
for(var/B in A.custom_materials) //list with what they're made of
metal_amount += A.custom_materials[B]
if(!metal_amount)
metal_amount = minumum_material_amount //some stuff doesn't have materials at all. To still give them properties, we give them a material. Basically doesnt exist
var/list/metal_dat = list()
metal_dat[metal_ref] = metal_amount //if we pass the list directly, byond turns metal_ref into "metal_ref" kjewrg8fwcyvf
A.material_flags = applied_material_flags
A.set_custom_materials(metal_dat)
/datum/reagent/gravitum
name = "Gravitum"
description = "A rare kind of null fluid, capable of temporalily removing all weight of whatever it touches." //i dont even
color = "#050096" // rgb: 5, 0, 150
taste_mult = 0 // oderless and tasteless
metabolization_rate = 0.1 * REAGENTS_METABOLISM //20 times as long, so it's actually viable to use
var/time_multiplier = 1 MINUTES //1 minute per unit of gravitum on objects. Seems overpowered, but the whole thing is very niche
/datum/reagent/gravitum/reaction_obj(obj/O, volume)
O.AddElement(/datum/element/forced_gravity, 0)
addtimer(CALLBACK(O, .proc/RemoveElement, /datum/element/forced_gravity, 0), volume * time_multiplier)
/datum/reagent/gravitum/on_mob_add(mob/living/L)
L.AddElement(/datum/element/forced_gravity, 0) //0 is the gravity, and in this case weightless
/datum/reagent/gravitum/on_mob_end_metabolize(mob/living/L)
L.RemoveElement(/datum/element/forced_gravity, 0)
//body bluids
/datum/reagent/consumable/semen