From cd4eaecf21c1e2725868b068871f77f5e1fb3e9a Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 19 Aug 2013 13:05:00 +0300 Subject: [PATCH 1/2] Fix for #3549. --- code/game/turfs/simulated/floor.dm | 2 +- code/game/turfs/space/space.dm | 2 +- code/game/turfs/unsimulated/floor.dm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 236d41d319d..2b85253dd06 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -188,7 +188,7 @@ turf/simulated/floor/proc/update_icon() update_icon() if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) return - if (user.pulling.anchored) + if (user.pulling.anchored || !isturf(user.pulling.loc)) return if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) return diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index e5ced14d63b..95720295c87 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -17,7 +17,7 @@ /turf/space/attack_hand(mob/user as mob) if ((user.restrained() || !( user.pulling ))) return - if (user.pulling.anchored) + if (user.pulling.anchored || !isturf(user.pulling.loc)) return if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) return diff --git a/code/game/turfs/unsimulated/floor.dm b/code/game/turfs/unsimulated/floor.dm index f18ceeb8210..1d391eee1c1 100644 --- a/code/game/turfs/unsimulated/floor.dm +++ b/code/game/turfs/unsimulated/floor.dm @@ -9,7 +9,7 @@ /turf/unsimulated/floor/attack_hand(var/mob/user as mob) if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) return - if (user.pulling.anchored) + if (user.pulling.anchored || !isturf(user.pulling.loc)) return if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) return From 18b26c57b737e05c53eb5222162db49cf269583a Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 19 Aug 2013 13:05:52 +0300 Subject: [PATCH 2/2] Inertia fix. --- code/game/turfs/turf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6b21b320595..dc15cc4c9d8 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -181,7 +181,7 @@ M.inertia_dir = 0 return spawn(5) - if((M && !(M.anchored) && (M.loc == src))) + if((M && !(M.anchored) && !(M.pulledby) && (M.loc == src))) if(M.inertia_dir) step(M, M.inertia_dir) return