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:
@@ -169,6 +169,7 @@ order of container and objects was different for mazelike and roomfilled levels
|
||||
minetown guards only enforce town rules inside the town proper
|
||||
electric damage heals hero polymorphed into flesh golem rather than iron golem
|
||||
fix bug preventing wishing for bear traps (not beartrap objects) in debug mode
|
||||
be notified about cessation of hallucinations even if blind and the time
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
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