diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 2722a12f017..25e1f93695a 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -222,16 +222,24 @@ if(istype(A, /obj/effect/decal/point)) return 0 - var/tile = get_turf(A) + var/turf/tile = get_turf(A) if (!tile) return 0 - var/obj/P = new /obj/effect/decal/point(tile) - P.invisibility = invisibility - P.plane = plane - spawn (20) - if(P) - qdel(P) // qdel + var/turf/our_tile = get_turf(src) + var/obj/visual = new /obj/effect/decal/point(our_tile) + visual.invisibility = invisibility + visual.plane = plane + + animate(visual, + pixel_x = (tile.x - our_tile.x) * world.icon_size + A.pixel_x, + pixel_y = (tile.y - our_tile.y) * world.icon_size + A.pixel_y, + time = 1.7, + easing = EASE_OUT) + + spawn(20) + if(visual) + qdel(visual) // qdel face_atom(A) return 1