diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 1e9427cb2e..a878bf5714 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -1491,7 +1491,7 @@ bool P_SeekerMissile (AActor *actor, angle_t thresh, angle_t turnMax, bool preci speed = !usecurspeed ? actor->Speed : xs_CRoundToInt(TVector3(actor->velx, actor->vely, actor->velz).Length()); target = actor->tracer; - if (target == NULL || speed == 0 || !actor->CanSeek(target)) + if (target == NULL || !actor->CanSeek(target)) { return false; } @@ -1500,6 +1500,10 @@ bool P_SeekerMissile (AActor *actor, angle_t thresh, angle_t turnMax, bool preci actor->tracer = NULL; return false; } + if (speed == 0) + { // Technically, we're not seeking since our speed is 0, but the target *is* seekable. + return true; + } dir = P_FaceMobj (actor, target, &delta); if (delta > thresh) { @@ -1561,7 +1565,6 @@ bool P_SeekerMissile (AActor *actor, angle_t thresh, angle_t turnMax, bool preci actor->vely = FixedMul(xyscale, finesine[angle]); } - return true; }