Difference between revisions of "Monster carrying capacity"

From NetHackWiki
Jump to navigation Jump to search
(add air elemental as another example of a zero-weight monster)
(Weighty monsters: special rules)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A monster's carrying capacity is calculated based on its weight or size relative to a human. Specifically, it is determined by the following procedure:
+
A monster's '''carrying capacity''' is calculated based on its weight or size relative to a human.{{refsrc|src/mon.c|1185|version=NetHack 3.6.6}}
  
<math>\text{maxload} = \frac{{1000 \times \text{cwt}}}{\text{weight of human}}</math>,
+
==Weighty monsters==
 +
If the monster has non-zero weight, its carrying capacity is
  
where cwt is the monster's [[weight]], if cwt is not 0.  The weight of a human is 1450 for this calculation.  If the monster is [[strong]] and weighs less than a human, then the monster's carrying capacity is set to 1000.
+
<math>\frac{{1000 \times \text{monster weight}}}{\text{weight of human}} (\times \frac{1}{2} \text{if not strong})</math>.
  
For a monster with a cwt of 0, its carrying capacity depends on its [[physical size]]:
+
The weight of a human is 1450 for this calculation.{{refsrc|include/permonst.h|34|version=NetHack 3.6.6}}  If a [[strong]] monster would have less than 1000 carrying capacity based on this calculation, then its carrying capacity is set to 1000.
  
<math>\text{maxload} = \frac{1000 \times \text{msize}}{\text{size of human}} </math>,
+
This can be simplified to <math>\frac{\text{weight}}{2.9}</math> if the monster is not strong, and <math>\frac{\text{max}(\text{weight}, 1450)}{1.45}</math> if the monster is strong.
  
where msize is 0 for tiny, 1 for small, 2 for medium, 3 for large, 4 for huge, and 7 for gigantic.  Humans have medium (2) size.
+
Some monsters have special rules for their carrying capacity:
  
Finally, if the monster is not strong, then its carrying capacity is divided by 2:
+
* [[Nymph]]s have functionally unlimited carrying capacity, although they won't pick up [[boulder]]s or [[statue]]s.{{refsrc|src/mon.c|1294|version=NetHack 3.6.6|comment=The function returns before the nymph's actual carrying capacity is checked.}}
 +
* [[giant (monster attribute)|Giant]]s can carry any number of boulders.{{refsrc|src/mon.c|1290|version=NetHack 3.6.6}}
  
<math>\text{maxload} = \frac{\text{maxload}}{2}</math>.{{refsrc|src/mon.c|1185|version=NetHack 3.6.6}}
+
==Weightless monsters==
 +
If the monster has zero weight, its carrying capacity is
  
Note that despite the source code comment mentioning [[corpseless]] monsters, the formula based on monster size is only used for monsters with a cwt of 0.  Thus, a corpseless [[lich]], with medium (2) size and 1200 weight, has a carrying capacity of 413, not 500.  A [[wraith]], with medium size and 0 weight, has a carrying capacity of 500.
+
<math>\frac{1000 \times \text{monster size}}{\text{size of human}} (\times \frac{1}{2} \text{if not strong})</math>.
  
In effect, the carrying capacity of a non-zero-weight monster is <math>\frac{\text{cwt}}{2.9}</math> if a monster is not strong, and <math>\frac{\text{max}(\text{cwt}, 1450)}{1.45}</math> if a monster is strong.
+
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.{{refsrc|include/monflag.h|165|version=NetHack 3.6.6}}
  
== Examples ==
+
==Notes==
 +
Despite the source code comment mentioning [[corpseless]] monsters,{{refsrc|src/mon.c|1196|version=NetHack 3.6.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==
  
 
{|class="prettytable sortable"
 
{|class="prettytable sortable"

Latest revision as of 16:16, 5 February 2023

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

\frac{{1000 \times \text{monster weight}}}{\text{weight of human}} (\times \frac{1}{2} \text{if not strong}).

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 \frac{\text{weight}}{2.9} if the monster is not strong, and \frac{\text{max}(\text{weight}, 1450)}{1.45} if the monster is strong.

Some monsters have special rules for their carrying capacity:

Weightless monsters

If the monster has zero weight, its carrying capacity is

\frac{1000 \times \text{monster size}}{\text{size of human}} (\times \frac{1}{2} \text{if not strong}).

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