conflicting countdowns

I tried 'pick all' in the #wizintrinsics' menu and after 30 turns,
died with "poisoned by a poisoned, while vomiting".  Food poisioning
and/or terminal illness beat the other fatal conditions to the coup
de gras.  However, the final stage of vomiting sets Sick to 0 cure
food poisoning and ends up clobbering the killer reason if Sick is
due to terminal illness.  It's feasible for that to happen without
using #wizintrinsic, so this fixes that, and also a few other
combinations that seemed contradictory:
1) limbs turn to stone during Stoned countdown now cures wounded legs;
2) turn to stone (a couple of turns later) cures vomiting and sliming;
3) turning to slime during Slimed countdown cures stoning.
This commit is contained in:
PatR
2018-11-12 02:13:32 -08:00
parent a22175cd99
commit 53a6ce2c2a
3 changed files with 34 additions and 7 deletions

View File

@@ -3181,7 +3181,8 @@ vomit() /* A good idea from David Neves */
dealing with some esoteric body_part() */
Your("jaw gapes convulsively.");
} else {
make_sick(0L, (char *) 0, TRUE, SICK_VOMITABLE);
if (Sick && (u.usick_type & SICK_VOMITABLE) != 0)
make_sick(0L, (char *) 0, TRUE, SICK_VOMITABLE);
/* if not enough in stomach to actually vomit then dry heave;
vomiting_dialog() gives a vomit message when its countdown
reaches 0, but only if u.uhs < FAINTING (and !cantvomit()) */