mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-11 01:13:18 +00:00
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can) this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc. also applies materials to everything, with fixes, which can close #46299
220 lines
7.8 KiB
Plaintext
220 lines
7.8 KiB
Plaintext
///Has no special properties.
|
|
/datum/material/iron
|
|
name = "iron"
|
|
id = "iron"
|
|
desc = "Common iron ore often found in sedimentary and igneous layers of the crust."
|
|
color = "#878687"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/metal
|
|
value_per_unit = 0.0025
|
|
|
|
///Breaks extremely easily but is transparent.
|
|
/datum/material/glass
|
|
name = "glass"
|
|
id = "glass"
|
|
desc = "Glass forged by melting sand."
|
|
color = "#dae6f0"
|
|
alpha = 150
|
|
categories = list(MAT_CATEGORY_RIGID = TRUE)
|
|
integrity_modifier = 0.1
|
|
sheet_type = /obj/item/stack/sheet/glass
|
|
value_per_unit = 0.0025
|
|
beauty_modifier = 0.05
|
|
armor_modifiers = list("melee" = 0.2, "bullet" = 0.2, "laser" = 0, "energy" = 1, "bomb" = 0, "bio" = 0.2, "rad" = 0.2, "fire" = 1, "acid" = 0.2) // yeah ok retard
|
|
|
|
///Has no special properties. Could be good against vampires in the future perhaps.
|
|
/datum/material/silver
|
|
name = "silver"
|
|
id = "silver"
|
|
desc = "Silver"
|
|
color = "#bdbebf"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/silver
|
|
value_per_unit = 0.025
|
|
beauty_modifier = 0.075
|
|
|
|
///Slight force increase
|
|
/datum/material/gold
|
|
name = "gold"
|
|
id = "gold"
|
|
desc = "Gold"
|
|
color = "#C7ED55"
|
|
strength_modifier = 1.2
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/gold
|
|
value_per_unit = 0.0625
|
|
beauty_modifier = 0.15
|
|
armor_modifiers = list("melee" = 1.1, "bullet" = 1.1, "laser" = 1.15, "energy" = 1.15, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 0.7, "acid" = 1.1)
|
|
|
|
///Has no special properties
|
|
/datum/material/diamond
|
|
name = "diamond"
|
|
id = "diamond"
|
|
desc = "Highly pressurized carbon"
|
|
color = "#22c2d4"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/diamond
|
|
alpha = 150
|
|
value_per_unit = 0.25
|
|
beauty_modifier = 0.3
|
|
armor_modifiers = list("melee" = 1.3, "bullet" = 1.3, "laser" = 0.6, "energy" = 1, "bomb" = 1.2, "bio" = 1, "rad" = 1, "fire" = 1, "acid" = 1)
|
|
|
|
///Is slightly radioactive
|
|
/datum/material/uranium
|
|
name = "uranium"
|
|
id = "uranium"
|
|
desc = "Uranium"
|
|
color = "#1fb83b"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/uranium
|
|
value_per_unit = 0.05
|
|
beauty_modifier = 0.3 //It shines so beautiful
|
|
armor_modifiers = list("melee" = 1.5, "bullet" = 1.4, "laser" = 0.5, "energy" = 0.5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 1, "acid" = 1)
|
|
|
|
/datum/material/uranium/on_applied(atom/source, amount, material_flags)
|
|
. = ..()
|
|
source.AddComponent(/datum/component/radioactive, amount / 20, source, 0) //half-life of 0 because we keep on going.
|
|
|
|
/datum/material/uranium/on_removed(atom/source, material_flags)
|
|
. = ..()
|
|
qdel(source.GetComponent(/datum/component/radioactive))
|
|
|
|
///Adds firestacks on hit (Still needs support to turn into gas on destruction)
|
|
/datum/material/plasma
|
|
name = "plasma"
|
|
id = "plasma"
|
|
desc = "Isn't plasma a state of matter? Oh whatever."
|
|
color = "#D30EB0"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/plasma
|
|
value_per_unit = 0.1
|
|
beauty_modifier = 0.15
|
|
armor_modifiers = list("melee" = 1.4, "bullet" = 0.7, "laser" = 0, "energy" = 1.2, "bomb" = 0, "bio" = 1.2, "rad" = 1, "fire" = 0, "acid" = 0.5)
|
|
|
|
/datum/material/plasma/on_applied(atom/source, amount, material_flags)
|
|
. = ..()
|
|
if(ismovableatom(source))
|
|
source.AddElement(/datum/element/firestacker)
|
|
source.AddComponent(/datum/component/explodable, 0, 0, amount / 2500, amount / 1250)
|
|
|
|
/datum/material/plasma/on_removed(atom/source, material_flags)
|
|
. = ..()
|
|
source.RemoveElement(/datum/element/firestacker)
|
|
qdel(source.GetComponent(/datum/component/explodable))
|
|
|
|
///Can cause bluespace effects on use. (Teleportation) (Not yet implemented)
|
|
/datum/material/bluespace
|
|
name = "bluespace crystal"
|
|
id = "bluespace_crystal"
|
|
desc = "Crystals with bluespace properties"
|
|
color = "#3E65D1"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE)
|
|
beauty_modifier = 0.5
|
|
sheet_type = /obj/item/stack/sheet/bluespace_crystal
|
|
value_per_unit = 0.15
|
|
|
|
///Honks and slips
|
|
/datum/material/bananium
|
|
name = "bananium"
|
|
id = "bananium"
|
|
desc = "Material with hilarious properties"
|
|
color = "#fff263"
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/bananium
|
|
value_per_unit = 0.5
|
|
beauty_modifier = 0.5
|
|
armor_modifiers = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 0) //Clowns cant be blown away.
|
|
|
|
/datum/material/bananium/on_applied(atom/source, amount, material_flags)
|
|
. = ..()
|
|
source.AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50)
|
|
source.AddComponent(/datum/component/slippery, min(amount / 10, 80))
|
|
|
|
|
|
/datum/material/bananium/on_removed(atom/source, amount, material_flags)
|
|
. = ..()
|
|
qdel(source.GetComponent(/datum/component/slippery))
|
|
qdel(source.GetComponent(/datum/component/squeak))
|
|
|
|
|
|
///Mediocre force increase
|
|
/datum/material/titanium
|
|
name = "titanium"
|
|
id = "titanium"
|
|
desc = "Titanium"
|
|
color = "#b3c0c7"
|
|
strength_modifier = 1.3
|
|
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
|
value_per_unit = 0.0625
|
|
beauty_modifier = 0.05
|
|
armor_modifiers = list("melee" = 1.35, "bullet" = 1.3, "laser" = 1.3, "energy" = 1.25, "bomb" = 1.25, "bio" = 1, "rad" = 1, "fire" = 0.7, "acid" = 1)
|
|
|
|
/datum/material/runite
|
|
name = "runite"
|
|
id = "runite"
|
|
desc = "Runite"
|
|
color = "#3F9995"
|
|
strength_modifier = 1.3
|
|
categories = list(MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/runite
|
|
value_per_unit = 0.3
|
|
beauty_modifier = 0.5
|
|
armor_modifiers = list("melee" = 1.35, "bullet" = 2, "laser" = 0.5, "energy" = 1.25, "bomb" = 1.25, "bio" = 1, "rad" = 1, "fire" = 1.4, "acid" = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle.
|
|
|
|
///Force decrease
|
|
/datum/material/plastic
|
|
name = "plastic"
|
|
id = "plastic"
|
|
desc = "Plastic"
|
|
color = "#caccd9"
|
|
strength_modifier = 0.85
|
|
sheet_type = /obj/item/stack/sheet/plastic
|
|
value_per_unit = 0.0125
|
|
beauty_modifier = -0.01
|
|
armor_modifiers = list("melee" = 1.5, "bullet" = 1.1, "laser" = 0.3, "energy" = 0.5, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 1.1, "acid" = 1)
|
|
|
|
///Force decrease and mushy sound effect. (Not yet implemented)
|
|
/datum/material/biomass
|
|
name = "biomass"
|
|
id = "biomass"
|
|
desc = "Organic matter"
|
|
color = "#735b4d"
|
|
strength_modifier = 0.8
|
|
value_per_unit = 0.025
|
|
|
|
///Stronk force increase
|
|
/datum/material/adamantine
|
|
name = "adamantine"
|
|
id = "adamantine"
|
|
desc = "A powerful material made out of magic, I mean science!"
|
|
color = "#6d7e8e"
|
|
strength_modifier = 1.5
|
|
categories = list(MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/adamantine
|
|
value_per_unit = 0.25
|
|
beauty_modifier = 0.4
|
|
armor_modifiers = list("melee" = 1.5, "bullet" = 1.5, "laser" = 1.3, "energy" = 1.3, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 2.5, "acid" = 1)
|
|
|
|
///RPG Magic. (Admin only)
|
|
/datum/material/mythril
|
|
name = "mythril"
|
|
id = "mythril"
|
|
desc = "How this even exists is byond me"
|
|
color = "#ffedee"
|
|
categories = list(MAT_CATEGORY_RIGID = TRUE)
|
|
sheet_type = /obj/item/stack/sheet/mineral/mythril
|
|
value_per_unit = 0.75
|
|
beauty_modifier = 0.5
|
|
armor_modifiers = list("melee" = 2, "bullet" = 2, "laser" = 2, "energy" = 2, "bomb" = 2, "bio" = 2, "rad" = 2, "fire" = 2, "acid" = 2)
|
|
|
|
/datum/material/mythril/on_applied_obj(atom/source, amount, material_flags)
|
|
. = ..()
|
|
if(istype(source, /obj/item))
|
|
source.AddComponent(/datum/component/fantasy)
|
|
|
|
/datum/material/mythril/on_removed_obj(atom/source, material_flags)
|
|
. = ..()
|
|
if(istype(source, /obj/item))
|
|
qdel(source.GetComponent(/datum/component/fantasy))
|