part3 of 3 for GitHub issue #1441

> Perhaps related: when a wand of sleep hits a disguised already-sleeping
> mimic (about which it is a separate question if they should go into
> disguise when sleeping, is it supposed to be automagic or conscious
> effort for them? but I digress), the mimic is not revealed (should it?)
> but the message says "hits a mimic".

Adjust restrap() so that a revealed mimic won't disguise itself while
sleeping. This seems to be in keeping with mimic lore.

Also, normal shop sounds (chime of register etc.) will wake a
mimic up from indeterminate sleep.

Closes #1441
This commit is contained in:
nhmall
2025-09-05 12:37:40 -04:00
parent 602678aa5a
commit e8e1868b70
4 changed files with 20 additions and 0 deletions

View File

@@ -4647,6 +4647,13 @@ restrap(struct monst *mtmp)
return FALSE;
if (mtmp->data->mlet == S_MIMIC) {
if (mtmp->msleeping || mtmp->mfrozen) {
/*
* The mimic needs to be awake to disguise itself
* as something else.
*/
return FALSE;
}
set_mimic_sym(mtmp);
return TRUE;
} else if (levl[mtmp->mx][mtmp->my].typ == ROOM) {