Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

This commit is contained in:
nhmall
2020-05-24 16:28:43 -04:00
+14 -6
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 eat.c $NHDT-Date: 1586303701 2020/04/07 23:55:01 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.225 $ */ /* NetHack 3.6 eat.c $NHDT-Date: 1590346071 2020/05/24 18:47:51 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.229 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -2614,6 +2614,9 @@ doeat()
} }
if (otmp == g.context.victual.piece) { if (otmp == g.context.victual.piece) {
boolean one_bite_left
= (g.context.victual.usedtime + 1 >= g.context.victual.reqtime);
/* If they weren't able to choke, they don't suddenly become able to /* If they weren't able to choke, they don't suddenly become able to
* choke just because they were interrupted. On the other hand, if * choke just because they were interrupted. On the other hand, if
* they were able to choke before, if they lost food it's possible * they were able to choke before, if they lost food it's possible
@@ -2625,9 +2628,12 @@ doeat()
g.context.victual.piece = touchfood(otmp); g.context.victual.piece = touchfood(otmp);
if (g.context.victual.piece) if (g.context.victual.piece)
g.context.victual.o_id = g.context.victual.piece->o_id; g.context.victual.o_id = g.context.victual.piece->o_id;
You("resume %syour meal.", /* if there's only one bite left, there sometimes won't be any
(g.context.victual.usedtime + 1 >= g.context.victual.reqtime) "you finish eating" message when done; use different wording
? "the last bite of " : ""); for resuming with one bite remaining instead of trying to
determine whether or not "you finish" is going to be given */
You("%s your meal.",
!one_bite_left ? "resume" : "consume the last bite of");
start_eating(g.context.victual.piece, FALSE); start_eating(g.context.victual.piece, FALSE);
return 1; return 1;
} }
@@ -2922,14 +2928,16 @@ int num;
*/ */
if (u.uhunger >= 1500 if (u.uhunger >= 1500
&& (!g.context.victual.eating && (!g.context.victual.eating
|| (g.context.victual.eating && !g.context.victual.fullwarn))) { || (g.context.victual.eating
&& !g.context.victual.fullwarn))) {
pline("You're having a hard time getting all of it down."); pline("You're having a hard time getting all of it down.");
g.nomovemsg = "You're finally finished."; g.nomovemsg = "You're finally finished.";
if (!g.context.victual.eating) { if (!g.context.victual.eating) {
g.multi = -2; g.multi = -2;
} else { } else {
g.context.victual.fullwarn = TRUE; g.context.victual.fullwarn = TRUE;
if (g.context.victual.canchoke && g.context.victual.reqtime > 1) { if (g.context.victual.canchoke
&& g.context.victual.reqtime > 1) {
/* a one-gulp food will not survive a stop */ /* a one-gulp food will not survive a stop */
if (!paranoid_query(ParanoidEating, "Continue eating?")) { if (!paranoid_query(ParanoidEating, "Continue eating?")) {
reset_eat(); reset_eat();