Nutrition
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."
Contents
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 1⁄10 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 1⁄2 at 15 Int, cuts it by 3⁄4 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.
- Polymorphing into a metallivore or gelatinous cube allows the hero to eat non-standard, non-comestible objects for nutrition—see those articles for details.
- 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] |
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 1⁄20 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
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
- ↑ src/eat.c in NetHack 3.6.7, line 2790: gethungry()
- ↑ src/eat.c in NetHack 3.6.7, line 2792
- ↑ src/eat.c in NetHack 3.6.7, line 2800
- ↑ src/eat.c in NetHack 3.6.7, line 2803
- ↑ src/eat.c in NetHack 3.6.7, line 2799
- ↑ src/eat.c in NetHack 3.6.7, line 2808
- ↑ src/eat.c in NetHack 3.6.7, line 2811
- ↑ src/eat.c in NetHack 3.6.7, line 2814
- ↑ src/eat.c in NetHack 3.6.7, line 2817
- ↑ src/eat.c in NetHack 3.6.7, line 2821
- ↑ src/eat.c in NetHack 3.6.7, line 2826
- ↑ src/eat.c in NetHack 3.6.7, line 2830
- ↑ src/eat.c in NetHack 3.6.7, line 2834
- ↑ src/hack.c in NetHack 3.6.7, line 1978: overexertion() function
- ↑ src/hack.c in NetHack 3.6.7, line 1983: calls gethungry()
- ↑ src/spell.c in NetHack 3.6.7, line 932
- ↑ 17.0 17.1 17.2 src/spell.c in NetHack 3.6.7, line 966
- ↑ src/spell.c in NetHack 3.6.7, line 983
- ↑ src/spell.c in NetHack 3.6.7, line 987
- ↑ src/spell.c in NetHack 3.6.7, line 998
- ↑ src/spell.c in NetHack 3.6.7, line 1001
- ↑ 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
- ↑ src/apply.c in NetHack 3.6.7, line 1821
- ↑ src/teleport.c in NetHack 3.6.7, line 776
- ↑ src/teleport.c in NetHack 3.6.7, line 736
- ↑ src/eat.c in NetHack 3.6.7, line 2706
- ↑ src/potion.c in NetHack 3.6.7, line 768
- ↑ src/potion.c in NetHack 3.6.7, line 694
- ↑ src/polyself.c in NetHack 3.6.7, line 346
- ↑ 30.0 30.1 src/end.c in NetHack 3.6.7, line 867
- ↑ src/eat.c in NetHack 3.6.7, line 75
- ↑ include/hack.h in NetHack 3.6.7, line 45
- ↑ src/attrib.c in NetHack 3.6.7, line 452
- ↑ src/eat.c in NetHack 3.6.7, line 3358
- ↑ src/eat.c in NetHack 3.6.7, line 2936
- ↑ src/eat.c in NetHack 3.6.7, line 2938
- ↑ 37.0 37.1 37.2 37.3 src/eat.c in NetHack 3.6.7, line 2939
- ↑ 38.0 38.1 src/eat.c in NetHack 3.6.7, line 3004
- ↑ src/attrib.c in NetHack 3.6.7, line 447
- ↑ src/attrib.c in NetHack 3.6.7, line 462
- ↑ src/eat.c in NetHack 3.6.7, line 245: "gluttony is unchivalrous"
- ↑ 42.0 42.1 src/eat.c in NetHack 3.6.7, line 2765
- ↑ src/eat.c in NetHack 3.6.7, line 2864
- ↑ src/eat.c in NetHack 3.6.7, line 2606
- ↑ src/eat.c in NetHack 3.6.7, line 2612
- ↑ src/eat.c in NetHack 3.6.7, line 2719
- ↑ src/eat.c in NetHack 3.6.7, line 2878
- ↑ src/eat.c in NetHack 3.6.7, line 2889
- ↑ src/eat.c in NetHack 3.6.7, line 252
- ↑ src/eat.c in NetHack 3.6.7, line 259
- ↑ src/attrib.c in NetHack 3.6.7, line 467
- ↑ 52.0 52.1 src/eat.c in NetHack 3.6.7, line 3054
- ↑ src/eat.c in NetHack 3.6.7, line 3061
- ↑ src/attrib.c in NetHack 3.6.7, line 470
- ↑ src/eat.c in NetHack 3.6.7, line 3018
- ↑ src/eat.c in NetHack 3.6.7, line 3024
- ↑ src/attrib.c in NetHack 3.6.7, line 475
- ↑ src/eat.c in NetHack 3.6.7, line 2977
- ↑ src/eat.c in NetHack 3.6.7, line 2983
- ↑ src/eat.c in NetHack 3.6.7, line 3074
- ↑ src/dogmove.c in NetHack 3.6.7, line 142: dog_nutrition() function
- ↑ src/dogmove.c in NetHack 3.6.7, line 160
- ↑ src/dog.c in NetHack 3.6.7, line 47
- ↑ src/dogmove.c in NetHack 3.6.7, line 152
- ↑ src/dogmove.c in NetHack 3.6.7, line 322