Jeżeli używasz tego kodu na obj_pocisk co Ci przesłałem, to ten pocisk nie używa zmiennej direction, dlatego direction zawsze będzie równe 0. Spróbuj odczytać kierunek pocisku od jego zmiennych motion_xyz. Jest to wektor lotu pocisku i można za jego pomocą policzyć wektor normalny w którym kierunku leci pocisk na płaszczyźnie 2D tj.:
// normalizujemy wektor 2D motion_xy
var motionlen = sqrt(other.motion_x*other.motion_x + other.motion_y*other.motion_y);
var xdir = other.motion_x / motionlen;
var ydir = other.motion_y / motionlen;
// teraz przesuwamy wroga
x += xdir * 5;
y += ydir * 5;