For every turn that passes a monster will gain its movement rate in "movement points"; if the monster has 12 or more movement points (defined as NORMAL_SPEED) in a turn it gets a move that turn (and more than one if it has another 12 points remaining after this, etc.) Thus a monster with a speed of 12 gets one move per turn, a monster with a speed of 1 gets one move every 12 turns, and a monster with a speed of 18 gets 3 moves every 2 turns. Monsters with a speed of 0 are sessile and never get a move. They may have passive attacks however.
As of NetHack 3.6.0, at the end of each turn, every monster's remaining movement points are adjusted by a small random amount to reduce the predictability of their actions. On average monsters will act slightly faster than would be expected by comparing their base speed with the player's.
Being encumbered reduces the player's effective movement rate after adjustments. A burdened player has three quarters their normal movement rate, a stressed player one half, a strained player one quarter, and an overtaxed player one eighth.
Multi-turn actions (e.g. entering in "10s" to search ten times) consume one move per command issued plus whatever additional time is required for these moves. In contrast, certain actions will render the player immobile (also known as "helpless" by the game) for a certain number of turns; during those turns the player's movement points are simply drained as though the player was executing moves during that time, but without actually allowing the player an action. Fainting, being paralysed, engraving a long sentence, etc. are examples of actions that cause this; this is also marked in the death message if the player dies "while helpless".
Extrinsic speed (very fast)
A player with the speed extrinsic (obtained through speed boots, a potion of speed, or the haste self spell), also known as a very fast player, gains a guaranteed six extra movement points per turn, and a 1 in 3 chance of another six extra movement points. The player has an effective movement rate of 20, or five thirds normal, giving an average of five moves every three turns.
Intrinsic speed (fast)
In the absence of extrinsic speed, a player with intrinsic speed, otherwise known as a fast player, gains a 2 in 3 chance of six movement points each turn. The player has an effective movement rate of 16, or four thirds normal, giving an average of four moves every three turns. You start with intrinsic speed as an Archeologist, Monk, or Samurai, and gain it at level 7 ("You feel quick!") as a Barbarian, Caveman, Knight, or Valkyrie. You can otherwise get it by zapping yourself with a wand of speed monster or eating a quantum mechanic corpse.
The extrinsic overrides the intrinsic.
Below is a table that shows an un-polymorphed player's effective speed as a function of encumbrance and intrinsic/extrinsic speed.
|Encumbrance||Normal speed||Fast||Very fast|
A monster with intrinsic speed (gained by e.g. a wand of speed monster) or extrinsic speed (speed boots) has four thirds their normal movement rate. A slowed monster (e.g. by means of a wand of slow monster) has two thirds their normal movement rate.
In normal pet-versus-nonpet combat, regardless of its speed, no monster is intended to be able to attack another monster more than once per turn; however, the parameter "after", documented as determining whether the monster has already attacked that turn, is always set to 0. For pets, this means that speed beyond 12 not only makes it easier for them to keep up with you, but also allows them to deal more damage over time, just like it does for monsters fighting you. On a related note, the retaliatory attack against pets always has a 75% chance of occurring if the monster has not attacked that turn, regardless of movement points.
Monster attacks due to conflict or confusion (and, with a 75% chance, retaliatory attacks against these ) occur if the monster has enough movement points left to make an action (and will use those movement points up in the process, and cannot occur otherwise), even for retaliation attacks. For them, the speed system works almost like for you.
You can couple jumping, speed and self-polymorph to move through the dungeon as fast as possible.
Starting with self-polymorph, the air elemental is the fastest creature with 36 movement points. As an air elemental, you'll get three movements in every turn. However, being an air elemental has serious drawbacks. You have relatively weak attacks, you can't open, close, engrave, wear any armor or wield any tools. You can't put on or take off rings, though any ring you're wearing when you polymorph will still be worn. Strangely, you can put on and take off amulets, zap wands and spells, read scrolls and quaff potions. Because of this, Air Elementals make great travel forms, but terrible fighting forms.
A less fast form, but still fast, is the Titan with 18 movement points. Titans have the obvious advantage of being able to fight well while still being fast.
Your speed affects all forms equally, meaning you can get up to four movements in one turn as an air elemental, or three movements as a Titan.
Another alternative is to be riding, as a swift steed like a warhorse or unicorn can have up to 24 movement points, and intrinsic speed can make it even faster. Kicking or whipping a steed can make it gallop for 20-30 turns, which on average increases its movement to 1.5 times normal, but this decreases tameness and risks being dismounted. Note that the increased speed also only applies when using automatically repeating forms of movement, such as travel or the g command.
Jumping can be done on any of the movements turns, but it always advances to the next turn and resets your movement counter. Hence, if you're hasted, you should move as far as your hasted self can before advancing the turn counter, then, with your last movement, execute the jump. To accomplish this you will have to carefully watch the turn counter and know where you are in the cycle. Using this strategy as an air elemental will allow you to move up to seven squares in a single turn.
The theoretically fastest method of movement, without using life saving, is to be polymorphed into a punished monster with a speed of 24 (e.g. a warhorse), combined with a very fast speed; this gives two actions per turn, plus up to one from the speed, which can be used to throw the heavy iron ball, pick it up again, then (hopefully) jump on the third action, which is slightly faster than moving three times and jumping as an air elemental. However, this is likely too unwieldy to be of much use in practice. (Life saving can be used to reduce helplessness/immobility/paralysis to one turn, allowing hurtling to be the theoretically fastest form of movement, but this is incredibly wasteful of resources, and very difficult to arrange a death at the right moment.)
The wand of speed monster now grants temporary very fast speed, rather than permanent fast speed.
- permonst.h in NetHack 3.4.3, line 71
- src/mon.c in NetHack_3.6.0, line 554
- allmain.c in NetHack 3.4.3, line 119
- allmain.c in NetHack 3.4.3, line 109
- allmain.c in NetHack 3.4.3, line 113
- mon.c in NetHack 3.4.3, line 501
- mon.c in NetHack 3.4.3, line 499
- dogmove.c in NetHack 3.4.3, line 630
- monmove.c in NetHack 3.4.3, line 644
- uhitm.c in NetHack 3.4.3, line 386
- monmove.c in NetHack 3.4.3, line 512
- dogmove.c in NetHack 3.4.3, line 638
- monmove.c in NetHack 3.4.3, line 1015
- mhitm.c in NetHack 3.4.3, line 159
- mon.c in NetHack 3.4.3, line 506