diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm
index 8592383a4f..25a49c8d6b 100755
--- a/code/_onclick/hud/parallax.dm
+++ b/code/_onclick/hud/parallax.dm
@@ -146,6 +146,8 @@
/datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform)
+ if(!C)
+ return
C.parallax_animate_timer = FALSE
for(var/thing in C.parallax_layers)
var/obj/screen/parallax_layer/L = thing
@@ -167,7 +169,7 @@
/datum/hud/proc/update_parallax()
var/client/C = mymob.client
var/turf/posobj = get_turf(C.eye)
- if(!posobj)
+ if(!posobj)
return
var/area/areaobj = posobj.loc
diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm
index ddc805f3ff..05077bf898 100644
--- a/code/game/objects/effects/effect_system/effect_system.dm
+++ b/code/game/objects/effects/effect_system/effect_system.dm
@@ -48,6 +48,8 @@ would spawn and follow the beaker, even if it is carried or thrown.
holder = atom
/datum/effect_system/proc/start()
+ if(QDELETED(src))
+ return
for(var/i in 1 to number)
if(total_effects > 20)
return
@@ -69,7 +71,8 @@ would spawn and follow the beaker, even if it is carried or thrown.
for(var/j in 1 to steps_amt)
sleep(5)
step(E,direction)
- addtimer(CALLBACK(src, .proc/decrement_total_effect), 20)
+ if(!QDELETED(src))
+ addtimer(CALLBACK(src, .proc/decrement_total_effect), 20)
/datum/effect_system/proc/decrement_total_effect()
total_effects--
diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm
index 3b4bbea559..611a6d024d 100644
--- a/code/game/objects/structures/guillotine.dm
+++ b/code/game/objects/structures/guillotine.dm
@@ -97,7 +97,7 @@
icon_state = "guillotine_raised"
/obj/structure/guillotine/proc/drop_blade(mob/user)
- if (buckled_mobs.len && blade_sharpness)
+ if (has_buckled_mobs() && blade_sharpness)
var/mob/living/carbon/human/H = buckled_mobs[1]
if (!H)
diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm
index ff2a655aac..86e8863b2b 100644
--- a/code/modules/atmospherics/machinery/components/components_base.dm
+++ b/code/modules/atmospherics/machinery/components/components_base.dm
@@ -30,7 +30,7 @@
underlays.Cut()
var/turf/T = loc
- if(level == 2 || !T.intact)
+ if(level == 2 || (istype(T) && !T.intact))
showpipe = TRUE
plane = GAME_PLANE
else
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 934e0f08dc..accaab3ac1 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -336,7 +336,8 @@
if(bomb_armor < EXPLODE_GIB_THRESHOLD) //gibs the mob if their bomb armor is lower than EXPLODE_GIB_THRESHOLD
for(var/I in contents)
var/atom/A = I
- A.ex_act(severity)
+ if(!QDELETED(A))
+ A.ex_act(severity)
gib()
return
else
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index 2371cfd7f1..554d03991a 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -207,7 +207,11 @@
switch(add_to)
if("collar")
- add_collar(usr.get_active_held_item(), usr)
+ var/obj/item/clothing/neck/petcollar/P = usr.get_active_held_item()
+ if(!istype(P))
+ to_chat(usr,"That's not a collar.")
+ return
+ add_collar(P, usr)
update_corgi_fluff()
if(BODY_ZONE_HEAD)
diff --git a/code/modules/modular_computers/computers/item/computer_damage.dm b/code/modules/modular_computers/computers/item/computer_damage.dm
index 001cf3aa65..6664b449bd 100644
--- a/code/modules/modular_computers/computers/item/computer_damage.dm
+++ b/code/modules/modular_computers/computers/item/computer_damage.dm
@@ -23,6 +23,8 @@
new /obj/item/stack/sheet/metal(newloc, round(steel_sheet_cost/2))
for(var/C in all_components)
var/obj/item/computer_hardware/H = all_components[C]
+ if(QDELETED(H))
+ return
uninstall_component(H)
H.forceMove(newloc)
if(prob(25))
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index 681195bcc3..fd68a393f9 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -573,7 +573,8 @@
else if(loc == user)
cooldown = TRUE
call(src,realProc)(user)
- addtimer(CALLBACK(src, .proc/cd), cooldownMax)
+ if(!QDELETED(src))
+ addtimer(CALLBACK(src, .proc/cd), cooldownMax)
else
to_chat(user, "You aren't quite sure what to do with this yet.")