From e2b68fd0acc1fa24bda2cac68552578fb4aff082 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Sat, 18 Jan 2025 05:43:53 +0100 Subject: [PATCH] bunch of unhandled refs (#16919) * bunch of unhandled refs * fix that (#6) --- code/ATMOSPHERICS/pipes/pipe_base.dm | 3 +++ code/controllers/subsystems/mobs.dm | 4 ++++ code/controllers/subsystems/radiation.dm | 4 ++++ code/game/machinery/camera/camera.dm | 2 +- code/game/machinery/upgrade_machinery.dm | 2 +- code/game/objects/objs.dm | 9 +++++++++ .../structures/crates_lockers/closets/coffin.dm | 2 +- code/game/objects/structures/fitness.dm | 2 +- code/modules/pda/pda.dm | 4 +++- .../power/singularity/containment_field.dm | 2 +- code/modules/projectiles/projectile.dm | 6 ++---- icons/obj/closets/coffin.dmi | Bin 898 -> 921 bytes 12 files changed, 30 insertions(+), 10 deletions(-) diff --git a/code/ATMOSPHERICS/pipes/pipe_base.dm b/code/ATMOSPHERICS/pipes/pipe_base.dm index b25c3c5dfd..9857753909 100644 --- a/code/ATMOSPHERICS/pipes/pipe_base.dm +++ b/code/ATMOSPHERICS/pipes/pipe_base.dm @@ -99,6 +99,9 @@ return parent.return_network(reference) /obj/machinery/atmospherics/pipe/Destroy() + if(parent) + parent.members -= src + parent.edges -= src QDEL_NULL(parent) if(air_temporary) loc.assume_air(air_temporary) diff --git a/code/controllers/subsystems/mobs.dm b/code/controllers/subsystems/mobs.dm index 8fec502f21..57d7838a32 100644 --- a/code/controllers/subsystems/mobs.dm +++ b/code/controllers/subsystems/mobs.dm @@ -92,3 +92,7 @@ SUBSYSTEM_DEF(mobs) /datum/controller/subsystem/mobs/critfail() ..() log_recent() + +/mob/Destroy() + . = ..() + SSmobs.currentrun -= src diff --git a/code/controllers/subsystems/radiation.dm b/code/controllers/subsystems/radiation.dm index 624d6f4279..c52f69b33a 100644 --- a/code/controllers/subsystems/radiation.dm +++ b/code/controllers/subsystems/radiation.dm @@ -146,3 +146,7 @@ SUBSYSTEM_DEF(radiation) return var/turf/epicentre = locate(round(world.maxx / 2), round(world.maxy / 2), source.z) flat_radiate(epicentre, power, world.maxx, respect_maint) + +/mob/living/Destroy() + . = ..() + SSradiation.listeners -= src diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6aa664a089..11250a4607 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -70,7 +70,7 @@ /obj/machinery/camera/Destroy() if(isMotion()) - unsense_proximity(callback = /atom/proc/HasProximity) + unsense_proximity(callback = TYPE_PROC_REF(/atom,HasProximity)) deactivate(null, 0) //kick anyone viewing out if(assembly) qdel(assembly) diff --git a/code/game/machinery/upgrade_machinery.dm b/code/game/machinery/upgrade_machinery.dm index 03a0477c9d..e00ec2069a 100644 --- a/code/game/machinery/upgrade_machinery.dm +++ b/code/game/machinery/upgrade_machinery.dm @@ -27,7 +27,7 @@ break component_parts.Remove(C) C.forceMove(src.loc) - C.Destroy() + qdel(C) cur_coils-- // Rebuild from mapper's coils for(var/i = 1, i <= parts_found.len, i++) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 46f33c7a34..9df1f75be1 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -39,6 +39,15 @@ m.visible_message(span_notice("\The [m] tumbles out of \the [src]!")) //VOREStation Add End + if(istype(src, /obj/item)) + var/obj/item/I = src + if(I.possessed_voice && I.possessed_voice.len) + for(var/mob/living/voice/V in I.possessed_voice) + if(!V.tf_mob_holder) + V.ghostize(0) + V.stat = DEAD + qdel(V) + return ..() /obj/Topic(href, href_list, var/datum/tgui_state/state = GLOB.tgui_default_state) diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm index 17f9d2f736..f796d18b47 100644 --- a/code/game/objects/structures/crates_lockers/closets/coffin.dm +++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm @@ -3,7 +3,7 @@ desc = "It's a burial receptacle for the dearly departed." icon = 'icons/obj/closets/coffin.dmi' - icon_state = "closed" + icon_state = "closed_unlocked" seal_tool = /obj/item/tool/screwdriver breakout_sound = 'sound/weapons/tablehit1.ogg' closet_appearance = null // Special icon for us diff --git a/code/game/objects/structures/fitness.dm b/code/game/objects/structures/fitness.dm index 40ad964527..1e754ed8de 100644 --- a/code/game/objects/structures/fitness.dm +++ b/code/game/objects/structures/fitness.dm @@ -23,7 +23,7 @@ flick("[icon_state]_hit", src) playsound(src, 'sound/effects/woodhit.ogg', 25, 1, -1) user.do_attack_animation(src) - user.nutrition = user.nutrition - 5 + user.adjust_nutrition(-5) user.weight -= 0.25 * weightloss_power * (0.01 * user.weight_loss) to_chat(user, span_warning("You [pick(hit_message)] \the [src].")) diff --git a/code/modules/pda/pda.dm b/code/modules/pda/pda.dm index f279b41520..174437eb37 100644 --- a/code/modules/pda/pda.dm +++ b/code/modules/pda/pda.dm @@ -491,7 +491,9 @@ var/global/list/obj/item/pda/PDAs = list() /obj/item/pda/Destroy() PDAs -= src - if (src.id && prob(100) && !delete_id) //IDs are kept in 90% of the cases //VOREStation Edit - 100% of the cases, excpet when specified otherwise + if(id.loc != src) + id = null + if (src.id && !delete_id) src.id.forceMove(get_turf(src.loc)) else QDEL_NULL(src.id) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index d5cad53096..f57ac672dc 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -29,7 +29,7 @@ shockdirs = list(turn(dir,90),turn(dir,-90)) /obj/machinery/containment_field/Destroy() - unsense_proximity(callback = /atom/proc/HasProximity) + unsense_proximity(callback = TYPE_PROC_REF(/atom,HasProximity)) if(FG1 && !FG1.clean_up) FG1.cleanup() if(FG2 && !FG2.clean_up) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 9923445901..b5bae811e5 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -469,10 +469,8 @@ impacted_mobs.Cut() impacted_mobs = null - trajectory = null - beam_index = null - beam_components = null - + QDEL_NULL(trajectory) + cleanup_beam_segments() if(my_case) if(my_case.BB == src) diff --git a/icons/obj/closets/coffin.dmi b/icons/obj/closets/coffin.dmi index db2c6e19319f5fe60bbeff5c184493dea97bd865..d6bd353c64c43fa9c582d51792c275ce43f2a210 100644 GIT binary patch delta 829 zcmV-D1H$}*2bl+uBmsMoB}sq3AT>{ki!&v&s2IpKo0HvBJiR*usMF0Q-*-1n}RCt{2Sx<}FKooz`XiEH76kN3; zv`E3r;-TN6-=N^Z+fwi(6+ePU5j+WH@lX#!Z~X>)?`7Fr@8VjaOBH`3jeqN#GSe7i z6pb^2`-4X^`HlI#_hypJ8>PFuJD{l5YD?gNQmG{I(AftPO#lYp?RG&?6w;p0=Np~f zZnx$2T^!{Rx~@YakvN+qkOW}xgTVkaO#@k$VX;`Ob)s#T%eB@vf^t?oK7`|7?cD|8IRT;_5RK;qh;~3U zE%OF&% zRhE464p>b^?kh60CI+8Qry(AX6HBF18@BEGE{^hOs9{XBOdWs0BIR2Cz$N&H*;i6@ zq4sJyETKb@NQ7`6kB1db6trzVTJ^Ewu}Cu(Yp8{qI1|_-z$B=Hm@H-hRG4xf^U9@GAJ0*qd+`t^%*&r4lE{ zO!6JMMh)9e@OFR5UT2B%084-(tHiYF0K%aNgnd`w^Mv4O@Cy`GW`=Dicstxb+!Nyg z_6R&_KSA-nAkOLI8S6lU&?kRR!i&cL8DMe_X9A8G0)udxw*x-=Jf44qWi5ct;{ARfhQlFi2ZKR~MxzIb?7A0fBSh+Nyachsp@L4_i?_bqY&NA_F1Ji3la7e) zi%zEl?RGJnY)pvMXIo1KIqU2Z9HXBmr`fB}sodC%-r~MTv_uC9|j)C}7CNnO2mTn+jpWmE{+t=HXJL ztl;YB0=66g8Ji^42@hys0008ZNklBzPhL82ofP1x?dHmSxy(w-%n(eLkP1ZU*I8Jms)luh$R?g&-D-ktE2jMsfl= zoz8BtSRCwQ4vtlK>d$`yYNEDt&wm^b2@vgoXgnl9v;(5?-zPx$GFYipq(-Abc7UtZ ziWpCAPi%w`)oPW?HkhK_Zj+s$Wd_vibuLacn@!2ywp=cGNbkY;55VB_`8=f4X=1rt zZqNSK?!-|Z4K?hE{y7!7j=ot_rokr?2|@${0ps96LF@LC)rWt@;~~X-SV1k+#F;=H z!9&WW{K}2k9C5pTPYzwEE#pTjl{)wZ`zh%s`UvzkZ0y9aP|6% zl-F;sxjFSs|IAH`K>bxP_W{MrA~BwL5`9kWS-c1rk*DxjNt3dWeL>o&VciX$f|-Du z+Z$p$p~xyRZ8d*|cq{?&&;^77F}Rz41x1w&!@3(hh476K#hvyAl;9)coW58a?KB8| z`TZIKhIr)c?4NOxWQA91O$UY?t5|6G~?sq9lU>xy&=!`5yWY%{qgzUJZjOI zE)@!e-7&YQ=YajXTZBHD0jjD(I2`6GKA+EtiPo3#5MmaeOeQd!&5U|98iiysd6J0J zZ=p6qr2gI-fgMg2bmO;p>&xA4S1OfCyKFY=is-Qz4u{b1_sPYGNPXi