Updates the atom_pool, now datum_pool, to handle any datum object.

Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
This commit is contained in:
PsiOmega
2015-04-24 09:59:05 +02:00
parent a3fb012332
commit 1ae0ad6d92
579 changed files with 6034 additions and 6004 deletions
+1 -1
View File
@@ -288,7 +288,7 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large)
// Only a certain number of drips (or one large splatter) can be on a given turf.
for(var/obj/effect/decal/cleanable/blood/drip/drop in T)
drips |= drop.drips
del(drop)
qdel(drop)
if(!large && drips.len < 3)
decal_type = /obj/effect/decal/cleanable/blood/drip
+1 -1
View File
@@ -315,7 +315,7 @@ var/list/organ_cache = list()
if(fingerprintslast) O.fingerprintslast = fingerprintslast
user.put_in_active_hand(O)
del(src)
qdel(src)
/obj/item/organ/attack_self(mob/user as mob)
+5 -5
View File
@@ -5,12 +5,12 @@
//This is a terrible hack and I should be ashamed.
var/datum/seed/diona = plant_controller.seeds["diona"]
if(!diona)
del(src)
qdel(src)
spawn(1) // So it has time to be thrown about by the gib() proc.
var/mob/living/carbon/alien/diona/D = new(get_turf(organ))
diona.request_player(D)
del(organ)
qdel(organ)
/obj/item/organ/external/diona
name = "tendril"
@@ -130,7 +130,7 @@
/obj/item/organ/external/diona/removed()
..()
if(!istype(owner))
del(src)
qdel(src)
if(!owner.organs.len)
owner.death()
@@ -175,7 +175,7 @@
..()
if(!istype(owner))
del(src)
qdel(src)
if(!owner.internal_organs.len)
owner.death()
@@ -247,7 +247,7 @@
B.ckey = owner.ckey
spawn(0)
del(src)
qdel(src)
//XENOMORPH ORGANS
/obj/item/organ/xenos/eggsac
+4 -4
View File
@@ -702,7 +702,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(istype(loc,/turf))
I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30)
del(src)
qdel(src)
/****************************************************
HELPERS
@@ -878,7 +878,7 @@ Note that amputating the affected organ does in fact remove the infection from t
victim.bad_external_organs -= src
for(var/implant in implants) //todo: check if this can be left alone
del(implant)
qdel(implant)
// Attached organs also fly off.
if(!ignore_children)
@@ -908,8 +908,8 @@ Note that amputating the affected organ does in fact remove the infection from t
spark_system.attach(owner)
spark_system.start()
spawn(10)
del(spark_system)
del(src)
qdel(spark_system)
qdel(src)
/obj/item/organ/external/proc/disfigure(var/type = "brute")
if (disfigured)
+1 -1
View File
@@ -21,4 +21,4 @@
/obj/item/organ/external/stump/removed()
..()
del(src)
qdel(src)