diff --git a/src/mhitu.c b/src/mhitu.c index 412ccc717..09325af0a 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -671,7 +671,15 @@ mattacku(struct monst *mtmp) also, were creature might change from human to animal or vice versa */ if (mtmp->cham == NON_PM && !mtmp->mcan && !range2 && (is_demon(mdat) || is_were(mdat))) { + boolean already_fleeing = mtmp->mflee != 0; + summonmu(mtmp, youseeit); + /* were-creature might have changed to beast form; if that has + caused it to become afraid (due to non-human reacting to scroll + of scare monster or engraved "Elbereth" which was being ignored + while in human form), don't continue this attack */ + if (mtmp->mflee && !already_fleeing) + return 0; mdat = mtmp->data; /* update cached value in case of were change */ }