diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 42a63f26e58..14a736c40da 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -27,7 +27,9 @@ if (istype(A,/mob/living/carbon)) var/mob/living/carbon/M = A - if(M.lying) return + if(M.lying) + ..() + return dirt++ var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src) if (dirt >= 50) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 3c5c3e9b01f..9cf97796bce 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -112,34 +112,27 @@ if(!istype(atom, /atom/movable)) return - var/atom/movable/M = atom + var/atom/movable/A = atom var/loopsanity = 100 - if(ismob(M)) - if(!M:lastarea) - M:lastarea = get_area(M.loc) - if(M:lastarea.has_gravity == 0) + if(ismob(A)) + var/mob/M = A + if(!M.lastarea) + M.lastarea = get_area(M.loc) + if(M.lastarea.has_gravity == 0) inertial_drift(M) - /* - if(M.flags & NOGRAV) - inertial_drift(M) - */ - - - else if(!istype(src, /turf/space)) - M:inertia_dir = 0 - var/mob/M1 = M - M1.make_floating(0) + M.inertia_dir = 0 + M.make_floating(0) ..() var/objects = 0 - for(var/atom/A as mob|obj|turf|area in range(1)) + for(var/atom/O as mob|obj|turf|area in range(1)) if(objects > loopsanity) break objects++ spawn( 0 ) - if ((A && M)) - A.HasProximity(M, 1) + if ((O && A)) + O.HasProximity(A, 1) return return