mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 14:00:18 +01:00
Fix several hard-dels, add harddel ref tracking (#16174)
This commit is contained in:
@@ -42,11 +42,14 @@
|
||||
..()*/
|
||||
|
||||
/atom/movable/Destroy()
|
||||
if (important_recursive_contents && (important_recursive_contents[RECURSIVE_CONTENTS_CLIENT_MOBS] || important_recursive_contents[RECURSIVE_CONTENTS_HEARING_SENSITIVE]))
|
||||
if (HAS_SPATIAL_GRID_CONTENTS(src))
|
||||
SSspatial_grid.force_remove_from_cell(src)
|
||||
|
||||
LAZYCLEARLIST(contained_mobs)
|
||||
LAZYCLEARLIST(important_recursive_contents)
|
||||
|
||||
moved_event.unregister_all_movement(loc, src)
|
||||
|
||||
. = ..()
|
||||
|
||||
for(var/atom/movable/AM in contents)
|
||||
@@ -436,7 +439,7 @@
|
||||
|
||||
var/turf/our_turf = get_turf(src)
|
||||
if(our_turf && SSspatial_grid.init_state == SS_INITSTATE_DONE)
|
||||
SSspatial_grid.exit_cell(src, our_turf)
|
||||
SSspatial_grid.exit_cell(src, our_turf, RECURSIVE_CONTENTS_HEARING_SENSITIVE)
|
||||
else if(our_turf && SSspatial_grid.init_state != SS_INITSTATE_DONE)
|
||||
SSspatial_grid.remove_from_pre_init_queue(src, RECURSIVE_CONTENTS_HEARING_SENSITIVE)
|
||||
|
||||
@@ -502,7 +505,7 @@
|
||||
/atom/movable/proc/clear_from_target_grid()
|
||||
var/turf/our_turf = get_turf(src)
|
||||
if(our_turf && SSspatial_grid.init_state == SS_INITSTATE_DONE)
|
||||
SSspatial_grid.exit_cell(src, our_turf)
|
||||
SSspatial_grid.exit_cell(src, our_turf, RECURSIVE_CONTENTS_AI_TARGETS)
|
||||
else if(our_turf && SSspatial_grid.init_state != SS_INITSTATE_DONE)
|
||||
SSspatial_grid.remove_from_pre_init_queue(src, RECURSIVE_CONTENTS_AI_TARGETS)
|
||||
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
var/maximum_pressure = 90 * ONE_ATMOSPHERE
|
||||
|
||||
/obj/machinery/portable_atmospherics/Destroy()
|
||||
qdel(air_contents)
|
||||
qdel(holding)
|
||||
disconnect()
|
||||
QDEL_NULL(air_contents)
|
||||
QDEL_NULL(holding)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/Initialize()
|
||||
@@ -43,11 +44,6 @@
|
||||
update_icon()
|
||||
SSvueui.check_uis_for_change(src)
|
||||
|
||||
/obj/machinery/portable_atmospherics/Destroy()
|
||||
qdel(air_contents)
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/proc/StandardAirMix()
|
||||
return list(
|
||||
GAS_OXYGEN = O2STANDARD * MolesForPressure(),
|
||||
|
||||
@@ -150,6 +150,7 @@ Class Procs:
|
||||
|
||||
/obj/machinery/Destroy()
|
||||
STOP_PROCESSING_MACHINE(src, MACHINERY_PROCESS_ALL)
|
||||
SSmachinery.machinery -= src
|
||||
if(component_parts)
|
||||
for(var/atom/A in component_parts)
|
||||
if(A.loc == src) // If the components are inside the machine, delete them.
|
||||
|
||||
@@ -234,7 +234,8 @@ var/obj/machinery/blackbox_recorder/blackbox
|
||||
if(blackbox)
|
||||
if(istype(blackbox,/obj/machinery/blackbox_recorder))
|
||||
qdel(src)
|
||||
blackbox = src
|
||||
else
|
||||
blackbox = src
|
||||
|
||||
/obj/machinery/blackbox_recorder/Destroy()
|
||||
feedback_set_details("blackbox_destroyed","true")
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
set_listening(TRUE)
|
||||
recalculateChannels(TRUE)
|
||||
possibly_deactivate_in_loc()
|
||||
moved_event.register(src, src, PROC_REF(possibly_deactivate_in_loc))
|
||||
|
||||
/obj/item/device/radio/headset/proc/possibly_deactivate_in_loc()
|
||||
if(ismob(loc))
|
||||
@@ -45,6 +44,10 @@
|
||||
QDEL_NULL(keyslot2)
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/headset/Moved(atom/old_loc, forced)
|
||||
. = ..()
|
||||
possibly_deactivate_in_loc()
|
||||
|
||||
/obj/item/device/radio/headset/set_listening(new_listening, actual_setting = TRUE)
|
||||
. = ..()
|
||||
if(listening && on)
|
||||
|
||||
Reference in New Issue
Block a user