- If A_SeekerMissile is used with the SMF_LOOK flag and its targets is unseekable, it now clears

its tracer so that it will look for a new target the next time it is called.
- Extended P_RoughMonsterSearch() with a flag to indicate that it should only search for seekable
  targets.

SVN r3572 (trunk)
This commit is contained in:
Randy Heit 2012-04-19 03:22:06 +00:00
commit 5b86ce9f7d
5 changed files with 19 additions and 8 deletions

View file

@ -501,9 +501,15 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SeekerMissile)
if ((flags & SMF_LOOK) && (self->tracer == 0) && (pr_seekermissile()<chance))
{
self->tracer = P_RoughMonsterSearch (self, distance);
self->tracer = P_RoughMonsterSearch (self, distance, true);
}
if (!P_SeekerMissile(self, clamp<int>(ang1, 0, 90) * ANGLE_1, clamp<int>(ang2, 0, 90) * ANGLE_1, !!(flags & SMF_PRECISE), !!(flags & SMF_CURSPEED)))
{
if (flags & SMF_LOOK)
{ // This monster is no longer seekable, so let us look for another one next time.
self->tracer = NULL;
}
}
P_SeekerMissile(self, clamp<int>(ang1, 0, 90) * ANGLE_1, clamp<int>(ang2, 0, 90) * ANGLE_1, !!(flags & SMF_PRECISE), !!(flags & SMF_CURSPEED));
}
//==========================================================================