- use correct isHostile checks for target considerations

This commit is contained in:
Rachael Alexanderson 2024-01-03 10:16:42 -05:00
parent cfb4e4f105
commit f9a88f10ed
No known key found for this signature in database
GPG key ID: 26A8ACCE97115EE0

View file

@ -1823,7 +1823,7 @@ int P_LookForPlayers (AActor *actor, INTBOOL allaround, FLookExParams *params)
if (!(player->mo->flags & MF_SHOOTABLE))
continue; // not shootable (observer or dead)
if (actor->IsFriend(player->mo))
if (!actor->IsHostile(player->mo))
continue; // same +MF_FRIENDLY, ignore
if (player->cheats & CF_NOTARGET)
@ -1917,7 +1917,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_Look)
targ = NULL;
}
if (targ && targ->player && ((targ->player->cheats & CF_NOTARGET) || !(targ->flags & MF_FRIENDLY)))
if (targ && targ->player && ((targ->player->cheats & CF_NOTARGET) || !self->IsHostile(targ)))
{
return 0;
}
@ -1931,7 +1931,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_Look)
if (targ && (targ->flags & MF_SHOOTABLE))
{
if (self->IsFriend (targ)) // be a little more precise!
if (!self->IsHostile (targ)) // be a little more precise!
{
// If we find a valid target here, the wandering logic should *not*
// be activated! It would cause the seestate to be set twice.