fix #H4275 - blinded, stunned, confused timers

Blindness due to face covered by pie was ignored for several cases
of magically curing blindness--cleaning the face seems better than
adjusting timeout to account for u.ucreamed for those cases.  A few
instances of taking stun or confusion damage overrode existing stun
or confusion rather than increasing it.  Plus a copy/paste mistake
for dual stun+confusion when casting an expired spell.

There was also a suggestion that vomiting when already nauseated
should decrement the timer instead of increasing it.  But there is a
negative effect for as long as it's in effect, so I left that as is.
This commit is contained in:
PatR
2016-03-15 01:00:36 -07:00
parent 77fe8db320
commit 13c40d85e7
7 changed files with 33 additions and 8 deletions

View File

@@ -1090,8 +1090,12 @@ register boolean curesick, cureblind;
u.uhp = (u.uhpmax += nxtra);
}
}
if (cureblind)
if (cureblind) {
/* 3.6.1: it's debatible whether healing magic should clean off
mundane 'dirt', but if it doesn't, blindness isn't cured */
u.ucreamed = 0;
make_blinded(0L, TRUE);
}
if (curesick) {
make_vomiting(0L, TRUE);
make_sick(0L, (char *) 0, TRUE, SICK_ALL);