Wake up monsters, and let them stop eating, before angering them

If we do it the other way round, then mimics will forget what
they're mimicking without a seemimic() call, meaning that the
line-of-sight calculations can get confused if the mimic was
mimicking something opaque.
This commit is contained in:
Alex Smith
2018-02-20 21:53:27 +00:00
parent 0ffde7e45f
commit 5558d62aa8

View File

@@ -2751,7 +2751,6 @@ boolean via_attack;
}
}
}
}
/* wake up a monster, possibly making it angry in the process */
@@ -2761,9 +2760,6 @@ register struct monst *mtmp;
boolean via_attack;
{
mtmp->msleeping = 0;
finish_meating(mtmp);
if (via_attack)
setmangry(mtmp, TRUE);
if (mtmp->m_ap_type) {
seemimic(mtmp);
} else if (context.forcefight && !context.mon_moving
@@ -2771,6 +2767,9 @@ boolean via_attack;
mtmp->mundetected = 0;
newsym(mtmp->mx, mtmp->my);
}
finish_meating(mtmp);
if (via_attack)
setmangry(mtmp, TRUE);
}
/* Wake up nearby monsters without angering them. */