Nutrition

From NetHackWiki
(Redirected from Fainted)
Jump to navigation Jump to search

In NetHack, nutrition is a stat that is essential for keeping the hero alive. Maintaining nutrition is required to avoid starvation, but raising it too high can result in abuse of the hero's attributes or even instant death.

While nutrition is generally maintained by eating comestibles regularly, this is not always the case: there are means of gaining nutrition without eating food, and the foodless conduct is dedicated to maintaining nutrition without eating at all.

A user has suggested improving this page or section as follows:

"Update to reflect info in food-343.txt that needs incorporating here and elsewhere, fill out other sources of nutrition changes, establish variant sections after ensuring the main body is filled out, and ensure the following isn't too redundant with the eating or comestible articles."

Description

A hero starts the game with 900 points of nutrition, and one point is deducted each turn under normal circumstances[1]—this normal hunger rate does not occur if the hero is invulnerable (i.e. from successful prayer), has put on a ring of slow digestion, or is polymorphed into an inediate monster.[2][3][4] A hero that is asleep, fainted or otherwise unconscious only has a 110 chance (10%) of burning nutrition this way each turn.[5]

Nutrition burn

In addition to normal nutrition burn, a hero also loses nutrition at a regular rate under the following conditions:

  • On every odd game turn, the hero loses one point of nutrition if they have the regeneration property from a non-artifact source, and loses one point of nutrition if their encumbrance level is stressed or worse.[6][7]
  • On every even game turn, the hero loses one point of nutrition if they are generating conflict from a non-artifact source, and loses one point of nutrition if they have the voracious hunger property.[8][9]
  • Every twenty game turns, the hero loses one point of nutrition for each worn amulet, one point of nutrition for each worn ring excluding any rings that have a charge and are at +0, and one point of nutrition for carrying (rather than wearing) the Amulet of Yendor.[10][11][12][13] If a hero is wearing two applicable rings, this is calculated on different turns for their left or right hands.

All of these above sources stack with each other, so it is possible to burn nutrition at up to 320% of the normal rate. Remember that the nutrition is lost as the turn counter advances, not as the hero moves. The following actions also consume nutrition:

  • Attacking a monster in combat uses the same amount of nutrition that would be consumed on a normal whole turn in addition to the normal nutrition rate[14][15]—this includes attempting to move into the same square as a monster even if they are not hostile, but does not count declining to attack a peaceful monster when prompted. 'Safe' movement using the m command does not initiate combat and so will not burn nutrition.
  • Spellcasting successfully will reduce nutrition by the spell's energy cost times 2 (or effectively 10 times the spell level under normal circumstances), meaning that the hero cannot cast spells if they are at 10 nutrition or less with the exception of the detect food spell, which always costs 0 nutrition.[16][17]
    • Wizards have access to reduced-hunger casting based on their intelligence:[18] this cuts the nutrition drain from spellcasting by 12 at 15 Int, cuts it by 34 at 16 Int, and becomes fully hungerless casting at 17 or more Int.[19][20][21]
    • Spellcasting while carrying the Amulet of Yendor that causes additional energy drain to occur will drain up to twice the base amount of energy from the hero, which incurs additional nutrition drain as well.[22][17]
  • Jumping drains d25 nutrition when used from any source, including the jumping spell (which also drains nutrition as above when cast).[23]
  • Teleporting at will by any means other than a teleportation trap or teleport away spell consumes 100 nutrition.[24] Teleporting via the command using an item or trap naturally does not use any nutrition, while using the spell via the command incurs the normal nutrition cost for the spell with the same restrictions as casting any other spell.[17][25]
  • Vomiting for any reason will generally decrease nutrition, with the exact amount of nutrition lost depending on the source.

The following information pertains to an upcoming version (NetHack 3.7.0). If this version is now released, please verify that the information below is still accurate, then update the page to incorporate it.

A +0 ring of protection now causes ring hunger if it is the hero's only source of extrinsic protection. If the hero is wearing two rings of protection and the one on their left hand is +0, ring hunger applies to it, even if the right hand's ring is charged.

A meat ring or cheap plastic imitation of the Amulet of Yendor no longer incurs extra hunger while worn.

Nutrition gain

A hero can gain nutrition through several means, all of which are listed below:

  • Comestibles such as food rations and monster corpses are a primary source of nutrition, and eating one increases the hero's nutrition by a set amount, distributed across the amount of turns taken to finish the meal—due to how this is calculated being interrupted during a meal actually slightly reduces the total nutrition gained from the meal.[26] Rotten food only gives half of its usual nutrition, and may also cause adverse effects. See the article for details on what comestible items there are and how much nutrition they offer.
  • Quaffing a potion of fruit juice grants 10 nutrition if it is cursed, 20 if it is uncursed and 30 if it is blessed, and the amount is halved if the potion is diluted.[27]
  • Quaffing a potion of booze grants 30 nutrition if it is blessed, 20 nutrition if it is uncursed, and 10 nutrition if it is cursed, though doing so abuses wisdom[28]—non-blessed booze can also confuse the hero, and even make them pass out if it was cursed.
  • Successful prayer may set the hero's nutrition to 900 if it is lower than that value. Being hungry is considered a minor trouble for this purpose, while being weak from hunger or worse is consider a major trouble.

Other nutrition sources

The following actions affect nutrition in a manner that is not strictly an increase or decrease:

  • Polymorphing and "feeling like a new <hero>" sets nutrition to a random value from 500 to 999.[29]
  • Life saving will set the hero's nutrition to 900 if they were at less than 500 nutrition when life saving occurred, or else if it triggered from a death caused by overeating (in which case they will vomit and lose 1000 nutrition).[30]

Hunger status

On the status line, the hero's hunger status is displayed if they are anything other than "Not hungry", and the following table lists the hunger states and the corresponding amount of nutrition remaining.[31][32][33][34]

Nutrition Hunger
2000 or more Oversatiated[note 1]
1000 to 1999 Satiated[35]
150 to 999 Not hungry[36][note 2]
50 to 149 Hungry[37]
0 to 49 Weak[37]
Below zero Fainting[37]
Below minimum Starved[note 3]
  1. "Oversatiated" is commonly used to refer to the state in which choking is guaranteed, but it is not actually a hunger status. This means it will still be displayed as "Satiated".
  2. This is not displayed.
  3. This state is only displayed when a character has died of starvation.

A hero's minimum nutrition level is always equal to -100 - (10*Con), e.g. a hero with 18 constitution has a minimum of -280.[38]

The following applies to each hunger state:[39]

  • While the hero is satiated (i.e. at 1000 nutrition or more), they abuse dexterity on every tenth game turn, and Monks also abuse wisdom on every tenth game turn.[40] Lawful Knights that eat while satiated incur a -1 penalty to alignment record.[41] If a hero is satiated and fully consumes food that would leave them in an oversatiated state, they will abuse constitution, choke and possibly suffer an instant death from overeating[42][43]—this choking only occurs if the hero was already satiated when beginning the meal, i.e. being interrupted will not make the meal unsafe unless they eat something else or the game is saved and restored.[44][45][46] (Eating an amulet of strangulation causes choking regardless of nutrition status.)
    • A hero in an oversatiated state (2000+ nutrition) is treated as above, except that they will always choke from starting another meal in that state, including zero-nutrition meals such as wraith corpses.[42]
    • If a hero is at 1500 or higher nutrition and they eat a meal that takes multiple actions to finish, they will be given a warning when they are nearing the oversatiated state, and may be prompted if they want to continue eating their meal at risk of choking.[47][48]
    • If the hero would choke while they are unbreathing–e.g., from eating or putting on an amulet of magical breathing, or from polymorphing into an unbreathing monster[49]–and they are also not currently subjected to strangulation, they will instead vomit and lose 1000 points of nutrition.[50] This can also occur even if the hero is not unbreathing at the time, though only with a 120 chance. Surviving choking via life saving will also cause the hero to vomit as well.[30]
  • A hero that is neither hungry nor satiated exercises constitution on every tenth game turn.[51]
  • A hero that becomes hungry will have a message printed to indicate this state, but does not abuse or exercise any attributes from this nutrition state.
  • A hero that becomes weak from hunger will have a message printed to indicate this state (with a special message for Valkyries, Wizards and elven heroes).[52][53] A hero weak from hunger abuses strength on every tenth game turn, and Monks will also exercise wisdom on every tenth game turn.[54] While weak, the hero also has their current strength decreased by one point, which is restored upon raising their nutrition level from this state and ignores any sustain ability property in both cases.[55][56]
  • A hero will begin fainting from hunger once they reach zero nutrition, which abuses constitution every tenth game turn and causes them to random fall unconscious after each movement or action.[57][37][58][59] If a fainting hero reaches their minimum nutrition, they will die instantly of starvation.[38][60]

The following information pertains to an upcoming version (NetHack 3.7.0). If this version is now released, please verify that the information below is still accurate, then update the page to incorporate it.

Per commit 50084750, the voracious hunger property also prevents the hero from choking on food when oversatiated by making them vomit, except that it will always leave them with 60 nutrition.

Monster nutrition

Monsters generally do not worry about nutrition unless they are pets: a tame monster that is not inediate requires nutrition to stay alive, and arbitrarily gains 2–8 times more nutrition from a meal than the hero would, depending on the pet's physical size.[61][62]

A freshly tamed pet's hunger starts out at 1000, and this stat decrements regardless of whether the hero is currently on the same level as it.[63] When a pet eats a food item, the item is split from its stack if applicable and eaten completely "at once", rather than being gradually eaten over a span of turns;[64][65] the monster is then made immobile for the same amount of time, and will generally finish a meal around the same time as a hero of the same movement speed would. A pet that eats while it is hungry will have its status set to "not hungry" before receiving nutrition, even if the meal would give zero nutrition (e.g. a wraith corpse).

500 turns after becoming hungry, a pet will temporarily lose two-thirds of its max HP and become confused—in this state, its dietary preferences may change, and eating will reset its maximum HP (but not its current HP). 250 turns after reaching this state, the pet will run out of nutrition points completely: if they are on the same level as the hero, they will die of starvation, and otherwise they will un-tame, becoming either hostile or peaceful; if they un-tame while the HP reduction from hunger is applied, that reduction becomes permanent.

Chatting with a pet often gives a clue about its nutrition level, as some monster types respond differently based on how hungry they are. See the articles linked at the top of the section for other details on pets and their nutrition.

Strategy

Main article: Food strategy

As mentioned at the beginning, maintaining nutrition is critical to a hero's survival for players of all levels, to the point that a major factor of role difficulty often involves whether or not they enter the dungeon with a mostly non-perishable food supply. Securing a supply of "permafood" is generally a primary goal of an early game hero.

A good way to maintain nutrition is to fill up on fresh and safe monster corpses as soon as possible, though it is also worth balancing out your nutrition in order to avoid being constantly satiated and/or keep room in your stomach corpses that grant intrinsics. The stone to flesh spell in particular can be cast on boulders to turn them into huge chunks of meat, which provide 2000 points of nutrition, and Healers are guaranteed to start with this spell.

A pet that eats will often get to monster corpses before you do, which most commonly occurs with starting carnivorous pets. To mitigate this problem, stand next to the monster while your pet is fighting, and pounce on the corpse afterwards—this works best if you are fast or can use a magic whistle to keep them away, or else kill a different monster for them to snack on. Inediate pets will not cause this problem, but will have fewer ways to raise apport or tameness.

One of the goals of reaching Minetown or Sokoban is to stock up on a lasting supply of food: Minetown often has a food shop of some sort, and most randomly generated items in Sokoban are comestibles. Generally speaking, Minetown is easier to reach if you are playing a dwarf or a gnome, and Sokoban is easier otherwise.

In an emergency, if you are not trying for an atheist conduct, you can pray while weak to restore your nutrition status, provided that it is safe to pray. Since all games start with an initial prayer timeout of 300 turns, you can usually pray safely after 300 turns have passed, barring events such as receiving an early a wish or starting on Friday the 13th. This must be balanced with the need to pray for other reasons, such as restoring HP in a perilous situation.

History

The nutrition system has been present in the game since Hack 1.21 and Hack for PDP-11, which are based on Jay Fenlason's Hack, and is also included in Hack 1.0.

In NetHack 3.4.3 and previous versions, including some variants based on those versions, declining to attack a peaceful monster when prompted still consumes the same amount of nutrition as attacking a hostile monster would.

In NetHack 3.6.0 and previous versions, being fainted does not reduce energy consumption—to compensate, the nutrition threshold for starving is double its current value.

Messages

<Valkyrie/Wizard/Elf> needs food, badly!
You became weak from hunger as a Valkyrie, Wizard or elven hero—this is a reference to the Gauntlet series of dungeon crawler arcade games, where food is usually a far more pressing issue since it is a healing item, and the games' narrator will boom this message when your character is dying.[52]

References

  1. src/eat.c in NetHack 3.6.7, line 2790: gethungry()
  2. src/eat.c in NetHack 3.6.7, line 2792
  3. src/eat.c in NetHack 3.6.7, line 2800
  4. src/eat.c in NetHack 3.6.7, line 2803
  5. src/eat.c in NetHack 3.6.7, line 2799
  6. src/eat.c in NetHack 3.6.7, line 2808
  7. src/eat.c in NetHack 3.6.7, line 2811
  8. src/eat.c in NetHack 3.6.7, line 2814
  9. src/eat.c in NetHack 3.6.7, line 2817
  10. src/eat.c in NetHack 3.6.7, line 2821
  11. src/eat.c in NetHack 3.6.7, line 2826
  12. src/eat.c in NetHack 3.6.7, line 2830
  13. src/eat.c in NetHack 3.6.7, line 2834
  14. src/hack.c in NetHack 3.6.7, line 1978: overexertion() function
  15. src/hack.c in NetHack 3.6.7, line 1983: calls gethungry()
  16. src/spell.c in NetHack 3.6.7, line 932
  17. 17.0 17.1 17.2 src/spell.c in NetHack 3.6.7, line 966
  18. src/spell.c in NetHack 3.6.7, line 983
  19. src/spell.c in NetHack 3.6.7, line 987
  20. src/spell.c in NetHack 3.6.7, line 998
  21. src/spell.c in NetHack 3.6.7, line 1001
  22. src/spell.c in NetHack 3.6.7, line 956: nutrition drain is applied based on the amount of energy used, and energy drain from the Amulet occurs before this calculation
  23. src/apply.c in NetHack 3.6.7, line 1821
  24. src/teleport.c in NetHack 3.6.7, line 776
  25. src/teleport.c in NetHack 3.6.7, line 736
  26. src/eat.c in NetHack 3.6.7, line 2706
  27. src/potion.c in NetHack 3.6.7, line 768
  28. src/potion.c in NetHack 3.6.7, line 694
  29. src/polyself.c in NetHack 3.6.7, line 346
  30. 30.0 30.1 src/end.c in NetHack 3.6.7, line 867
  31. src/eat.c in NetHack 3.6.7, line 75
  32. include/hack.h in NetHack 3.6.7, line 45
  33. src/attrib.c in NetHack 3.6.7, line 452
  34. src/eat.c in NetHack 3.6.7, line 3358
  35. src/eat.c in NetHack 3.6.7, line 2936
  36. src/eat.c in NetHack 3.6.7, line 2938
  37. 37.0 37.1 37.2 37.3 src/eat.c in NetHack 3.6.7, line 2939
  38. 38.0 38.1 src/eat.c in NetHack 3.6.7, line 3004
  39. src/attrib.c in NetHack 3.6.7, line 447
  40. src/attrib.c in NetHack 3.6.7, line 462
  41. src/eat.c in NetHack 3.6.7, line 245: "gluttony is unchivalrous"
  42. 42.0 42.1 src/eat.c in NetHack 3.6.7, line 2765
  43. src/eat.c in NetHack 3.6.7, line 2864
  44. src/eat.c in NetHack 3.6.7, line 2606
  45. src/eat.c in NetHack 3.6.7, line 2612
  46. src/eat.c in NetHack 3.6.7, line 2719
  47. src/eat.c in NetHack 3.6.7, line 2878
  48. src/eat.c in NetHack 3.6.7, line 2889
  49. src/eat.c in NetHack 3.6.7, line 252
  50. src/eat.c in NetHack 3.6.7, line 259
  51. src/attrib.c in NetHack 3.6.7, line 467
  52. 52.0 52.1 src/eat.c in NetHack 3.6.7, line 3054
  53. src/eat.c in NetHack 3.6.7, line 3061
  54. src/attrib.c in NetHack 3.6.7, line 470
  55. src/eat.c in NetHack 3.6.7, line 3018
  56. src/eat.c in NetHack 3.6.7, line 3024
  57. src/attrib.c in NetHack 3.6.7, line 475
  58. src/eat.c in NetHack 3.6.7, line 2977
  59. src/eat.c in NetHack 3.6.7, line 2983
  60. src/eat.c in NetHack 3.6.7, line 3074
  61. src/dogmove.c in NetHack 3.6.7, line 142: dog_nutrition() function
  62. src/dogmove.c in NetHack 3.6.7, line 160
  63. src/dog.c in NetHack 3.6.7, line 47
  64. src/dogmove.c in NetHack 3.6.7, line 152
  65. src/dogmove.c in NetHack 3.6.7, line 322