mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 18:13:34 +01:00
Merge pull request #6961 from Fox-McCloud/garbage-collect-stuffs
Garbage Collection and Code Cleanup
This commit is contained in:
@@ -10,7 +10,9 @@
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/hooded/Destroy()
|
||||
qdel(hood)
|
||||
if(hood)
|
||||
qdel(hood)
|
||||
hood = null
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/suit/hooded/proc/MakeHood()
|
||||
|
||||
@@ -82,7 +82,7 @@ var/global/datum/controller/process/garbage_collector/garbageCollector
|
||||
#undef GC_COLLECTIONS_PER_TICK
|
||||
|
||||
/datum/controller/process/garbage_collector/proc/hardDel(var/datum/D)
|
||||
gc_hard_del_types |= D.type
|
||||
gc_hard_del_types["[D.type]"]++
|
||||
D.hard_deleted = 1
|
||||
if(!D.gcDestroyed)
|
||||
spawn(-1)
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
to_chat(usr, "<span class='notice'>No hard del()'d types found.</span>")
|
||||
return
|
||||
|
||||
to_chat(usr, "Types hard del()'d by the GC:")
|
||||
to_chat(usr, "Types hard del()'d by the GC and number of times failed:")
|
||||
for(var/A in gc_hard_del_types)
|
||||
to_chat(usr, "[A]")
|
||||
to_chat(usr, "[A] - [gc_hard_del_types[A]] times")
|
||||
|
||||
#ifdef TESTING
|
||||
/client/var/running_find_references
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -48,8 +48,7 @@
|
||||
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
if(!cube.wrapped)
|
||||
cube.Expand()
|
||||
cube.Expand()
|
||||
// Dehydrated carp
|
||||
if(istype(O, /obj/item/toy/carpplushie/dehy_carp))
|
||||
var/obj/item/toy/carpplushie/dehy_carp/dehy = O
|
||||
|
||||
@@ -1146,11 +1146,11 @@
|
||||
|
||||
update()
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/disposalpipe/trunk/Destroy()
|
||||
if(istype(linked, /obj/structure/disposaloutlet))
|
||||
var/obj/structure/disposaloutlet/O = linked
|
||||
O.expel()
|
||||
O.expel(animation = 0)
|
||||
else if(istype(linked, /obj/machinery/disposal))
|
||||
var/obj/machinery/disposal/D = linked
|
||||
if(D.trunk == src)
|
||||
@@ -1207,7 +1207,7 @@
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Slicing the disposal pipe.</span>")
|
||||
if(do_after(user, 30 * W.toolspeed, target = src))
|
||||
if(!W.isOn())
|
||||
if(!W.isOn())
|
||||
return
|
||||
welded()
|
||||
else
|
||||
@@ -1290,12 +1290,13 @@
|
||||
|
||||
// expel the contents of the holder object, then delete it
|
||||
// called when the holder exits the outlet
|
||||
proc/expel(var/obj/structure/disposalholder/H)
|
||||
proc/expel(var/obj/structure/disposalholder/H, animation = 1)
|
||||
|
||||
flick("outlet-open", src)
|
||||
playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0)
|
||||
sleep(20) //wait until correct animation frame
|
||||
playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0)
|
||||
if(animation)
|
||||
flick("outlet-open", src)
|
||||
playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0)
|
||||
sleep(20) //wait until correct animation frame
|
||||
playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0)
|
||||
|
||||
if(H)
|
||||
for(var/atom/movable/AM in H)
|
||||
@@ -1308,7 +1309,6 @@
|
||||
H.vent_gas(src.loc)
|
||||
qdel(H)
|
||||
|
||||
return
|
||||
|
||||
attackby(var/obj/item/I, var/mob/user, params)
|
||||
if(!I || !user)
|
||||
|
||||
@@ -19,6 +19,12 @@
|
||||
|
||||
dir = EAST
|
||||
|
||||
/obj/structure/spacepod_frame/Destroy()
|
||||
if(construct)
|
||||
qdel(construct)
|
||||
construct = null
|
||||
return ..()
|
||||
|
||||
/obj/structure/spacepod_frame/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if(!construct || !construct.action(W, user))
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user