diff --git a/code/_onclick/click_ctrl.dm b/code/_onclick/click_ctrl.dm index e80f8fa05cb..37c8e3ec119 100644 --- a/code/_onclick/click_ctrl.dm +++ b/code/_onclick/click_ctrl.dm @@ -34,7 +34,7 @@ SHOULD_NOT_OVERRIDE(TRUE) . = ..() - if(. || world.time < next_move || !can_perform_action(target, NOT_INSIDE_TARGET | SILENT_ADJACENCY | ALLOW_RESTING | FORBID_TELEKINESIS_REACH)) + if(. || !ismovable(target) || world.time < next_move || !can_perform_action(target, NOT_INSIDE_TARGET | SILENT_ADJACENCY | ALLOW_RESTING | FORBID_TELEKINESIS_REACH)) return . = TRUE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 83561f37f9f..0b91518a009 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -374,8 +374,9 @@ now_pushing = FALSE /mob/living/start_pulling(atom/movable/AM, state, force = pull_force, supress_message = FALSE) - if(!AM || !src) + if(!src) return FALSE + ASSERT(ismovable(AM), "[src] attempted to pull [AM ? "[AM], a nonmovable atom" : "a null object"]") if(!(AM.can_be_pulled(src, force))) return FALSE if(throwing || !(mobility_flags & MOBILITY_PULL))