[MIRROR] Machines now store their components in their contents. (#966)

* Machines now store their components in their contents. (#52970)

Machine parts are now located in the machine instead of nullspace.

* Machines now store their components in their contents.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
This commit is contained in:
SkyratBot
2020-09-24 20:33:40 +02:00
committed by GitHub
co-authored by Timberpoes
parent 7c4299cdb9
commit ef28f115cc
25 changed files with 213 additions and 119 deletions
@@ -497,14 +497,21 @@
/obj/machinery/chem_dispenser/drinks/fullupgrade/Initialize()
. = ..()
dispensable_reagents |= emagged_reagents //adds emagged reagents
// Cache the old_parts first, we'll delete it after we've changed component_parts to a new list.
// This stops handle_atom_del being called on every part when not necessary.
var/list/old_parts = component_parts
component_parts = list()
component_parts += new /obj/item/circuitboard/machine/chem_dispenser/drinks(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(null)
component_parts += new /obj/item/stock_parts/manipulator/femto(null)
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
component_parts += new /obj/item/circuitboard/machine/chem_dispenser/drinks(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(src)
component_parts += new /obj/item/stock_parts/manipulator/femto(src)
component_parts += new /obj/item/stack/sheet/glass(src, 1)
component_parts += new /obj/item/stock_parts/cell/bluespace(src)
QDEL_LIST(old_parts)
RefreshParts()
/obj/machinery/chem_dispenser/drinks/beer
@@ -551,14 +558,21 @@
/obj/machinery/chem_dispenser/drinks/beer/fullupgrade/Initialize()
. = ..()
dispensable_reagents |= emagged_reagents //adds emagged reagents
// Cache the old_parts first, we'll delete it after we've changed component_parts to a new list.
// This stops handle_atom_del being called on every part when not necessary.
var/list/old_parts = component_parts
component_parts = list()
component_parts += new /obj/item/circuitboard/machine/chem_dispenser/drinks/beer(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(null)
component_parts += new /obj/item/stock_parts/manipulator/femto(null)
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
component_parts += new /obj/item/circuitboard/machine/chem_dispenser/drinks/beer(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(src)
component_parts += new /obj/item/stock_parts/manipulator/femto(src)
component_parts += new /obj/item/stack/sheet/glass(src, 1)
component_parts += new /obj/item/stock_parts/cell/bluespace(src)
QDEL_LIST(old_parts)
RefreshParts()
/obj/machinery/chem_dispenser/mutagen
@@ -592,14 +606,21 @@
/obj/machinery/chem_dispenser/mutagensaltpeter/Initialize()
. = ..()
// Cache the old_parts first, we'll delete it after we've changed component_parts to a new list.
// This stops handle_atom_del being called on every part when not necessary.
var/list/old_parts = component_parts
component_parts = list()
component_parts += new /obj/item/circuitboard/machine/chem_dispenser(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(null)
component_parts += new /obj/item/stock_parts/manipulator/femto(null)
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
component_parts += new /obj/item/circuitboard/machine/chem_dispenser(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(src)
component_parts += new /obj/item/stock_parts/manipulator/femto(src)
component_parts += new /obj/item/stack/sheet/glass(src, 1)
component_parts += new /obj/item/stock_parts/cell/bluespace(src)
QDEL_LIST(old_parts)
RefreshParts()
/obj/machinery/chem_dispenser/fullupgrade //fully ugpraded stock parts, emagged
@@ -610,14 +631,21 @@
/obj/machinery/chem_dispenser/fullupgrade/Initialize()
. = ..()
dispensable_reagents |= emagged_reagents //adds emagged reagents
// Cache the old_parts first, we'll delete it after we've changed component_parts to a new list.
// This stops handle_atom_del being called on every part when not necessary.
var/list/old_parts = component_parts
component_parts = list()
component_parts += new /obj/item/circuitboard/machine/chem_dispenser(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(null)
component_parts += new /obj/item/stock_parts/manipulator/femto(null)
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
component_parts += new /obj/item/circuitboard/machine/chem_dispenser(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(src)
component_parts += new /obj/item/stock_parts/manipulator/femto(src)
component_parts += new /obj/item/stack/sheet/glass(src, 1)
component_parts += new /obj/item/stock_parts/cell/bluespace(src)
QDEL_LIST(old_parts)
RefreshParts()
/obj/machinery/chem_dispenser/abductor
@@ -672,12 +700,19 @@
/obj/machinery/chem_dispenser/abductor/Initialize()
. = ..()
// Cache the old_parts first, we'll delete it after we've changed component_parts to a new list.
// This stops handle_atom_del being called on every part when not necessary.
var/list/old_parts = component_parts
component_parts = list()
component_parts += new /obj/item/circuitboard/machine/chem_dispenser(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(null)
component_parts += new /obj/item/stock_parts/manipulator/femto(null)
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
component_parts += new /obj/item/circuitboard/machine/chem_dispenser(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/matter_bin/bluespace(src)
component_parts += new /obj/item/stock_parts/capacitor/quadratic(src)
component_parts += new /obj/item/stock_parts/manipulator/femto(src)
component_parts += new /obj/item/stack/sheet/glass(src, 1)
component_parts += new /obj/item/stock_parts/cell/bluespace(src)
QDEL_LIST(old_parts)
RefreshParts()