Draft:Hunger

From Omega Wiki
Revision as of 11:41, 20 September 2026 by OmegaAdmin (talk | contribs) (整理食物总览、十六种独立食物与饥饿机制,连接相关入口)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Omega 0.90.4

Hunger measures how much nourishment remains before the player begins to starve. A new character starts with a reserve of 36; an ordinary hourly hunger check uses one point. Food, travel and some services change that reserve, while an excessive meal can leave you much hungrier than before.[1]

Food states

The status display uses these ranges. The reserve numbers explain meal sizes and thresholds; the visible state is a range rather than an exact number.[2]

Display Reserve
Starving Below 0
Weak 0–3
Ravenous 4–10
Hungry 11–20
A mite peckish 21–30
Content 31–36
Satiated 37–44
Bloated 45 or more; a check above 48 causes vomiting

Messages at particular values are not identical to those display ranges. For example, the warning at reserve 12 says you are ravenously hungry even though the status display still reads Hungry. Weakness here is a hunger warning, not a direct Strength or Constitution loss.[3]

Eating and time

Ordinary food adds a stated number of reserve points. A ration adds eight, while a nutritab adds 36. Lembas and service meals can instead set the reserve to a particular value. Several special foods provide no nourishment at all.[4]

On local maps, Eat costs 30 ticks, roughly half a game minute; nearby creatures can act during that time. The regular clock reaches an hourly hunger check through its minute updates. City and village movement can also advance extra minutes, so a food point should not be translated into a fixed number of movement commands.[5]

In the normal 0.90.4 countryside flow, eating does not advance the clock. The source contains an extra-time branch which is not reached by normal countryside play; it should not be treated as the usual cost of an outdoor meal. This is a source finding, not a reported gameplay experiment.[6]

Travel across the countryside normally performs hunger checks for the hours spent crossing terrain. Riding reduces some terrain costs; seven league boots can bypass ordinary travel time. Services that jump the clock use their own rules: a week of rest at the Arms sets the reserve to 36 rather than consuming a week's supply through hourly checks.[7]

Overeating and starvation

A hunger check at more than 48 makes you vomit and sets the reserve to 12. Exactly 48 is safe. A meal adding N points is safe from this overflow when your starting reserve is at most 48 - N. For example, eat a ration at 40 or below, a pizza at 40 or below, and a nutritab at 12 or below. If you know only the status word, Ravenous or Weak is a reliable time for a nutritab; Hungry alone is not.[8]

At a negative reserve, each hunger check deals five times the magnitude of that negative reserve in unstoppable damage: five at -1, ten at -2, and so on. Ordinary armor absorption does not reduce it. The hourly check reduces the reserve before testing starvation. Hunger does not need to drain a statistic to become lethal.[9]

An ordinary nourishing meal also clamps its resulting reserve to at least zero. It can therefore stop the current starvation check even if you were so deeply negative that its nominal nutrition would not cover the deficit. At zero you are still Weak and will starve again at the next hourly decrement; use additional food when needed.[10]

The Eat command checks hunger even when you cancel its selection. Cancelling is therefore not a harmless way to inspect the food menu while already starving: it can trigger another starvation hit. Eating a non-nourishing tablet likewise does not solve starvation.[11]

Meals and resupply

Source Food result Practical difference
Sonder's Portable ration, +8 when eaten 5 Au each, available around the clock; buying does not eat it
Diner Sets reserve to 44 25 Au, no portable ration; immediately adding a ration causes vomiting
Les Crapeuleaux Adds 8 1,000 Au, evening opening hours; can cause overeating
Tavern bed and breakfast Sets reserve to 40 25 Au, skips six to nine hours and clears poison and disease
Eligible return to the Order Sets reserve to 40 Also supplies the member's healing and cleansing service
Week of rest at the Arms Sets reserve to 36 Follows the lodging's ownership or rental requirements and recovery rules
Lembas Sets reserve to 40 Portable healing, blindness cure and cleansing as well as a meal

Fixed-value meals can lower an already larger reserve; they do not add their displayed value. Choose for the recovery or supplies you actually need.[12]

Hunting

The countryside Hunt command (H) searches the current terrain. An eligible attempt advances the clock by 100 minutes and performs one hourly hunger check, whether it succeeds or fails. Success starts a tactical encounter; it does not place meat in your inventory or feed you directly.[13]

Terrain Base encounter chance
Jungle, river 80%
Forest 70%
Plains 50%
Tundra, mountains, pass 30%
Desert 10%

Cold-season checks halve the chance outside desert and jungle. Other terrain has no successful hunt and does not pay this attempt's time cost. The encounter uses the terrain's ordinary mixed creatures, including dangerous opponents and creatures which do not provide safe food. Even an edible creature must leave remains before it supplies a meal.[14]

Strategy

Carry a reserve before a long journey. Purchasing a few rations is predictable; hunting costs nourishment before you know whether there will be usable food, and a successful hunt may demand a fight. Pack weight also matters, especially with a mount. Light foods such as pizza or nutritabs can replace much heavier ration supplies.

Eat before starvation becomes an emergency, but avoid topping up a nearly full stomach. A Diner meal already leaves little room for extra food. Keep healing food or a disease remedy for its medical purpose when an ordinary meal will suffice, and plan the next shop or safe return route through LOCUS.

References

  1. char.c in Omega 0.90.4, lines 16–44; aux3.c in Omega 0.90.4, lines 31–47; aux1.c in Omega 0.90.4, lines 716–745.
  2. scr.c in Omega 0.90.4, lines 1460–1479.
  3. aux1.c in Omega 0.90.4, lines 716–745; scr.c in Omega 0.90.4, lines 1460–1479.
  4. iinit.h in Omega 0.90.4, lines 58–88; command2.c in Omega 0.90.4, lines 130–158; itemf1.c in Omega 0.90.4, lines 390–470.
  5. command1.c in Omega 0.90.4, lines 63–64; time.c in Omega 0.90.4, lines 19–74; command2.c in Omega 0.90.4, lines 1091–1105; aux3.c in Omega 0.90.4, lines 11–47.
  6. command1.c in Omega 0.90.4, lines 254–331; command2.c in Omega 0.90.4, lines 130–158; omega.c in Omega 0.90.4, line 76; omega.c in Omega 0.90.4, lines 380–388; aux2.c in Omega 0.90.4, lines 1043–1169.
  7. aux3.c in Omega 0.90.4, lines 419–703; command2.c in Omega 0.90.4, lines 1175–1208; site2.c in Omega 0.90.4, lines 109–131.
  8. aux1.c in Omega 0.90.4, lines 716–745; scr.c in Omega 0.90.4, lines 1464–1478; iinit.h in Omega 0.90.4, lines 58–88.
  9. aux3.c in Omega 0.90.4, lines 31–47; aux1.c in Omega 0.90.4, lines 498–514; aux1.c in Omega 0.90.4, lines 716–745.
  10. command2.c in Omega 0.90.4, lines 148–158; aux3.c in Omega 0.90.4, lines 31–34.
  11. command2.c in Omega 0.90.4, lines 130–158; aux1.c in Omega 0.90.4, lines 735–745.
  12. site1.c in Omega 0.90.4, lines 603–666; site1.c in Omega 0.90.4, lines 765–801; guild2.c in Omega 0.90.4, lines 713–729; site2.c in Omega 0.90.4, lines 109–131; itemf1.c in Omega 0.90.4, lines 446–452.
  13. command1.c in Omega 0.90.4, lines 283–287; command3.c in Omega 0.90.4, lines 937–1019; util.c in Omega 0.90.4, lines 500–509.
  14. command3.c in Omega 0.90.4, lines 942–1019; lev.c in Omega 0.90.4, lines 11–72; mon.c in Omega 0.90.4, lines 193–201; item.c in Omega 0.90.4, lines 63–139.