notice_all_mons()

Process monsters more consistently.
This commit is contained in:
PatR
2025-04-24 11:19:20 -07:00
parent f653356144
commit 81e72dd0cc

View File

@@ -1728,22 +1728,25 @@ notice_all_mons(boolean reset)
struct monst **arr = NULL;
int j, i = 0, cnt = 0;
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon)
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
continue;
if (canspotmon(mtmp))
cnt++;
else if (reset)
mtmp->mspotted = FALSE;
}
if (!cnt)
return;
arr = (struct monst **) alloc(cnt * sizeof(struct monst *));
arr = (struct monst **) alloc(cnt * sizeof (struct monst *));
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
if (DEADMONSTER(mtmp))
continue;
if (!canspotmon(mtmp))
mtmp->mspotted = FALSE;
else if (!DEADMONSTER(mtmp) && i < cnt)
else if (i < cnt)
arr[i++] = mtmp;
}