From aec7bd9301612aab0ff5d282c7338b96c6fad6b4 Mon Sep 17 00:00:00 2001 From: KazeEspada Date: Sat, 2 Jan 2016 23:04:19 -0700 Subject: [PATCH] Fixes a runtime involving mobs that get deleted upon death. --- code/modules/mob/mob_movement.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 76d5f7d8cd8..04e86287c76 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -160,13 +160,14 @@ if(M) if ((get_dist(mob, M) <= 1 || M.loc == mob.loc)) . = ..() - if (isturf(M.loc)) - var/diag = get_dir(mob, M) - if ((diag - 1) & diag) - else - diag = null - if ((get_dist(mob, M) > 1 || diag)) - step(M, get_dir(M.loc, mob.loc)) + if(M)//Mob may get deleted during parent call + if (isturf(M.loc)) + var/diag = get_dir(mob, M) + if ((diag - 1) & diag) + else + diag = null + if ((get_dist(mob, M) > 1 || diag)) + step(M, get_dir(M.loc, mob.loc)) else for(var/mob/M in L) M.other_mobs = 1