diff --git a/code/datums/sound_player.dm b/code/datums/sound_player.dm index 72293e283cf..844006fb964 100644 --- a/code/datums/sound_player.dm +++ b/code/datums/sound_player.dm @@ -221,7 +221,7 @@ GLOBAL_DATUM_INIT(sound_player, /decl/sound_player, new) var/turf/source_turf = get_turf(source) var/turf/listener_turf = get_turf(listener) - if(!istype(source_turf) && !istype(listener_turf)) // Oh look somebody's got nullspace'd + if(!istype(source_turf) || !istype(listener_turf)) // Oh look somebody's got nullspace'd PrivRemoveListener(listener) return diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 271b14c0693..155542121f2 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -218,12 +218,13 @@ var/list/ai_verbs_default = list( ai_list -= src ai_radio = null - QDEL_NULL(eyeobj) QDEL_NULL(psupply) QDEL_NULL(aiPDA) QDEL_NULL(aiMulti) hack = null + destroy_eyeobj() + . = ..() /mob/living/silicon/ai/proc/setup_icon() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index dd777cb2774..b6070a5c9a4 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -57,10 +57,18 @@ GLOBAL_LIST_EMPTY(all_synthetic_mind_to_data) // data: list of name and type of /mob/living/silicon/Destroy() GLOB.silicon_mob_list -= src + QDEL_NULL(silicon_radio) QDEL_NULL(silicon_camera) + for(var/datum/alarm_handler/AH in SSalarm.all_handlers) AH.unregister_alarm(src) + + if(istype(idcard)) + QDEL_NULL(idcard)) + + queued_alarms.Cut() + return ..() /mob/living/silicon/mind_initialize() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 683cc9f579c..81b3a2bdbef 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -34,6 +34,10 @@ click_handlers.QdelClear() QDEL_NULL(click_handlers) + if(eyeobj) + eyeobj.release(src) + QDEL_NULL(eyeobj) + remove_screen_obj_references() if(client) for(var/atom/movable/AM in client.screen) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 02b919fdb63..7355180ab0c 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -128,7 +128,7 @@ set_light(0) return - var/clevel = chargedisplay() + var/clevel = min(chargedisplay(), 5) if(clevel) AddOverlays(status_overlays_charge[clevel]) AddOverlays(overlight_overlays_charge[clevel])