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
+2 -2
View File
@@ -12,7 +12,7 @@
var/accuracy = 1
var/fragile = 0 // If nonzero, above what force do we shatter?
var/shatter_sound = SFX_BREAK_GLASS
var/material/shatter_material = MATERIAL_GLASS //slight typecasting abuse here, gets converted to a material in initializee
var/singleton/material/shatter_material = MATERIAL_GLASS
var/can_be_placed_into = list(
/obj/structure/machinery/chem_master,
/obj/structure/machinery/chem_heater,
@@ -55,7 +55,7 @@
if(!possible_transfer_amounts)
src.verbs -= /obj/item/reagent_containers/verb/set_APTFT
create_reagents(volume)
shatter_material = SSmaterials.get_material_by_name(shatter_material)
shatter_material = GET_SINGLETON(shatter_material)
/obj/item/reagent_containers/attack_self(mob/user)
return