From 66ffbb2e59e7c6a50bae7a8902bdb5c1d2573add Mon Sep 17 00:00:00 2001 From: Bloop <13398309+vinylspiders@users.noreply.github.com> Date: Thu, 20 Mar 2025 07:44:47 -0400 Subject: [PATCH] Stops fire_act from trying to add the burning component to qdeleted atoms (#90125) ## About The Pull Request ![firefox_ofVVJ1vhpG](https://github.com/user-attachments/assets/5c01541f-acae-4173-bb13-6479b4ab1694) Fixes this flaky runtime involving burning trash. ## Why It's Good For The Game `take_damage()` destroying candy wrappers should not cause my CI to fail. Go away. --- code/game/objects/obj_defense.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 45bc7f91106..5290f22e008 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -133,6 +133,8 @@ return if(exposed_temperature && !(resistance_flags & FIRE_PROOF)) take_damage(clamp(0.02 * exposed_temperature, 0, 20), BURN, FIRE, 0) + if(QDELETED(src)) // take_damage() can send our obj to an early grave, let's stop here if that happens + return if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE) && !(resistance_flags & FIRE_PROOF)) AddComponent(/datum/component/burning, custom_fire_overlay || GLOB.fire_overlay, burning_particles) SEND_SIGNAL(src, COMSIG_ATOM_FIRE_ACT, exposed_temperature, exposed_volume)