Garbage/qdel changes.

Moves atom/Destroy() into atom/movable/Destroy(). Is now a /tg/ copy-paste.
Means deleting turfs no longer wipes everything on that turf and that pulling is canceled.
qdel no longer willingly accepts lists.
This commit is contained in:
PsiOmegaDelta
2015-06-04 19:32:05 +02:00
parent 697a167799
commit 224cbb41bf
3 changed files with 9 additions and 20 deletions

View File

@@ -85,14 +85,8 @@ var/list/delayed_garbage = list()
/proc/qdel(var/datum/A)
if(!A)
return
if(istype(A, /list))
var/list/L = A
for(var/E in L)
qdel(E)
return
if(!istype(A))
//warning("qdel() passed object of type [A.type]. qdel() can only handle /datum types.")
warning("qdel() passed object of type [A.type]. qdel() can only handle /datum types.")
del(A)
if(garbage_collector)
garbage_collector.dels++

View File

@@ -23,18 +23,6 @@
//Detective Work, used for the duplicate data points kept in the scanners
var/list/original_atom
/atom/Destroy()
. = ..()
density = 0
set_opacity(0)
if(reagents)
qdel(reagents)
reagents = null
for(var/atom/movable/AM in contents)
qdel(AM)
invisibility = 101
/atom/proc/assume_air(datum/gas_mixture/giver)
return null

View File

@@ -31,8 +31,15 @@
/atom/movable/Destroy()
. = ..()
if(reagents)
qdel(reagents)
for(var/atom/movable/AM in contents)
qdel(AM)
loc = null
if (pulledby)
if (pulledby.pulling == src)
pulledby.pulling = null
pulledby = null
/atom/movable/proc/initialize()
return