From 221e4a760d733934016954a13ade220812bd0f2d Mon Sep 17 00:00:00 2001 From: Michael Meyer Date: Thu, 30 Sep 2021 00:26:01 -0400 Subject: [PATCH] Fix: chameleon quickmimic not reset after eating finish_meating was checking whether the monster in question was a chameleon/shapechanger, rather than whether it was a mimic, in deciding which monsters should be allowed to maintain their current appearance once they finish eating. This meant that true mimics had their appearance reset, while a chameleon, vampire, etc, who ate a mimic would maintain their appearance as a tripe ration even after they had finished eating and resumed their normal behavior. The result? An amazing living tripe ration which followed the hero around throughout the level. --- src/dogmove.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dogmove.c b/src/dogmove.c index 1fc4a02e0..78047365e 100644 --- a/src/dogmove.c +++ b/src/dogmove.c @@ -1366,7 +1366,7 @@ void finish_meating(struct monst *mtmp) { mtmp->meating = 0; - if (M_AP_TYPE(mtmp) && mtmp->mappearance && mtmp->cham == NON_PM) { + if (M_AP_TYPE(mtmp) && mtmp->mappearance && mtmp->data->mlet != S_MIMIC) { /* was eating a mimic and now appearance needs resetting */ mtmp->m_ap_type = M_AP_NOTHING; mtmp->mappearance = 0;