Merge pull request #6961 from Fox-McCloud/garbage-collect-stuffs

Garbage Collection and Code Cleanup
This commit is contained in:
Crazy Lemon
2017-04-01 22:58:52 -07:00
committed by GitHub
36 changed files with 231 additions and 164 deletions
+4 -1
View File
@@ -34,6 +34,9 @@
if(beaker)
qdel(beaker)
beaker = null
if(files)
qdel(files)
files = null
return ..()
/obj/machinery/biogenerator/ex_act(severity)
@@ -208,7 +211,7 @@
/obj/machinery/biogenerator/attack_hand(mob/user)
interact(user)
/obj/machinery/biogenerator/attack_ghost(mob/user)
interact(user)
+28 -9
View File
@@ -24,13 +24,26 @@
/obj/machinery/plantgenes/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/plantgenes(src)
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/circuitboard/plantgenes(null)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/weapon/stock_parts/scanning_module(null)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
RefreshParts()
/obj/machinery/plantgenes/Destroy()
core_genes.Cut()
reagent_genes.Cut()
trait_genes.Cut()
target = null
if(seed)
qdel(seed)
seed = null
if(disk)
qdel(disk)
disk = null
return ..()
/obj/machinery/plantgenes/RefreshParts()
rating = 0
for(var/I in component_parts)
@@ -90,7 +103,7 @@
if(..())
return
interact(user)
/obj/machinery/plantgenes/attack_ghost(mob/user)
interact(user)
@@ -282,9 +295,9 @@
repaint_seed()
if("extract")
if(disk && !disk.read_only)
disk.gene = G
if(istype(G, /datum/plant_gene/core/potency))
var/datum/plant_gene/core/gene = G
disk.gene = G.Copy()
if(istype(disk.gene, /datum/plant_gene/core/potency))
var/datum/plant_gene/core/gene = disk.gene
gene.value = min(gene.value, max_extract_pot)
disk.update_name()
qdel(seed)
@@ -370,6 +383,12 @@
pixel_x = rand(-5, 5)
pixel_y = rand(-5, 5)
/obj/item/weapon/disk/plantgene/Destroy()
if(gene)
qdel(gene)
gene = null
return ..()
/obj/item/weapon/disk/plantgene/attackby(obj/item/weapon/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/pen))
+5 -1
View File
@@ -39,7 +39,11 @@
transform *= TransformUsingVariable(seed.potency, 100, 0.5) //Makes the resulting produce's sprite larger or smaller based on potency!
add_juice()
/obj/item/weapon/reagent_containers/food/snacks/grown/Destroy()
if(seed)
qdel(seed)
seed = null
return ..()
/obj/item/weapon/reagent_containers/food/snacks/grown/proc/add_juice()
if(reagents)
@@ -31,6 +31,11 @@
transform *= TransformUsingVariable(seed.potency, 100, 0.5)
add_juice()
/obj/item/weapon/grown/Destroy()
if(seed)
qdel(seed)
seed = null
return ..()
/obj/item/weapon/grown/attackby(obj/item/O, mob/user, params)
..()
+6
View File
@@ -68,6 +68,12 @@
for(var/reag_id in reagents_add)
genes += new /datum/plant_gene/reagent(reag_id, reagents_add[reag_id])
/obj/item/seeds/Destroy()
for(var/thing in genes)
qdel(thing)
genes.Cut()
return ..()
/obj/item/seeds/proc/Copy()
var/obj/item/seeds/S = new type(null, 1)
// Copy all the stats