Monster carrying capacity
A monster's carrying capacity is calculated based on its weight or size relative to a human.[1]
Weighty monsters
If the monster has non-zero weight, its carrying capacity is
.
The weight of a human is 1450 for this calculation.[2] If a strong monster would have less than 1000 carrying capacity based on this calculation, then its carrying capacity is set to 1000.
This can be simplified to if the monster is not strong, and if the monster is strong.
Some monsters have special rules for their carrying capacity:
- Nymphs have functionally unlimited carrying capacity, although they won't pick up boulders or statues.[3]
- Giants can carry any number of boulders.[4]
Weightless monsters
If the monster has zero weight, its carrying capacity is
.
The numerical value used for monster size is that used for physical size: 0 for tiny, 1 for small, 2 for medium, 3 for large, 4 for huge, and 7 for gigantic. Humans have medium (2) size.[5]
Notes
Despite the source code comment mentioning corpseless monsters,[6] the formula based on monster size is only used for monsters with a weight of 0. Thus, a corpseless lich, with medium (2) size and 1200 weight, uses the formula for weighty monsters and has a carrying capacity of 413, not 500. A wraith, with medium size and 0 weight, uses the formula for weightless monsters and has a carrying capacity of 500.
Examples
Monster | Weight | Strong? | Size | Carrying capacity |
---|---|---|---|---|
kitten | 150 | No | 1 (small) | 51 |
housecat | 200 | No | 1 (small) | 68 |
large cat | 250 | Yes | 1 (small) | 1000 |
little dog | 150 | No | 1 (small) | 51 |
dog | 400 | No | 2 (medium) | 137 |
large dog | 800 | Yes | 2 (medium) | 1000 |
pony | 1300 | Yes | 2 (medium) | 1000 |
horse | 1500 | Yes | 3 (large) | 1034 |
warhorse | 1800 | Yes | 3 (large) | 1241 |
lich | 1200 | No | 2 (medium) | 413 |
wraith | 0 | No | 2 (medium) | 500 |
air elemental | 0 | Yes | 4 (huge) | 2000 |
mind flayer | 1450 | No | 2 (medium) | 500 |
Archon | 1450 | Yes | 3 (large) | 1000 |
dragon | 4500 | Yes | 7 (gigantic) | 3103 |
References
- ↑ src/mon.c in NetHack 3.6.6, line 1185
- ↑ include/permonst.h in NetHack 3.6.6, line 34
- ↑ src/mon.c in NetHack 3.6.6, line 1294: The function returns before the nymph's actual carrying capacity is checked.
- ↑ src/mon.c in NetHack 3.6.6, line 1290
- ↑ include/monflag.h in NetHack 3.6.6, line 165
- ↑ src/mon.c in NetHack 3.6.6, line 1196