blind-from-birth fix

The Blindfolded_only macro didn't track u.uroleplay.blind so would
give a false positive if wearing a blindfold, not able to see due to
the blind option, and not afflicted with any other blindness factors.
Dipping a worn blindfold into holy or unholy water is supposed to
reveal a glow if that blindfold is the only reason for blindness but
the glow was described even when blind-from-birth.

There's no feedback at all when the glow isn't seen.  I'm punting on
that one.  (This change didn't introduce that, just added one extra
situation where it happens.)
This commit is contained in:
PatR
2015-06-02 17:30:16 -07:00
parent ad7310bec6
commit a1aebc336c

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 youprop.h $NHDT-Date: 1432512778 2015/05/25 00:12:58 $ $NHDT-Branch: master $:$NHDT-Revision: 1.22 $ */
/* NetHack 3.6 youprop.h $NHDT-Date: 1433291407 2015/06/03 00:30:07 $ $NHDT-Branch: master $:$NHDT-Revision: 1.23 $ */
/* Copyright (c) 1989 Mike Threepoint */
/* NetHack may be freely redistributed. See license for details. */
@@ -91,10 +91,10 @@
&& !(ublindf && ublindf->oartifact == ART_EYES_OF_THE_OVERWORLD))
/* ...the Eyes operate even when you really are blind
or don't have any eyes */
#define Blindfolded_only \
(!Blinded && haseyes(youmonst.data) && Blindfolded \
&& !(ublindf && ublindf->oartifact == ART_EYES_OF_THE_OVERWORLD))
/* blind because of a blindfold, and *only* that */
#define Blindfolded_only \
(Blindfolded && ublindf->oartifact != ART_EYES_OF_THE_OVERWORLD \
&& !u.uroleplay.blind && !Blinded && haseyes(youmonst.data))
/* ...blind because of a blindfold, and *only* that */
#define Sick u.uprops[SICK].intrinsic
#define Stoned u.uprops[STONED].intrinsic