From 48353d7c791e20dc4cf1692884f5d7462d78f333 Mon Sep 17 00:00:00 2001 From: Allanis Date: Wed, 7 Aug 2013 14:20:02 +0100 Subject: [PATCH] [Fix] Missiles are working quite nicely now. --- src/weapon.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/weapon.c b/src/weapon.c index be52657..88832eb 100644 --- a/src/weapon.c +++ b/src/weapon.c @@ -115,7 +115,11 @@ static void think_seeker(Weapon* w, const double dt) { /* Ammo isn't locked on yet.. */ if(SDL_GetTicks() > (w->outfit->u.amm.lockon)) { - /*diff = angle_diff(w->solid->dir, vect_angle(&w->solid->pos, &p->solid->pos));*/ + diff = angle_diff(w->solid->dir, vect_angle(&w->solid->pos, &p->solid->pos)); + + /*diff = angle_diff(w->solid->dir, CollidePath(*&w->solid->pos, &w->solid->vel, + &p->solid->pos, &p->solid->vel, 0.01));*/ + w->solid->dir_vel = 10 * diff * w->outfit->u.amm.turn; /* Face the target. */ if(w->solid->dir_vel > w->outfit->u.amm.turn) @@ -166,7 +170,7 @@ static void think_smart(Weapon* w, const double dt) { w->solid->dir_vel = -w->outfit->u.amm.turn; } - vect_pset(&w->solid->force, w->outfit->u.amm.thrust, w->solid->dir); + vect_pset(&w->solid->vel, w->outfit->u.amm.speed, w->solid->dir); limit_speed(&w->solid->vel, w->outfit->u.amm.speed, dt);