ending hallucination while blind
Don't suppress hallucination on/off messages when blind. This fixes the case where you might be observing hallucinatory monsters via telepathy yet not be told that perception was back to normal when hallucination timed out. It does not fix the case where temporary hallucination times out while the effect is being blocked (in which case successful application of a unicorn horn yields no feedback), nor the hypothetical cases where timed hallucination starts or ends while also hallucinating for some other reason (which could happen via polymorph someday if a monster which is always hallucinating--the way that bats are always stunned--ever gets introduced).
This commit is contained in:
15
src/potion.c
15
src/potion.c
@@ -246,16 +246,11 @@ boolean talk;
|
||||
long mask; /* nonzero if resistance status should change by mask */
|
||||
{
|
||||
boolean changed = 0;
|
||||
#ifdef LINT
|
||||
const char *message = 0;
|
||||
#else
|
||||
const char *message;
|
||||
#endif
|
||||
const char *message, *verb;
|
||||
|
||||
if (!xtime)
|
||||
message = "Everything looks SO boring now.";
|
||||
else
|
||||
message = "Oh wow! Everything seems so cosmic!";
|
||||
message = (!xtime) ? "Everything %s SO boring now." :
|
||||
"Oh wow! Everything %s so cosmic!";
|
||||
verb = (!Blind) ? "looks" : "feels";
|
||||
|
||||
if (mask) {
|
||||
if (HHallucination) changed = TRUE;
|
||||
@@ -283,7 +278,7 @@ long mask; /* nonzero if resistance status should change by mask */
|
||||
update_inventory();
|
||||
|
||||
flags.botl = 1;
|
||||
if (!Blind && talk) pline(message);
|
||||
if (talk) pline(message, verb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user