Ring of hunger prevents choking on food

... but you will not be prompted to stop eating,
and you will vomit enough to be hungry afterwards.
This commit is contained in:
Pasi Kallinen
2023-09-03 18:27:00 +03:00
parent 67513c96bb
commit 50084750c4
2 changed files with 4 additions and 3 deletions
+1
View File
@@ -1233,6 +1233,7 @@ if Magicbane cancelled a shapeshifter, forcing it to 'unshift', subsequent
messages continued to refer to the shifted form messages continued to refer to the shifted form
a pet that was poison resistant but not stoning resistant would eat Medusa's a pet that was poison resistant but not stoning resistant would eat Medusa's
corpse and be turned to stone corpse and be turned to stone
ring of hunger prevents choking on your food
Fixes to 3.7.0-x General Problems Exposed Via git Repository Fixes to 3.7.0-x General Problems Exposed Via git Repository
+3 -3
View File
@@ -256,14 +256,14 @@ choke(struct obj *food)
exercise(A_CON, FALSE); exercise(A_CON, FALSE);
if (Breathless || (!Strangled && !rn2(20))) { if (Breathless || Hunger || (!Strangled && !rn2(20))) {
/* choking by eating AoS doesn't involve stuffing yourself */ /* choking by eating AoS doesn't involve stuffing yourself */
if (food && food->otyp == AMULET_OF_STRANGULATION) { if (food && food->otyp == AMULET_OF_STRANGULATION) {
You("choke, but recover your composure."); You("choke, but recover your composure.");
return; return;
} }
You("stuff yourself and then vomit voluminously."); You("stuff yourself and then vomit voluminously.");
morehungry(1000); /* you just got *very* sick! */ morehungry(Hunger ? (u.uhunger - 60) : 1000); /* you just got *very* sick! */
vomit(); vomit();
} else { } else {
gk.killer.format = KILLED_BY_AN; gk.killer.format = KILLED_BY_AN;
@@ -3167,7 +3167,7 @@ lesshungry(int num)
/* Have lesshungry() report when you're nearly full so all eating /* Have lesshungry() report when you're nearly full so all eating
* warns when you're about to choke. * warns when you're about to choke.
*/ */
if (u.uhunger >= 1500 if (u.uhunger >= 1500 && !Hunger
&& (!gc.context.victual.eating && (!gc.context.victual.eating
|| (gc.context.victual.eating || (gc.context.victual.eating
&& !gc.context.victual.fullwarn))) { && !gc.context.victual.fullwarn))) {