diff --git a/src/dog.c b/src/dog.c index 09cdb0053..6a664bd9c 100644 --- a/src/dog.c +++ b/src/dog.c @@ -604,10 +604,12 @@ mon_catchup_elapsed_time( mtmp->mstun = 0; /* might finish eating or be able to use special ability again */ - if (imv > mtmp->meating) - finish_meating(mtmp); - else - mtmp->meating -= imv; + if (mtmp->meating) { + if (imv > mtmp->meating) + finish_meating(mtmp); + else + mtmp->meating -= imv; + } if (imv > mtmp->mspec_used) mtmp->mspec_used = 0; else diff --git a/src/dogmove.c b/src/dogmove.c index 5beaea770..90df3790f 100644 --- a/src/dogmove.c +++ b/src/dogmove.c @@ -1401,7 +1401,7 @@ void finish_meating(struct monst *mtmp) { mtmp->meating = 0; - if (M_AP_TYPE(mtmp) && mtmp->mappearance && mtmp->data->mlet != S_MIMIC) { + if (M_AP_TYPE(mtmp) != M_AP_NOTHING && mtmp->data->mlet != S_MIMIC) { /* was eating a mimic and now appearance needs resetting */ mtmp->m_ap_type = M_AP_NOTHING; mtmp->mappearance = 0;