diff --git a/code/datums/elements/frozen.dm b/code/datums/elements/frozen.dm index 4901ee98176..77699c89e64 100644 --- a/code/datums/elements/frozen.dm +++ b/code/datums/elements/frozen.dm @@ -44,7 +44,8 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 SIGNAL_HANDLER var/obj/obj_target = target obj_target.visible_message(span_danger("[obj_target] shatters into a million pieces!")) - qdel(obj_target) + obj_target.flags_1 |= NODECONSTRUCT_1 // disable item spawning + obj_target.deconstruct(FALSE) // call pre-deletion specialized code -- internals release gas etc /// signal handler for COMSIG_MOVABLE_MOVED that unfreezes our target if it moves onto an open turf thats hotter than /// our melting temperature. diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 200b8da60ec..c7a20ad9f2e 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -428,6 +428,7 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) /obj/machinery/portable_atmospherics/canister/deconstruct(disassembled = TRUE) if((flags_1 & NODECONSTRUCT_1)) + qdel(src) return if(!(machine_stat & BROKEN)) canister_break()