invisibility vs blindness

Reported a month ago by <email deleted>, putting on
a cloak of invisibility while blind and then using ';' or '/' to examine
yourself revealed that you had become invisible.  This fix just changes
the lookat() output when you can't see that you can't see yourself.  :-)
Probing and stethoscope still reveal invisibility, as will any message
which uses x_monnam() to identify the hero.  (First part is intentional;
last part seems not worth bothering about--I'm not even sure that the
player can arrange to trigger it.)
This commit is contained in:
nethack.rankin
2007-10-26 02:00:43 +00:00
parent aec623602f
commit bdb0930316
2 changed files with 3 additions and 1 deletions

View File

@@ -365,6 +365,7 @@ could get "suddenly you cannot see the <mon>" while invisible mon remained
displayed due to telepathy or extended detection
cutting a long worm in half would trigger segfault/accvio crash if the hit
took parent down to 1 hit point or if long worms had become extinct
blinded invisible hero can't see self as invisible via ';' or '/'
Platform- and/or Interface-Specific Fixes

View File

@@ -74,7 +74,8 @@ lookat(x, y, buf, monbuf)
}
Sprintf(buf, "%s%s%s called %s",
Invis ? "invisible " : "",
/* being blinded may hide invisibility from self */
(Invis && (senseself() || !Blind)) ? "invisible " : "",
race,
mons[u.umonnum].mname,
plname);