Harddel Fix Pack #42 + Better Live Reftracking Support (#63877)

* Hard Del Fixes, Ref Tracking Changes
This commit is contained in:
LemonInTheDark
2022-01-12 22:46:13 +01:00
committed by GitHub
parent f3f7720d7e
commit f8aad14ae8
109 changed files with 865 additions and 733 deletions
@@ -202,8 +202,10 @@
///////////////////////////////////////////////
//FOAM EFFECT DATUM
/datum/effect_system/foam_spread
var/amount = 10 // the size of the foam spread.
var/obj/chemholder
/// the size of the foam spread.
var/amount = 10
/// Stupid hack alertm exists to hold chems for us
var/atom/movable/chem_holder/chemholder
effect_type = /obj/effect/particle_effect/foam
var/metal = 0
@@ -221,14 +223,11 @@
/datum/effect_system/foam_spread/New()
..()
chemholder = new /obj()
var/datum/reagents/R = new/datum/reagents(1000, REAGENT_HOLDER_INSTANT_REACT) //same as above
chemholder.reagents = R
R.my_atom = chemholder
chemholder = new()
chemholder.create_reagents(1000, REAGENT_HOLDER_INSTANT_REACT)
/datum/effect_system/foam_spread/Destroy()
qdel(chemholder)
chemholder = null
QDEL_NULL(chemholder)
return ..()
/datum/effect_system/foam_spread/set_up(amt=5, loca, datum/reagents/carry = null, metaltype = 0)
@@ -265,20 +265,18 @@
/datum/effect_system/smoke_spread/chem
var/obj/chemholder
/// Evil evil hack so we have something to "hold" our reagents
var/atom/movable/chem_holder/chemholder
effect_type = /obj/effect/particle_effect/smoke/chem
/datum/effect_system/smoke_spread/chem/New()
..()
chemholder = new /obj()
var/datum/reagents/R = new (500, REAGENT_HOLDER_INSTANT_REACT) //This is a safety for now to prevent smoke generating more smoke as the smoke reagents react in the smoke. This is prevented naturally from happening even if this is off, but I want to be sure that any edge cases are prevented before I get a chance to rework smoke reactions (specifically adding water or reacting away stabilizing agent in the middle of it).
chemholder.reagents = R
R.my_atom = chemholder
chemholder = new()
//This is a safety for now to prevent smoke generating more smoke as the smoke reagents react in the smoke. This is prevented naturally from happening even if this is off, but I want to be sure that any edge cases are prevented before I get a chance to rework smoke reactions (specifically adding water or reacting away stabilizing agent in the middle of it).
chemholder.create_reagents(500, REAGENT_HOLDER_INSTANT_REACT)
/datum/effect_system/smoke_spread/chem/Destroy()
qdel(chemholder)
chemholder = null
QDEL_NULL(chemholder)
return ..()
/datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, radius = 1, loca, silent = FALSE)