new projectile logic