# Monster carrying capacity
A monster's carrying capacity is calculated based on its weight or size relative to a human.[1]

Contents

1 Weighty monsters
2 Weightless monsters
3 Notes
4 Examples
5 References

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