Added a garbage collector implementation based on rumors from Goon and proc references in released gooncode.

And holy shit it's fast

Conflicts:
	baystation12.dme
	code/ATMOSPHERICS/pipes.dm
	code/game/machinery/Sleeper.dm
	code/game/machinery/rechargestation.dm
	code/game/objects/structures/crates_lockers/crates.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/mining/mine_turfs.dm
	code/modules/paperwork/photocopier.dm
	code/modules/power/cable.dm
	html/changelog.html
This commit is contained in:
Rob Nelson
2014-01-29 23:45:21 -05:00
committed by ZomgPonies
parent 3633c2dcb7
commit c3b021e246
70 changed files with 240 additions and 184 deletions
@@ -141,19 +141,19 @@
for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion
A.loc = src.loc
A.ex_act(severity++)
del(src)
qdel(src)
if(2)
if(prob(50))
for (var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.ex_act(severity++)
del(src)
qdel(src)
if(3)
if(prob(5))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.ex_act(severity++)
del(src)
qdel(src)
/obj/structure/closet/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
@@ -99,17 +99,17 @@
if(1.0)
for(var/obj/O in src.contents)
del(O)
del(src)
qdel(src)
return
if(2.0)
for(var/obj/O in src.contents)
if(prob(50))
del(O)
del(src)
qdel(src)
return
if(3.0)
if (prob(50))
del(src)
qdel(src)
return
else
return
@@ -448,4 +448,4 @@
// new /obj/item/weapon/weedspray(src)
// new /obj/item/weapon/pestspray(src)
// new /obj/item/weapon/pestspray(src)
// new /obj/item/weapon/pestspray(src)
// new /obj/item/weapon/pestspray(src)
+1 -1
View File
@@ -38,7 +38,7 @@
new /obj/item/weapon/shard( src.loc )
if (occupant)
dump()
del(src)
qdel(src)
if (2)
if (prob(50))
src.health -= 15
+6 -6
View File
@@ -184,19 +184,19 @@
ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(30))
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
new remains(loc)
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
new remains(loc)
del(src)
qdel(src)
return
else
return
@@ -245,17 +245,17 @@
ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(30))
new /obj/effect/decal/remains/human(loc)
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
new /obj/effect/decal/remains/human(loc)
del(src)
qdel(src)
return
else
return
+3 -3
View File
@@ -40,13 +40,13 @@
/obj/structure/grille/ex_act(severity)
del(src)
qdel(src)
/obj/structure/grille/blob_act()
del(src)
qdel(src)
/obj/structure/grille/meteorhit(var/obj/M)
del(src)
qdel(src)
/obj/structure/grille/Bumped(atom/user)
+3 -3
View File
@@ -15,7 +15,7 @@
if (1)
new /obj/item/weapon/shard( src.loc )
Break()
del(src)
qdel(src)
if (2)
if (prob(50))
src.health -= 15
@@ -37,13 +37,13 @@
if (prob(75))
new /obj/item/weapon/shard( src.loc )
Break()
del(src)
qdel(src)
/obj/structure/lamarr/meteorhit(obj/O as obj)
new /obj/item/weapon/shard( src.loc )
Break()
del(src)
qdel(src)
/obj/structure/lamarr/proc/healthcheck()
+2 -2
View File
@@ -39,10 +39,10 @@
/obj/structure/lattice/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
del(src)
qdel(src)
return
if(3.0)
return
@@ -138,7 +138,7 @@
var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
for(var/i = 3, i <= oreAmount, i++)
new ore(get_turf(src))
del(src)
qdel(src)
ex_act(severity = 1)
switch(severity)
+3 -3
View File
@@ -32,13 +32,13 @@
/obj/structure/mopbucket/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
del(src)
qdel(src)
return
+6 -6
View File
@@ -48,21 +48,21 @@
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
del(src)
qdel(src)
return
return
@@ -213,21 +213,21 @@
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
del(src)
qdel(src)
return
return
+5 -5
View File
@@ -8,19 +8,19 @@
/obj/structure/sign/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
del(src)
qdel(src)
return
if(3.0)
del(src)
qdel(src)
return
else
return
/obj/structure/sign/blob_act()
del(src)
qdel(src)
return
/obj/structure/sign/attackby(obj/item/tool as obj, mob/user as mob) //deconstruction
@@ -228,4 +228,4 @@
/obj/structure/sign/directions/evac
name = "\improper Escape Arm"
desc = "A direction sign, pointing out which way escape shuttle dock is."
icon_state = "direction_evac"
icon_state = "direction_evac"
@@ -10,15 +10,15 @@
/obj/structure/stool/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
del(src)
qdel(src)
return
return
+6 -7
View File
@@ -64,8 +64,7 @@
/obj/structure/table/proc/destroy()
new parts(loc)
density = 0
del(src)
qdel(src)
/obj/structure/table/proc/check_contents(datum/table_recipe/TR)
check_table()
@@ -362,11 +361,11 @@
/obj/structure/table/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
del(src)
qdel(src)
return
if(3.0)
if (prob(25))
@@ -793,14 +792,14 @@
/obj/structure/rack/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
if(2.0)
del(src)
qdel(src)
if(prob(50))
new /obj/item/weapon/rack_parts(src.loc)
if(3.0)
if(prob(25))
del(src)
qdel(src)
new /obj/item/weapon/rack_parts(src.loc)
/obj/structure/rack/blob_act()
@@ -61,9 +61,10 @@ obj/structure/ex_act(severity)
if(1.0)
for(var/atom/movable/AM in contents)
AM.loc = loc
// TODO: What the fuck are you doing
AM.ex_act(severity++)
del(src)
qdel(src)
return
if(2.0)
if(prob(50))
@@ -71,7 +72,7 @@ obj/structure/ex_act(severity)
AM.loc = loc
AM.ex_act(severity++)
del(src)
qdel(src)
return
if(3.0)
return