Files
+37 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00

210 lines
7.2 KiB
Plaintext

/// Materials made from other materials.
/datum/material/alloy
name = "alloy"
desc = "A material composed of two or more other materials."
abstract_type = /datum/material/alloy
/// The materials this alloy is made from weighted by their ratios.
var/list/composition = null
/datum/material/alloy/return_composition(amount = 1, flags)
if(flags & MATCONTAINER_ACCEPT_ALLOYS)
return ..()
. = list()
var/list/cached_comp = composition
for(var/comp_mat in cached_comp)
var/datum/material/component_material = SSmaterials.get_material(comp_mat)
var/list/component_composition = component_material.return_composition(cached_comp[comp_mat], flags)
for(var/comp_comp_mat in component_composition)
.[comp_comp_mat] += component_composition[comp_comp_mat] * amount
/**
* Plasteel
* An alloy of iron and plasma.
* Applies a significant slowdown effect to any and all items that contain it.
*/
/datum/material/alloy/plasteel
name = "plasteel"
desc = "The heavy duty result of infusing iron with plasma."
color = "#706374"
mat_flags = MATERIAL_BASIC_RECIPES | MATERIAL_CLASS_METAL | MATERIAL_CLASS_RIGID
mat_properties = list(
MATERIAL_DENSITY = 6,
MATERIAL_HARDNESS = 8,
MATERIAL_FLEXIBILITY = 1,
MATERIAL_REFLECTIVITY = 5,
MATERIAL_ELECTRICAL = 8,
MATERIAL_THERMAL = 4,
MATERIAL_CHEMICAL = 6,
)
value_per_unit = 0.135
sheet_type = /obj/item/stack/sheet/plasteel
material_reagent = list(/datum/reagent/iron = 1, /datum/reagent/toxin/plasma = 1)
composition = list(/datum/material/iron = 1, /datum/material/plasma = 1)
mat_rust_resistance = RUST_RESISTANCE_REINFORCED
/datum/material/alloy/plasteel/on_applied(atom/source, mat_amount, multiplier, from_slot)
. = ..()
if(istype(source, /obj/item/fishing_rod))
ADD_TRAIT(source, TRAIT_ROD_LAVA_USABLE, REF(src))
/datum/material/alloy/plasteel/on_removed(atom/source, mat_amount, multiplier, from_slot)
. = ..()
if(istype(source, /obj/item/fishing_rod))
REMOVE_TRAIT(source, TRAIT_ROD_LAVA_USABLE, REF(src))
/**
* Plastitanium
* An alloy of titanium and plasma.
*/
/datum/material/alloy/plastitanium
name = "plastitanium"
desc = "The extremely heat resistant result of infusing titanium with plasma."
color = "#3a313a"
mat_flags = MATERIAL_BASIC_RECIPES | MATERIAL_CLASS_METAL | MATERIAL_CLASS_RIGID
mat_properties = list(
MATERIAL_DENSITY = 4,
MATERIAL_HARDNESS = 8,
MATERIAL_FLEXIBILITY = 1,
MATERIAL_REFLECTIVITY = 8,
MATERIAL_ELECTRICAL = 6,
MATERIAL_THERMAL = 1,
MATERIAL_CHEMICAL = 8,
)
value_per_unit = 0.225
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
material_reagent = /datum/reagent/toxin/plasma
composition = list(/datum/material/titanium = 1, /datum/material/plasma = 1)
mat_rust_resistance = RUST_RESISTANCE_TITANIUM
/datum/material/alloy/plastitanium/on_applied(atom/source, mat_amount, multiplier, from_slot)
. = ..()
if(istype(source, /obj/item/fishing_rod))
ADD_TRAIT(source, TRAIT_ROD_LAVA_USABLE, REF(src))
/datum/material/alloy/plastitanium/on_removed(atom/source, mat_amount, multiplier, from_slot)
. = ..()
if(istype(source, /obj/item/fishing_rod))
REMOVE_TRAIT(source, TRAIT_ROD_LAVA_USABLE, REF(src))
/**
* Plasmaglass
* An alloy of silicate and plasma.
*/
/datum/material/alloy/plasmaglass
name = "plasmaglass"
desc = "Plasma-infused silicate. It is much more durable and heat resistant than either of its component materials."
color = "#ff80f4"
alpha = 150
starlight_color = COLOR_STRONG_MAGENTA
mat_flags = MATERIAL_BASIC_RECIPES | MATERIAL_CLASS_CRYSTAL | MATERIAL_CLASS_RIGID
mat_properties = list(
MATERIAL_DENSITY = 5,
MATERIAL_HARDNESS = 6,
MATERIAL_FLEXIBILITY = 0,
MATERIAL_REFLECTIVITY = 8,
MATERIAL_ELECTRICAL = 0,
MATERIAL_THERMAL = 2,
MATERIAL_CHEMICAL = 8,
)
sheet_type = /obj/item/stack/sheet/plasmaglass
shard_type = /obj/item/shard/plasma
debris_type = /obj/effect/decal/cleanable/glass/plasma
material_reagent = list(/datum/reagent/silicon = 1, /datum/reagent/toxin/plasma = 0.5)
value_per_unit = 0.075
composition = list(/datum/material/glass = 1, /datum/material/plasma = 0.5)
/**
* Titanium Glass
* An alloy of glass and titanium.
*/
/datum/material/alloy/titaniumglass
name = "titanium glass"
desc = "A specialized silicate-titanium alloy that is commonly used in shuttle windows."
color = "#cfbee0"
alpha = 150
starlight_color = COLOR_COMMAND_BLUE
mat_flags = MATERIAL_BASIC_RECIPES | MATERIAL_CLASS_CRYSTAL | MATERIAL_CLASS_RIGID
mat_properties = list(
MATERIAL_DENSITY = 5,
MATERIAL_HARDNESS = 7,
MATERIAL_FLEXIBILITY = 0,
MATERIAL_REFLECTIVITY = 8,
MATERIAL_ELECTRICAL = 0,
MATERIAL_THERMAL = 4,
MATERIAL_CHEMICAL = 8,
)
sheet_type = /obj/item/stack/sheet/titaniumglass
shard_type = /obj/item/shard/titanium
debris_type = /obj/effect/decal/cleanable/glass/titanium
material_reagent = /datum/reagent/silicon
value_per_unit = 0.04
composition = list(/datum/material/glass = 1, /datum/material/titanium = 0.5)
/**
* Plastitanium Glass
* An alloy of plastitanium and glass.
*/
/datum/material/alloy/plastitaniumglass
name = "plastitanium glass"
desc = "A specialized silicate-plastitanium alloy."
color = "#5d3369"
starlight_color = COLOR_CENTCOM_BLUE
alpha = 150
mat_flags = MATERIAL_BASIC_RECIPES | MATERIAL_CLASS_CRYSTAL | MATERIAL_CLASS_RIGID
mat_properties = list(
MATERIAL_DENSITY = 4,
MATERIAL_HARDNESS = 8,
MATERIAL_FLEXIBILITY = 0,
MATERIAL_REFLECTIVITY = 8,
MATERIAL_ELECTRICAL = 0,
MATERIAL_THERMAL = 2,
MATERIAL_CHEMICAL = 8,
)
sheet_type = /obj/item/stack/sheet/plastitaniumglass
shard_type = /obj/item/shard/plastitanium
debris_type = /obj/effect/decal/cleanable/glass/plastitanium
material_reagent = list(/datum/reagent/silicon = 1, /datum/reagent/toxin/plasma = 0.5)
value_per_unit = 0.125
composition = list(/datum/material/glass = 1, /datum/material/alloy/plastitanium = 0.5)
/**
* Alien Alloy
* Densified plasteel.
* Applies a significant slowdown effect to anything that contains it.
* Anything constructed from it can slowly regenerate.
*/
/datum/material/alloy/alien
name = "alien alloy"
desc = "An extremely dense alloy similar to plasteel in composition. It requires exotic metallurgical processes to create."
color = "#6041aa"
mat_flags = MATERIAL_BASIC_RECIPES | MATERIAL_CLASS_METAL | MATERIAL_CLASS_RIGID
mat_properties = list(
MATERIAL_DENSITY = 8,
MATERIAL_HARDNESS = 8,
MATERIAL_FLEXIBILITY = 3,
MATERIAL_REFLECTIVITY = 7,
MATERIAL_ELECTRICAL = 8,
MATERIAL_THERMAL = 1,
MATERIAL_CHEMICAL = 10,
)
sheet_type = /obj/item/stack/sheet/mineral/abductor
material_reagent = list(/datum/reagent/iron = 1, /datum/reagent/toxin/plasma = 1)
value_per_unit = 0.4
composition = list(/datum/material/iron = 2, /datum/material/plasma = 2)
/datum/material/alloy/alien/on_applied(atom/source, mat_amount, multiplier, from_slot)
. = ..()
if(isobj(source))
source.AddElement(/datum/element/obj_regen, _rate=0.02) // 2% regen per tick.
if(istype(source, /obj/item/fishing_rod))
ADD_TRAIT(source, TRAIT_ROD_LAVA_USABLE, REF(src))
/datum/material/alloy/alien/on_removed(atom/source, mat_amount, multiplier, from_slot)
. = ..()
if(isobj(source))
source.RemoveElement(/datum/element/obj_regen, _rate=0.02)
if(istype(source, /obj/item/fishing_rod))
REMOVE_TRAIT(source, TRAIT_ROD_LAVA_USABLE, REF(src))