vomiting while fainting
From a beta-tester running 3.6.0: |You faint from lack of food. |You suddenly vomit! The latter has already been changed to "You vomit" (it's given at the end of a multiple-message vomiting countdown so wasn't "sudden") but is still odd if your stomach is so empty that you're subject to fainting. Give an alternate message in that case: |Your stomach heaves convulsively! Vomiting while unconscious (when that's due to something other than fainting from hunger) should pose a risk of choking to death, but I'm going to pretend that this hasn't occurred to me....
This commit is contained in:
10
src/eat.c
10
src/eat.c
@@ -3154,12 +3154,18 @@ skipfloor:
|
||||
void
|
||||
vomit() /* A good idea from David Neves */
|
||||
{
|
||||
if (cantvomit(youmonst.data))
|
||||
if (cantvomit(youmonst.data)) {
|
||||
/* doesn't cure food poisoning; message assumes that we aren't
|
||||
dealing with some esoteric body_part() */
|
||||
Your("jaw gapes convulsively.");
|
||||
else
|
||||
} else {
|
||||
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()) */
|
||||
if (u.uhs >= FAINTING)
|
||||
Your("%s heaves convulsively!", body_part(STOMACH));
|
||||
}
|
||||
|
||||
/* nomul()/You_can_move_again used to be unconditional, which was
|
||||
viable while eating but not for Vomiting countdown where hero might
|
||||
|
||||
@@ -204,8 +204,10 @@ vomiting_dialogue()
|
||||
that message and "You can move again." (from vomit()'s
|
||||
nomul(-2)) with no intervening message; give one here to
|
||||
have more specific point at which hero became unable to move
|
||||
[vomit() issues its own message for the cantvomit() case] */
|
||||
You("%s!", !Hallucination ? "vomit" : "hurl chunks");
|
||||
[vomit() issues its own message for the cantvomit() case
|
||||
and for the FAINTING-or-worse case where stomach is empty] */
|
||||
if (u.uhs < FAINTING)
|
||||
You("%s!", !Hallucination ? "vomit" : "hurl chunks");
|
||||
}
|
||||
vomit();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user