From a35e5779f686869c6611c70f20f0f2145846dec3 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 20 Dec 2024 13:04:08 -0500 Subject: [PATCH] heard incantation: don't trump telepathy with 'I' GitHub 1343 report by @ars3niy: "When you are blind and see with telepathy a monster whom you then hear read a scroll, said monster turns into an "I". While it reveals which one exactly read the scroll, it is strange that you can no longer see it with telepathy until it moves to another square." Fixes #1343 --- doc/fixes3-7-0.txt | 2 ++ src/muse.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 47e3c7753..ab2e93f20 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1493,6 +1493,8 @@ artifact gifts are rebalanced (easier to obtain; higher-value sacrifices are luck gains from sacrificing are limited by the value of the sacrifice failed #untrap could move hero diagonally into or out of an open doorway remember box is trapped after finding the trap +when you hear a monster incant a scroll, ensure that the 'I' invisible + monster indicator doesn't trump telepathy briefly Fixes to 3.7.0-x General Problems Exposed Via git Repository diff --git a/src/muse.c b/src/muse.c index 533f6ec22..f42a98f97 100644 --- a/src/muse.c +++ b/src/muse.c @@ -265,7 +265,8 @@ mreadmsg(struct monst *mtmp, struct obj *otmp) /* monster can't be seen; hero might be blind or monster might be at a spot that isn't in view or might be invisible; remember it if the spot is within line of sight and relatively close */ - if (couldsee(mtmp->mx, mtmp->my) && mdistu(mtmp) <= 10 * 10) + if (!sensemon(mtmp) + && couldsee(mtmp->mx, mtmp->my) && mdistu(mtmp) <= 10 * 10) map_invisible(mtmp->mx, mtmp->my); Snprintf(blindbuf, sizeof blindbuf, "reading %s", onambuf);