Fixed the nuke disk qdel() fucking up

Made the singulo spawn correctly
Really minor fix for things that are qdel()'d at 0 time, which should be nothing if everything is going right.
This commit is contained in:
MrPerson
2014-02-25 02:29:49 -08:00
parent af8001d619
commit f0fd0c9949
5 changed files with 9 additions and 14 deletions
+1 -3
View File
@@ -46,7 +46,7 @@
/atom/Del()
// Pass to Destroy().
if(!gc_destroyed) // If we're just straight up calling del(atom), make sure anything in Destroy() gets called anyways just to be sure.
if(isnull(gc_destroyed)) // If we're just straight up calling del(atom), make sure anything in Destroy() gets called anyways just to be sure.
Destroy()
..()
@@ -56,8 +56,6 @@
/atom/proc/Destroy()
gc_destroyed = world.time
invisibility = 101
for(var/atom/movable/AM in contents)
qdel(AM)
if(reagents)
reagents.delete()
del(reagents) // Technically I think the reagent holder will gc, but let's be careful here and delete all the reagents and the holder too
+6 -6
View File
@@ -31,6 +31,12 @@
// testing("GC: [type] was deleted via GC with qdel()")
..()
/atom/movable/Destroy()
loc = null // can never null their loc enough really
for(var/atom/movable/AM in contents)
qdel(AM)
. = ..()
// Previously known as HasEntered()
// This is automatically called when something enters your square
/atom/movable/Crossed(atom/movable/AM)
@@ -59,12 +65,6 @@
return 1
return 0
/atom/movable/Destroy()
loc = null // can never null their loc enough really
for(var/atom/movable/AM in contents)
qdel(AM)
. = ..()
/atom/movable/proc/hit_check() // todo: this is partly obsolete due to passflags already, add throwing stuff to mob CanPass and finish it
if(src.throwing)
for(var/atom/A in get_turf(src))
@@ -210,3 +210,4 @@ var/bomb_set
var/obj/D = new /obj/item/weapon/disk/nuclear(pick(blobstart))
message_admins("[src] has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).")
log_game("[src] has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).")
..()
+1 -2
View File
@@ -1058,8 +1058,7 @@ var/global/list/g_fancy_list_of_safe_types = null
for(var/obj/machinery/the_singularitygen/G in world)
if(G.anchored)
var/obj/machinery/singularity/S = new /obj/machinery/singularity(get_turf(G), 50)
spawn(0)
del(G)
// qdel(G)
S.energy = 1750
S.current_size = 7
S.icon = 'icons/effects/224x224.dmi'
@@ -38,9 +38,6 @@ var/global/list/uneatable = list(
admin_investigate_setup()
src.energy = starting_energy
if(temp)
spawn(temp)
qdel(src)
..()
for(var/obj/machinery/singularity_beacon/singubeacon in world)
if(singubeacon.active)