Materials Repath (#22388)

Soft-ish port of https://github.com/NebulaSS13/Nebula/pull/540. Except
we call them singletons.

Repaths all materials as singletons instead of datums, and replaces
material defines from strings to paths so that we can just run
GET_SINGLETON instead of needing to use SSMaterials. This is Step One.

This PR has no player-facing changes.

changes:
  - refactor: "Repaths /material to /singleton/material."
- refactor: "Replaces all material string defines to path defines,
replacing SSmaterials procs w/ GET_SINGLETON instead."
- refactor: "Removes all material var edited objects from all maps,
adding new presets where necessary."
- refactor: "Updates recipes unit test to run all recipes against all
material singletons."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: kano-dot <bhutanlikanoxy@gmail.com>
This commit is contained in:
Batrachophreno
2026-07-10 18:45:58 +00:00
committed by GitHub
co-authored by kano-dot
parent 2e61d8fd15
commit eebb8b971c
83 changed files with 696 additions and 782 deletions
@@ -18,7 +18,7 @@
var/created_window = /obj/structure/window/basic
var/is_reinforced = 0
var/list/construction_options = list("One Direction", "Full Window")
default_type = "glass"
default_type = MATERIAL_GLASS
icon_has_variants = TRUE
drop_sound = 'sound/items/drop/glass_sheet.ogg'
pickup_sound = 'sound/items/pickup/glass_sheet.ogg'
@@ -112,7 +112,7 @@
name = "reinforced glass"
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
default_type = "reinforced glass"
default_type = MATERIAL_GLASS_REINFORCED
created_window = /obj/structure/window/reinforced
is_reinforced = 1
construction_options = list("One Direction", "Full Window", "Windoor")
@@ -127,7 +127,7 @@
icon = 'icons/obj/item/stacks/tiles.dmi'
icon_state = "glass_wire"
created_window = null
default_type = "wired glass"
default_type = MATERIAL_GLASS_WIRED
construction_options = list()
icon_has_variants = FALSE
@@ -160,7 +160,7 @@
singular_name = "phoron glass sheet"
icon_state = "sheet-phoronglass"
created_window = /obj/structure/window/borosilicate
default_type = "phoron glass"
default_type = MATERIAL_GLASS_PHORON
icon_has_variants = FALSE
/*
@@ -170,7 +170,7 @@
name = "reinforced phoron glass"
singular_name = "reinforced phoron glass sheet"
icon_state = "sheet-phoronrglass"
default_type = "reinforced phoron glass"
default_type = MATERIAL_GLASS_REINFORCED_PHORON
created_window = /obj/structure/window/borosilicate/reinforced
is_reinforced = 1
icon_has_variants = FALSE
@@ -19,14 +19,14 @@
name = "human skin"
desc = "The by-product of human farming."
singular_name = "human skin piece"
default_type = "human hide"
default_type = MATERIAL_HIDE_HUMAN
/obj/item/stack/material/animalhide/corgi
name = "corgi hide"
desc = "The by-product of corgi farming."
singular_name = "corgi hide piece"
icon_state = "sheet-corgi"
default_type = "corgi hide"
default_type = MATERIAL_HIDE_CORGI
icon_has_variants = FALSE
/obj/item/stack/material/animalhide/cat
@@ -34,7 +34,7 @@
desc = "The by-product of cat farming."
icon_state = "sheet-cat"
singular_name = "cat hide piece"
default_type = "cat hide"
default_type = MATERIAL_HIDE_CAT
icon_has_variants = FALSE
/obj/item/stack/material/animalhide/monkey
@@ -42,7 +42,7 @@
desc = "The by-product of monkey farming."
singular_name = "monkey hide piece"
icon_state = "sheet-monkey"
default_type = "monkey hide"
default_type = MATERIAL_HIDE_MONKEY
icon_has_variants = FALSE
/obj/item/stack/material/animalhide/lizard
@@ -50,7 +50,7 @@
desc = "Sssssss..."
singular_name = "lizard skin piece"
icon_state = "sheet-lizard"
default_type = "lizard hide"
default_type = MATERIAL_HIDE_LIZARD
icon_has_variants = FALSE
hide_type = "scales"
@@ -59,7 +59,7 @@
desc = "A hide without fur or scales. Can be tanned into leather."
singular_name = "bare hide piece"
icon_state = "sheet-hairlesshide"
default_type = "bare hide"
default_type = MATERIAL_HIDE_BARE
bare = TRUE
/obj/item/stack/material/animalhide/barehide/mechanics_hints(mob/user, distance, is_adjacent)
@@ -71,7 +71,7 @@
desc = "This leather has been cleaned but still needs to be dried."
singular_name = "wet leather piece"
icon_state = "sheet-wetleather"
default_type = "wet leather"
default_type = MATERIAL_WET_LEATHER
icon_has_variants = TRUE
bare = TRUE
var/wetness = 30 //Reduced when exposed to high temperautres or manually dried with a welding tool.