Making your actions properly repeatable

Should be a simple question -

In Nethack often I've wanted to gain the telepathic intrinsic by eating a floating eye corpse. Normally I'll try attacking it from a distance so as not to be frozen.

This time, I tried making things easier by readying a group of darts, and then trying to throw them all in a row.

So I typed in n20f and continually pressed the right button in order to aim my dart.

However, this caused me to freeze up and get killed by a random giant bat, which was able to easily kill me since I was helpless.

I'm playing the Windows port, so my arrow keys move me. Is there something I did wrong here?


Solution 1:

Once you throw one dart/dagger/etc., you can fire again in the same direction using CTRL-A.

This is IMO the best way to accomplish this.

Solution 2:

I believe that your method of firing 20 times was not valid.

Supplying a prefix to the f command actually tells it the number of projectiles you want to fire in that single action. (This isn't normally useful, but daggers, arrows and some other ranged weapons can "multi-fire" at higher skill levels (i.e. in one action you fire two or three arrows). Using the numeric prefix allows the player to place an upper limit on the number of projectiles released. This is can be necessary, for example, if you're firing at a weak enemy with a peaceful creature behind it - n1f will guarantee that only one arrow is released, whereas simply f could fire multiple arrows, killing the enemy with the first and hitting the friendly with the rest. And whenever you specify a quantity, the amount actually fired is the minimum of what you specified, and what would have been fired anyway.)

So anyway, that's what your command meant - "this turn, throw no more than 20 darts to the right". Then after that action was done, you just went right, right, right - attacking the floating eye and being frozen.

MikeyB's right that Ctrl-A is the solution here; I just wanted to give some background on why your commands didn't do what you hoped.