fix #H4919 - vomit message sequencing

The countdown for delayed vomiting gave message "you suddenly vomit!"
at T-2, allowing you to move some more, then vomit at T-0 with no
message, finally at T+2 get "you can move again", making it seem as
if the program was letting you move during a time it thought that you
couldn't move.  Also, there was nothing "sudden" about it since it was
near the end of a 15 or so turn sequence where a few other messages
are given leading up to that.

Change it to
T-2: You are about to vomit.  // different wording
T-0: You vomit!               // new message
so that "you can move again" more clearly refers to the actual event.
This commit is contained in:
PatR
2017-09-21 16:35:56 -07:00
parent c665d73216
commit 83056d45d7
3 changed files with 23 additions and 5 deletions

View File

@@ -3129,9 +3129,15 @@ vomit() /* A good idea from David Neves */
Your("jaw gapes convulsively.");
else
make_sick(0L, (char *) 0, TRUE, SICK_VOMITABLE);
nomul(-2);
multi_reason = "vomiting";
nomovemsg = You_can_move_again;
/* nomul()/You_can_move_again used to be unconditional, which was
viable while eating but not for Vomiting countdown where hero might
be immobilized for some other reason at the time vomit() is called */
if (multi >= -2) {
nomul(-2);
multi_reason = "vomiting";
nomovemsg = You_can_move_again;
}
}
int